From 08d69f6848c51928b72ede986e245e5decbc7712 Mon Sep 17 00:00:00 2001 From: D3v1s0m <49519439+D3v1s0m@users.noreply.github.com> Date: Thu, 22 Jun 2023 18:42:33 +0530 Subject: [PATCH] Hide all npcs on plugin disable --- plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java | 1 + .../src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index d2d2c3b..dd0402e 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -143,6 +143,7 @@ public class ZNpcsPlus extends JavaPlugin { log(ChatColor.WHITE + " * Loading data..."); npcRegistry.reload(); + shutdownTasks.add(npcRegistry::unload); shutdownTasks.add(scheduler::cancelAll); shutdownTasks.add(userManager::shutdown); shutdownTasks.add(adventure::close); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java index 65dffd9..38ec576 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java @@ -146,4 +146,8 @@ public class NpcRegistryImpl implements NpcRegistry { if (!npcIdLookupMap.containsKey(id)) return; npcIdLookupMap.remove(id).getNpc().delete(); } + + public void unload() { + npcList.forEach(npcEntry -> npcEntry.getNpc().getViewers().forEach(npcEntry.getNpc()::UNSAFE_hide)); + } }