From 2a1b19a8a8f5ec21ac0ace3ec5f47a3eba6b0fd9 Mon Sep 17 00:00:00 2001 From: okamosy Date: Tue, 23 Aug 2011 19:47:50 +0100 Subject: [PATCH] Updated joinList to properly handle lists of lists. --- .../src/com/earth2me/essentials/Util.java | 42 ++++++------------- .../essentials/commands/Commandpowertool.java | 4 +- .../essentials/commands/Commandspawnmob.java | 7 +++- Essentials/src/messages.properties | 2 +- Essentials/src/messages_en.properties | 2 +- 5 files changed, 23 insertions(+), 34 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java index e850f9732..500aa0713 100644 --- a/Essentials/src/com/earth2me/essentials/Util.java +++ b/Essentials/src/com/earth2me/essentials/Util.java @@ -11,6 +11,7 @@ import java.net.URL; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Enumeration; import java.util.GregorianCalendar; @@ -470,17 +471,22 @@ public class Util public static String joinList(Object... list) { - final StringBuilder buf = new StringBuilder(); - boolean first = true; + StringBuilder buf = new StringBuilder(); for (Object each : list) { - if (!first) + if (buf.length() > 0) { buf.append(", "); - } - first = false; - buf.append(each); + + if(each instanceof List) + { + buf.append(joinList(((List)each).toArray())); + } + else + { + buf.append(each.toString()); + } } return buf.toString(); } @@ -488,27 +494,5 @@ public class Util public static String capitalCase(String s) { return s.toUpperCase().charAt(0) + s.toLowerCase().substring(1); - } - - public static String concat(List list) - { - return concat(",", list); - } - - public static String concat(String seperator, List list) - { - StringBuilder sb = new StringBuilder(); - - for(Object item : list) - { - if(sb.length() > 0) - { - sb.append(seperator); - } - - sb.append(item.toString()); - } - - return sb.toString(); - } + } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java index 054419a86..4e85d2aeb 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java @@ -39,7 +39,7 @@ public class Commandpowertool extends EssentialsCommand } else { - user.sendMessage(Util.format("powerToolList", Util.concat(powertools), itemName)); + user.sendMessage(Util.format("powerToolList", Util.joinList(powertools), itemName)); } return; } @@ -85,7 +85,7 @@ public class Commandpowertool extends EssentialsCommand } powertools.add(command); - user.sendMessage(Util.format("powerToolAttach", Util.concat(powertools), itemName)); + user.sendMessage(Util.format("powerToolAttach", Util.joinList(powertools), itemName)); } } else diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java index 9514bc767..17081e349 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java @@ -82,7 +82,12 @@ public class Commandspawnmob extends EssentialsCommand { 8, 9 }; - Location loc = (new TargetBlock(user, 300, 0.2, ignore)).getTargetBlock().getLocation(); + Block block = (new TargetBlock(user, 300, 0.2, ignore)).getTargetBlock(); + if(block == null) { + user.sendMessage(Util.i18n("unableToSpawnMob")); + return; + } + Location loc = block.getLocation(); Location sloc = Util.getSafeDestination(loc); try { diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 93bea8f26..570ae5f04 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -146,7 +146,7 @@ kits = \u00a77Kits: {0} lightningSmited = \u00a77You have just been smited lightningUse = \u00a77Smiting {0} loadWarpError = Failed to load warp {0} -loadinfo = Loaded {0} build {1} by {2} +loadinfo = Loaded {0} build {1} by: {2} localFormat = Local: <{0}> {1} mailClear = \u00a7cTo mark your mail as read, type /mail clear mailCleared = \u00a77Mail Cleared! diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index a2a7bf32b..a6c774e8b 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -146,7 +146,7 @@ kits = \u00a77Kits: {0} lightningSmited = \u00a77You have just been smited lightningUse = \u00a77Smiting {0} loadWarpError = Failed to load warp {0} -loadinfo = Loaded {0} build {1} by {2} +loadinfo = Loaded {0} build {1} by: {2} localFormat = Local: <{0}> {1} mailClear = \u00a7cTo mark your mail as read, type /mail clear mailCleared = \u00a77Mail Cleared!