--- a/net/minecraft/network/chat/TextColor.java
+++ b/net/minecraft/network/chat/TextColor.java
@@ -17,23 +_,29 @@
     public static final Codec<TextColor> CODEC = Codec.STRING.comapFlatMap(TextColor::parseColor, TextColor::serialize);
     private static final Map<ChatFormatting, TextColor> LEGACY_FORMAT_TO_COLOR = Stream.of(ChatFormatting.values())
         .filter(ChatFormatting::isColor)
-        .collect(ImmutableMap.toImmutableMap(Function.identity(), formatting -> new TextColor(formatting.getColor(), formatting.getName())));
+        .collect(ImmutableMap.toImmutableMap(Function.identity(), formatting -> new TextColor(formatting.getColor(), formatting.getName(), formatting))); // CraftBukkit
     private static final Map<String, TextColor> NAMED_COLORS = LEGACY_FORMAT_TO_COLOR.values()
         .stream()
         .collect(ImmutableMap.toImmutableMap(textColor -> textColor.name, Function.identity()));
     private final int value;
     @Nullable
     public final String name;
+    // CraftBukkit start
+    @Nullable
+    public final ChatFormatting format;
 
-    private TextColor(int value, String name) {
+    private TextColor(int value, String name, ChatFormatting format) {
         this.value = value & 16777215;
         this.name = name;
+        this.format = format;
     }
 
     private TextColor(int value) {
         this.value = value & 16777215;
         this.name = null;
+        this.format = null;
     }
+    // CraftBukkit end
 
     public int getValue() {
         return this.value;
