diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java index c452650..990e6e9 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilBlock.java @@ -62,8 +62,10 @@ public class AnvilBlock implements Block { (chunkSection.getParent().getZ() << 4) + location.getZ() ); - compoundTag.getValue().remove("Items"); - compoundTag.getValue().remove("Lock"); + if (compoundTag != null) { + compoundTag.getValue().remove("Items"); + compoundTag.getValue().remove("Lock"); + } return compoundTag; } diff --git a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java index 77426b4..a0a985d 100644 --- a/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java +++ b/anvil-loader/src/main/java/mc/world/anvil/AnvilChunk.java @@ -127,7 +127,7 @@ public class AnvilChunk implements Chunk { @Override public Biome getBiome(int x, int z) { - return Biome.getById( biomes.get( z << 4 | x) & 255 ); + return Biome.getById(biomes.get((z >> 4) << 4 | (x >> 4)) & 255); } @Override diff --git a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/ChunkDataPacket.java b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/ChunkDataPacket.java index fe15f98..ea03493 100644 --- a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/ChunkDataPacket.java +++ b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/ChunkDataPacket.java @@ -169,8 +169,8 @@ public class ChunkDataPacket implements SCPacket { if (biomeWrite) { biomes.writeByte(chunk.getBiome( - chunk.getX() << 4 + x, - chunk.getZ() << 4 + z + (chunk.getX() << 4) + x, + (chunk.getZ() << 4) + z ).getId()); if (x == 15 && z == 15) { biomeWrite = false;