Skip to content

Commit e878d77

Browse files
committed
Trim override materials are string to string
1 parent deab6a0 commit e878d77

File tree

5 files changed

+16
-26
lines changed

5 files changed

+16
-26
lines changed

api/src/main/java/com/viaversion/viaversion/api/minecraft/item/data/ArmorTrimMaterial.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
import com.viaversion.viaversion.api.type.types.misc.HolderType;
2828
import io.netty.buffer.ByteBuf;
2929
import it.unimi.dsi.fastutil.ints.Int2IntFunction;
30-
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
31-
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
30+
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
31+
import java.util.Map;
3232

3333
public record ArmorTrimMaterial(String assetName, int itemId, float itemModelIndex,
34-
Int2ObjectMap<String> overrideArmorMaterials, Tag description) {
34+
Map<String, String> overrideArmorMaterials, Tag description) {
3535

3636
public static final HolderType<ArmorTrimMaterial> TYPE = new HolderType<>() {
3737
@Override
@@ -41,9 +41,9 @@ public ArmorTrimMaterial readDirect(final ByteBuf buffer) {
4141
final float itemModelIndex = buffer.readFloat();
4242

4343
final int overrideArmorMaterialsSize = Types.VAR_INT.readPrimitive(buffer);
44-
final Int2ObjectMap<String> overrideArmorMaterials = new Int2ObjectOpenHashMap<>(overrideArmorMaterialsSize);
44+
final Map<String, String> overrideArmorMaterials = new Object2ObjectArrayMap<>(overrideArmorMaterialsSize);
4545
for (int i = 0; i < overrideArmorMaterialsSize; i++) {
46-
final int key = Types.VAR_INT.readPrimitive(buffer);
46+
final String key = Types.STRING.read(buffer);
4747
final String value = Types.STRING.read(buffer);
4848
overrideArmorMaterials.put(key, value);
4949
}
@@ -59,8 +59,8 @@ public void writeDirect(final ByteBuf buffer, final ArmorTrimMaterial value) {
5959
buffer.writeFloat(value.itemModelIndex());
6060

6161
Types.VAR_INT.writePrimitive(buffer, value.overrideArmorMaterials().size());
62-
for (final Int2ObjectMap.Entry<String> entry : value.overrideArmorMaterials().int2ObjectEntrySet()) {
63-
Types.VAR_INT.writePrimitive(buffer, entry.getIntKey());
62+
for (final Map.Entry<String, String> entry : value.overrideArmorMaterials().entrySet()) {
63+
Types.STRING.write(buffer, entry.getKey());
6464
Types.STRING.write(buffer, entry.getValue());
6565
}
6666

common/src/main/java/com/viaversion/viaversion/protocols/v1_20_3to1_20_5/rewriter/BlockItemPacketRewriter1_20_5.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,7 @@
105105
import com.viaversion.viaversion.util.SerializerVersion;
106106
import com.viaversion.viaversion.util.UUIDUtil;
107107
import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
108-
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
109-
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
108+
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
110109
import java.util.ArrayList;
111110
import java.util.HashMap;
112111
import java.util.List;
@@ -1000,17 +999,14 @@ private void updateArmorTrim(final UserConnection connection, final StructuredDa
1000999
final CompoundTag overrideArmorMaterialsTag = materialCompoundTag.getCompoundTag("override_armor_materials");
10011000
final Tag descriptionTag = materialCompoundTag.get("description");
10021001

1003-
final Int2ObjectMap<String> overrideArmorMaterials = new Int2ObjectOpenHashMap<>();
1002+
final Map<String, String> overrideArmorMaterials = new Object2ObjectArrayMap<>();
10041003
if (overrideArmorMaterialsTag != null) {
10051004
for (final Map.Entry<String, Tag> entry : overrideArmorMaterialsTag.entrySet()) {
10061005
if (!(entry.getValue() instanceof StringTag valueTag)) {
10071006
continue;
10081007
}
1009-
try {
1010-
final int id = Integer.parseInt(entry.getKey());
1011-
overrideArmorMaterials.put(id, valueTag.getValue());
1012-
} catch (NumberFormatException ignored) {
1013-
}
1008+
1009+
overrideArmorMaterials.put(entry.getKey(), valueTag.getValue());
10141010
}
10151011
}
10161012

common/src/main/java/com/viaversion/viaversion/protocols/v1_20_3to1_20_5/rewriter/ComponentRewriter1_20_5.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import com.viaversion.viaversion.api.type.types.UnsignedByteType;
7575
import com.viaversion.viaversion.api.type.types.item.StructuredDataType;
7676
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.Protocol1_20_3To1_20_5;
77-
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.ArmorMaterials1_20_5;
7877
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.Attributes1_20_5;
7978
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.BannerPatterns1_20_5;
8079
import com.viaversion.viaversion.protocols.v1_20_3to1_20_5.data.DyeColors;
@@ -92,7 +91,6 @@
9291
import com.viaversion.viaversion.util.UUIDUtil;
9392
import com.viaversion.viaversion.util.Unit;
9493
import it.unimi.dsi.fastutil.ints.Int2IntMap;
95-
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
9694
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
9795
import java.util.ArrayList;
9896
import java.util.List;
@@ -693,11 +691,8 @@ protected CompoundTag convertTrim(final UserConnection connection, final ArmorTr
693691
}
694692

695693
final CompoundTag overrideArmorMaterialsTag = new CompoundTag();
696-
for (final Int2ObjectMap.Entry<String> entry : armorTrimMaterial.overrideArmorMaterials().int2ObjectEntrySet()) {
697-
final String materialKey = ArmorMaterials1_20_5.idToKey(entry.getIntKey());
698-
if (materialKey != null) {
699-
overrideArmorMaterialsTag.putString(materialKey, entry.getValue());
700-
}
694+
for (final Map.Entry<String, String> entry : armorTrimMaterial.overrideArmorMaterials().entrySet()) {
695+
overrideArmorMaterialsTag.putString(entry.getKey(), entry.getValue());
701696
}
702697

703698
materialTag.putString("asset_name", armorTrimMaterial.assetName());

common/src/main/java/com/viaversion/viaversion/protocols/v1_20_3to1_20_5/rewriter/StructuredDataConverter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
import com.viaversion.viaversion.util.ComponentUtil;
6666
import com.viaversion.viaversion.util.UUIDUtil;
6767
import it.unimi.dsi.fastutil.ints.Int2IntMap;
68-
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
6968
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
7069
import java.util.Arrays;
7170
import java.util.Collections;
@@ -530,8 +529,8 @@ public StructuredDataConverter(final boolean backupInconvertibleData) {
530529

531530
final CompoundTag overrideArmorMaterials = new CompoundTag();
532531
if (!material.overrideArmorMaterials().isEmpty()) {
533-
for (final Int2ObjectMap.Entry<String> entry : material.overrideArmorMaterials().int2ObjectEntrySet()) {
534-
overrideArmorMaterials.put(Integer.toString(entry.getIntKey()), new StringTag(entry.getValue()));
532+
for (final Map.Entry<String, String> entry : material.overrideArmorMaterials().entrySet()) {
533+
overrideArmorMaterials.put(entry.getKey(), new StringTag(entry.getValue()));
535534
}
536535
materialTag.put("override_armor_materials", overrideArmorMaterials);
537536
}

common/src/main/java/com/viaversion/viaversion/protocols/v1_21to1_21_2/rewriter/EntityPacketRewriter1_21_2.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ protected void registerRewrites() {
453453

454454
// Remove old entity
455455
final PacketWrapper removeEntityPacket = PacketWrapper.create(ClientboundPackets1_21_2.REMOVE_ENTITIES, event.user());
456-
removeEntityPacket.write(Types.VAR_INT_ARRAY_PRIMITIVE, new int[] { event.entityId() });
456+
removeEntityPacket.write(Types.VAR_INT_ARRAY_PRIMITIVE, new int[]{event.entityId()});
457457
removeEntityPacket.send(Protocol1_21To1_21_2.class);
458458

459459
// Detect correct boat entity type from entity data

0 commit comments

Comments
 (0)