AttackControlConfig(TheMonkeyPack plugin, String moduleName) { super(); MODULE_NAME = moduleName; main = plugin; attackControlLogger = new AttackControlLogger(MODULE_NAME); mainConfig = main.getMainConfig(); pluginPath = main.getDataFolder() + System.getProperty("file.separator"); instance = this; setupConfig(); }
/** * Method to setup the configuration. If the configuration file doesn't exist it will be created * by {@link #defaultConfig()} After that the configuration is loaded {@link #loadConfig()} We * than check if an configuration update is necessary {@link #updateNecessary()} and set {@link * #configAvailable} to true * * @see #defaultConfig() * @see #loadConfig() * @see #updateNecessary() * @see #updateConfig() */ void setupConfig() { // Checking if config file exists, if not create it if (!(new File(main.getDataFolder(), configFile)).exists()) { attackControlLogger.info("Creating default configuration file"); defaultConfig(); } // adding the default values customDefaultConfig(); try { config.load(pluginPath + configFile); } catch (IOException e) { attackControlLogger.severe("Can't read the " + configFile + " File!", e); } catch (InvalidConfigurationException e) { attackControlLogger.severe("Problem with the configuration in " + configFile + "!", e); } // Loading the config from file loadConfig(); // Checking internal configCurrent and config file configVer setupCommands(); setupListeners(); updateNecessary(); // If config file has new options update it if enabled if (mainConfig.autoUpdateConfig) { updateConfig(); } configAvailable = true; }
private void setupCommands() { // registering the additional permissions for (ATTACK_CONTROL_PERMISSIONS perm : ATTACK_CONTROL_PERMISSIONS.values()) { main.getServer().getPluginManager().addPermission(perm.asPermission()); } }
/** * Method for writing the configuration file. First we write the standard configuration part, than * we write the custom configuration part via #writeCustomConfig() * * @return true if writing the config was successful * @see #writeCustomConfig(java.io.PrintWriter) */ public boolean writeConfig() { attackControlLogger.debug("creating config"); boolean success = false; try { PrintWriter stream; File folder = main.getDataFolder(); if (folder != null) { folder.mkdirs(); } PluginDescriptionFile pdfFile = main.getDescription(); stream = new PrintWriter(pluginPath + configFile); attackControlLogger.debug("starting contents"); // Let's write our config ;) stream.println( "# " + pdfFile.getName() + " " + pdfFile.getVersion() + " by " + pdfFile.getAuthors().toString()); stream.println("#"); stream.println("# Configuration File for module [" + MODULE_NAME + "]"); stream.println("#"); stream.println("# For detailed assistance please visit: " + mainConfig.getPluginSlug()); stream.println(); stream.println("# Configuration Version"); stream.println("configVer: \"" + configVer + "\""); stream.println(); // Getting the custom config information from the top of the class attackControlLogger.debug("going for customConfig"); writeCustomConfig(stream); stream.println(); stream.close(); success = true; } catch (FileNotFoundException e) { attackControlLogger.warning("Error saving the " + configFile + "."); } return success; }
private void setupListeners() { acEntityEvent = ACEntityEvent.getInstance(main); main.addRegisteredListener(acEntityEvent); }