--- a/net/minecraft/network/chat/ChatHexColor.java
+++ b/net/minecraft/network/chat/ChatHexColor.java
@@ -17,7 +17,7 @@
     private static final String CUSTOM_COLOR_PREFIX = "#";
     public static final Codec<ChatHexColor> CODEC = Codec.STRING.comapFlatMap(ChatHexColor::parseColor, ChatHexColor::serialize);
     private static final Map<EnumChatFormat, ChatHexColor> LEGACY_FORMAT_TO_COLOR = (Map) Stream.of(EnumChatFormat.values()).filter(EnumChatFormat::isColor).collect(ImmutableMap.toImmutableMap(Function.identity(), (enumchatformat) -> {
-        return new ChatHexColor(enumchatformat.getColor(), enumchatformat.getName());
+        return new ChatHexColor(enumchatformat.getColor(), enumchatformat.getName(), enumchatformat); // CraftBukkit
     }));
     private static final Map<String, ChatHexColor> NAMED_COLORS = (Map) ChatHexColor.LEGACY_FORMAT_TO_COLOR.values().stream().collect(ImmutableMap.toImmutableMap((chathexcolor) -> {
         return chathexcolor.name;
@@ -25,16 +25,22 @@
     private final int value;
     @Nullable
     public final String name;
+    // CraftBukkit start
+    @Nullable
+    public final EnumChatFormat format;
 
-    private ChatHexColor(int i, String s) {
+    private ChatHexColor(int i, String s, EnumChatFormat format) {
         this.value = i & 16777215;
         this.name = s;
+        this.format = format;
     }
 
     private ChatHexColor(int i) {
         this.value = i & 16777215;
         this.name = null;
+        this.format = null;
     }
+    // CraftBukkit end
 
     public int getValue() {
         return this.value;
