From 3b47ca407eb3c220221d4187f3f79afebb5903c4 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Sun, 18 Aug 2013 00:28:00 +0200 Subject: [PATCH] Fix upgrade waves. --- resources/plugin.yml | 2 +- .../garbagemule/MobArena/waves/WaveParser.java | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/resources/plugin.yml b/resources/plugin.yml index 1e04e1e..d5e53b0 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -1,7 +1,7 @@ name: MobArena author: garbagemule main: com.garbagemule.MobArena.MobArena -version: 0.95.5.23 +version: 0.95.5.24 softdepend: [Multiverse-Core,Towny,Heroes,MagicSpells,Vault] commands: ma: diff --git a/src/com/garbagemule/MobArena/waves/WaveParser.java b/src/com/garbagemule/MobArena/waves/WaveParser.java index edf0a2b..4544169 100644 --- a/src/com/garbagemule/MobArena/waves/WaveParser.java +++ b/src/com/garbagemule/MobArena/waves/WaveParser.java @@ -379,9 +379,11 @@ public class WaveParser String path = "upgrades."; for (String className : classes) { + String itemList; // Legacy support - String itemList = config.getString(path + className, null); - if (itemList != null) { + Object val = config.get(path + className, null); + if (val instanceof String) { + itemList = (String) val; List stacks = ItemParser.parseItems(itemList); List list = new ArrayList(); for (ItemStack stack : stacks) { @@ -390,11 +392,12 @@ public class WaveParser upgrades.put(className.toLowerCase(), list); } // New complex setup - else { + else if (val instanceof ConfigurationSection) { + ConfigurationSection section = (ConfigurationSection) val; List list = new ArrayList(); // Items (Generic + Weapons) - itemList = config.getString(path + className + ".items", null); + itemList = section.getString("items", null); if (itemList != null) { for (ItemStack stack : ItemParser.parseItems(itemList)) { list.add(ArenaClass.isWeapon(stack) ? new WeaponUpgrade(stack) : new GenericUpgrade(stack)); @@ -402,7 +405,7 @@ public class WaveParser } // Armor - itemList = config.getString(path + className + ".armor", null); + itemList = section.getString("armor", null); if (itemList != null) { for (ItemStack stack : ItemParser.parseItems(itemList)) { list.add(new ArmorUpgrade(stack)); @@ -410,7 +413,7 @@ public class WaveParser } // Permissions - List perms = config.getStringList(path + className + ".permissions"); + List perms = section.getStringList("permissions"); if (!perms.isEmpty()) { for (String perm : perms) { list.add(new PermissionUpgrade(perm));