Skip to content

Commit

Permalink
Add hex colour support &#xxxxxx
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Nov 4, 2020
1 parent 6075267 commit 9d8b22b
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/main/java/net/citizensnpcs/api/util/Colorizer.java
Expand Up @@ -7,7 +7,9 @@

public class Colorizer {
public static String parseColors(String parsed) {
Matcher matcher = COLOR_MATCHER.matcher(ChatColor.translateAlternateColorCodes('&', parsed));
Matcher matcher = HEX_MATCHER.matcher(parsed);
parsed = matcher.replaceAll("&x&$1&$2&$3&$4&$5&$6");
matcher = COLOR_MATCHER.matcher(ChatColor.translateAlternateColorCodes('&', parsed));
return matcher.replaceAll(GROUP);
}

Expand All @@ -18,11 +20,14 @@ public static String stripColors(String parsed) {

private static Pattern COLOR_MATCHER;
private static String GROUP = ChatColor.COLOR_CHAR + "$1";
private static Pattern HEX_MATCHER = Pattern
.compile("&#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])", Pattern.CASE_INSENSITIVE);

static {
String colors = "";
for (ChatColor color : ChatColor.values())
for (ChatColor color : ChatColor.values()) {
colors += color.getChar();
}
COLOR_MATCHER = Pattern.compile("\\<([COLORS])\\>".replace("COLORS", colors), Pattern.CASE_INSENSITIVE);
}
}

0 comments on commit 9d8b22b

Please sign in to comment.