From 84af1753e615b2886e7e54a992bc78d1e329029b Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Fri, 26 May 2023 16:19:12 +0100 Subject: [PATCH] fix npcs not re-appearing when switching worlds at similar coordinates --- .../main/java/lol/pyr/znpcsplus/tasks/NpcProcessorTask.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/tasks/NpcProcessorTask.java b/plugin/src/main/java/lol/pyr/znpcsplus/tasks/NpcProcessorTask.java index b211eb9..471695c 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/tasks/NpcProcessorTask.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/tasks/NpcProcessorTask.java @@ -35,7 +35,10 @@ public class NpcProcessorTask extends BukkitRunnable { double closestDist = Double.MAX_VALUE; Player closest = null; for (Player player : Bukkit.getOnlinePlayers()) { - if (!player.getWorld().equals(npc.getWorld())) continue; + if (!player.getWorld().equals(npc.getWorld())) { + if (npc.isShown(player)) npc.hide(player); + continue; + } double distance = player.getLocation().distanceSquared(npc.getBukkitLocation()); // visibility @@ -50,7 +53,6 @@ public class NpcProcessorTask extends BukkitRunnable { NpcSpawnEvent event = new NpcSpawnEvent(player, entry); Bukkit.getPluginManager().callEvent(event); if (event.isCancelled()) continue; - npc.show(player); } if (distance < closestDist) {