From ce94c5e23724a4b7b5e1fed85fb145d6b027fe2a Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 12 Sep 2021 10:56:58 -0400 Subject: [PATCH] Dont wait for the mantle to load, skip it until it's loaded (async) --- src/main/java/com/volmit/iris/engine/framework/Engine.java | 2 +- src/main/java/com/volmit/iris/util/mantle/Mantle.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/engine/framework/Engine.java b/src/main/java/com/volmit/iris/engine/framework/Engine.java index 356dce6b4..398a3b3b0 100644 --- a/src/main/java/com/volmit/iris/engine/framework/Engine.java +++ b/src/main/java/com/volmit/iris/engine/framework/Engine.java @@ -266,7 +266,7 @@ public interface Engine extends DataProvider, Fallible, LootProvider, BlockUpdat && c.getWorld().isChunkLoaded(c.getX(), c.getZ() - 1) && c.getWorld().isChunkLoaded(c.getX() - 1, c.getZ()) && c.getWorld().isChunkLoaded(c.getX() + 1, c.getZ() - 1) - && c.getWorld().isChunkLoaded(c.getX() - 1, c.getZ() + 1)) { + && c.getWorld().isChunkLoaded(c.getX() - 1, c.getZ() + 1) && getMantle().getMantle().isLoaded(c)) { getMantle().getMantle().raiseFlag(c.getX(), c.getZ(), MantleFlag.UPDATE, () -> J.s(() -> { PrecisionStopwatch p = PrecisionStopwatch.start(); KMap updates = new KMap<>(); diff --git a/src/main/java/com/volmit/iris/util/mantle/Mantle.java b/src/main/java/com/volmit/iris/util/mantle/Mantle.java index 932a882b2..174027037 100644 --- a/src/main/java/com/volmit/iris/util/mantle/Mantle.java +++ b/src/main/java/com/volmit/iris/util/mantle/Mantle.java @@ -524,4 +524,8 @@ public class Mantle { slice.iterateSync((xx, yy, zz, t) -> set(x + xx, y + yy, z + zz, t)); } + + public boolean isLoaded(Chunk c) { + return loadedRegions.containsKey(key(c.getX() >> 5, c.getZ() >> 5)); + } }