aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason Penilla <[email protected]>2024-06-18 21:04:13 -0700
committerJason Penilla <[email protected]>2024-06-18 21:04:35 -0700
commit3b1c85b3a292c634c816271264a472517ba80f8e (patch)
tree36865900f97498ab5a1f1681c1582e834e0f1910
parentd23825aa56dbe22140b4191e41ae4cf8f7188ebd (diff)
downloadPaper-3b1c85b3a292c634c816271264a472517ba80f8e.tar.gz
Paper-3b1c85b3a292c634c816271264a472517ba80f8e.zip
Execute chunk tasks while waiting for chunk load in isChunkGenerated
this shouldn't be needed as we are requesting EMPTY status, however there is a deeper issue that we will just work around for now fixes #10916
-rw-r--r--patches/server/1027-Fix-CraftWorld-isChunkGenerated.patch5
1 files changed, 3 insertions, 2 deletions
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;