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; } }