Updated POI fixes
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -35,6 +35,29 @@ index 0000000000000000000000000000000000000000..7812a71f05dd32646037afd22cdabf72
|
|||||||
+ return "folia.fix_poi_access_off_region";
|
+ return "folia.fix_poi_access_off_region";
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
|
||||||
|
index aac1df9e2c0652bc6348af0404deba7465f82d42..e9173c3fe6489bba6dfb90c71bba2e23aa838af6 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GoToPotentialJobSite.java
|
||||||
|
@@ -49,10 +49,17 @@ public class GoToPotentialJobSite extends Behavior<Villager> {
|
||||||
|
ServerLevel serverLevel2 = serverLevel.getServer().getLevel(pos.dimension());
|
||||||
|
if (serverLevel2 != null) {
|
||||||
|
PoiManager poiManager = serverLevel2.getPoiManager();
|
||||||
|
+ //Luminol start - Fix off region POI accessing
|
||||||
|
+ java.lang.Runnable scheduledRelease = () -> {
|
||||||
|
if (poiManager.exists(blockPos, poiType -> true)) {
|
||||||
|
poiManager.release(blockPos);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ };
|
||||||
|
+ if (!io.papermc.paper.util.TickThread.isTickThreadFor(serverLevel2, blockPos) && me.earthme.luminol.config.modules.fixes.FoliaPOIAccessOffRegionFixConfig.enabled)
|
||||||
|
+ io.papermc.paper.threadedregions.RegionizedServer.getInstance().taskQueue.queueTickTaskQueue(serverLevel, blockPos.getX() >> 4, blockPos.getZ() >> 4, scheduledRelease);
|
||||||
|
+ else
|
||||||
|
+ scheduledRelease.run();
|
||||||
|
+ //Luminol end
|
||||||
|
DebugPackets.sendPoiTicketCountPacket(serverLevel, blockPos);
|
||||||
|
}
|
||||||
|
});
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java b/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java b/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
|
||||||
index d1a9b62d3304916275dd6b4c4e783cf1563b5e21..dd1baee4bc36b28b7e10d98525d55cbcfb562649 100644
|
index d1a9b62d3304916275dd6b4c4e783cf1563b5e21..dd1baee4bc36b28b7e10d98525d55cbcfb562649 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
|
||||||
|
|||||||
Reference in New Issue
Block a user