summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorrmichela <deltahat@gmail.com>2012-03-16 00:40:47 -0400
committerEvilSeph <evilseph@gmail.com>2012-03-16 02:48:54 -0400
commit606f33903c245615fe9906778741ccfcf6677ac7 (patch)
tree49ff83eb02826934f171fdd9ff34a4aa532355a4 /src/main/java/org
parent776745c3352de7c11539e5417e5d9288cf7e670c (diff)
downloadbukkit-606f33903c245615fe9906778741ccfcf6677ac7.tar
bukkit-606f33903c245615fe9906778741ccfcf6677ac7.tar.gz
bukkit-606f33903c245615fe9906778741ccfcf6677ac7.tar.lz
bukkit-606f33903c245615fe9906778741ccfcf6677ac7.tar.xz
bukkit-606f33903c245615fe9906778741ccfcf6677ac7.zip
[Bleeding] Added ChatColor.translateAlternateColorCodes(). Addresses BUKKIT-1191
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/ChatColor.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
index 67909c90..5864d1cf 100644
--- a/src/main/java/org/bukkit/ChatColor.java
+++ b/src/main/java/org/bukkit/ChatColor.java
@@ -150,6 +150,26 @@ public enum ChatColor {
return STRIP_COLOR_PATTERN.matcher(input).replaceAll("");
}
+ /**
+ * Translates a string using an alternate color code character into a string that uses the internal
+ * ChatColor.COLOR_CODE color code character. The alternate color code character will only be replaced
+ * if it is immediately followed by 0-9, A-F, or a-f.
+ *
+ * @param altColorChar The alternate color code character to replace. Ex: &
+ * @param textToTranslate Text containing the alternate color code character.
+ * @return Text containing the ChatColor.COLOR_CODE color code character.
+ */
+ public static String translateAlternateColorCodes(char altColorChar, String textToTranslate) {
+ char[] b = textToTranslate.toCharArray();
+ for (int i = 0; i < b.length - 1; i++) {
+ if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKk".indexOf(b[i+1]) > -1) {
+ b[i] = ChatColor.COLOR_CHAR;
+ b[i+1] = Character.toLowerCase(b[i+1]);
+ }
+ }
+ return new String(b);
+ }
+
static {
for (ChatColor color : values()) {
BY_ID.put(color.intCode, color);