Plx fixes

This commit is contained in:
Daniel Mills 2021-07-20 02:58:44 -04:00
parent 10a159b315
commit 25cfb1f5c0
5 changed files with 20 additions and 4 deletions

View File

@ -19,7 +19,9 @@
package com.volmit.iris.engine.framework; package com.volmit.iris.engine.framework;
import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.util.documentation.BlockCoordinates;
public interface EngineActuator<O> extends EngineComponent { public interface EngineActuator<O> extends EngineComponent {
@BlockCoordinates
void actuate(int x, int z, Hunk<O> output); void actuate(int x, int z, Hunk<O> output);
} }

View File

@ -19,6 +19,7 @@
package com.volmit.iris.engine.framework; package com.volmit.iris.engine.framework;
import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.util.documentation.BlockCoordinates;
public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T> { public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T> {
public EngineAssignedActuator(Engine engine, String name) { public EngineAssignedActuator(Engine engine, String name) {
@ -27,6 +28,7 @@ public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent
public abstract void onActuate(int x, int z, Hunk<T> output); public abstract void onActuate(int x, int z, Hunk<T> output);
@BlockCoordinates
@Override @Override
public void actuate(int x, int z, Hunk<T> output) { public void actuate(int x, int z, Hunk<T> output) {
onActuate(x, z, output); onActuate(x, z, output);

View File

@ -21,11 +21,15 @@ package com.volmit.iris.engine.framework;
import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.B;
import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.object.IrisBiome;
import com.volmit.iris.util.documentation.BlockCoordinates;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
public interface EngineDecorator extends EngineComponent { 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<BlockData> data, IrisBiome biome, int height, int max); void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk<BlockData> data, IrisBiome biome, int height, int max);
@BlockCoordinates
default void decorate(int x, int z, int realX, int realZ, Hunk<BlockData> data, IrisBiome biome, int height, int max) { default void decorate(int x, int z, int realX, int realZ, Hunk<BlockData> data, IrisBiome biome, int height, int max) {
decorate(x, z, realX, realX, realX, realZ, realZ, realZ, data, biome, height, max); decorate(x, z, realX, realX, realX, realZ, realZ, realZ, data, biome, height, max);
} }

View File

@ -19,7 +19,9 @@
package com.volmit.iris.engine.framework; package com.volmit.iris.engine.framework;
import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.util.documentation.BlockCoordinates;
public interface EngineModifier<T> extends EngineComponent { public interface EngineModifier<T> extends EngineComponent {
@BlockCoordinates
void modify(int x, int z, Hunk<T> t); void modify(int x, int z, Hunk<T> t);
} }

View File

@ -38,6 +38,7 @@ import com.volmit.iris.engine.parallel.MultiBurst;
import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.collection.KSet; 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.format.Form;
import com.volmit.iris.util.function.Consumer4; import com.volmit.iris.util.function.Consumer4;
import com.volmit.iris.util.math.RNG; 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<BlockData> data) { default void insertParallax(int x, int z, Hunk<BlockData> data) {
if (!getEngine().getDimension().isPlaceObjects()) {
return;
}
try { try {
PrecisionStopwatch p = PrecisionStopwatch.start(); PrecisionStopwatch p = PrecisionStopwatch.start();
ParallaxChunkMeta meta = getParallaxAccess().getMetaR(x >> 4, z >> 4); ParallaxChunkMeta meta = getParallaxAccess().getMetaR(x, z);
if (!meta.isParallaxGenerated()) { if (!meta.isParallaxGenerated()) {
generateParallaxLayer(x, z, true); generateParallaxLayer(x, z, true);
meta = getParallaxAccess().getMetaR(x >> 4, z >> 4); meta = getParallaxAccess().getMetaR(x, z);
} }
if (!meta.isObjects()) { if (!meta.isObjects()) {
@ -180,7 +186,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer {
return; return;
} }
getParallaxAccess().getBlocksR(x >> 4, z >> 4).iterateSync((a, b, c, d) -> { getParallaxAccess().getBlocksR(x, z).iterateSync((a, b, c, d) -> {
if (d != null) { if (d != null) {
data.set(a, b, c, d); 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) { default void generateParallaxLayer(int x, int z, boolean force) {
if (!force && getParallaxAccess().isParallaxGenerated(x >> 4, z >> 4)) { if (!force && getParallaxAccess().isParallaxGenerated(x, z)) {
return; return;
} }