34 lines
2.2 KiB
Diff
34 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
Date: Tue, 28 Jul 2026 15:08:42 +0800
|
|
Subject: [PATCH] Anonymous Object: Fix wrong ticket update determination in
|
|
RegionizedTaskQueue
|
|
|
|
As requested by the original author, this patch will be anonymous and hide the original commit address.
|
|
This patch is used with permission from the original author.
|
|
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
|
|
|
diff --git a/io/papermc/paper/threadedregions/RegionizedTaskQueue.java b/io/papermc/paper/threadedregions/RegionizedTaskQueue.java
|
|
index b264dbd13a392cde3f24ff75c0034985fda68ccc..fe0a6bd90cba4869a0ee11723832f2dee5039f62 100644
|
|
--- a/io/papermc/paper/threadedregions/RegionizedTaskQueue.java
|
|
+++ b/io/papermc/paper/threadedregions/RegionizedTaskQueue.java
|
|
@@ -289,14 +289,17 @@ public final class RegionizedTaskQueue {
|
|
boolean executeTickTasks = allowedTickTasks > 0;
|
|
boolean executeChunkTasks = allowedChunkTasks > 0;
|
|
boolean executeGlobalTasks = true;
|
|
+ boolean processedChunkTask = false; // Anonymous - Fix wrong ticket update determination in RegionizedTaskQueue
|
|
|
|
do {
|
|
executeTickTasks = executeTickTasks && allowedTickTasks-- > 0 && tickTaskQueue.executeTask();
|
|
executeChunkTasks = executeChunkTasks && allowedChunkTasks-- > 0 && chunkTaskQueue.executeTask();
|
|
executeGlobalTasks = executeGlobalTasks && this.worldRegionTaskData.executeGlobalChunkTask();
|
|
+
|
|
+ processedChunkTask |= (executeChunkTasks | executeGlobalTasks); // Anonymous - Fix wrong ticket update determination in RegionizedTaskQueue
|
|
} while (executeTickTasks | executeChunkTasks | executeGlobalTasks);
|
|
|
|
- if (allowedChunkTasks > 0) {
|
|
+ if (processedChunkTask) { // Anonymous - Fix wrong ticket update determination in RegionizedTaskQueue
|
|
// if we executed chunk tasks, we should try to process ticket updates for full status changes
|
|
this.worldRegionTaskData.world.moonrise$getChunkTaskScheduler().chunkHolderManager.processTicketUpdates();
|
|
}
|