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 062f4ad..0f74eef 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcRegistryImpl.java @@ -142,9 +142,10 @@ public class NpcRegistryImpl implements NpcRegistry { @Override public void delete(String id) { - id = id.toLowerCase(); - if (!npcIdLookupMap.containsKey(id)) return; - unregister(npcIdLookupMap.get(id)); + NpcEntryImpl entry = npcIdLookupMap.remove(id.toLowerCase()); + if (entry == null) return; + unregister(entry); + storage.deleteNpc(entry); } public void unload() { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorage.java b/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorage.java index 9866b4b..63c51fb 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorage.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/storage/NpcStorage.java @@ -7,4 +7,5 @@ import java.util.Collection; public interface NpcStorage { Collection loadNpcs(); void saveNpcs(Collection npcs); + void deleteNpc(NpcEntryImpl npc); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java b/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java index 5c393a3..6526b8b 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/storage/yaml/YamlStorage.java @@ -88,8 +88,6 @@ public class YamlStorage implements NpcStorage { @Override public void saveNpcs(Collection npcs) { - File[] files = folder.listFiles(); - if (files != null && files.length != 0) for (File file : files) file.delete(); for (NpcEntryImpl entry : npcs) try { YamlConfiguration config = new YamlConfiguration(); config.set("id", entry.getId());