From 938a84fc39cfe4d443db46a8fa756d5188bfd895 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 17 Jan 2025 13:46:59 +0000 Subject: [PATCH] Add missing TagSerializable to GsonDataComponentValue converter (Fixes #11768) --- .../DataComponentValueConverterProviderImpl.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/paper-server/src/main/java/io/papermc/paper/adventure/providers/DataComponentValueConverterProviderImpl.java b/paper-server/src/main/java/io/papermc/paper/adventure/providers/DataComponentValueConverterProviderImpl.java index ee2076fd0..f0b4083d3 100644 --- a/paper-server/src/main/java/io/papermc/paper/adventure/providers/DataComponentValueConverterProviderImpl.java +++ b/paper-server/src/main/java/io/papermc/paper/adventure/providers/DataComponentValueConverterProviderImpl.java @@ -76,6 +76,20 @@ public class DataComponentValueConverterProviderImpl implements DataComponentVal throw new IllegalArgumentException(e); } } + ), + DataComponentValueConverterRegistry.Conversion.convert( + DataComponentValue.TagSerializable.class, + GsonDataComponentValue.class, + (key, tagSerializable) -> { + Tag decodedSnbt; + try { + decodedSnbt = tagSerializable.asBinaryTag().get(PaperAdventure.NBT_CODEC); + } catch (CommandSyntaxException e) { + throw new IllegalArgumentException("Unable to parse SNBT value", e); + } + + return GsonDataComponentValue.gsonDataComponentValue(NbtOps.INSTANCE.convertTo(JsonOps.INSTANCE, decodedSnbt)); + } ) ); }