mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
Plx fixes
This commit is contained in:
parent
10a159b315
commit
25cfb1f5c0
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user