Skip to content

Commit 4536ca4

Browse files
Fix enchantment rewriter description conversion in 1.21->1.20.5 (#833)
1 parent 09e8623 commit 4536ca4

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

common/src/main/java/com/viaversion/viabackwards/protocol/v1_21to1_20_5/rewriter/BlockItemPacketRewriter1_21.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import com.viaversion.viaversion.api.type.types.version.Types1_20_5;
4040
import com.viaversion.viaversion.api.type.types.version.Types1_21;
4141
import com.viaversion.viaversion.libs.fastutil.ints.Int2IntMap;
42+
import com.viaversion.viaversion.libs.mcstructs.text.components.StringComponent;
43+
import com.viaversion.viaversion.libs.mcstructs.text.components.TranslationComponent;
4244
import com.viaversion.viaversion.protocols.v1_20_2to1_20_3.rewriter.RecipeRewriter1_20_3;
4345
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.Enchantments1_20_5;
4446
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.packet.ServerboundPacket1_20_5;
@@ -47,8 +49,8 @@
4749
import com.viaversion.viaversion.protocols.v1_20_5to1_21.packet.ClientboundPackets1_21;
4850
import com.viaversion.viaversion.rewriter.BlockRewriter;
4951
import com.viaversion.viaversion.rewriter.IdRewriteFunction;
52+
import com.viaversion.viaversion.util.SerializerVersion;
5053
import java.util.ArrayList;
51-
import java.util.Arrays;
5254
import java.util.List;
5355

5456
import static com.viaversion.viaversion.protocols.v1_20_5to1_21.rewriter.BlockItemPacketRewriter1_21.downgradeItemData;
@@ -156,10 +158,11 @@ public Item handleItemToClient(final UserConnection connection, final Item item)
156158
return new StringTag("Unknown enchantment");
157159
}
158160

159-
final CompoundTag fullDescription = new CompoundTag();
160-
fullDescription.putString("translate", "%s %s");
161-
fullDescription.put("with", new ListTag<>(Arrays.asList(description, new StringTag(EnchantmentRewriter.ENCHANTMENT_LEVEL_TRANSLATION.formatted(level)))));
162-
return fullDescription;
161+
final var component = SerializerVersion.V1_20_5.toComponent(description);
162+
component.getSiblings().add(new StringComponent(" "));
163+
component.getSiblings().add(new TranslationComponent(EnchantmentRewriter.ENCHANTMENT_LEVEL_TRANSLATION.formatted(level)));
164+
165+
return SerializerVersion.V1_20_5.toTag(component);
163166
};
164167
enchantmentRewriter.rewriteEnchantmentsToClient(data, StructuredDataKey.ENCHANTMENTS, idRewriteFunction, descriptionSupplier, false);
165168
enchantmentRewriter.rewriteEnchantmentsToClient(data, StructuredDataKey.STORED_ENCHANTMENTS, idRewriteFunction, descriptionSupplier, true);
@@ -241,4 +244,4 @@ private void rewriteEnchantmentToServer(final EnchantmentsPaintingsStorage stora
241244

242245
private record PendingIdChange(int id, int mappedId, int level) {
243246
}
244-
}
247+
}

0 commit comments

Comments
 (0)