From 1e36114287f05f5f0205d538fcb612d787fb6de9 Mon Sep 17 00:00:00 2001 From: extendedclip Date: Thu, 8 Mar 2018 14:53:59 -0500 Subject: [PATCH] Data config no longer wiped on load. Keys that no longer exist when it is time to save will be removed on save as the remove operation keeps them in the data map with a null value. --- pom.xml | 2 +- .../javascript/JavascriptPlaceholder.java | 25 ++++++------------- .../expansion/javascript/PlaceholderData.java | 6 ++--- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/pom.xml b/pom.xml index 5439e4d..42e8ca0 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.extendedclip.papi.expansion.javascript javascript-expansion - 1.4.0-dev-1 + 1.4.0-dev-2 PAPI-Expansion-Javascript PlaceholderAPI expansion for javascript placeholders diff --git a/src/main/java/com/extendedclip/papi/expansion/javascript/JavascriptPlaceholder.java b/src/main/java/com/extendedclip/papi/expansion/javascript/JavascriptPlaceholder.java index 08f96e4..9d3b46d 100644 --- a/src/main/java/com/extendedclip/papi/expansion/javascript/JavascriptPlaceholder.java +++ b/src/main/java/com/extendedclip/papi/expansion/javascript/JavascriptPlaceholder.java @@ -117,28 +117,17 @@ public class JavascriptPlaceholder { return false; } - boolean save = false; - PlaceholderData data = new PlaceholderData(); - for (String k : keys) { + keys.stream().forEach(k -> { data.set(k, cfg.get(k)); - cfg.set(k, null); - save = true; - } + }); if (!data.isEmpty()) { this.setData(data); + return true; } - - if (save) { - try { - cfg.save(dataFile); - } catch (IOException e) { - e.printStackTrace(); - } - } - return save; + return false; } public boolean saveData() { @@ -150,9 +139,9 @@ public class JavascriptPlaceholder { return false; } - for (Entry d : data.getData().entrySet()) { - cfg.set(d.getKey(), d.getValue()); - } + data.getData().entrySet().forEach(e -> { + cfg.set(e.getKey(), e.getValue()); + }); try { cfg.save(dataFile); diff --git a/src/main/java/com/extendedclip/papi/expansion/javascript/PlaceholderData.java b/src/main/java/com/extendedclip/papi/expansion/javascript/PlaceholderData.java index 56f6c35..bbe047d 100644 --- a/src/main/java/com/extendedclip/papi/expansion/javascript/PlaceholderData.java +++ b/src/main/java/com/extendedclip/papi/expansion/javascript/PlaceholderData.java @@ -23,15 +23,15 @@ public class PlaceholderData { } public boolean exists(String key) { - return map.containsKey(key); + return map.containsKey(key) && map.get(key) != null; } public Object get(String key) { return map.get(key); } - public boolean remove(String key) { - return map.remove(key) != null; + public void remove(String key) { + map.put(key, null); } public void set(String key, Object value) {