@Override public void onDisable() { if (componentManager != null) { int componentCount = componentManager.components.size(); for (Component component : componentManager.components) { component.dispose(); } componentManager.clear(); Log.info("Unloaded " + componentCount + " components."); } if (mapManager != null) { mapManager.stopRendering(); mapManager = null; } if (webServer != null) { webServer.shutdown(); webServer = null; } /* Clean up all registered handlers */ for (Event.Type t : event_handlers.keySet()) { List<Listener> ll = event_handlers.get(t); ll .clear(); /* Empty list - we use presence of list to remember that we've registered with Bukkit */ } playerfacemgr = null; /* Don't clean up markerAPI - other plugins may still be accessing it */ Debug.clearDebuggers(); }