diff --git a/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java b/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java index e3296fc1a..b19098805 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngineMantle.java @@ -20,6 +20,7 @@ package com.volmit.iris.engine; import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; import com.volmit.iris.Iris; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.mantle.EngineMantle; import com.volmit.iris.engine.mantle.MantleComponent; @@ -53,8 +54,6 @@ import org.bukkit.util.BlockVector; import java.io.File; import java.io.IOException; import java.util.Map; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; @Data @@ -62,14 +61,15 @@ public class IrisEngineMantle implements EngineMantle { private final Engine engine; private final Mantle mantle; private final KList components; - private final Future radius; + private final int radius; + private final AtomicCache radCache = new AtomicCache<>(); private ProceduralStream> featureChunkStream; private ProceduralStream> featureStream; public IrisEngineMantle(Engine engine) { this.engine = engine; this.mantle = new Mantle(new File(engine.getWorld().worldFolder(), "mantle"), engine.getTarget().getHeight()); - radius = burst().completeValue(this::computeParallaxSize); + radius = radCache.aquire(this::computeParallaxSize); components = new KList<>(); registerComponent(new MantleFeatureComponent(this)); registerComponent(new MantleJigsawComponent(this)); diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java index 2698a694e..8460d8e3f 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java @@ -32,7 +32,6 @@ public abstract class EngineAssignedActuator extends EngineAssignedComponent @BlockCoordinates @Override public void actuate(int x, int z, Hunk output, boolean multicore) { - Iris.debug("Engine Actuator[" + getName() + "] " + x + " " + z); onActuate(x, z, output, multicore); } } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedModifier.java b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedModifier.java index 8e5bb8fb6..e69648b80 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedModifier.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedModifier.java @@ -33,7 +33,6 @@ public abstract class EngineAssignedModifier extends EngineAssignedComponent @BlockCoordinates @Override public void modify(int x, int z, Hunk output, boolean multicore) { - Iris.debug("Engine Modifier[" + getName() + "] " + x + " " + z); onModify(x, z, output, multicore); } } diff --git a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java index 87c905692..9da22e093 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java @@ -51,7 +51,7 @@ public interface EngineMantle extends IObjectPlacer { Engine getEngine(); - Future getRadius(); + Integer getRadius(); KList getComponents(); @@ -224,7 +224,6 @@ public interface EngineMantle extends IObjectPlacer { return; } - Iris.debug("Engine Matter Insert " + x + " " + z); getMantle().iterateChunk(x, z, t, blocks::set); } diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index f0e105c87..8547643db 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -177,7 +177,6 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun @Override public @NotNull ChunkData generateChunkData(@NotNull World world, @NotNull Random ignored, int x, int z, @NotNull BiomeGrid biome) { - Iris.debug("Generate Request " + world.getName() + " at: " + x + ", " + z); try { if(lastSeed != world.getSeed()) { @@ -188,14 +187,11 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun Iris.success("Updated Engine seed to " + lastSeed); } - Iris.debug("Generate Request [LOCKING] at: " + x + ", " + z); loadLock.acquire(); - Iris.debug("Generate Request [LOCKED] at: " + x + ", " + z); TerrainChunk tc = TerrainChunk.create(world, biome); Hunk blocks = Hunk.view((ChunkData) tc); Hunk biomes = Hunk.view((BiomeGrid) tc); this.world.bind(world); - Iris.debug("Generate Request [ENGINE] at: " + x + ", " + z); getEngine().generate(x * 16, z * 16, blocks, biomes, true); ChunkData c = tc.getRaw(); Iris.debug("Generated " + x + " " + z);