@@ -79,25 +79,31 @@ private static void parsePart(String part, StringBuilder builder) {
7979 }
8080 builder .append (color + colorBuilder .toString ());
8181 } else {
82- if (colorCharacter == 'z' ) builder .append (ChatColor .BOLD );
83- else if (colorCharacter == 'x' ) builder .append (ChatColor .ITALIC );
84- else if (colorCharacter == 'v' ) builder .append (ChatColor .UNDERLINE );
85- else if (colorCharacter == 'q' ) builder .append (ChatColor .ITALIC );
86- else if (colorCharacter == 'm' ) builder .append (ChatColor .STRIKETHROUGH );
87- else if (colorCharacter == 'w' ) builder .append (ChatColor .MAGIC );
88- else if (colorCharacter == 'Z' ) colors = colors .replace (ChatColor .BOLD .toString (), "" );
89- else if (colorCharacter == 'X' ) colors = colors .replace (ChatColor .ITALIC .toString (), "" );
90- else if (colorCharacter == 'V' ) colors = colors .replace (ChatColor .UNDERLINE .toString (), "" );
91- else if (colorCharacter == 'Q' ) colors = colors .replace (ChatColor .ITALIC .toString (), "" );
92- else if (colorCharacter == 'M' ) colors = colors .replace (ChatColor .STRIKETHROUGH .toString (), "" );
93- else if (colorCharacter == 'W' ) colors = colors .replace (ChatColor .MAGIC .toString (), "" );
94- if (Character .isUpperCase (colorCharacter )) builder .append (ChatColor .RESET + colors );
82+ colors = parseColours (colorCharacter , builder , colors );
9583 }
9684 if (part .length () > 1 ) {
9785 builder .append (part .substring (1 ));
9886 }
9987 }
10088
89+ private static String parseColours (char colorCharacter , StringBuilder builder , String c ) {
90+ String colors = c ;
91+ if (colorCharacter == 'z' ) builder .append (ChatColor .BOLD );
92+ else if (colorCharacter == 'x' ) builder .append (ChatColor .ITALIC );
93+ else if (colorCharacter == 'v' ) builder .append (ChatColor .UNDERLINE );
94+ else if (colorCharacter == 'q' ) builder .append (ChatColor .ITALIC );
95+ else if (colorCharacter == 'm' ) builder .append (ChatColor .STRIKETHROUGH );
96+ else if (colorCharacter == 'w' ) builder .append (ChatColor .MAGIC );
97+ else if (colorCharacter == 'Z' ) colors = colors .replace (ChatColor .BOLD .toString (), "" );
98+ else if (colorCharacter == 'X' ) colors = colors .replace (ChatColor .ITALIC .toString (), "" );
99+ else if (colorCharacter == 'V' ) colors = colors .replace (ChatColor .UNDERLINE .toString (), "" );
100+ else if (colorCharacter == 'Q' ) colors = colors .replace (ChatColor .ITALIC .toString (), "" );
101+ else if (colorCharacter == 'M' ) colors = colors .replace (ChatColor .STRIKETHROUGH .toString (), "" );
102+ else if (colorCharacter == 'W' ) colors = colors .replace (ChatColor .MAGIC .toString (), "" );
103+ if (Character .isUpperCase (colorCharacter )) builder .append (ChatColor .RESET + colors );
104+ return colors ;
105+ }
106+
101107 private static String replaceWith (String message , String quot , String pre , String suf ) {
102108 String part = message ;
103109 for (String str : getMatches (message , quot + "(.+?)" + quot )) {
0 commit comments