diff --git a/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/RelativeBlockSample.java b/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/RelativeBlockSample.java index 69e6a969..49568880 100644 --- a/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/RelativeBlockSample.java +++ b/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/RelativeBlockSample.java @@ -59,9 +59,11 @@ public class RelativeBlockSample implements BlockView, ModifiableWorld { } } } - for (int x = 0; x < width; x++) { - for (int z = 0; z < length; z++) { - this.biomeContainer.put(new BlockPos(x, 0, z), this.biomePalette.inverse().get(this.biomeData[x][z])); + if (hasBiomes()) { + for (int x = 0; x < width; x++) { + for (int z = 0; z < length; z++) { + this.biomeContainer.put(new BlockPos(x, 0, z), this.biomePalette.inverse().get(this.biomeData[x][z])); + } } } for (CompoundTag blockEntityTag : schematic.getBlockEntities()) { @@ -152,4 +154,8 @@ public class RelativeBlockSample implements BlockView, ModifiableWorld { public boolean breakBlock(BlockPos pos, boolean drop, @Nullable Entity breakingEntity, int maxUpdateDepth) { return this.setBlockState(pos, Blocks.AIR.getDefaultState(), 2); } + + public boolean hasBiomes() { + return biomeData.length != 0; + } } diff --git a/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/SchematicPlacer.java b/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/SchematicPlacer.java index 3a2dab02..ad310d9f 100644 --- a/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/SchematicPlacer.java +++ b/src/main/schematics/org/dimdev/dimdoors/util/schematic/v2/SchematicPlacer.java @@ -55,6 +55,7 @@ public final class SchematicPlacer { int width = schematic.getWidth(); int length = schematic.getLength(); byte[] biomeDataArray = schematic.getBiomeData().array(); + if (biomeDataArray.length == 0) return new int[0][0]; int[][] biomeData = new int[width][length]; for (int x = 0; x < width; x++) { for (int z = 0; z < length; z++) {