From 08ca77097cc68c1498df3ea5b1e1f915bf459464 Mon Sep 17 00:00:00 2001 From: hayanesuru Date: Sat, 26 Apr 2025 00:42:37 +0800 Subject: [PATCH] Temporary disable async target finding when PWT enabled --- .../features/0154-Async-target-finding.patch | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/leaf-server/minecraft-patches/features/0154-Async-target-finding.patch b/leaf-server/minecraft-patches/features/0154-Async-target-finding.patch index 7b8c239d..7c36b574 100644 --- a/leaf-server/minecraft-patches/features/0154-Async-target-finding.patch +++ b/leaf-server/minecraft-patches/features/0154-Async-target-finding.patch @@ -25,7 +25,7 @@ index 24926aa7ed5c78b235659daf18b224b14beb744c..2603f5ca5e5f3fd86af76aec7e16039b public String getLocalIp() { diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 90bdcd168ad5b1a940f81b191bd59a34d3a33070..252591f0192f8cb5b2bdbb51625e50ae631301ad 100644 +index 90bdcd168ad5b1a940f81b191bd59a34d3a33070..051bf2ec9c312460b1379cea0f8a2a3adffcd254 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -177,7 +177,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -54,11 +54,18 @@ index 90bdcd168ad5b1a940f81b191bd59a34d3a33070..252591f0192f8cb5b2bdbb51625e50ae public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately -@@ -861,6 +871,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -861,6 +871,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } ); this.tickBlockEntities(); + // Leaf start - Async target finding ++ if (org.dreeam.leaf.config.modules.async.AsyncTargetFinding.enabled ++ && org.dreeam.leaf.config.modules.async.SparklyPaperParallelWorldTicking.enabled ++ ) { ++ final var tasks = this.asyncAITasks; ++ this.asyncAITasks = new it.unimi.dsi.fastutil.objects.ObjectArrayList<>(); ++ org.dreeam.leaf.async.ai.AsyncGoalExecutor.runTasks(tasks); ++ } else + if (org.dreeam.leaf.config.modules.async.AsyncTargetFinding.enabled) { + final var tasks = this.asyncAITasks; + this.asyncAITasks = new it.unimi.dsi.fastutil.objects.ObjectArrayList<>();