From cdb419c3f1b2438a3f0ad7025195856f5cbef1c1 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 12 Jan 2022 06:24:26 -0500 Subject: [PATCH] Fixes --- .../engine/actuator/IrisBiomeActuator.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index ff3a21938..922c41c44 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -25,17 +25,20 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.object.IrisBiomeCustom; +import com.volmit.iris.util.collection.KSet; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.view.BiomeGridHunkView; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.parallel.BurstExecutor; +import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.PrecisionStopwatch; import org.bukkit.block.Biome; import org.bukkit.generator.ChunkGenerator; public class IrisBiomeActuator extends EngineAssignedActuator { private final RNG rng; + private final ChronoLatch cl = new ChronoLatch(5000); public IrisBiomeActuator(Engine engine) { super(engine, "Biome"); @@ -78,6 +81,15 @@ public class IrisBiomeActuator extends EngineAssignedActuator { try { IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); Object biomeBase = INMS.get().getCustomBiomeBaseFor(getDimension().getLoadKey() + ":" + custom.getId()); +// +// int m = hits.size(); +// String str = ib.getLoadKey() + ":custom:" + custom.getId(); +// hits.add(str); +// +// if(m != hits.size()) +// { +// Iris.info("Added " + str); +// } if(biomeBase == null || !injectBiome(h, x, 0, z, biomeBase)) { throw new RuntimeException("Cant inject biome!"); @@ -95,8 +107,17 @@ public class IrisBiomeActuator extends EngineAssignedActuator { } } else { Biome v = ib.getSkyBiome(rng, x, 0, z); - for(int i = 0; i < maxHeight; i++) { - h.set(finalXf, i, zf, v); + + if(v != null) + { + for(int i = 0; i < maxHeight; i++) { + h.set(finalXf, i, zf, v); + } + } + + else if(cl.flip()) + { + Iris.error("No biome provided for " + ib.getLoadKey()); } } }