diff --git a/src/main/java/net/citizensnpcs/api/npc/AbstractNPC.java b/src/main/java/net/citizensnpcs/api/npc/AbstractNPC.java index eece6a8a..d88ed443 100644 --- a/src/main/java/net/citizensnpcs/api/npc/AbstractNPC.java +++ b/src/main/java/net/citizensnpcs/api/npc/AbstractNPC.java @@ -410,7 +410,16 @@ public void setUseMinecraftAI(boolean use) { private void teleport(final Entity entity, Location location, int delay) { final Entity passenger = entity.getPassenger(); entity.eject(); - entity.teleport(location); + if (!location.getWorld().equals(entity.getWorld())) { + Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), new Runnable() { + @Override + public void run() { + entity.teleport(location); + } + }, delay++); + } else { + entity.teleport(location); + } if (passenger == null) return; teleport(passenger, location, delay++);