From 9bfa6688f659f8aacb1e9c6c9bb9dea6f2bf5728 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 17 Jun 2023 10:40:55 +0200 Subject: [PATCH] [Fix] Possible crash when generating a tunnel --- .../features/terrain/caves/TunelCaveFeature.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java index 6a7d98f6..9640cd8f 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java @@ -176,11 +176,19 @@ public class TunelCaveFeature extends EndCaveFeature { } floorSets.forEach((biome, floorPositions) -> { - BlockState surfaceBlock = EndBiome.findTopMaterial(biome.bclBiome); - placeFloor(world, generator, (EndCaveBiome) biome.bclBiome, floorPositions, random, surfaceBlock); + if (biome != null && biome.bclBiome instanceof EndCaveBiome ecb) { + BlockState surfaceBlock = EndBiome.findTopMaterial(biome.bclBiome); + placeFloor(world, generator, ecb, floorPositions, random, surfaceBlock); + } else { + //BCLib.LOGGER.warning("Floor is not a cave biome: " + biome); + } }); ceilSets.forEach((biome, ceilPositions) -> { - placeCeil(world, generator, (EndCaveBiome) biome.bclBiome, ceilPositions, random); + if (biome != null && biome.bclBiome instanceof EndCaveBiome ecb) { + placeCeil(world, generator, ecb, ceilPositions, random); + } else { + //BCLib.LOGGER.warning("Ceiling is not a cave biome: " + biome); + } }); BiomePicker.ActualBiome biome = EndBiomes.getCaveBiome(pos.getX(), pos.getZ()); placeWalls(world, generator, (EndCaveBiome) biome.bclBiome, caveBlocks, random);