From e6fc6e070ed919e7eca3ea482550738da6165e6d Mon Sep 17 00:00:00 2001 From: boy0001 Date: Tue, 10 Mar 2015 21:48:20 +1100 Subject: [PATCH] More lenient default flags --- PlotSquared/pom.xml | 2 +- .../plot/flag/FlagManager.java | 9 +++++- .../plot/object/PlotWorld.java | 28 +++++++++++++------ 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/PlotSquared/pom.xml b/PlotSquared/pom.xml index 1234a06fc..23648cfb2 100644 --- a/PlotSquared/pom.xml +++ b/PlotSquared/pom.xml @@ -8,7 +8,7 @@ UTF-8 PlotSquared - 2.8.3 + 2.8.4 PlotSquared jar diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java index 355a7390e..3f31b270b 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java @@ -339,8 +339,15 @@ public class FlagManager { public static Flag[] parseFlags(final List flagstrings) { final Flag[] flags = new Flag[flagstrings.size()]; for (int i = 0; i < flagstrings.size(); i++) { - final String[] split = flagstrings.get(i).split(";"); + final String[] split; + if (flagstrings.get(i).contains(";")) { + split = flagstrings.get(i).split(";"); + } + else { + split = flagstrings.get(i).split(":"); + } if (split.length == 1) { + System.out.print(split[0]); flags[i] = new Flag(getFlag(split[0], true), ""); } else { flags[i] = new Flag(getFlag(split[0], true), split[1]); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/object/PlotWorld.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/object/PlotWorld.java index 8b29c521b..2dd16a0e2 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/object/PlotWorld.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/object/PlotWorld.java @@ -20,8 +20,10 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// package com.intellectualcrafters.plot.object; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.bukkit.configuration.ConfigurationSection; @@ -116,17 +118,25 @@ public abstract class PlotWorld { this.SELL_PRICE = config.getDouble("economy.prices.sell"); this.PLOT_CHAT = config.getBoolean("chat.enabled"); this.WORLD_BORDER = config.getBoolean("world.border"); - final List flags = config.getStringList("flags.default"); - if (flags == null) { - this.DEFAULT_FLAGS = new Flag[] {}; - } else { - try { - this.DEFAULT_FLAGS = FlagManager.parseFlags(flags); - } catch (final Exception e) { - PlotSquared.log("&cInvalid default flags for " + this.worldname + ": " + StringUtils.join(flags, ",")); - this.DEFAULT_FLAGS = new Flag[] {}; + List flags = config.getStringList("flags.default"); + if (flags == null || flags.size() == 0) { + flags = config.getStringList("flags"); + if (flags == null || flags.size() == 0) { + flags = new ArrayList(); + ConfigurationSection section = config.getConfigurationSection("flags"); + Set keys = section.getKeys(false); + for (String key : keys) { + flags.add(key + ";" + section.get(key)); + } } } + try { + this.DEFAULT_FLAGS = FlagManager.parseFlags(flags); + } catch (final Exception e) { + e.printStackTrace(); + PlotSquared.log("&cInvalid default flags for " + this.worldname + ": " + StringUtils.join(flags, ",")); + this.DEFAULT_FLAGS = new Flag[] {}; + } this.PVP = config.getBoolean("event.pvp"); this.PVE = config.getBoolean("event.pve"); this.SPAWN_EGGS = config.getBoolean("event.spawn.egg");