diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java index 6d2c245f4..b9a4ef0de 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java @@ -38,7 +38,7 @@ import java.util.function.Predicate; public class IrisDecorantActuator extends EngineAssignedActuator { private static final Predicate PREDICATE_SOLID = (b) -> b != null && !b.getMaterial().isAir() && !b.getMaterial().equals(Material.WATER) && !b.getMaterial().equals(Material.LAVA); - private static BiPredicate PREDICATE_CAVELIQUID = null; + private BiPredicate PREDICATE_CAVELIQUID = null; private final RNG rng; @Getter private final EngineDecorator surfaceDecorator; @@ -63,22 +63,21 @@ public class IrisDecorantActuator extends EngineAssignedActuator { seaFloorDecorator = new IrisSeaFloorDecorator(getEngine()); //Can't be created without an instance of the actuator due to referencing the engine - if (PREDICATE_CAVELIQUID == null) { - PREDICATE_CAVELIQUID = (b, y) -> { - for (IrisCaveLayer layer : getEngine().getDimension().getCaveLayers()) { - if (!layer.getFluid().hasFluid(getData())) { - continue; - } - - if (layer.getFluid().isInverseHeight() && y >= layer.getFluid().getFluidHeight()) { - if (b.matches(layer.getFluid().getFluid(getData()))) return true; - } else if (!layer.getFluid().isInverseHeight() && y <= layer.getFluid().getFluidHeight()) { - if (b.matches(layer.getFluid().getFluid(getData()))) return true; - } + PREDICATE_CAVELIQUID = (b, y) -> { + for (IrisCaveLayer layer : getEngine().getDimension().getCaveLayers()) { + if (!layer.getFluid().hasFluid(getData())) { + continue; } - return false; - }; - } + + if (layer.getFluid().isInverseHeight() && y >= layer.getFluid().getFluidHeight()) { + if (b.matches(layer.getFluid().getFluid(getData()))) return true; + } else if (!layer.getFluid().isInverseHeight() && y <= layer.getFluid().getFluidHeight()) { + if (b.matches(layer.getFluid().getFluid(getData()))) return true; + } + } + return false; + }; + } @BlockCoordinates