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;
import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.util.documentation.BlockCoordinates;
public interface EngineActuator<O> extends EngineComponent {
@BlockCoordinates
void actuate(int x, int z, Hunk<O> output);
}

View File

@ -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<T> extends EngineAssignedComponent implements EngineActuator<T> {
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);
@BlockCoordinates
@Override
public void actuate(int x, int z, Hunk<T> 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.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<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) {
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;
import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.util.documentation.BlockCoordinates;
public interface EngineModifier<T> extends EngineComponent {
@BlockCoordinates
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.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<BlockData> 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;
}