diff --git a/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java b/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java index f734566ba..dae3e25b6 100644 --- a/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java +++ b/main/src/main/java/net/citizensnpcs/npc/ai/CitizensNavigator.java @@ -340,8 +340,9 @@ public class CitizensNavigator implements Navigator, Runnable { if (!isNavigating()) return; Entity vehicle = NMS.getVehicle(npc.getEntity()); - if (!(vehicle instanceof NPCHolder)) + if (!(vehicle instanceof NPCHolder)) { return; + } NPC mount = ((NPCHolder) vehicle).getNPC(); switch (getTargetType()) { case ENTITY: diff --git a/main/src/main/java/net/citizensnpcs/trait/MountTrait.java b/main/src/main/java/net/citizensnpcs/trait/MountTrait.java index e6aaa8023..83a65d244 100644 --- a/main/src/main/java/net/citizensnpcs/trait/MountTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/MountTrait.java @@ -30,6 +30,14 @@ public class MountTrait extends Trait { } } + @Override + public void onDespawn() { + Entity e = NMS.getVehicle(npc.getEntity()); + if (e != null) { + npc.getEntity().leaveVehicle(); + } + } + @Override public void onSpawn() { checkMount(null);