diff --git a/src/main/java/org/dynmap/DynmapPlugin.java b/src/main/java/org/dynmap/DynmapPlugin.java index c88a5082..8ffe6806 100644 --- a/src/main/java/org/dynmap/DynmapPlugin.java +++ b/src/main/java/org/dynmap/DynmapPlugin.java @@ -665,8 +665,8 @@ public class DynmapPlugin extends JavaPlugin implements DynmapAPI { } @Override public void onWorldLoad(WorldLoadEvent event) { - mapManager.activateWorld(event.getWorld()); updateConfigHashcode(); + mapManager.activateWorld(event.getWorld()); } }; diff --git a/src/main/java/org/dynmap/JsonFileClientUpdateComponent.java b/src/main/java/org/dynmap/JsonFileClientUpdateComponent.java index 5ca77b32..2c5adede 100644 --- a/src/main/java/org/dynmap/JsonFileClientUpdateComponent.java +++ b/src/main/java/org/dynmap/JsonFileClientUpdateComponent.java @@ -30,6 +30,7 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent { private HashMap useralias = new HashMap(); private int aliasindex = 1; + private long last_confighash; private Charset cs_utf8 = Charset.forName("UTF-8"); public JsonFileClientUpdateComponent(final DynmapPlugin plugin, final ConfigurationNode configuration) { @@ -41,6 +42,8 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent { @Override public void run() { currentTimestamp = System.currentTimeMillis(); + if(last_confighash != plugin.getConfigHashcode()) + writeConfiguration(); writeUpdates(); if (allowwebchat) { handleWebChat(); @@ -89,6 +92,7 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent { plugin.events.trigger("buildclientconfiguration", clientConfiguration); outputFile = getStandaloneFile("dynmap_config.json"); outputTempFile = getStandaloneFile("dynmap_config.json.new"); + last_confighash = plugin.getConfigHashcode(); int retrycnt = 0; boolean done = false;