From fda23a1b47c082c2b25d9e3f044d84bc73df587a Mon Sep 17 00:00:00 2001 From: fullwall Date: Sun, 2 Dec 2012 18:22:25 +0800 Subject: [PATCH] Slower, but more correct --- .../java/net/citizensnpcs/util/StringHelper.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/citizensnpcs/util/StringHelper.java b/src/main/java/net/citizensnpcs/util/StringHelper.java index e24ac1a61..4411cc290 100644 --- a/src/main/java/net/citizensnpcs/util/StringHelper.java +++ b/src/main/java/net/citizensnpcs/util/StringHelper.java @@ -66,15 +66,11 @@ public class StringHelper { } public static String parseColors(String parsed) { - Matcher matcher = COLOR_MATCHER.matcher(parsed); - if (!matcher.matches()) - return parsed; - String replace = matcher.group(1) != null ? GROUP_1 : GROUP_2; - return matcher.replaceAll(replace); + Matcher matcher = COLOR_MATCHER.matcher(ChatColor.translateAlternateColorCodes('&', parsed)); + return matcher.replaceAll(GROUP); } - private static String GROUP_1 = ChatColor.COLOR_CHAR + "$1"; - private static String GROUP_2 = ChatColor.COLOR_CHAR + "$2"; + private static String GROUP = ChatColor.COLOR_CHAR + "$1"; public static String wrap(Object string) { return wrap(string, parseColors(Setting.MESSAGE_COLOUR.asString())); @@ -97,7 +93,7 @@ public class StringHelper { String colors = ""; for (ChatColor color : ChatColor.values()) colors += color.getChar(); - COLOR_MATCHER = Pattern.compile("&([COLORS])|<([COLORS])>".replace("COLORS", colors), + COLOR_MATCHER = Pattern.compile("\\<([COLORS])\\>".replace("COLORS", colors), Pattern.CASE_INSENSITIVE); } } \ No newline at end of file