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()); }
/** * Reload RecipeManager's settings, messages, etc and re-parse recipes. * * @param sender To whom to send the messages to, null = console. * @param check Set to true to only check recipes, settings are unaffected. */ public void reload(CommandSender sender, boolean check, boolean firstTime) { Settings.getInstance().reload(sender); // (re)load settings Messages.getInstance().reload(sender); // (re)load messages from messages.yml Files.reload(sender); // (re)generate info files if they do not exist Updater.init(this, 32835, null); if (metrics == null) { if (Settings.getInstance().getMetrics()) { // start/stop metrics accordingly try { metrics = new Metrics(this); metrics.start(); } catch (IOException e) { e.printStackTrace(); } } } else { metrics.stop(); } if (!check) { if (Settings.getInstance().getClearRecipes() || !firstTime) { Vanilla.removeAllButSpecialRecipes(); Recipes.getInstance().clean(); } if (!firstTime && !Settings.getInstance().getClearRecipes()) { Vanilla.restoreAllButSpecialRecipes(); Recipes.getInstance().index.putAll(Vanilla.initialRecipes); } } RecipeProcessor.reload(sender, check); // (re)parse recipe files Events.reload(); // (re)register events }