6363import com .viaversion .viaversion .rewriter .BlockRewriter ;
6464import com .viaversion .viaversion .rewriter .SoundRewriter ;
6565import com .viaversion .viaversion .rewriter .StructuredItemRewriter ;
66+ import com .viaversion .viaversion .util .ComponentUtil ;
6667import com .viaversion .viaversion .util .Key ;
68+ import com .viaversion .viaversion .util .SerializerVersion ;
6769import com .viaversion .viaversion .util .TagUtil ;
6870import com .viaversion .viaversion .util .Unit ;
6971import it .unimi .dsi .fastutil .ints .IntArrayList ;
@@ -565,15 +567,11 @@ public static void updateItemData(final Item item) {
565567 dataContainer .replace (StructuredDataKey .FIRE_RESISTANT , StructuredDataKey .DAMAGE_RESISTANT , fireResistant -> new DamageResistant ("minecraft:is_fire" ));
566568 dataContainer .replace (StructuredDataKey .LOCK , tag -> {
567569 final String lock = ((StringTag ) tag ).getValue ();
568- if (lock .isBlank ()) {
569- // Previously ignored empty values since the data was arbitrary, custom_name doesn't accept empty values
570- return null ;
571- }
572-
573570 final CompoundTag predicateTag = new CompoundTag ();
574571 final CompoundTag itemComponentsTag = new CompoundTag ();
575572 predicateTag .put ("components" , itemComponentsTag );
576- itemComponentsTag .put ("custom_name" , tag );
573+ // As json here...
574+ itemComponentsTag .putString ("custom_name" , ComponentUtil .plainToJson (lock ).toString ());
577575 return predicateTag ;
578576 });
579577 }
@@ -584,7 +582,9 @@ public static void downgradeItemData(final Item item) {
584582 final CompoundTag predicateTag = (CompoundTag ) lock ;
585583 final CompoundTag itemComponentsTag = predicateTag .getCompoundTag ("components" );
586584 if (itemComponentsTag != null ) {
587- return TagUtil .getNamespacedStringTag (itemComponentsTag , "custom_name" );
585+ // Back from json in the string tag to plain text
586+ final StringTag customName = TagUtil .getNamespacedStringTag (itemComponentsTag , "custom_name" );
587+ return new StringTag (SerializerVersion .V1_20_5 .toComponent (customName .getValue ()).asUnformattedString ());
588588 }
589589 return null ;
590590 });
0 commit comments