diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineActuator.java b/src/main/java/com/volmit/iris/engine/framework/EngineActuator.java index 242f151b9..c249e4548 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineActuator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineActuator.java @@ -19,7 +19,9 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.hunk.Hunk; +import com.volmit.iris.util.documentation.BlockCoordinates; public interface EngineActuator extends EngineComponent { + @BlockCoordinates void actuate(int x, int z, Hunk output); } 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 9496ea1c6..118e98eec 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedActuator.java @@ -19,6 +19,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.hunk.Hunk; +import com.volmit.iris.util.documentation.BlockCoordinates; public abstract class EngineAssignedActuator extends EngineAssignedComponent implements EngineActuator { public EngineAssignedActuator(Engine engine, String name) { @@ -27,6 +28,7 @@ public abstract class EngineAssignedActuator extends EngineAssignedComponent public abstract void onActuate(int x, int z, Hunk output); + @BlockCoordinates @Override public void actuate(int x, int z, Hunk output) { onActuate(x, z, output); diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java index 3affbaea5..feb489a1c 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java @@ -21,11 +21,15 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public interface EngineDecorator extends EngineComponent { + + @BlockCoordinates void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max); + @BlockCoordinates default void decorate(int x, int z, int realX, int realZ, Hunk data, IrisBiome biome, int height, int max) { decorate(x, z, realX, realX, realX, realZ, realZ, realZ, data, biome, height, max); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineModifier.java b/src/main/java/com/volmit/iris/engine/framework/EngineModifier.java index 257f3f2ae..21642ae35 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineModifier.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineModifier.java @@ -19,7 +19,9 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.hunk.Hunk; +import com.volmit.iris.util.documentation.BlockCoordinates; public interface EngineModifier extends EngineComponent { + @BlockCoordinates void modify(int x, int z, Hunk t); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java index 42c65090d..70a7f0a73 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java @@ -38,6 +38,7 @@ import com.volmit.iris.engine.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; +import com.volmit.iris.util.documentation.ChunkCoordinates; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.function.Consumer4; import com.volmit.iris.util.math.RNG; @@ -165,14 +166,19 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { }); } + @ChunkCoordinates default void insertParallax(int x, int z, Hunk data) { + if (!getEngine().getDimension().isPlaceObjects()) { + return; + } + try { PrecisionStopwatch p = PrecisionStopwatch.start(); - ParallaxChunkMeta meta = getParallaxAccess().getMetaR(x >> 4, z >> 4); + ParallaxChunkMeta meta = getParallaxAccess().getMetaR(x, z); if (!meta.isParallaxGenerated()) { generateParallaxLayer(x, z, true); - meta = getParallaxAccess().getMetaR(x >> 4, z >> 4); + meta = getParallaxAccess().getMetaR(x, z); } if (!meta.isObjects()) { @@ -180,7 +186,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return; } - getParallaxAccess().getBlocksR(x >> 4, z >> 4).iterateSync((a, b, c, d) -> { + getParallaxAccess().getBlocksR(x, z).iterateSync((a, b, c, d) -> { if (d != null) { data.set(a, b, c, d); } @@ -349,7 +355,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } default void generateParallaxLayer(int x, int z, boolean force) { - if (!force && getParallaxAccess().isParallaxGenerated(x >> 4, z >> 4)) { + if (!force && getParallaxAccess().isParallaxGenerated(x, z)) { return; }