From 00c933c06ee289ffdf499fbe2c037fd83347e184 Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 16 Nov 2020 16:54:55 -0700 Subject: [PATCH] Fix stoopid NPE --- src/main/java/com/dfsek/terra/structure/spawn/AirSpawn.java | 3 ++- src/main/java/com/dfsek/terra/structure/spawn/LandSpawn.java | 3 ++- src/main/java/com/dfsek/terra/structure/spawn/OceanSpawn.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dfsek/terra/structure/spawn/AirSpawn.java b/src/main/java/com/dfsek/terra/structure/spawn/AirSpawn.java index 931b6c12b..2df85238a 100644 --- a/src/main/java/com/dfsek/terra/structure/spawn/AirSpawn.java +++ b/src/main/java/com/dfsek/terra/structure/spawn/AirSpawn.java @@ -22,6 +22,7 @@ public class AirSpawn extends Requirement { BiomeConfig c = wc.getBiome(b); if(y <= c.getOcean().getSeaLevel()) return false; ElevationEquation elevationEquation = ((UserDefinedGenerator) b.getGenerator()).getElevationEquation(); - return b.getGenerator().getNoise(getNoise(), getWorld(), x, (int) (y - elevationEquation.getNoise(x, z, getWorld())), z) <= 0; + int yf = y - ((elevationEquation == null) ? 0 : (int) elevationEquation.getNoise(x, z, getWorld())); + return b.getGenerator().getNoise(getNoise(), getWorld(), x, yf, z) <= 0; } } diff --git a/src/main/java/com/dfsek/terra/structure/spawn/LandSpawn.java b/src/main/java/com/dfsek/terra/structure/spawn/LandSpawn.java index d97a884c1..6c6da9162 100644 --- a/src/main/java/com/dfsek/terra/structure/spawn/LandSpawn.java +++ b/src/main/java/com/dfsek/terra/structure/spawn/LandSpawn.java @@ -17,6 +17,7 @@ public class LandSpawn extends Requirement { TerraWorld tw = TerraWorld.getWorld(getWorld()); UserDefinedBiome b = (UserDefinedBiome) tw.getGrid().getBiome(x, z, GenerationPhase.POPULATE); ElevationEquation elevationEquation = ((UserDefinedGenerator) b.getGenerator()).getElevationEquation(); - return b.getGenerator().getNoise(getNoise(), getWorld(), x, (int) (y - elevationEquation.getNoise(x, z, getWorld())), z) > 0; + int yf = y - ((elevationEquation == null) ? 0 : (int) elevationEquation.getNoise(x, z, getWorld())); + return b.getGenerator().getNoise(getNoise(), getWorld(), x, yf, z) > 0; } } diff --git a/src/main/java/com/dfsek/terra/structure/spawn/OceanSpawn.java b/src/main/java/com/dfsek/terra/structure/spawn/OceanSpawn.java index d24139920..85249dbef 100644 --- a/src/main/java/com/dfsek/terra/structure/spawn/OceanSpawn.java +++ b/src/main/java/com/dfsek/terra/structure/spawn/OceanSpawn.java @@ -20,6 +20,7 @@ public class OceanSpawn extends Requirement { BiomeConfig c = tw.getConfig().getBiome(b); if(y > c.getOcean().getSeaLevel()) return false; ElevationEquation elevationEquation = ((UserDefinedGenerator) b.getGenerator()).getElevationEquation(); - return b.getGenerator().getNoise(getNoise(), getWorld(), x, (int) (y - elevationEquation.getNoise(x, z, getWorld())), z) <= 0; + int yf = y - ((elevationEquation == null) ? 0 : (int) elevationEquation.getNoise(x, z, getWorld())); + return b.getGenerator().getNoise(getNoise(), getWorld(), x, yf, z) <= 0; } }