From 0b779860343d119ce8ad5bca3879f3ebd592e61a Mon Sep 17 00:00:00 2001 From: LLIcocoman Date: Mon, 7 Feb 2022 10:43:09 +0100 Subject: [PATCH 1/2] Hot fix mob spawning height --- .../java/com/volmit/iris/engine/object/IrisEntitySpawn.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 8b4fc790b..f7dfe4b6f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java @@ -74,8 +74,8 @@ public class IrisEntitySpawn implements IRare { for(int id = 0; id < spawns; id++) { int x = (c.getX() * 16) + rng.i(15); int z = (c.getZ() * 16) + rng.i(15); - int h = gen.getHeight(x, z, true); - int hf = gen.getHeight(x, z, false); + int h = gen.getHeight(x, z, true) + gen.getWorld().minHeight(); + 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) From 525dfab3e397f629b116ebaca40c895f735e3aab Mon Sep 17 00:00:00 2001 From: LLIcocoman Date: Mon, 7 Feb 2022 10:45:16 +0100 Subject: [PATCH 2/2] Adapt getHeight complex function to negative limits --- src/main/java/com/volmit/iris/engine/IrisComplex.java | 6 +++--- src/main/java/com/volmit/iris/engine/framework/Engine.java | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) 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(); }