diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java index 3ca8103277..5dc6517b52 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java @@ -132,8 +132,8 @@ public class CraftChunkSnapshot implements ChunkSnapshot { Preconditions.checkState(biome != null, "ChunkSnapshot created without biome. Please call getSnapshot with includeBiome=true"); validateChunkCoordinates(x, y, z); - DataPaletteBlock biome = this.biome[getSectionIndex(y)]; - return CraftBlock.biomeBaseToBiome((IRegistry) biome.registry, biome.get(x >> 2, y >> 2, z >> 2)); + DataPaletteBlock biome = this.biome[getSectionIndex(y >> 2)]; + return CraftBlock.biomeBaseToBiome((IRegistry) biome.registry, biome.get(x >> 2, (y & 0xF) >> 2, z >> 2)); } @Override @@ -146,8 +146,8 @@ public class CraftChunkSnapshot implements ChunkSnapshot { Preconditions.checkState(biome != null, "ChunkSnapshot created without biome. Please call getSnapshot with includeBiome=true"); validateChunkCoordinates(x, y, z); - DataPaletteBlock biome = this.biome[getSectionIndex(y)]; - return biome.get(x >> 2, y >> 2, z >> 2).getTemperature(new BlockPosition((this.x << 4) | x, y, (this.z << 4) | z)); + DataPaletteBlock biome = this.biome[getSectionIndex(y >> 2)]; + return biome.get(x >> 2, (y & 0xF) >> 2, z >> 2).getTemperature(new BlockPosition((this.x << 4) | x, y, (this.z << 4) | z)); } @Override