Adds option for only converting hex color codes
This commit is contained in:
parent
26eedac108
commit
de546cac36
@ -102,5 +102,5 @@ public enum TranslatableTimeUnit implements TranslatableMessage {
|
||||
public TranslatableMessage[] getAllMessages() {
|
||||
return TranslatableTimeUnit.values();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -18,6 +18,11 @@ public enum ColorConversion {
|
||||
/**
|
||||
* Ampersand color codes, and hexadecimal color codes are converted into colors
|
||||
*/
|
||||
RGB
|
||||
RGB,
|
||||
|
||||
/**
|
||||
* Only hexadecimal color codes are converted into colors, not &[a-f0-9] color codes.
|
||||
*/
|
||||
RGB_ONLY,
|
||||
|
||||
}
|
||||
|
@ -61,7 +61,8 @@ public final class ColorHelper {
|
||||
return switch (colorConversion) {
|
||||
case NONE -> message;
|
||||
case NORMAL -> ChatColor.translateAlternateColorCodes('&', message);
|
||||
case RGB -> translateAllColorCodes(message);
|
||||
case RGB -> translateAllColorCodes(message, false);
|
||||
case RGB_ONLY -> translateAllColorCodes(message, true);
|
||||
};
|
||||
}
|
||||
|
||||
@ -69,10 +70,13 @@ public final class ColorHelper {
|
||||
* Translates all found color codes to formatting in a string
|
||||
*
|
||||
* @param message <p>The string to search for color codes</p>
|
||||
* @param onlyRGB <p>Whether to only convert RGB (hexadecimal) color codes. If false, &[a-f0-9] will be converted as well.</p>
|
||||
* @return <p>The message with color codes translated</p>
|
||||
*/
|
||||
private static String translateAllColorCodes(String message) {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
private static String translateAllColorCodes(String message, boolean onlyRGB) {
|
||||
if (!onlyRGB) {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
}
|
||||
Pattern pattern;
|
||||
if (requireAmpersandInHexColors) {
|
||||
pattern = Pattern.compile("(&#[a-fA-F0-9]{6})");
|
||||
|
Loading…
Reference in New Issue
Block a user