mircokroon / minecraft-world-downloader

Download Minecraft worlds, extend server's render distance. 1.12.2 - 1.21
GNU General Public License v3.0
1.26k stars 85 forks source link

Wrong world loading #449

Open lynrayy opened 2 years ago

lynrayy commented 2 years ago

Describe the bug World loading in WLD incorrectly

Steps to reproduce Pausing chunk loading Going to NPC Enabling chunk loading Selecting SKYWARS Me teleported to SKYWARS map Map loading correctly in game And looks like this in WDL image

Log output

Exception in thread "Chunk Parser Service" Exception in thread "Chunk Parser Service" java.lang.ArrayIndexOutOfBoundsException: Index 335 out of bounds for length 256
    at game.data.chunk.version.encoder.BlockLocationEncoder_1_16.fetch(BlockLocationEncoder_1_16.java:19)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:125)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:117)
    at game.data.chunk.ChunkSection.getNumericBlockStateAt(ChunkSection.java:113)
    at game.data.chunk.ChunkSection.computeHeight(ChunkSection.java:95)
    at game.data.chunk.ChunkImageFactory.computeHeight(ChunkImageFactory.java:234)
    at game.data.chunk.ChunkImageFactory.recomputeHeight(ChunkImageFactory.java:276)
    at game.data.chunk.ChunkImageFactory.recomputeHeights(ChunkImageFactory.java:266)
    at game.data.chunk.version.Chunk_1_16.updateBlocks(Chunk_1_16.java:73)
    at game.data.WorldManager.lambda$multiBlockChange$6(WorldManager.java:684)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Exception in thread "Chunk Parser Service" java.lang.ArrayIndexOutOfBoundsException: Index 339 out of bounds for length 256
    at game.data.chunk.version.encoder.BlockLocationEncoder_1_16.fetch(BlockLocationEncoder_1_16.java:19)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:125)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:117)
    at game.data.chunk.ChunkSection.getNumericBlockStateAt(ChunkSection.java:113)
    at game.data.chunk.ChunkSection.computeHeight(ChunkSection.java:95)
    at game.data.chunk.ChunkImageFactory.computeHeight(ChunkImageFactory.java:234)
    at game.data.chunk.ChunkImageFactory.recomputeHeight(ChunkImageFactory.java:276)
    at game.data.chunk.ChunkImageFactory.recomputeHeights(ChunkImageFactory.java:266)
    at game.data.chunk.version.Chunk_1_16.updateBlocks(Chunk_1_16.java:73)
    at game.data.WorldManager.lambda$multiBlockChange$6(WorldManager.java:684)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
java.lang.ArrayIndexOutOfBoundsException: Index 340 out of bounds for length 256
    at game.data.chunk.version.encoder.BlockLocationEncoder_1_16.fetch(BlockLocationEncoder_1_16.java:19)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:125)
    at game.data.chunk.ChunkSection.getPaletteIndex(ChunkSection.java:117)
    at game.data.chunk.ChunkSection.getNumericBlockStateAt(ChunkSection.java:113)
    at game.data.chunk.ChunkSection.computeHeight(ChunkSection.java:95)
    at game.data.chunk.ChunkImageFactory.computeHeight(ChunkImageFactory.java:234)
    at game.data.chunk.ChunkImageFactory.recomputeHeight(ChunkImageFactory.java:276)
    at game.data.chunk.ChunkImageFactory.recomputeHeights(ChunkImageFactory.java:266)
    at game.data.chunk.version.Chunk_1_16.updateBlocks(Chunk_1_16.java:73)
    at game.data.WorldManager.lambda$multiBlockChange$6(WorldManager.java:684)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Exception in thread "Chunk Parser Service" java.lang.ArrayIndexOutOfBoundsException
Exception in thread "Chunk Parser Service" java.lang.ArrayIndexOutOfBoundsException

Screenshots Result of WDL work: image image

Version

lynrayy commented 2 years ago

How do I get around this bug: turn on resume chunk loading, die, fly away from the loading zone and fly back, loading the territory again It is will better if WDL can forse load chunks again