private void onEnablePost() { loaded = true; PluginManager pm = getServer().getPluginManager(); scanPlugins(); // scan for other plugins and store them in case any use our API FlagFactory.getInstance().init(); FlagFactory.getInstance().initPermissions(); RecipeBooks.getInstance().init(); RecipeBooks.getInstance().reload(null); Files.init(); Players.init(); Workbenches.init(); reload(null, false, true); // load data pm.callEvent( new RecipeManagerEnabledEvent()); // Call the enabled event to notify other plugins that use // this plugin's API // Register commands getCommand("rm").setExecutor(new HelpCommand()); getCommand("rmrecipes").setExecutor(new RecipeCommand()); getCommand("rmfinditem").setExecutor(new FindItemCommand()); getCommand("rmcheck").setExecutor(new CheckCommand()); getCommand("rmreload").setExecutor(new ReloadCommand()); getCommand("rmreloadbooks").setExecutor(new ReloadBooksCommand()); getCommand("rmextract").setExecutor(new ExtractCommand()); getCommand("rmgetbook").setExecutor(new GetBookCommand()); getCommand("rmbooks").setExecutor(new BooksCommand()); getCommand("rmupdate").setExecutor(new UpdateCommand()); getCommand("rmcreaterecipe").setExecutor(new CreateRecipeCommand()); }
@Override public void onDisable() { try { Bukkit.getScheduler().cancelTasks(this); if (plugin == null) { return; } Vanilla.removeCustomRecipes(); Furnaces.save(); Furnaces.clean(); BrewingStands.save(); BrewingStands.clean(); Workbenches.clean(); Players.clean(); Vanilla.clean(); recipes.clean(); recipes = null; recipeBooks.clean(); recipeBooks = null; events.clean(); events = null; Settings.clean(); Econ.getInstance().clean(); Perms.getInstance().clean(); if (metrics != null) { metrics.stop(); metrics = null; } plugin = null; } catch (Throwable e) { MessageSender.getInstance().error(null, e, null); } }