From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Gerrygames <gecam59@gmail.com>
Date: Thu, 16 Jul 2020 10:40:10 +0200
Subject: [PATCH] Support hex colors in getLastColors


diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/ChatColor.java
+++ b/src/main/java/org/bukkit/ChatColor.java
@@ -0,0 +0,0 @@ public enum ChatColor {
         return new String(b);
     }
 
+    private static final Pattern HEX_COLOR_PATTERN = Pattern.compile(COLOR_CHAR + "x(?>" + COLOR_CHAR + "[0-9a-f]){6}", Pattern.CASE_INSENSITIVE); // Paper - Support hex colors in getLastColors
     /**
      * Gets the ChatColors used at the end of the given input string.
      *
@@ -0,0 +0,0 @@ public enum ChatColor {
         for (int index = length - 1; index > -1; index--) {
             char section = input.charAt(index);
             if (section == COLOR_CHAR && index < length - 1) {
+                // Paper start - Support hex colors
+                if (index > 11 && input.charAt(index - 12) == COLOR_CHAR && (input.charAt(index - 11) == 'x' || input.charAt(index - 11) == 'X')) {
+                    String color = input.substring(index - 12, index + 2);
+                    if (HEX_COLOR_PATTERN.matcher(color).matches()) {
+                        result = color + result;
+                        break;
+                    }
+                }
+                // Paper end
                 char c = input.charAt(index + 1);
                 ChatColor color = getByChar(c);
 
