diff --git a/main/src/main/java/net/citizensnpcs/trait/MountTrait.java b/main/src/main/java/net/citizensnpcs/trait/MountTrait.java index 578a078b8..4a75502b3 100644 --- a/main/src/main/java/net/citizensnpcs/trait/MountTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/MountTrait.java @@ -41,8 +41,9 @@ public class MountTrait extends Trait { @Override public void onDespawn() { - if (NMS.getVehicle(npc.getEntity()) != null) { + if (currentMount != null) { npc.getEntity().leaveVehicle(); + currentMount = null; } } @@ -51,11 +52,6 @@ public class MountTrait extends Trait { onDespawn(); } - @Override - public void onSpawn() { - checkMounted(); - } - @Override public void run() { if (!npc.isSpawned()) @@ -79,10 +75,7 @@ public class MountTrait extends Trait { public void unmount() { if (currentMount == null) return; - if (NMS.getVehicle(npc.getEntity()) != null) { - npc.getEntity().leaveVehicle(); - } + onDespawn(); uuid = null; - currentMount = null; } } \ No newline at end of file diff --git a/main/src/main/java/net/citizensnpcs/trait/SitTrait.java b/main/src/main/java/net/citizensnpcs/trait/SitTrait.java index ba2998077..d82d5c96b 100644 --- a/main/src/main/java/net/citizensnpcs/trait/SitTrait.java +++ b/main/src/main/java/net/citizensnpcs/trait/SitTrait.java @@ -26,7 +26,7 @@ public class SitTrait extends Trait { } public boolean isSitting() { - return sittingAt != null; + return sittingAt != null && sittingAt.getWorld() != null; } @Override