diff options
Diffstat (limited to 'patches/server/0860-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch')
-rw-r--r-- | patches/server/0860-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/patches/server/0860-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0860-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch new file mode 100644 index 0000000000..17181993c9 --- /dev/null +++ b/patches/server/0860-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 4eafa147edad4fe66fb419635c320a01186e7fea..b69af9a2f1a0e3d578aaade1fb040d3d4230a941 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -1356,6 +1356,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(); + +@@ -1363,12 +1364,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 + } + } + |