Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
А можно как-нибудь ускорить генерацию, даже если в серврном потоке всё делать? В фасткрафте вроде как-то оптимизировали, но он обфусцирован, сорцы никак не достать, а поставить его не могу из-за трансформеров, они ломают часть моего кода
Это, конечно, хорошо, но вот на сервере много миров и их часто приходится вайпать, и чанки всегда прогружать просто нереально, поэтому и нужна оптимизация. Дальность прорисовки у игроков небольшая, но все равно сервер сильно нагружен
Здравствуйте. Столкнулся с проблемой, что при генерации чанков, сервер начинает заметно подлагивать. В майне загрузка чанков с диска сделана асинхронно, а вот генерация - нет. Думаю либо вынести в отдельный поток, но синхронизировать это всё будет сложно, либо как-то оптимизировать. Можете...
В апдейте существ, они что-то изменяют в мире, который не потокобезопасный и взаимодействуют с другими мобами, но основной поток не выполняется, пока все существа не обновятся, поэтому сомневаюсь и спрашиваю тут у вас
А что насчёт параллельного апдейта всех существ? С этим могут быть проблемы, разве это потокобезопасно?
entityList.parallelStream().forEach(ent -> {//hose
if (!entityLimiter.shouldContinue()) {
return;
}
Entity entity1 = ent.bB();
if (entity1 !=...
https://github.com/softpak/HOSE/blob/master/src.patch
Здесь обработка существ распределена с использованием parallelStream но, по-моему, это не совсем потокобезопасно.
chunk.entityLists
В чанке вроде бы хранится массив листов энтитей, если я ничего не путаю
Пройди по массиву и проверь, является ли энтити игроком, если да, то делай что нужно
Никак, из ивента не вытащить дальность, потому что её там нету. Можешь хукнуться в NetHandlerPlayServer, и когда приходит пакет (PacketUseEntity), проверять чо тебе нужно там и увеличивать дальность.
Как вариант, хукнуться в AnvilChunkLoader#saveChunk и заменить вызов writeChunkToNBT на свой метод, в котором записываешь то, что тебе нужно, либо используй ChunkDataEvent.Save, там можно вытащить нбт