diff --git a/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/ChunkSnapshot.java b/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/ChunkSnapshot.java index d1eb78a2..b5bbc9a0 100644 --- a/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/ChunkSnapshot.java +++ b/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/ChunkSnapshot.java @@ -9,6 +9,7 @@ import org.dynmap.renderer.DynmapBlockState; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.chunk.NibbleArray; +import scala.actors.threadpool.Arrays; /** * Represents a static, thread-safe snapshot of chunk of blocks @@ -154,7 +155,11 @@ public class ChunkSnapshot } /* Get biome data */ if (nbt.hasKey("Biomes")) { - this.biome = nbt.getByteArray("Biomes"); + byte[] b = nbt.getByteArray("Biomes"); + if (b.length < COLUMNS_PER_CHUNK) { + b = Arrays.copyOf(b, COLUMNS_PER_CHUNK); + } + this.biome = b; } else { this.biome = new byte[COLUMNS_PER_CHUNK]; diff --git a/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/ChunkSnapshot.java b/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/ChunkSnapshot.java index ec20a7ea..cf7b6be6 100644 --- a/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/ChunkSnapshot.java +++ b/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/ChunkSnapshot.java @@ -9,6 +9,7 @@ import org.dynmap.renderer.DynmapBlockState; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.chunk.NibbleArray; +import scala.actors.threadpool.Arrays; /** * Represents a static, thread-safe snapshot of chunk of blocks @@ -154,7 +155,11 @@ public class ChunkSnapshot } /* Get biome data */ if (nbt.hasKey("Biomes")) { - this.biome = nbt.getByteArray("Biomes"); + byte[] b = nbt.getByteArray("Biomes"); + if (b.length < COLUMNS_PER_CHUNK) { + b = Arrays.copyOf(b, COLUMNS_PER_CHUNK); + } + this.biome = b; } else { this.biome = new byte[COLUMNS_PER_CHUNK]; diff --git a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/ChunkSnapshot.java b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/ChunkSnapshot.java index 5d7d7f47..d26c8dcd 100644 --- a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/ChunkSnapshot.java +++ b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/ChunkSnapshot.java @@ -9,6 +9,7 @@ import org.dynmap.renderer.DynmapBlockState; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.chunk.NibbleArray; +import scala.actors.threadpool.Arrays; /** * Represents a static, thread-safe snapshot of chunk of blocks @@ -154,7 +155,11 @@ public class ChunkSnapshot } /* Get biome data */ if (nbt.hasKey("Biomes")) { - this.biome = nbt.getByteArray("Biomes"); + byte[] b = nbt.getByteArray("Biomes"); + if (b.length < COLUMNS_PER_CHUNK) { + b = Arrays.copyOf(b, COLUMNS_PER_CHUNK); + } + this.biome = b; } else { this.biome = new byte[COLUMNS_PER_CHUNK]; diff --git a/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/ChunkSnapshot.java b/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/ChunkSnapshot.java index 441f60c2..084350b0 100644 --- a/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/ChunkSnapshot.java +++ b/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/ChunkSnapshot.java @@ -11,6 +11,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.NibbleArray; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; +import scala.actors.threadpool.Arrays; /** * Represents a static, thread-safe snapshot of chunk of blocks @@ -156,7 +157,11 @@ public class ChunkSnapshot } /* Get biome data */ if (nbt.hasKey("Biomes")) { - this.biome = nbt.getByteArray("Biomes"); + byte[] b = nbt.getByteArray("Biomes"); + if (b.length < COLUMNS_PER_CHUNK) { + b = Arrays.copyOf(b, COLUMNS_PER_CHUNK); + } + this.biome = b; } else { this.biome = new byte[COLUMNS_PER_CHUNK]; diff --git a/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/ChunkSnapshot.java b/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/ChunkSnapshot.java index 5fd25fea..009abfbf 100644 --- a/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/ChunkSnapshot.java +++ b/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/ChunkSnapshot.java @@ -9,6 +9,7 @@ import org.dynmap.renderer.DynmapBlockState; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.chunk.NibbleArray; +import scala.actors.threadpool.Arrays; /** * Represents a static, thread-safe snapshot of chunk of blocks @@ -154,7 +155,11 @@ public class ChunkSnapshot } /* Get biome data */ if (nbt.hasKey("Biomes")) { - this.biome = nbt.getByteArray("Biomes"); + byte[] b = nbt.getByteArray("Biomes"); + if (b.length < COLUMNS_PER_CHUNK) { + b = Arrays.copyOf(b, COLUMNS_PER_CHUNK); + } + this.biome = b; } else { this.biome = new byte[COLUMNS_PER_CHUNK];