Make marker API stay loaded across /dynmap reload (screws up API users otherwise)

This commit is contained in:
Mike Primm 2011-09-13 09:00:35 +08:00 committed by mikeprimm
parent e81564c1ae
commit 09637f293e
2 changed files with 10 additions and 13 deletions

View File

@ -368,10 +368,9 @@ public class DynmapPlugin extends JavaPlugin {
ll.clear(); /* Empty list - we use presence of list to remember that we've registered with Bukkit */
}
playerfacemgr = null;
if(markerapi != null) {
markerapi.cleanup(this);
markerapi = null;
}
/* Don't clean up markerAPI - other plugins may still be accessing it */
Debug.clearDebuggers();
}

View File

@ -22,9 +22,12 @@ public class MarkersComponent extends ClientComponent {
public MarkersComponent(DynmapPlugin plugin, ConfigurationNode configuration) {
super(plugin, configuration);
/* Register API with plugin */
api = MarkerAPIImpl.initializeMarkerAPI(plugin);
plugin.registerMarkerAPI(api);
/* Register API with plugin, if needed */
api = (MarkerAPIImpl)plugin.getMarkerAPI();
if(api == null) {
api = MarkerAPIImpl.initializeMarkerAPI(plugin);
plugin.registerMarkerAPI(api);
}
/* If configuration has enabled sign support, prime it too */
if(configuration.getBoolean("enablesigns", false)) {
signmgr = MarkerSignManager.initializeSignManager(plugin);
@ -84,11 +87,6 @@ public class MarkersComponent extends ClientComponent {
MarkerSignManager.terminateSignManager(this.plugin);
signmgr = null;
}
if(api != null) {
/* Clean up API registered with plugin */
plugin.registerMarkerAPI(null);
api.cleanup(this.plugin);
api = null;
}
/* Don't unregister API - other plugins might be using it, and we want to keep non-persistent markers */
}
}