Adds option for only converting hex color codes
This commit is contained in:
		@@ -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})");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user