Search in sources :

Example 1 with CommentedConfiguration

use of com.palmergames.bukkit.config.CommentedConfiguration in project SiegeWar by TownyAdvanced.

the class SiegeWarAdminCommand method setupTownyConfigFile.

private void setupTownyConfigFile(CommandSender sender) {
    CommentedConfiguration file = TownySettings.getConfig();
    file.set("economy.price_town_neutrality", "0");
    file.set("economy.price_nation_neutrality", "0");
    file.set("economy.bankruptcy.enabled", "true");
    file.set("town_ruining.town_ruins.enabled", "true");
    file.set("town_ruining.town_ruins.min_duration_hours", "24");
    file.save();
    Messaging.sendMsg(sender, Translatable.of("msg.townyconfig.installation.complete"));
}
Also used : CommentedConfiguration(com.palmergames.bukkit.config.CommentedConfiguration)

Example 2 with CommentedConfiguration

use of com.palmergames.bukkit.config.CommentedConfiguration in project SiegeWar by TownyAdvanced.

the class SiegeWarAdminCommand method setupTownyPermsFile.

private void setupTownyPermsFile(CommandSender sender) {
    CommentedConfiguration file = TownyPerms.getTownyPermsFile();
    List<String> groupNodes = new ArrayList<>();
    String townpoints = "siegewar.town.siege.battle.points";
    String nationpoints = "siegewar.nation.siege.battle.points";
    // Add nodes to mayor rank.
    groupNodes = TownyPerms.getPermsOfGroup("towns.mayor");
    if (!groupNodes.contains("siegewar.town.siege.*"))
        groupNodes.add("siegewar.town.siege.*");
    if (!groupNodes.contains("siegewar.command.siegewar.town.*"))
        groupNodes.add("siegewar.command.siegewar.town.*");
    file.set("towns.mayor", groupNodes);
    // Add nodes to the town assistant rank.
    if (TownyPerms.mapHasGroup("towns.ranks.assistant")) {
        groupNodes = TownyPerms.getPermsOfGroup("towns.ranks.assistant");
        if (!groupNodes.contains("siegewar.town.siege.*"))
            groupNodes.add("siegewar.town.siege.*");
        if (!groupNodes.contains("siegewar.command.siegewar.town.*"))
            groupNodes.add("siegewar.command.siegewar.town.*");
        file.set("towns.ranks.assistant", groupNodes);
    }
    // Add nodes to the sheriff rank.
    if (TownyPerms.mapHasGroup("towns.ranks.sheriff")) {
        groupNodes = TownyPerms.getPermsOfGroup("towns.ranks.sheriff");
        if (!groupNodes.contains(townpoints))
            groupNodes.add(townpoints);
        if (!groupNodes.contains("siegewar.town.siege.fire.cannon.in.siegezone"))
            groupNodes.add("siegewar.town.siege.fire.cannon.in.siegezone");
        if (!groupNodes.contains("towny.command.town.rank.guard"))
            groupNodes.add("towny.command.town.rank.guard");
        file.set("towns.ranks.sheriff", groupNodes);
    }
    // Create new ranks
    file.createSection("towns.ranks.guard");
    file.createSection("nations.ranks.private");
    file.createSection("nations.ranks.sergeant");
    file.createSection("nations.ranks.lieutenant");
    file.createSection("nations.ranks.captain");
    file.createSection("nations.ranks.major");
    file.createSection("nations.ranks.colonel");
    file.createSection("nations.ranks.general");
    file.createSection("nations.ranks.engineer");
    file.createSection("nations.ranks.gunner");
    // Populate town guard rank.
    groupNodes = TownyPerms.getPermsOfGroup("towns.ranks.guard");
    groupNodes.add(townpoints);
    groupNodes.add("siegewar.town.siege.fire.cannon.in.siegezone");
    file.set("towns.ranks.guard", groupNodes);
    // Populate nation ranks.
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.private");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.100");
    file.set("nations.ranks.private", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.sergeant");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.150");
    file.set("nations.ranks.sergeant", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.lieutenant");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.200");
    file.set("nations.ranks.lieutenant", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.captain");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.250");
    file.set("nations.ranks.captain", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.major");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.300");
    file.set("nations.ranks.major", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.colonel");
    groupNodes.add(nationpoints);
    groupNodes.add("towny.nation.siege.pay.grade.400");
    file.set("nations.ranks.colonel", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.general");
    groupNodes.add("siegewar.nation.siege.*");
    groupNodes.add("towny.command.nation.rank.private");
    groupNodes.add("towny.command.nation.rank.sergeant");
    groupNodes.add("towny.command.nation.rank.lieutenant");
    groupNodes.add("towny.command.nation.rank.captain");
    groupNodes.add("towny.command.nation.rank.major");
    groupNodes.add("towny.command.nation.rank.colonel");
    groupNodes.add("towny.command.nation.rank.engineer");
    groupNodes.add("towny.command.nation.rank.gunner");
    groupNodes.add("towny.nation.siege.pay.grade.500");
    file.set("nations.ranks.general", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.engineer");
    groupNodes.add(nationpoints);
    groupNodes.add("siegewar.nation.siege.use.breach.points");
    groupNodes.add("towny.nation.siege.pay.grade.250");
    file.set("nations.ranks.engineer", groupNodes);
    groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.gunner");
    groupNodes.add(nationpoints);
    groupNodes.add("siegewar.nation.siege.fire.cannon.in.siegezone");
    groupNodes.add("towny.nation.siege.pay.grade.250");
    file.set("nations.ranks.gunner", groupNodes);
    // Add nodes to king rank.
    groupNodes = TownyPerms.getPermsOfGroup("nations.king");
    if (!groupNodes.contains("siegewar.nation.siege.*"))
        groupNodes.add("siegewar.nation.siege.*");
    if (!groupNodes.contains("siegewar.command.siegewar.nation.*"))
        groupNodes.add("siegewar.command.siegewar.nation.*");
    file.set("nations.king", groupNodes);
    // Add nodes to the nation assistant rank.
    if (TownyPerms.mapHasGroup("nations.ranks.assistant")) {
        groupNodes = TownyPerms.getPermsOfGroup("nations.ranks.assistant");
        if (!groupNodes.contains("siegewar.nation.siege.*"))
            groupNodes.add("siegewar.nation.siege.*");
        if (!groupNodes.contains("siegewar.command.siegewar.nation.*"))
            groupNodes.add("siegewar.command.siegewar.nation.*");
        file.set("nations.ranks.assistant", groupNodes);
    }
    file.save();
    Messaging.sendMsg(sender, Translatable.of("msg.townyperms.installation.complete"));
}
Also used : CommentedConfiguration(com.palmergames.bukkit.config.CommentedConfiguration) ArrayList(java.util.ArrayList)

Example 3 with CommentedConfiguration

use of com.palmergames.bukkit.config.CommentedConfiguration in project SiegeWar by TownyAdvanced.

the class Settings method setDefaults.

/**
 * Builds a new config reading old config data.
 */
private static void setDefaults(String version, File file) {
    newConfig = new CommentedConfiguration(file.toPath());
    newConfig.load();
    for (ConfigNodes root : ConfigNodes.values()) {
        if (root.getComments().length > 0)
            addComment(root.getRoot(), root.getComments());
        if (root.getRoot() == ConfigNodes.VERSION.getRoot())
            setNewProperty(root.getRoot(), version);
        else if (root.getRoot() == ConfigNodes.LAST_RUN_VERSION.getRoot())
            setNewProperty(root.getRoot(), getLastRunVersion(version));
        else
            setNewProperty(root.getRoot(), (config.get(root.getRoot().toLowerCase()) != null) ? config.get(root.getRoot().toLowerCase()) : root.getDefault());
    }
    config = newConfig;
    newConfig = null;
}
Also used : CommentedConfiguration(com.palmergames.bukkit.config.CommentedConfiguration)

Example 4 with CommentedConfiguration

use of com.palmergames.bukkit.config.CommentedConfiguration in project Towny by ElgarL.

the class TownySettings method setDefaults.

/**
 * Builds a new config reading old config data.
 */
private static void setDefaults(String version, File file) {
    newConfig = new CommentedConfiguration(file);
    newConfig.load();
    for (ConfigNodes root : ConfigNodes.values()) {
        if (root.getComments().length > 0)
            addComment(root.getRoot(), root.getComments());
        if (root.getRoot() == ConfigNodes.LEVELS.getRoot()) {
            setDefaultLevels();
        } else if ((root.getRoot() == ConfigNodes.LEVELS_TOWN_LEVEL.getRoot()) || (root.getRoot() == ConfigNodes.LEVELS_NATION_LEVEL.getRoot())) {
        // Do nothing here as setDefaultLevels configured town and
        // nation levels.
        } else if (root.getRoot() == ConfigNodes.VERSION.getRoot()) {
            setNewProperty(root.getRoot(), version);
        } else if (root.getRoot() == ConfigNodes.LAST_RUN_VERSION.getRoot()) {
            setNewProperty(root.getRoot(), getLastRunVersion(version));
        } else if (root.getRoot() == ConfigNodes.VERSION_BUKKIT.getRoot()) {
            setNewProperty(root.getRoot(), ConfigNodes.VERSION_BUKKIT.getDefault());
        } else if (root.getRoot() == ConfigNodes.PROT_ITEM_USE_MAT.getRoot()) {
            /*
				 * Update any Id's to Material names (where required).
				 */
            setNewProperty(root.getRoot(), convertIds(getStrArr(ConfigNodes.PROT_ITEM_USE_MAT)));
        } else if (root.getRoot() == ConfigNodes.PROT_SWITCH_MAT.getRoot()) {
            /*
				 * Update any Id's to Material names (where required).
				 */
            setNewProperty(root.getRoot(), convertIds(getStrArr(ConfigNodes.PROT_SWITCH_MAT)));
        } else if (root.getRoot() == ConfigNodes.NWS_PLOT_MANAGEMENT_DELETE.getRoot()) {
            /*
				 * Update any Id's to Material names (where required).
				 */
            setNewProperty(root.getRoot(), convertIds(getStrArr(ConfigNodes.NWS_PLOT_MANAGEMENT_DELETE)));
        } else if (root.getRoot() == ConfigNodes.NWS_PLOT_MANAGEMENT_REVERT_IGNORE.getRoot()) {
            /*
				 * Update any Id's to Material names (where required).
				 */
            setNewProperty(root.getRoot(), convertIds(getStrArr(ConfigNodes.NWS_PLOT_MANAGEMENT_REVERT_IGNORE)));
        } else if (root.getRoot() == ConfigNodes.UNCLAIMED_ZONE_IGNORE.getRoot()) {
            /*
				 * Update any Id's to Material names (where required).
				 */
            setNewProperty(root.getRoot(), convertIds(getStrArr(ConfigNodes.UNCLAIMED_ZONE_IGNORE)));
        } else
            setNewProperty(root.getRoot(), (config.get(root.getRoot().toLowerCase()) != null) ? config.get(root.getRoot().toLowerCase()) : root.getDefault());
    }
    config = newConfig;
    newConfig = null;
}
Also used : CommentedConfiguration(com.palmergames.bukkit.config.CommentedConfiguration) ConfigNodes(com.palmergames.bukkit.config.ConfigNodes)

Example 5 with CommentedConfiguration

use of com.palmergames.bukkit.config.CommentedConfiguration in project Towny by ElgarL.

the class TownySettings method loadLanguage.

// This will read the language entry in the config.yml to attempt to load
// custom languages
// if the file is not found it will load the default from resource
public static void loadLanguage(String filepath, String defaultRes) throws IOException {
    String res = getString(ConfigNodes.LANGUAGE.getRoot(), defaultRes);
    String fullPath = filepath + FileMgmt.fileSeparator() + res;
    File file = FileMgmt.unpackResourceFile(fullPath, res, defaultRes);
    if (file != null) {
        // read the (language).yml into memory
        language = new CommentedConfiguration(file);
        language.load();
    }
}
Also used : CommentedConfiguration(com.palmergames.bukkit.config.CommentedConfiguration) File(java.io.File)

Aggregations

CommentedConfiguration (com.palmergames.bukkit.config.CommentedConfiguration)16 File (java.io.File)7 IOException (java.io.IOException)3 TownyException (com.palmergames.bukkit.towny.exceptions.TownyException)2 Path (java.nio.file.Path)2 ConfigNodes (com.palmergames.bukkit.config.ConfigNodes)1 ConfigMigrator (com.palmergames.bukkit.config.migration.ConfigMigrator)1 TownyInitException (com.palmergames.bukkit.towny.exceptions.initialization.TownyInitException)1 InputStream (java.io.InputStream)1 FileAlreadyExistsException (java.nio.file.FileAlreadyExistsException)1 ArrayList (java.util.ArrayList)1 InvalidConfigurationException (org.bukkit.configuration.InvalidConfigurationException)1