From ac5c649c2fed6736e4649d1cc2d31a3b55b54b16 Mon Sep 17 00:00:00 2001 From: mcmonkey4eva Date: Fri, 23 Mar 2018 03:12:34 -0700 Subject: [PATCH] ( Patch for Citizens2#1455 ) Add NPCDataStore#reloadFromSource() --- pom.xml | 2 +- .../citizensnpcs/api/npc/MemoryNPCDataStore.java | 4 ++++ .../net/citizensnpcs/api/npc/NPCDataStore.java | 15 ++++++++++----- .../citizensnpcs/api/npc/SimpleNPCDataStore.java | 5 +++++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index b9a52c06..6424a041 100644 --- a/pom.xml +++ b/pom.xml @@ -101,5 +101,5 @@ - + diff --git a/src/main/java/net/citizensnpcs/api/npc/MemoryNPCDataStore.java b/src/main/java/net/citizensnpcs/api/npc/MemoryNPCDataStore.java index 07141647..ce441f1f 100644 --- a/src/main/java/net/citizensnpcs/api/npc/MemoryNPCDataStore.java +++ b/src/main/java/net/citizensnpcs/api/npc/MemoryNPCDataStore.java @@ -31,4 +31,8 @@ public void store(NPC npc) { @Override public void storeAll(NPCRegistry registry) { } + + @Override + public void reloadFromSource() { + } } diff --git a/src/main/java/net/citizensnpcs/api/npc/NPCDataStore.java b/src/main/java/net/citizensnpcs/api/npc/NPCDataStore.java index 87b6f1fb..52d1c69f 100644 --- a/src/main/java/net/citizensnpcs/api/npc/NPCDataStore.java +++ b/src/main/java/net/citizensnpcs/api/npc/NPCDataStore.java @@ -3,7 +3,7 @@ public interface NPCDataStore { /** * Clears all data about the given {@link NPC} from storage. Called when the NPC is removed. - * + * * @param npc * The NPC to clear data from */ @@ -18,7 +18,7 @@ public interface NPCDataStore { /** * Loads NPCs from disk into the given {@link NPCRegistry}. The registry should be cleared before this is called. - * + * * @param registry * The NPCRegistry to load NPCs into */ @@ -36,7 +36,7 @@ public interface NPCDataStore { /** * Stores the given {@link NPC} into memory or to a disk representation. - * + * * @param npc * The NPC to store */ @@ -44,9 +44,14 @@ public interface NPCDataStore { /** * Stores all {@link NPC}s in the given {@link NPCRegistry} to disk. - * + * * @param registry * The registry to store NPCs from */ void storeAll(NPCRegistry registry); -} \ No newline at end of file + + /** + * Reloads the data store from source (such as a file on disk). + */ + void reloadFromSource(); +} diff --git a/src/main/java/net/citizensnpcs/api/npc/SimpleNPCDataStore.java b/src/main/java/net/citizensnpcs/api/npc/SimpleNPCDataStore.java index a957b5b9..dc049a20 100644 --- a/src/main/java/net/citizensnpcs/api/npc/SimpleNPCDataStore.java +++ b/src/main/java/net/citizensnpcs/api/npc/SimpleNPCDataStore.java @@ -118,6 +118,11 @@ private static > T matchEnum(T[] values, String toMatch) { return type; } + @Override + public void reloadFromSource() { + root.load(); + } + private static final String LOAD_NAME_NOT_FOUND = "citizens.notifications.npc-name-not-found"; private static final String LOAD_UNKNOWN_NPC_TYPE = "citizens.notifications.unknown-npc-type"; }