Closes #9
Полностью переписана логика отправки чанков игроку. Сначала наполняется список координат чанков к отправке. Список сортируется компаратором из NoLagg. Далее по несколько штук за тик чанки запрашиваются у асинхронного загрузчика. По завершению загрузки чанки передаются другому потоку, в котором сжимаются и отправляются игроку. Количество чанков, отправляемое за тик, изменяется в зависимости от размера условной очереди к отправке (количество чанков, которые были запрошены, но еще не были высланы игроку). При движении игрока (и даже при повороте головы) список чанков к отправке перестраивается и сортируется. |
---|
|
src/main/java/net/minecraft/entity/player/EntityPlayerMP.java |
---|
src/main/java/net/minecraft/network/play/server/S21PacketChunkData.java |
---|
src/main/java/net/minecraft/network/play/server/S26PacketMapChunkBulk.java |
---|
src/main/java/net/minecraft/server/management/PlayerManager.java |
---|
src/main/java/net/minecraft/server/management/ServerConfigurationManager.java |
---|
src/main/java/net/minecraft/world/SpawnerAnimals.java |
---|
src/main/java/net/minecraft/world/World.java |
---|
src/main/java/net/minecraft/world/gen/ChunkProviderServer.java |
---|
src/main/java/org/ultramine/server/chunk/ChunkSendManager.java 0 → 100644 |
---|
src/main/java/org/ultramine/server/util/BlockFace.java 0 → 100644 |
---|
src/main/java/org/ultramine/server/util/ChunkCoordComparator.java 0 → 100644 |
---|
src/main/java/org/ultramine/server/util/CollectionUtil.java 0 → 100644 |
---|
src/main/java/org/ultramine/server/util/IntComparator.java 0 → 100644 |
---|
src/main/java/org/ultramine/server/util/TIntArrayListImpl.java 0 → 100644 |
---|