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