Updated Upstream(Folia)

This commit is contained in:
MrHua269
2025-01-26 07:32:24 +08:00
parent cd9dbb24bb
commit 37ead10d7b
6 changed files with 11 additions and 34 deletions

View File

@@ -4,29 +4,6 @@ Date: Sun, 12 Jan 2025 10:56:59 +0800
Subject: [PATCH] Try fixing folia off region POI accessing issue
diff --git a/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java b/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
index 3614551856c594f3c0cfee984fcf03fad672b007..e318589cbc02b2bd583b03e0be927aa7c8033c29 100644
--- a/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
+++ b/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
@@ -47,10 +47,17 @@ public class GoToPotentialJobSite extends Behavior<Villager> {
ServerLevel level1 = level.getServer().getLevel(globalPos.dimension());
if (level1 != null) {
PoiManager poiManager = level1.getPoiManager();
+ //Luminol start - Fix off region POI accessing
+ java.lang.Runnable scheduledRelease = () -> {
if (poiManager.exists(blockPos, holder -> true)) {
poiManager.release(blockPos);
}
-
+ };
+ if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(level1, blockPos) && me.earthme.luminol.config.modules.fixes.FoliaPOIAccessOffRegionFixConfig.enabled)
+ io.papermc.paper.threadedregions.RegionizedServer.getInstance().taskQueue.queueTickTaskQueue(level1, blockPos.getX() >> 4, blockPos.getZ() >> 4, scheduledRelease);
+ else
+ scheduledRelease.run();
+ //Luminol end
DebugPackets.sendPoiTicketCountPacket(level, blockPos);
}
});
diff --git a/net/minecraft/world/entity/ai/village/poi/PoiManager.java b/net/minecraft/world/entity/ai/village/poi/PoiManager.java
index c10810bf00d75f459c3c6a9415c1e09f0519d50e..3adafa43367cd6648ecbccb92ba5bd509740d5a4 100644
--- a/net/minecraft/world/entity/ai/village/poi/PoiManager.java

View File

@@ -336,10 +336,10 @@ index 0000000000000000000000000000000000000000..de2f03d6e771c09e8da2da454b7ec4a1
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 87c3a06a31a5dcd760c0ca7f0b181662566ae35c..0b2c520dd035150186487adbabaffede59ca2f6b 100644
index bb88beabe23eaf114702a482ced9a93dac2ae64e..5ec36404b3de6bdb963bf7ee8d7367fe85b8db7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2397,6 +2397,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2398,6 +2398,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
handle.expToDrop = data.getInt("expToDrop");
handle.keepLevel = data.getBoolean("keepLevel");
}
@@ -349,7 +349,7 @@ index 87c3a06a31a5dcd760c0ca7f0b181662566ae35c..0b2c520dd035150186487adbabaffede
}
}
@@ -2418,6 +2421,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2419,6 +2422,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());

View File

@@ -291,10 +291,10 @@ index 0000000000000000000000000000000000000000..3535cf03e7855b4d8b312ccf3a7b0564
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0b2c520dd035150186487adbabaffede59ca2f6b..8bc4fab8728860278e4d49a7830f41ef31b7ba15 100644
index 5ec36404b3de6bdb963bf7ee8d7367fe85b8db7b..34b87dfa8a7d9cbdf04bfada87515e0eb418fe2b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2400,6 +2400,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2401,6 +2401,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
//Luminol start - Tpsbar
getHandle().isTpsBarVisible = data.getBoolean("tpsbarVisible");
//Luminol end
@@ -304,7 +304,7 @@ index 0b2c520dd035150186487adbabaffede59ca2f6b..8bc4fab8728860278e4d49a7830f41ef
}
}
@@ -2424,6 +2427,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2425,6 +2428,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
//Luminol start - Tpsbar
data.putBoolean("tpsbarVisible",handle.isTpsBarVisible);
//Luminol end

View File

@@ -184,10 +184,10 @@ index de8b9048c8395c05b8688bc9d984b8ad680f15b3..f42692cd4f0154705c3d5b030d281cfc
+ // KioCG end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8bc4fab8728860278e4d49a7830f41ef31b7ba15..df32d0ffcd055ecc33b2de62b96ea87701229ec6 100644
index 34b87dfa8a7d9cbdf04bfada87515e0eb418fe2b..d5249c32d397aa5faa31fab6a28edea2da9c57c9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3568,4 +3568,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3569,4 +3569,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
}
// Paper end - entity effect API

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] SparklyPaper Optimize canSee checks
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index df32d0ffcd055ecc33b2de62b96ea87701229ec6..3b8bbb91926a76498be8920395df4fcc1fb75d61 100644
index d5249c32d397aa5faa31fab6a28edea2da9c57c9..2d3591a4ce3371869e01ccbb66c4c78bfa207105 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -208,7 +208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -17,7 +17,7 @@ index df32d0ffcd055ecc33b2de62b96ea87701229ec6..3b8bbb91926a76498be8920395df4fcc
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
@@ -2261,9 +2261,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2262,9 +2262,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public boolean canSee(org.bukkit.entity.Entity entity) {