diff --git a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java index ef9776416..a711fbc38 100644 --- a/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java +++ b/v1_14_R1/src/main/java/net/citizensnpcs/nms/v1_14_R1/entity/VillagerController.java @@ -17,6 +17,7 @@ import net.citizensnpcs.npc.CitizensNPC; import net.citizensnpcs.npc.ai.NPCHolder; import net.citizensnpcs.util.Util; +import net.minecraft.server.v1_14_R1.BehaviorController; import net.minecraft.server.v1_14_R1.BlockPosition; import net.minecraft.server.v1_14_R1.DamageSource; import net.minecraft.server.v1_14_R1.DataWatcherObject; @@ -48,6 +49,7 @@ public static class EntityVillagerNPC extends EntityVillager implements NPCHolde private boolean blockTrades = true; boolean calledNMSHeight = false; private final CitizensNPC npc; + private BehaviorController previousBehaviorController; public EntityVillagerNPC(EntityTypes types, World world) { this(types, world, null); @@ -230,8 +232,9 @@ public boolean isLeashed() { @Override public void mobTick() { if (npc != null) { - if (this.behaviorMap == null) { + if (this.behaviorMap == null || this.previousBehaviorController != this.getBehaviorController()) { this.behaviorMap = NMSImpl.getBehaviorMap(this); + this.previousBehaviorController = this.getBehaviorController(); } if (this.behaviorMap.size() > 0) { this.behaviorMap.clear();