diff --git a/patches/server/0423-initial-work-on-native-Adventure-codecs.patch b/patches/server/0423-initial-work-on-native-Adventure-codecs.patch index 85a41c1afe..c0f5b8e3a9 100644 --- a/patches/server/0423-initial-work-on-native-Adventure-codecs.patch +++ b/patches/server/0423-initial-work-on-native-Adventure-codecs.patch @@ -11,10 +11,10 @@ public net.minecraft.network.chat.contents.TranslatableContents filterAllowedArg diff --git a/src/main/java/io/papermc/paper/adventure/AdventureCodecs.java b/src/main/java/io/papermc/paper/adventure/AdventureCodecs.java new file mode 100644 -index 0000000000000000000000000000000000000000..6f5a2bdf50de97e6180b42cf988c3e98385a99ee +index 0000000000000000000000000000000000000000..db13894e2710b933f69f3adaa7e728461e3cf049 --- /dev/null +++ b/src/main/java/io/papermc/paper/adventure/AdventureCodecs.java -@@ -0,0 +1,271 @@ +@@ -0,0 +1,277 @@ +package io.papermc.paper.adventure; + +import com.mojang.datafixers.util.Either; @@ -73,7 +73,13 @@ index 0000000000000000000000000000000000000000..6f5a2bdf50de97e6180b42cf988c3e98 + final @Nullable NamedTextColor value = NamedTextColor.NAMES.value(s); + return value != null ? DataResult.success(value) : DataResult.error(() -> "Cannot convert " + s + " to adventure NamedTextColor"); + } -+ }, TextColor::asHexString); ++ }, textColor -> { ++ if (textColor instanceof NamedTextColor named) { ++ return NamedTextColor.NAMES.keyOrThrow(named); ++ } else { ++ return textColor.asHexString(); ++ } ++ }); + + private static final Codec KEY_CODEC = Codec.STRING.comapFlatMap(s -> { + return Key.parseable(s) ? DataResult.success(Key.key(s)) : DataResult.error(() -> "Cannot convert " + s + " to adventure Key");