From 1247d8bf89952577d8ced803edcd30a2d173397c Mon Sep 17 00:00:00 2001 From: MrHua269 Date: Fri, 29 Nov 2024 00:23:13 +0800 Subject: [PATCH] Drop 0018 --- ...-config-for-folia-scheduling-issue-f.patch | 274 ------------------ ...-fixing-folia-spector-teleportation.patch} | 2 +- ...-entity-was-moving-to-another-regio.patch} | 0 ...olia-off-region-POI-accessing-issue.patch} | 0 ...sync-calling-during-moving-event-be.patch} | 0 ...Try-optimizing-the-task-dispatching.patch} | 0 ...-Force-disable-builtin-spark-plugin.patch} | 2 +- ...e-getting-block-state-while-tripwir.patch} | 0 ...5-LinearPurpur-Linear-region-format.patch} | 2 +- ...aiiju-Don-t-pathfind-outside-region.patch} | 0 ...ju-Vanilla-end-portal-teleportation.patch} | 0 ...ch => 0028-Petal-Reduce-sensor-work.patch} | 0 ...ish-Improve-fluid-direction-caching.patch} | 0 ...Cache-climbing-check-for-activation.patch} | 4 +- ...erfish-Reduce-chunk-loading-lookups.patch} | 0 ...return-optimization-for-target-find.patch} | 0 ...per-6045-block-goal-shouldn-t-load-.patch} | 0 ...erfish-Skip-cloning-loot-parameters.patch} | 0 ...ish-Reduce-projectile-chunk-loading.patch} | 2 +- ...patch => 0036-Pufferfish-Entity-TTL.patch} | 2 +- ...ferfish-Dynamic-Activation-of-Brain.patch} | 6 +- ...heck-for-spooky-season-once-an-hour.patch} | 0 ...039-Pufferfish-Optimize-suffocation.patch} | 2 +- ...le-goal-selector-during-inactive-ti.patch} | 0 ...r-ShapelessRecipes-comparison-for-V.patch} | 0 ...h => 0042-Pufferfish-SIMD-Utilities.patch} | 0 ...le-Variable-entity-wake-up-duration.patch} | 2 +- ...=> 0044-Gale-Optimize-sun-burn-tick.patch} | 0 ...45-Gale-Use-platform-math-functions.patch} | 0 ...kip-entity-move-if-movement-is-zero.patch} | 0 ...0047-Gale-Optimize-noise-generation.patch} | 0 ...048-Gale-Faster-chunk-serialization.patch} | 0 ...a-and-Optional-allocation-in-Entity.patch} | 0 ...ttle-tracker-map-with-optimized-col.patch} | 0 ...parkly-Paper-Optimize-canSee-checks.patch} | 0 ...-MapItem-update-if-the-map-does-not.patch} | 0 ...-distanceToSqr-call-in-ServerEntity.patch} | 0 ...I-and-display-of-chunkhot-in-tpsbar.patch} | 2 +- ...5-Purpur-use-alternative-keep-alive.patch} | 0 ...056-Leaf-Skip-event-if-no-listeners.patch} | 0 ...ect-Collision-Behavior-for-Block-Sh.patch} | 0 ...-start-tick-and-finished-tick-event.patch} | 0 ...x-MC-2025.patch => 0059-Fix-MC-2025.patch} | 0 ...=> 0060-FoliaPR-Add-TPS-From-Region.patch} | 0 44 files changed, 13 insertions(+), 287 deletions(-) delete mode 100644 patches/server/0018-Add-experimental-config-for-folia-scheduling-issue-f.patch rename patches/server/{0019-Try-fixing-folia-spector-teleportation.patch => 0018-Try-fixing-folia-spector-teleportation.patch} (97%) rename patches/server/{0020-Teleport-async-if-entity-was-moving-to-another-regio.patch => 0019-Teleport-async-if-entity-was-moving-to-another-regio.patch} (100%) rename patches/server/{0021-Try-fixing-folia-off-region-POI-accessing-issue.patch => 0020-Try-fixing-folia-off-region-POI-accessing-issue.patch} (100%) rename patches/server/{0022-Prevent-teleportAsync-calling-during-moving-event-be.patch => 0021-Prevent-teleportAsync-calling-during-moving-event-be.patch} (100%) rename patches/server/{0023-Try-optimizing-the-task-dispatching.patch => 0022-Try-optimizing-the-task-dispatching.patch} (100%) rename patches/server/{0024-Force-disable-builtin-spark-plugin.patch => 0023-Force-disable-builtin-spark-plugin.patch} (99%) rename patches/server/{0025-Check-allow-before-getting-block-state-while-tripwir.patch => 0024-Check-allow-before-getting-block-state-while-tripwir.patch} (100%) rename patches/server/{0026-LinearPurpur-Linear-region-format.patch => 0025-LinearPurpur-Linear-region-format.patch} (99%) rename patches/server/{0027-Kaiiju-Don-t-pathfind-outside-region.patch => 0026-Kaiiju-Don-t-pathfind-outside-region.patch} (100%) rename patches/server/{0028-Kaiiju-Vanilla-end-portal-teleportation.patch => 0027-Kaiiju-Vanilla-end-portal-teleportation.patch} (100%) rename patches/server/{0029-Petal-Reduce-sensor-work.patch => 0028-Petal-Reduce-sensor-work.patch} (100%) rename patches/server/{0030-Pufferfish-Improve-fluid-direction-caching.patch => 0029-Pufferfish-Improve-fluid-direction-caching.patch} (100%) rename patches/server/{0031-Pufferfish-Cache-climbing-check-for-activation.patch => 0030-Pufferfish-Cache-climbing-check-for-activation.patch} (92%) rename patches/server/{0032-Pufferfish-Reduce-chunk-loading-lookups.patch => 0031-Pufferfish-Reduce-chunk-loading-lookups.patch} (100%) rename patches/server/{0033-Pufferfish-Early-return-optimization-for-target-find.patch => 0032-Pufferfish-Early-return-optimization-for-target-find.patch} (100%) rename patches/server/{0034-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch => 0033-Pufferfish-Fix-Paper-6045-block-goal-shouldn-t-load-.patch} (100%) rename patches/server/{0035-Pufferfish-Skip-cloning-loot-parameters.patch => 0034-Pufferfish-Skip-cloning-loot-parameters.patch} (100%) rename patches/server/{0036-Pufferfish-Reduce-projectile-chunk-loading.patch => 0035-Pufferfish-Reduce-projectile-chunk-loading.patch} (97%) rename patches/server/{0037-Pufferfish-Entity-TTL.patch => 0036-Pufferfish-Entity-TTL.patch} (97%) rename patches/server/{0038-Pufferfish-Dynamic-Activation-of-Brain.patch => 0037-Pufferfish-Dynamic-Activation-of-Brain.patch} (98%) rename patches/server/{0039-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch => 0038-Pufferfish-Only-check-for-spooky-season-once-an-hour.patch} (100%) rename patches/server/{0040-Pufferfish-Optimize-suffocation.patch => 0039-Pufferfish-Optimize-suffocation.patch} (97%) rename patches/server/{0041-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch => 0040-Pufferfish-Throttle-goal-selector-during-inactive-ti.patch} (100%) rename patches/server/{0042-Pufferfish-Simpler-ShapelessRecipes-comparison-for-V.patch => 0041-Pufferfish-Simpler-ShapelessRecipes-comparison-for-V.patch} (100%) rename patches/server/{0043-Pufferfish-SIMD-Utilities.patch => 0042-Pufferfish-SIMD-Utilities.patch} (100%) rename patches/server/{0044-Gale-Variable-entity-wake-up-duration.patch => 0043-Gale-Variable-entity-wake-up-duration.patch} (97%) rename patches/server/{0045-Gale-Optimize-sun-burn-tick.patch => 0044-Gale-Optimize-sun-burn-tick.patch} (100%) rename patches/server/{0046-Gale-Use-platform-math-functions.patch => 0045-Gale-Use-platform-math-functions.patch} (100%) rename patches/server/{0047-Gale-Skip-entity-move-if-movement-is-zero.patch => 0046-Gale-Skip-entity-move-if-movement-is-zero.patch} (100%) rename patches/server/{0048-Gale-Optimize-noise-generation.patch => 0047-Gale-Optimize-noise-generation.patch} (100%) rename patches/server/{0049-Gale-Faster-chunk-serialization.patch => 0048-Gale-Faster-chunk-serialization.patch} (100%) rename patches/server/{0050-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch => 0049-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch} (100%) rename patches/server/{0051-Gale-Replace-throttle-tracker-map-with-optimized-col.patch => 0050-Gale-Replace-throttle-tracker-map-with-optimized-col.patch} (100%) rename patches/server/{0052-Sparkly-Paper-Optimize-canSee-checks.patch => 0051-Sparkly-Paper-Optimize-canSee-checks.patch} (100%) rename patches/server/{0053-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch => 0052-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch} (100%) rename patches/server/{0054-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch => 0053-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch} (100%) rename patches/server/{0055-KioCG-Chunk-API-and-display-of-chunkhot-in-tpsbar.patch => 0054-KioCG-Chunk-API-and-display-of-chunkhot-in-tpsbar.patch} (99%) rename patches/server/{0056-Purpur-use-alternative-keep-alive.patch => 0055-Purpur-use-alternative-keep-alive.patch} (100%) rename patches/server/{0057-Leaf-Skip-event-if-no-listeners.patch => 0056-Leaf-Skip-event-if-no-listeners.patch} (100%) rename patches/server/{0058-Leaves-Fix-Incorrect-Collision-Behavior-for-Block-Sh.patch => 0057-Leaves-Fix-Incorrect-Collision-Behavior-for-Block-Sh.patch} (100%) rename patches/server/{0059-Threaded-region-start-tick-and-finished-tick-event.patch => 0058-Threaded-region-start-tick-and-finished-tick-event.patch} (100%) rename patches/server/{0060-Fix-MC-2025.patch => 0059-Fix-MC-2025.patch} (100%) rename patches/server/{0061-FoliaPR-Add-TPS-From-Region.patch => 0060-FoliaPR-Add-TPS-From-Region.patch} (100%) diff --git a/patches/server/0018-Add-experimental-config-for-folia-scheduling-issue-f.patch b/patches/server/0018-Add-experimental-config-for-folia-scheduling-issue-f.patch deleted file mode 100644 index 65c2a38..0000000 --- a/patches/server/0018-Add-experimental-config-for-folia-scheduling-issue-f.patch +++ /dev/null @@ -1,274 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Wed, 18 Sep 2024 23:10:47 +0800 -Subject: [PATCH] Add experimental config for folia scheduling issue fixing - - -diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedTaskQueue.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedTaskQueue.java -index a1e1782d87403ca8934d37361be7ba66ddba133f..e668bfca306385fab7344bea8e9655a1f02814e1 100644 ---- a/src/main/java/io/papermc/paper/threadedregions/RegionizedTaskQueue.java -+++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedTaskQueue.java -@@ -48,8 +48,29 @@ public final class RegionizedTaskQueue { - - public PrioritisedExecutor.PrioritisedTask queueChunkTask(final ServerLevel world, final int chunkX, final int chunkZ, - final Runnable run, final PrioritisedExecutor.Priority priority) { -- final PrioritisedExecutor.PrioritisedTask ret = this.createChunkTask(world, chunkX, chunkZ, run, priority); -- ret.queue(); -+ PrioritisedExecutor.PrioritisedTask ret = new PrioritisedQueue.ChunkBasedPriorityTask(world.taskQueueRegionData, chunkX, chunkZ, true, run, priority, me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled); // Luminol -+ // Luminol start -+ if (!me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled){ -+ ret.queue(); -+ return ret; -+ } -+ -+ for (;;) { -+ boolean result; -+ -+ try { -+ result = ret.queue(); -+ }catch (me.earthme.luminol.utils.TaskCancelledException ignored) { -+ result = true; -+ } -+ -+ if (result) { -+ break; -+ } -+ -+ ret = new PrioritisedQueue.ChunkBasedPriorityTask(world.taskQueueRegionData, chunkX, chunkZ, true, run, priority, me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled); -+ } -+ // Luminol end - return ret; - } - -@@ -60,8 +81,29 @@ public final class RegionizedTaskQueue { - - public PrioritisedExecutor.PrioritisedTask queueTickTaskQueue(final ServerLevel world, final int chunkX, final int chunkZ, - final Runnable run, final PrioritisedExecutor.Priority priority) { -- final PrioritisedExecutor.PrioritisedTask ret = this.createTickTaskQueue(world, chunkX, chunkZ, run, priority); -- ret.queue(); -+ PrioritisedExecutor.PrioritisedTask ret = new PrioritisedQueue.ChunkBasedPriorityTask(world.taskQueueRegionData, chunkX, chunkZ, false, run, priority, me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled); // Luminol -+ // Luminol start -+ if (!me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled){ -+ ret.queue(); -+ return ret; -+ } -+ -+ for (;;) { -+ boolean result; -+ -+ try { -+ result = ret.queue(); -+ }catch (me.earthme.luminol.utils.TaskCancelledException ignored) { -+ result = true; -+ } -+ -+ if (result) { -+ break; -+ } -+ -+ ret = new PrioritisedQueue.ChunkBasedPriorityTask(world.taskQueueRegionData, chunkX, chunkZ, false, run, priority, me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled); -+ } -+ // Luminol end - return ret; - } - -@@ -136,6 +178,78 @@ public final class RegionizedTaskQueue { - } - } - -+ // Luminol start - Try fixing scheduling -+ private final java.util.concurrent.locks.Lock referenceCountersLock = new java.util.concurrent.locks.ReentrantLock(true); -+ -+ private void luminolReplaced$decrementReference(final AtomicLong reference, final long coord) { -+ final int chunkX = CoordinateUtils.getChunkX(coord); -+ final int chunkZ = CoordinateUtils.getChunkZ(coord); -+ -+ this.referenceCountersLock.lock(); -+ boolean shouldRemove = false; -+ try { -+ final long val = reference.decrementAndGet(); -+ if (val == 0L) { -+ shouldRemove = this.referenceCounters.remove(coord, reference) == reference; -+ } else if (val < 0L) { -+ throw new IllegalStateException("Reference count < 0: " + val); -+ } -+ }finally { -+ this.referenceCountersLock.unlock(); -+ } -+ -+ if (shouldRemove) { -+ final ca.spottedleaf.concurrentutil.lock.ReentrantAreaLock.Node ticketLock = this.world.moonrise$getChunkTaskScheduler().chunkHolderManager.ticketLockArea.lock(chunkX, chunkZ); -+ try { -+ WorldRegionTaskData.this.removeTicket(coord); -+ } finally { -+ this.world.moonrise$getChunkTaskScheduler().chunkHolderManager.ticketLockArea.unlock(ticketLock); -+ } -+ } -+ } -+ -+ private AtomicLong luminolReplaced$incrementReference(final long coord){ -+ final AtomicLong result; -+ -+ final int chunkX = CoordinateUtils.getChunkX(coord); -+ final int chunkZ = CoordinateUtils.getChunkZ(coord); -+ -+ final boolean processTicketUpdates; -+ -+ final AtomicLong replace = new AtomicLong(1L); -+ -+ this.referenceCountersLock.lock(); -+ try { -+ final AtomicLong valueInMap = this.referenceCounters.putIfAbsent(coord, replace); -+ -+ if (valueInMap == null) { -+ result = replace; -+ processTicketUpdates = true; -+ }else { -+ processTicketUpdates = false; -+ valueInMap.getAndIncrement(); -+ result = valueInMap; -+ } -+ }finally { -+ this.referenceCountersLock.unlock(); -+ } -+ -+ if (processTicketUpdates) { -+ // Add the ticket so that we could create the tickregion -+ final ca.spottedleaf.concurrentutil.lock.ReentrantAreaLock.Node ticketLock = this.world.moonrise$getChunkTaskScheduler().chunkHolderManager.ticketLockArea.lock(chunkX, chunkZ); -+ try { -+ this.addTicket(coord); -+ } finally { -+ this.world.moonrise$getChunkTaskScheduler().chunkHolderManager.ticketLockArea.unlock(ticketLock); -+ } -+ -+ this.processTicketUpdates(coord); // Notify an update -+ } -+ -+ return result; -+ } -+ // Luminol end -+ - private AtomicLong incrementReference(final long coord) { - final AtomicLong ret = this.referenceCounters.get(coord); - if (ret != null) { -@@ -428,7 +542,13 @@ public final class RegionizedTaskQueue { - try { - task.executeInternal(); - } finally { -- task.world.decrementReference(referenceCounter, task.sectionLowerLeftCoord); -+ // Luminol start - Try fixing schedule -+ if (me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled) { -+ task.world.luminolReplaced$decrementReference(referenceCounter, task.sectionLowerLeftCoord); -+ }else { -+ task.world.decrementReference(referenceCounter, task.sectionLowerLeftCoord); -+ } -+ // Luminol end - } - - return true; -@@ -449,6 +569,13 @@ public final class RegionizedTaskQueue { - private Runnable run; - private volatile PrioritisedExecutor.Priority priority; - private static final VarHandle PRIORITY_HANDLE = ConcurrentUtil.getVarHandle(ChunkBasedPriorityTask.class, "priority", PrioritisedExecutor.Priority.class); -+ private boolean softThrowWhenCancelled = false; // Luminol -+ -+ ChunkBasedPriorityTask(final WorldRegionTaskData world, final int chunkX, final int chunkZ, final boolean isChunkTask, -+ final Runnable run, final PrioritisedExecutor.Priority priority, boolean sft) { // Luminol -+ this(world, chunkX, chunkZ, isChunkTask, run, priority); -+ this.softThrowWhenCancelled = sft; -+ } - - ChunkBasedPriorityTask(final WorldRegionTaskData world, final int chunkX, final int chunkZ, final boolean isChunkTask, - final Runnable run, final PrioritisedExecutor.Priority priority) { -@@ -533,7 +660,13 @@ public final class RegionizedTaskQueue { - } - } finally { - if (curr != REFERENCE_COUNTER_NOT_SET) { -- this.world.decrementReference(curr, this.sectionLowerLeftCoord); -+ // Luminol start - Try fixing scheduling -+ if (me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled) { -+ this.world.luminolReplaced$decrementReference(curr, this.sectionLowerLeftCoord); -+ }else { -+ this.world.decrementReference(curr, this.sectionLowerLeftCoord); -+ } -+ // Luminol end - } - } - -@@ -547,10 +680,16 @@ public final class RegionizedTaskQueue { - return false; - } - -- final AtomicLong referenceCounter = this.world.incrementReference(this.sectionLowerLeftCoord); -+ final AtomicLong referenceCounter = me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled ? this.world.luminolReplaced$incrementReference(this.sectionLowerLeftCoord) : this.world.incrementReference(this.sectionLowerLeftCoord); - if (this.compareAndExchangeReferenceCounter(REFERENCE_COUNTER_NOT_SET, referenceCounter) != REFERENCE_COUNTER_NOT_SET) { - // we don't expect race conditions here, so it is OK if we have to needlessly reference count -- this.world.decrementReference(referenceCounter, this.sectionLowerLeftCoord); -+ // Luminol start - Try fixing scheduling -+ if (me.earthme.luminol.config.modules.experiment.FoliaTaskQueueFixConfig.enabled) { -+ this.world.luminolReplaced$decrementReference(referenceCounter, this.sectionLowerLeftCoord); -+ }else { -+ this.world.decrementReference(referenceCounter, this.sectionLowerLeftCoord); -+ } -+ // Luminol end - return false; - } - -@@ -574,6 +713,11 @@ public final class RegionizedTaskQueue { - // the task never could be polled from the queue, so we return false - // don't decrement reference count, as we were certainly cancelled by another thread, which - // will decrement the reference count -+ // Luminol start -+ if (this.softThrowWhenCancelled) { -+ throw new me.earthme.luminol.utils.TaskCancelledException(); -+ } -+ // Luminol end - return false; - } - -@@ -584,6 +728,9 @@ public final class RegionizedTaskQueue { - // we were cancelled - // don't decrement reference count, as we were certainly cancelled by another thread, which - // will decrement the reference count -+ if (this.softThrowWhenCancelled) { -+ throw new me.earthme.luminol.utils.TaskCancelledException(); -+ } - return false; - } - -diff --git a/src/main/java/me/earthme/luminol/config/modules/experiment/FoliaTaskQueueFixConfig.java b/src/main/java/me/earthme/luminol/config/modules/experiment/FoliaTaskQueueFixConfig.java -new file mode 100644 -index 0000000000000000000000000000000000000000..47e0339ecb0d96010c41e739c66f3d024aad95eb ---- /dev/null -+++ b/src/main/java/me/earthme/luminol/config/modules/experiment/FoliaTaskQueueFixConfig.java -@@ -0,0 +1,20 @@ -+package me.earthme.luminol.config.modules.experiment; -+ -+import me.earthme.luminol.config.ConfigInfo; -+import me.earthme.luminol.config.EnumConfigCategory; -+import me.earthme.luminol.config.IConfigModule; -+ -+public class FoliaTaskQueueFixConfig implements IConfigModule { -+ @ConfigInfo(baseName = "enabled") -+ public static boolean enabled = false; -+ -+ @Override -+ public EnumConfigCategory getCategory() { -+ return EnumConfigCategory.EXPERIMENT; -+ } -+ -+ @Override -+ public String getBaseName() { -+ return "queue_until_task_queued"; -+ } -+} -diff --git a/src/main/java/me/earthme/luminol/utils/TaskCancelledException.java b/src/main/java/me/earthme/luminol/utils/TaskCancelledException.java -new file mode 100644 -index 0000000000000000000000000000000000000000..c7b55489f4d3a57320b0963e45cd1c87e6c0ec88 ---- /dev/null -+++ b/src/main/java/me/earthme/luminol/utils/TaskCancelledException.java -@@ -0,0 +1,4 @@ -+package me.earthme.luminol.utils; -+ -+public class TaskCancelledException extends RuntimeException{ -+} diff --git a/patches/server/0019-Try-fixing-folia-spector-teleportation.patch b/patches/server/0018-Try-fixing-folia-spector-teleportation.patch similarity index 97% rename from patches/server/0019-Try-fixing-folia-spector-teleportation.patch rename to patches/server/0018-Try-fixing-folia-spector-teleportation.patch index 874ffc7..2d939ac 100644 --- a/patches/server/0019-Try-fixing-folia-spector-teleportation.patch +++ b/patches/server/0018-Try-fixing-folia-spector-teleportation.patch @@ -36,7 +36,7 @@ index 0000000000000000000000000000000000000000..01f8c6ff3662569be5a4ff998bcd4fbb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a737fb8dac485303d2ee7399d4dae8dbbff2f7fe..a810ffe411897a3155ae175418b8bbb0504cf923 100644 +index 023ffc81f9363eb2fc7c3b3382c843b064c889e3..d57fd6e4aacb611526a741fbd98165f124b7b8ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -929,9 +929,24 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple diff --git a/patches/server/0020-Teleport-async-if-entity-was-moving-to-another-regio.patch b/patches/server/0019-Teleport-async-if-entity-was-moving-to-another-regio.patch similarity index 100% rename from patches/server/0020-Teleport-async-if-entity-was-moving-to-another-regio.patch rename to patches/server/0019-Teleport-async-if-entity-was-moving-to-another-regio.patch diff --git a/patches/server/0021-Try-fixing-folia-off-region-POI-accessing-issue.patch b/patches/server/0020-Try-fixing-folia-off-region-POI-accessing-issue.patch similarity index 100% rename from patches/server/0021-Try-fixing-folia-off-region-POI-accessing-issue.patch rename to patches/server/0020-Try-fixing-folia-off-region-POI-accessing-issue.patch diff --git a/patches/server/0022-Prevent-teleportAsync-calling-during-moving-event-be.patch b/patches/server/0021-Prevent-teleportAsync-calling-during-moving-event-be.patch similarity index 100% rename from patches/server/0022-Prevent-teleportAsync-calling-during-moving-event-be.patch rename to patches/server/0021-Prevent-teleportAsync-calling-during-moving-event-be.patch diff --git a/patches/server/0023-Try-optimizing-the-task-dispatching.patch b/patches/server/0022-Try-optimizing-the-task-dispatching.patch similarity index 100% rename from patches/server/0023-Try-optimizing-the-task-dispatching.patch rename to patches/server/0022-Try-optimizing-the-task-dispatching.patch diff --git a/patches/server/0024-Force-disable-builtin-spark-plugin.patch b/patches/server/0023-Force-disable-builtin-spark-plugin.patch similarity index 99% rename from patches/server/0024-Force-disable-builtin-spark-plugin.patch rename to patches/server/0023-Force-disable-builtin-spark-plugin.patch index 3b5eded..d17a26b 100644 --- a/patches/server/0024-Force-disable-builtin-spark-plugin.patch +++ b/patches/server/0023-Force-disable-builtin-spark-plugin.patch @@ -18,7 +18,7 @@ index 48604e7f96adc9e226e034054c5e2bad0b024eb5..99f0c1e4d3437154a1062b0a8f94b7a0 return; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5bd02c4f65327b9b848b08e61820c262e0a71731..05871b8addafaf11ce10f16a0fc8d0ad9619e3d0 100644 +index b6489f9da0bf08e5801be1ce668a422610d2b393..db48812e886bc0110a1e098a98a67a5291e8eed3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -777,8 +777,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop