From 2cb8f3f6f0965335a848785e96c6267de89759f6 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Fri, 24 Mar 2023 09:18:01 +0100 Subject: [PATCH] Instantly continue on world upgrade finish --- ...tly-continue-on-world-upgrade-finish.patch | 79 +++++++++++++++++++ ...h => 0144-Thread-safety-annotations.patch} | 0 ....patch => 0145-CPU-cores-estimation.patch} | 2 +- ...tch => 0146-Virtual-threads-utility.patch} | 0 ...patch => 0147-CheckableLock-utility.patch} | 0 ...utility.patch => 0148-Mutex-utility.patch} | 0 ...h => 0149-Thread-aware-lock-utility.patch} | 0 ... 0150-Unterminable-executor-utility.patch} | 0 ... 0151-FIFO-concurrent-queue-utility.patch} | 0 ...pool.patch => 0152-Base-thread-pool.patch} | 0 ...153-Watch-for-blocking-base-threads.patch} | 2 +- ... => 0154-Non-blocking-PooledObjects.patch} | 0 ... => 0155-Yielding-memoized-Supplier.patch} | 2 +- ...=> 0156-Yielding-ChunkHolderManager.patch} | 0 ...-executor-tasks-on-base-thread-pool.patch} | 2 +- ...-executor-tasks-on-base-thread-pool.patch} | 0 ...d-upgrade-tasks-on-base-thread-pool.patch} | 28 +++---- ...ompletion-tasks-on-base-thread-pool.patch} | 0 ...xt-filter-tasks-on-base-thread-pool.patch} | 0 ...n-cleaner-tasks-on-base-thread-pool.patch} | 0 ...unk-cache-tasks-on-base-thread-pool.patch} | 0 ...ead-chunk-tasks-on-base-thread-pool.patch} | 0 ...tisedQueueExecutorThread-agent-util.patch} | 0 ...nk-worker-tasks-on-base-thread-pool.patch} | 2 +- ...teps.patch => 0167-Split-tick-steps.patch} | 2 +- ...patch => 0168-Multithreaded-ticking.patch} | 0 ...=> 0169-Yielding-ChunkTaskScheduler.patch} | 0 27 files changed, 95 insertions(+), 24 deletions(-) create mode 100644 patches/server/0143-Instantly-continue-on-world-upgrade-finish.patch rename patches/server/{0143-Thread-safety-annotations.patch => 0144-Thread-safety-annotations.patch} (100%) rename patches/server/{0144-CPU-cores-estimation.patch => 0145-CPU-cores-estimation.patch} (98%) rename patches/server/{0145-Virtual-threads-utility.patch => 0146-Virtual-threads-utility.patch} (100%) rename patches/server/{0146-CheckableLock-utility.patch => 0147-CheckableLock-utility.patch} (100%) rename patches/server/{0147-Mutex-utility.patch => 0148-Mutex-utility.patch} (100%) rename patches/server/{0148-Thread-aware-lock-utility.patch => 0149-Thread-aware-lock-utility.patch} (100%) rename patches/server/{0149-Unterminable-executor-utility.patch => 0150-Unterminable-executor-utility.patch} (100%) rename patches/server/{0150-FIFO-concurrent-queue-utility.patch => 0151-FIFO-concurrent-queue-utility.patch} (100%) rename patches/server/{0151-Base-thread-pool.patch => 0152-Base-thread-pool.patch} (100%) rename patches/server/{0152-Watch-for-blocking-base-threads.patch => 0153-Watch-for-blocking-base-threads.patch} (98%) rename patches/server/{0153-Non-blocking-PooledObjects.patch => 0154-Non-blocking-PooledObjects.patch} (100%) rename patches/server/{0154-Yielding-memoized-Supplier.patch => 0155-Yielding-memoized-Supplier.patch} (99%) rename patches/server/{0155-Yielding-ChunkHolderManager.patch => 0156-Yielding-ChunkHolderManager.patch} (100%) rename patches/server/{0156-Run-async-executor-tasks-on-base-thread-pool.patch => 0157-Run-async-executor-tasks-on-base-thread-pool.patch} (98%) rename patches/server/{0157-Run-background-executor-tasks-on-base-thread-pool.patch => 0158-Run-background-executor-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0158-Run-world-upgrade-tasks-on-base-thread-pool.patch => 0159-Run-world-upgrade-tasks-on-base-thread-pool.patch} (79%) rename patches/server/{0159-Run-tab-completion-tasks-on-base-thread-pool.patch => 0160-Run-tab-completion-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0160-Run-text-filter-tasks-on-base-thread-pool.patch => 0161-Run-text-filter-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0161-Run-cleaner-tasks-on-base-thread-pool.patch => 0162-Run-cleaner-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0162-Run-chunk-cache-tasks-on-base-thread-pool.patch => 0163-Run-chunk-cache-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0163-Run-TickThread-chunk-tasks-on-base-thread-pool.patch => 0164-Run-TickThread-chunk-tasks-on-base-thread-pool.patch} (100%) rename patches/server/{0164-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch => 0165-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch} (100%) rename patches/server/{0165-Run-chunk-worker-tasks-on-base-thread-pool.patch => 0166-Run-chunk-worker-tasks-on-base-thread-pool.patch} (99%) rename patches/server/{0166-Split-tick-steps.patch => 0167-Split-tick-steps.patch} (99%) rename patches/server/{0167-Multithreaded-ticking.patch => 0168-Multithreaded-ticking.patch} (100%) rename patches/server/{0168-Yielding-ChunkTaskScheduler.patch => 0169-Yielding-ChunkTaskScheduler.patch} (100%) diff --git a/patches/server/0143-Instantly-continue-on-world-upgrade-finish.patch b/patches/server/0143-Instantly-continue-on-world-upgrade-finish.patch new file mode 100644 index 0000000..0f63e35 --- /dev/null +++ b/patches/server/0143-Instantly-continue-on-world-upgrade-finish.patch @@ -0,0 +1,79 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Martijn Muijsers +Date: Fri, 24 Mar 2023 09:16:33 +0100 +Subject: [PATCH] Instantly continue on world upgrade finish + +License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) +Gale - https://galemc.org + +diff --git a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java +index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..c13df3a375f416273c6a26f5f77624c1f34a918c 100644 +--- a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java ++++ b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java +@@ -25,6 +25,7 @@ import java.util.Optional; + import java.util.concurrent.ExecutorService; + import java.util.concurrent.Executors; + import java.util.concurrent.ThreadFactory; ++import java.util.concurrent.TimeUnit; + import java.util.concurrent.atomic.AtomicInteger; + import java.util.concurrent.atomic.AtomicLong; + import java.util.function.Supplier; +@@ -88,7 +89,12 @@ public class ThreadedWorldUpgrader { + new ChunkStorage(regionFolder.toPath(), this.dataFixer, false), this.removeCaches, this.dimensionType, this.generatorKey); + + long expectedChunks = (long)regionFiles.length * (32L * 32L); ++ // Gale start - instantly continue on world upgrade finish ++ final long[] finalExpectedChunks = {-1L}; + ++ var finishLock = new java.util.concurrent.locks.ReentrantLock(); ++ var finishCondition = finishLock.newCondition(); ++ // Gale end - instantly continue on world upgrade finish + for (final File regionFile : regionFiles) { + final ChunkPos regionPos = RegionFileStorage.getRegionFileCoordinates(regionFile.toPath()); + if (regionPos == null) { +@@ -96,8 +102,25 @@ public class ThreadedWorldUpgrader { + continue; + } + +- this.threadPool.execute(new ConvertTask(info, regionPos.x >> 5, regionPos.z >> 5)); ++ // Gale start - instantly continue on world upgrade finish ++ Runnable taskWithNotification = () -> { ++ new ConvertTask(info, regionPos.x >> 5, regionPos.z >> 5).run(); ++ final long current = info.convertedChunks.get(); ++ if (current == finalExpectedChunks[0]) { ++ while (!finishLock.tryLock()) { ++ Thread.onSpinWait(); ++ } ++ try { ++ finishCondition.signal(); ++ } finally { ++ finishLock.unlock(); ++ } ++ } ++ }; ++ this.threadPool.execute(taskWithNotification); ++ // Gale end - instantly continue on world upgrade finish + } ++ finalExpectedChunks[0] = expectedChunks; // Gale - instantly continue on world upgrade finish + this.threadPool.shutdown(); + + final DecimalFormat format = new DecimalFormat("#0.00"); +@@ -109,9 +132,16 @@ public class ThreadedWorldUpgrader { + + LOGGER.info("{}% completed ({} / {} chunks)...", format.format((double)current / (double)expectedChunks * 100.0), current, expectedChunks); + ++ // Gale start - instantly continue on world upgrade finish ++ while (!finishLock.tryLock()) { ++ Thread.onSpinWait(); ++ } + try { +- Thread.sleep(1000L); +- } catch (final InterruptedException ignore) {} ++ finishCondition.await(1000L, TimeUnit.MILLISECONDS); ++ } catch (final InterruptedException ignore) {} finally { ++ finishLock.unlock(); ++ } ++ // Gale end - instantly continue on world upgrade finish + } + + final long end = System.nanoTime(); diff --git a/patches/server/0143-Thread-safety-annotations.patch b/patches/server/0144-Thread-safety-annotations.patch similarity index 100% rename from patches/server/0143-Thread-safety-annotations.patch rename to patches/server/0144-Thread-safety-annotations.patch diff --git a/patches/server/0144-CPU-cores-estimation.patch b/patches/server/0145-CPU-cores-estimation.patch similarity index 98% rename from patches/server/0144-CPU-cores-estimation.patch rename to patches/server/0145-CPU-cores-estimation.patch index d0ec058..0de3692 100644 --- a/patches/server/0144-CPU-cores-estimation.patch +++ b/patches/server/0145-CPU-cores-estimation.patch @@ -55,7 +55,7 @@ index 5a92a8f24d3a6957cc3f8404bf3458f4c4058fb4..666114daf9e9a3f9f9e0779a3a40dfac // Attempt to detect vectorization try { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d278472bf407ae7c678bccb3a061437a5642749e..931fcce46f3941af772416f39229ed4abc7f8301 100644 +index 716867461631119de283e750cf14820b5630ccd5..7fe27e79b71117a3cea8fa041689ec5467dcd70f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -249,6 +249,8 @@ import org.bukkit.structure.StructureManager; diff --git a/patches/server/0145-Virtual-threads-utility.patch b/patches/server/0146-Virtual-threads-utility.patch similarity index 100% rename from patches/server/0145-Virtual-threads-utility.patch rename to patches/server/0146-Virtual-threads-utility.patch diff --git a/patches/server/0146-CheckableLock-utility.patch b/patches/server/0147-CheckableLock-utility.patch similarity index 100% rename from patches/server/0146-CheckableLock-utility.patch rename to patches/server/0147-CheckableLock-utility.patch diff --git a/patches/server/0147-Mutex-utility.patch b/patches/server/0148-Mutex-utility.patch similarity index 100% rename from patches/server/0147-Mutex-utility.patch rename to patches/server/0148-Mutex-utility.patch diff --git a/patches/server/0148-Thread-aware-lock-utility.patch b/patches/server/0149-Thread-aware-lock-utility.patch similarity index 100% rename from patches/server/0148-Thread-aware-lock-utility.patch rename to patches/server/0149-Thread-aware-lock-utility.patch diff --git a/patches/server/0149-Unterminable-executor-utility.patch b/patches/server/0150-Unterminable-executor-utility.patch similarity index 100% rename from patches/server/0149-Unterminable-executor-utility.patch rename to patches/server/0150-Unterminable-executor-utility.patch diff --git a/patches/server/0150-FIFO-concurrent-queue-utility.patch b/patches/server/0151-FIFO-concurrent-queue-utility.patch similarity index 100% rename from patches/server/0150-FIFO-concurrent-queue-utility.patch rename to patches/server/0151-FIFO-concurrent-queue-utility.patch diff --git a/patches/server/0151-Base-thread-pool.patch b/patches/server/0152-Base-thread-pool.patch similarity index 100% rename from patches/server/0151-Base-thread-pool.patch rename to patches/server/0152-Base-thread-pool.patch diff --git a/patches/server/0152-Watch-for-blocking-base-threads.patch b/patches/server/0153-Watch-for-blocking-base-threads.patch similarity index 98% rename from patches/server/0152-Watch-for-blocking-base-threads.patch rename to patches/server/0153-Watch-for-blocking-base-threads.patch index 1d4fa56..8ddeeb8 100644 --- a/patches/server/0152-Watch-for-blocking-base-threads.patch +++ b/patches/server/0153-Watch-for-blocking-base-threads.patch @@ -35,7 +35,7 @@ index 394b5044090c1c7b00b30036e4b8be4a6ac58ed1..0f0895ca1faa1e4bbd96614b497efd6a doFirst { workingDir.mkdirs() diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 7c38d14671b8a9a671deece654d2f89426b26081..b3ff28d9cac66ae076179b861fd4735e4ecb279b 100644 +index 185ad2527449bddfcf031ef6e3ae0ea6d39edf0e..3e97a50514f4b4ce1711c5813762782eb9da3ddf 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -4,16 +4,21 @@ import java.io.File; diff --git a/patches/server/0153-Non-blocking-PooledObjects.patch b/patches/server/0154-Non-blocking-PooledObjects.patch similarity index 100% rename from patches/server/0153-Non-blocking-PooledObjects.patch rename to patches/server/0154-Non-blocking-PooledObjects.patch diff --git a/patches/server/0154-Yielding-memoized-Supplier.patch b/patches/server/0155-Yielding-memoized-Supplier.patch similarity index 99% rename from patches/server/0154-Yielding-memoized-Supplier.patch rename to patches/server/0155-Yielding-memoized-Supplier.patch index ea7fa84..5012615 100644 --- a/patches/server/0154-Yielding-memoized-Supplier.patch +++ b/patches/server/0155-Yielding-memoized-Supplier.patch @@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -index 47a3580caef45ffe71446c247d4e06e332b2fda2..0b7d6bdd9d0543a4b37abfdd67c9fda4688134de 100644 +index 760601de028536aec142d195aa875ae59edd8e41..4753d4b489724d5b2681ac1c9f3736f08bfafbd2 100644 --- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java @@ -41,6 +41,7 @@ import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; diff --git a/patches/server/0155-Yielding-ChunkHolderManager.patch b/patches/server/0156-Yielding-ChunkHolderManager.patch similarity index 100% rename from patches/server/0155-Yielding-ChunkHolderManager.patch rename to patches/server/0156-Yielding-ChunkHolderManager.patch diff --git a/patches/server/0156-Run-async-executor-tasks-on-base-thread-pool.patch b/patches/server/0157-Run-async-executor-tasks-on-base-thread-pool.patch similarity index 98% rename from patches/server/0156-Run-async-executor-tasks-on-base-thread-pool.patch rename to patches/server/0157-Run-async-executor-tasks-on-base-thread-pool.patch index 427bf62..d05d796 100644 --- a/patches/server/0156-Run-async-executor-tasks-on-base-thread-pool.patch +++ b/patches/server/0157-Run-async-executor-tasks-on-base-thread-pool.patch @@ -27,7 +27,7 @@ index 157f74bbbac8cbbed37c4fcc339b3b3c06d06bbe..cd614c55aa3f9a014c2a073abf803888 1, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 30d848a13cc53bbe1ca1bcd497b2d2d5cb8a278d..d301399b47626a6196e89b76110d9305f1a4beeb 100644 +index b9dfe7aa02d8ac8b254f857756385605e3a98a2c..1c2020b366d2da3a054fbdaab2dd5734e6dbb315 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1084,9 +1084,6 @@ public abstract class MinecraftServer extends MinecraftServerBlockableEventLoop diff --git a/patches/server/0157-Run-background-executor-tasks-on-base-thread-pool.patch b/patches/server/0158-Run-background-executor-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0157-Run-background-executor-tasks-on-base-thread-pool.patch rename to patches/server/0158-Run-background-executor-tasks-on-base-thread-pool.patch diff --git a/patches/server/0158-Run-world-upgrade-tasks-on-base-thread-pool.patch b/patches/server/0159-Run-world-upgrade-tasks-on-base-thread-pool.patch similarity index 79% rename from patches/server/0158-Run-world-upgrade-tasks-on-base-thread-pool.patch rename to patches/server/0159-Run-world-upgrade-tasks-on-base-thread-pool.patch index 691f54d..22e6403 100644 --- a/patches/server/0158-Run-world-upgrade-tasks-on-base-thread-pool.patch +++ b/patches/server/0159-Run-world-upgrade-tasks-on-base-thread-pool.patch @@ -7,10 +7,10 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java -index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..5320a366924e2ab6b60e5563ca58eb0ae6323d21 100644 +index c13df3a375f416273c6a26f5f77624c1f34a918c..ccab7e0d529a9909410da4301db037bf4b0f02f0 100644 --- a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java +++ b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java -@@ -7,25 +7,21 @@ import net.minecraft.nbt.CompoundTag; +@@ -7,17 +7,16 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceKey; import net.minecraft.util.worldupdate.WorldUpgrader; import net.minecraft.world.level.ChunkPos; @@ -30,15 +30,7 @@ index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..5320a366924e2ab6b60e5563ca58eb0a import java.io.File; import java.io.IOException; import java.text.DecimalFormat; - import java.util.Optional; - import java.util.concurrent.ExecutorService; --import java.util.concurrent.Executors; --import java.util.concurrent.ThreadFactory; --import java.util.concurrent.atomic.AtomicInteger; - import java.util.concurrent.atomic.AtomicLong; - import java.util.function.Supplier; - -@@ -46,6 +42,10 @@ public class ThreadedWorldUpgrader { +@@ -47,6 +46,10 @@ public class ThreadedWorldUpgrader { this.dimensionType = dimensionType; this.worldName = worldName; this.worldDir = worldDir; @@ -49,7 +41,7 @@ index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..5320a366924e2ab6b60e5563ca58eb0a this.threadPool = Executors.newFixedThreadPool(Math.max(1, threads), new ThreadFactory() { private final AtomicInteger threadCounter = new AtomicInteger(); -@@ -61,6 +61,7 @@ public class ThreadedWorldUpgrader { +@@ -62,6 +65,7 @@ public class ThreadedWorldUpgrader { return ret; } }); @@ -57,10 +49,10 @@ index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..5320a366924e2ab6b60e5563ca58eb0a this.dataFixer = dataFixer; this.generatorKey = generatorKey; this.removeCaches = removeCaches; -@@ -98,17 +99,22 @@ public class ThreadedWorldUpgrader { - - this.threadPool.execute(new ConvertTask(info, regionPos.x >> 5, regionPos.z >> 5)); +@@ -121,17 +125,22 @@ public class ThreadedWorldUpgrader { + // Gale end - instantly continue on world upgrade finish } + finalExpectedChunks[0] = expectedChunks; // Gale - instantly continue on world upgrade finish - this.threadPool.shutdown(); final DecimalFormat format = new DecimalFormat("#0.00"); @@ -79,6 +71,6 @@ index 513833c2ea23df5b079d157bc5cb89d5c9754c0b..5320a366924e2ab6b60e5563ca58eb0a + } + // Gale end - base thread pool - remove world upgrade executors - wait for task completion instead of thread pool termination + - try { - Thread.sleep(1000L); - } catch (final InterruptedException ignore) {} + // Gale start - instantly continue on world upgrade finish + while (!finishLock.tryLock()) { + Thread.onSpinWait(); diff --git a/patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch b/patches/server/0160-Run-tab-completion-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch rename to patches/server/0160-Run-tab-completion-tasks-on-base-thread-pool.patch diff --git a/patches/server/0160-Run-text-filter-tasks-on-base-thread-pool.patch b/patches/server/0161-Run-text-filter-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0160-Run-text-filter-tasks-on-base-thread-pool.patch rename to patches/server/0161-Run-text-filter-tasks-on-base-thread-pool.patch diff --git a/patches/server/0161-Run-cleaner-tasks-on-base-thread-pool.patch b/patches/server/0162-Run-cleaner-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0161-Run-cleaner-tasks-on-base-thread-pool.patch rename to patches/server/0162-Run-cleaner-tasks-on-base-thread-pool.patch diff --git a/patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch b/patches/server/0163-Run-chunk-cache-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch rename to patches/server/0163-Run-chunk-cache-tasks-on-base-thread-pool.patch diff --git a/patches/server/0163-Run-TickThread-chunk-tasks-on-base-thread-pool.patch b/patches/server/0164-Run-TickThread-chunk-tasks-on-base-thread-pool.patch similarity index 100% rename from patches/server/0163-Run-TickThread-chunk-tasks-on-base-thread-pool.patch rename to patches/server/0164-Run-TickThread-chunk-tasks-on-base-thread-pool.patch diff --git a/patches/server/0164-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch b/patches/server/0165-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch similarity index 100% rename from patches/server/0164-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch rename to patches/server/0165-BaseThread-PrioritisedQueueExecutorThread-agent-util.patch diff --git a/patches/server/0165-Run-chunk-worker-tasks-on-base-thread-pool.patch b/patches/server/0166-Run-chunk-worker-tasks-on-base-thread-pool.patch similarity index 99% rename from patches/server/0165-Run-chunk-worker-tasks-on-base-thread-pool.patch rename to patches/server/0166-Run-chunk-worker-tasks-on-base-thread-pool.patch index fdbc4b9..61eb574 100644 --- a/patches/server/0165-Run-chunk-worker-tasks-on-base-thread-pool.patch +++ b/patches/server/0166-Run-chunk-worker-tasks-on-base-thread-pool.patch @@ -480,7 +480,7 @@ index f5c15d40094c2ddc6220b0595597d12103fcf425..79ef41d2bb30beee2355d1de3dc99c9e } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d301399b47626a6196e89b76110d9305f1a4beeb..4f73bbb49ff96adeb3b9ba245c2f32c9cb97df1d 100644 +index 1c2020b366d2da3a054fbdaab2dd5734e6dbb315..d9e07fd59e4f0bb006cadd022b2086fc65f5eacf 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1073,6 +1073,10 @@ public abstract class MinecraftServer extends MinecraftServerBlockableEventLoop diff --git a/patches/server/0166-Split-tick-steps.patch b/patches/server/0167-Split-tick-steps.patch similarity index 99% rename from patches/server/0166-Split-tick-steps.patch rename to patches/server/0167-Split-tick-steps.patch index aaa3d56..eb2d340 100644 --- a/patches/server/0166-Split-tick-steps.patch +++ b/patches/server/0167-Split-tick-steps.patch @@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4f73bbb49ff96adeb3b9ba245c2f32c9cb97df1d..dad347675f45922254f8b26efb2cce7461411928 100644 +index d9e07fd59e4f0bb006cadd022b2086fc65f5eacf..0782da72420e6988728a699af420fd17e5828e06 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -156,7 +156,6 @@ import org.galemc.gale.executor.queue.BaseTaskQueues; diff --git a/patches/server/0167-Multithreaded-ticking.patch b/patches/server/0168-Multithreaded-ticking.patch similarity index 100% rename from patches/server/0167-Multithreaded-ticking.patch rename to patches/server/0168-Multithreaded-ticking.patch diff --git a/patches/server/0168-Yielding-ChunkTaskScheduler.patch b/patches/server/0169-Yielding-ChunkTaskScheduler.patch similarity index 100% rename from patches/server/0168-Yielding-ChunkTaskScheduler.patch rename to patches/server/0169-Yielding-ChunkTaskScheduler.patch