diff --git a/patches/server/1027-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1027-Fix-CraftWorld-isChunkGenerated.patch index af6ad637a2..cd3b8127de 100644 --- a/patches/server/1027-Fix-CraftWorld-isChunkGenerated.patch +++ b/patches/server/1027-Fix-CraftWorld-isChunkGenerated.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix CraftWorld#isChunkGenerated The upstream implementation is returning true for non-full chunks. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fe9e8d1d4ae1f7a4e8f4cf5688004fc969422b3c..95de729f0a02a202632ea85a4061607d632588e9 100644 +index fe9e8d1d4ae1f7a4e8f4cf5688004fc969422b3c..1e7e8e0425dfde875bd79be4432eb7a092d70e4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -367,11 +367,27 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -367,11 +367,28 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean isChunkGenerated(int x, int z) { @@ -31,6 +31,7 @@ index fe9e8d1d4ae1f7a4e8f4cf5688004fc969422b3c..95de729f0a02a202632ea85a4061607d + ca.spottedleaf.moonrise.patches.chunk_system.ChunkSystem.scheduleChunkLoad( + this.world, x, z, false, ChunkStatus.EMPTY, false, ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.NORMAL, future::complete + ); ++ world.getChunkSource().mainThreadProcessor.managedBlock(future::isDone); + return future.thenApply(c -> { + if (c != null) { + return c.getPersistedStatus() == ChunkStatus.FULL;