39 lines
2.5 KiB
Diff
39 lines
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrHua269 <wangxyper@163.com>
|
|
Date: Sun, 12 Jan 2025 10:39:35 +0800
|
|
Subject: [PATCH] Add fix for off region adult following ai behavior
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/ai/behavior/BabyFollowAdult.java b/net/minecraft/world/entity/ai/behavior/BabyFollowAdult.java
|
|
index a9be3acbf4ea52d2988347abfa6f4f8c02b1da26..7ddf9fae8e50bbda2502c6b584fac135fac21773 100644
|
|
--- a/net/minecraft/world/entity/ai/behavior/BabyFollowAdult.java
|
|
+++ b/net/minecraft/world/entity/ai/behavior/BabyFollowAdult.java
|
|
@@ -25,6 +25,14 @@ public class BabyFollowAdult {
|
|
return false;
|
|
} else {
|
|
LivingEntity ageableMob = instance.get(nearestVisibleAdult); // CraftBukkit - type
|
|
+
|
|
+ // Luminol start - Fix off world entity following which caused async issue
|
|
+ if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(ageableMob)) {
|
|
+ nearestVisibleAdult.erase();
|
|
+ return true;
|
|
+ }
|
|
+ // Luminol end
|
|
+
|
|
if (mob.closerThan(ageableMob, followRange.getMaxValue() + 1) && !mob.closerThan(ageableMob, followRange.getMinValue())) {
|
|
// CraftBukkit start
|
|
org.bukkit.event.entity.EntityTargetLivingEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetLivingEvent(mob, ageableMob, org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER);
|
|
@@ -35,6 +43,12 @@ public class BabyFollowAdult {
|
|
nearestVisibleAdult.erase();
|
|
return true;
|
|
}
|
|
+ // Luminol start - Fix off region baby follow adult ai
|
|
+ if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(((org.bukkit.craftbukkit.entity.CraftEntity)event.getTarget()).getHandleRaw())) {
|
|
+ nearestVisibleAdult.erase();
|
|
+ return true;
|
|
+ }
|
|
+ // Luminol end
|
|
ageableMob = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getTarget()).getHandle();
|
|
// CraftBukkit end
|
|
WalkTarget walkTarget1 = new WalkTarget(
|