diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index 5d10ff519..fc977ef42 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -95,7 +95,7 @@ public class IrisComplex implements DataProvider { UUID focusUUID = UUID.nameUUIDFromBytes("focus".getBytes()); this.rng = new RNG(engine.getSeedManager().getComplex()); this.data = engine.getData(); - double height = engine.getHeight(); + double height = engine.getMaxHeight(); fluidHeight = engine.getDimension().getFluidHeight(); generators = new KMap<>(); focusBiome = engine.getFocus(); @@ -336,8 +336,8 @@ public class IrisComplex implements DataProvider { } private double getHeight(Engine engine, IrisBiome b, double x, double z, long seed) { - return Math.min(engine.getHeight(), - Math.max(getInterpolatedHeight(engine, x, z, seed) + fluidHeight + overlayStream.get(x, z), 0)); + return Math.min(engine.getWorld().maxHeight(), + Math.max(getInterpolatedHeight(engine, x, z, seed) + fluidHeight + overlayStream.get(x, z), engine.getWorld().minHeight())); } private void registerGenerator(IrisGenerator cachedGenerator) { diff --git a/src/main/java/com/volmit/iris/engine/framework/Engine.java b/src/main/java/com/volmit/iris/engine/framework/Engine.java index b65fce4c5..7110824f1 100644 --- a/src/main/java/com/volmit/iris/engine/framework/Engine.java +++ b/src/main/java/com/volmit/iris/engine/framework/Engine.java @@ -136,6 +136,10 @@ public interface Engine extends DataProvider, Fallible, LootProvider, BlockUpdat EngineTarget getTarget(); + default int getMaxHeight() { + return getTarget().getWorld().maxHeight(); + } + default int getMinHeight() { return getTarget().getWorld().minHeight(); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java b/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java index 7e00c92ae..11aadfb7b 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java @@ -76,6 +76,8 @@ public class IrisEntitySpawn implements IRare { int z = (c.getZ() * 16) + rng.i(15); int h = gen.getHeight(x, z, true) - 64; int hf = gen.getHeight(x, z, false) - 64; + //int h = gen.getHeight(x, z, true) + gen.getWorld().minHeight(); Will look into this later + //int hf = gen.getHeight(x, z, false) + gen.getWorld().minHeight(); Location l = switch(getReferenceSpawner().getGroup()) { case NORMAL -> new Location(c.getWorld(), x, hf + 1, z); case CAVE -> gen.getMantle().findMarkers(c.getX(), c.getZ(), MarkerMatter.CAVE_FLOOR)