@Override public void onDisable() { thread.interrupt(); callbackManager.exit(); if (mainThreadExecutor != null) mainThreadExecutor.exit(); thread = null; runningWorkers.remove(getClass()); }
@Override public void onEnable() { if (thread != null && thread.isAlive()) { PluginLogger.warning("Restarting thread '{0}'.", name); onDisable(); } callbackManager.init(); if (mainThreadExecutor != null) mainThreadExecutor.init(); runningWorkers.put(getClass(), this); thread = createThread(); thread.start(); }
private <T> Future<T> _submitToMainThread(Callable<T> callable) { if (mainThreadExecutor != null) return mainThreadExecutor.submit(callable); return null; }