public void onDisable() { this.getLogger().info("Disabling Minecraftno plugin..."); // Enable whitelist to stop players joining while we're shutting down. if (this.getConfig().getBoolean("whitelist.on_disable.toggle", false)) { this.getServer() .setWhitelist(this.getConfig().getBoolean("whitelist.on_disable.toggle", true)); // Kick everyone who's already online before we start disabling functionality. // They're not supposed to be here anyway. for (Player player : this.getServer().getOnlinePlayers()) { player.kickPlayer( this.getConfig().getString("whitelist.message", "The server is shutting down...")); } } if (configuration.irc && bot.isConnected()) { this.getLogger().info(" - Disabling IRC bot..."); bot.disconnect(); bot.dispose(); } this.getLogger().info(" - Handlers cleanup..."); this.groupHandler.cleanup(); this.userHandler.cleanup(); try { configuration.cleanup(); } catch (Exception e) { e.printStackTrace(); } if (this.blockHandler != null) { if (this.blockHandler.getQueueSize() > 0) { this.getLogger().info(" - Waiting for block handler to finish..."); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } this.blockHandler.run(); } } if (sqlc != null) { this.getLogger().info(" - Closing SQL connection..."); sqlc.close(); } this.getLogger().info(" - Cancelling scheduled tasks..."); getServer().getScheduler().cancelAllTasks(); this.getLogger().info("Finished disabling Minecraftno plugin."); }