summaryrefslogtreecommitdiffhomepage
path: root/patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch')
-rw-r--r--patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
new file mode 100644
index 0000000000..8908089517
--- /dev/null
+++ b/patches/unapplied/server/0796-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
@@ -0,0 +1,37 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Spottedleaf <[email protected]>
+Date: Tue, 28 Dec 2021 07:19:01 -0800
+Subject: [PATCH] Execute chunk tasks fairly for worlds while waiting for next
+ tick
+
+Currently, only the first world would have had tasks executed.
+This might result in chunks loading far slower in the nether,
+for example.
+
+diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
+index cbbb0ff40488c430d15c2ed054d1b2880c9e92b7..c2ad62deea2a076aae53f17cbdacda1f5a92d2be 100644
+--- a/src/main/java/net/minecraft/server/MinecraftServer.java
++++ b/src/main/java/net/minecraft/server/MinecraftServer.java
+@@ -1309,6 +1309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ this.executeMidTickTasks(); // Paper - execute chunk tasks mid tick
+ return true;
+ } else {
++ boolean ret = false; // Paper - force execution of all worlds, do not just bias the first
+ if (this.haveTime()) {
+ Iterator iterator = this.getAllLevels().iterator();
+
+@@ -1316,12 +1317,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ ServerLevel worldserver = (ServerLevel) iterator.next();
+
+ if (worldserver.getChunkSource().pollTask()) {
+- return true;
++ ret = true; // Paper - force execution of all worlds, do not just bias the first
+ }
+ }
+ }
+
+- return false;
++ return ret; // Paper - force execution of all worlds, do not just bias the first
+ }
+ }
+