Skip to content

Commit e4b0ae9

Browse files
committed
Change EntityScheduler scheduler check to checking if it is retired
While the entity being removed works for regular entities, it may not work for players.
1 parent 7c50415 commit e4b0ae9

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8207,7 +8207,7 @@ index 4535858701b2bb232b9d2feb2af6551526232ddc..4a7de2ed6eabe919f0c33de49ed7fab7
82078207
}
82088208
}
82098209
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
8210-
index 52fa5112cd90ba766c94512a02401dd3aee82cc9..779d18a6cbdfcf9487288a60d4039bf5c3ca2fc4 100644
8210+
index 52fa5112cd90ba766c94512a02401dd3aee82cc9..7c46bb3f4e2fe496d300b7b7df2293a8cff06c38 100644
82118211
--- a/net/minecraft/server/MinecraftServer.java
82128212
+++ b/net/minecraft/server/MinecraftServer.java
82138213
@@ -184,7 +184,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -8651,7 +8651,7 @@ index 52fa5112cd90ba766c94512a02401dd3aee82cc9..779d18a6cbdfcf9487288a60d4039bf5
86518651
+ // now run all the entity schedulers
86528652
+ for (io.papermc.paper.threadedregions.EntityScheduler scheduler : region.world.getCurrentWorldData().entitySchedulerTickList.getAllSchedulers()) {
86538653
+ net.minecraft.world.entity.Entity handle = scheduler.entity.getHandleRaw();
8654-
+ if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(handle) || handle.isRemoved()) {
8654+
+ if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(handle) || scheduler.isRetired()) {
86558655
+ continue;
86568656
+ }
86578657
+

folia-server/minecraft-patches/features/0007-Region-profiler.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1458,7 +1458,7 @@ index 4a7de2ed6eabe919f0c33de49ed7fab75abac1b4..7280ca2250ade4166a1a883b205bbc89
14581458
if (var4 instanceof ReportedException reportedException && reportedException.getCause() instanceof OutOfMemoryError) {
14591459
throw makeReportedException(var4, packet, processor);
14601460
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
1461-
index 779d18a6cbdfcf9487288a60d4039bf5c3ca2fc4..29101af861b6b8c577d08c940cea17c843d00081 100644
1461+
index 7c46bb3f4e2fe496d300b7b7df2293a8cff06c38..8e69876debfdbab3965fb93fe79d1125f4f21636 100644
14621462
--- a/net/minecraft/server/MinecraftServer.java
14631463
+++ b/net/minecraft/server/MinecraftServer.java
14641464
@@ -1580,6 +1580,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1492,7 +1492,7 @@ index 779d18a6cbdfcf9487288a60d4039bf5c3ca2fc4..29101af861b6b8c577d08c940cea17c8
14921492
+ foliaProfiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.ENTITY_SCHEDULER_TICK); try { // Folia - profiler
14931493
for (io.papermc.paper.threadedregions.EntityScheduler scheduler : region.world.getCurrentWorldData().entitySchedulerTickList.getAllSchedulers()) {
14941494
net.minecraft.world.entity.Entity handle = scheduler.entity.getHandleRaw();
1495-
if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(handle) || handle.isRemoved()) {
1495+
if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(handle) || scheduler.isRetired()) {
14961496
continue;
14971497
}
14981498

0 commit comments

Comments
 (0)