diff --git a/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataBase.java b/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataBase.java index f939a1192..5d5202696 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataBase.java +++ b/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataBase.java @@ -98,13 +98,13 @@ public class MappingDataBase implements MappingData { particleMappings = new IdentityMappings(unmappedParticles.size(), mappedParticles.size()); } - final List identifiers = unmappedParticles.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList()); - final List mappedIdentifiers = mappedParticles.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList()); + final List identifiers = unmappedParticles.stream().map(StringTag::getValue).collect(Collectors.toList()); + final List mappedIdentifiers = mappedParticles.stream().map(StringTag::getValue).collect(Collectors.toList()); this.particleMappings = new ParticleMappings(identifiers, mappedIdentifiers, particleMappings); } } - final CompoundTag tagsTag = data.get("tags"); + final CompoundTag tagsTag = data.getCompoundTag("tags"); if (tagsTag != null) { this.tags = new EnumMap<>(RegistryType.class); loadTags(RegistryType.ITEM, tagsTag); @@ -132,7 +132,7 @@ public class MappingDataBase implements MappingData { } private void loadTags(final RegistryType type, final CompoundTag data) { - final CompoundTag tag = data.get(type.resourceLocation()); + final CompoundTag tag = data.getCompoundTag(type.resourceLocation()); if (tag == null) { return; } diff --git a/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataLoader.java b/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataLoader.java index 07d7f65de..eb99ff7e4 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataLoader.java +++ b/api/src/main/java/com/viaversion/viaversion/api/data/MappingDataLoader.java @@ -158,22 +158,22 @@ public final class MappingDataLoader { final AddConsumer addConsumer, final MappingsSupplier mappingsSupplier ) { - final CompoundTag tag = mappingsTag.get(key); + final CompoundTag tag = mappingsTag.getCompoundTag(key); if (tag == null) { return null; } - final ByteTag serializationStragetyTag = tag.get("id"); - final IntTag mappedSizeTag = tag.get("mappedSize"); + final ByteTag serializationStragetyTag = tag.getUnchecked("id"); + final IntTag mappedSizeTag = tag.getUnchecked("mappedSize"); final byte strategy = serializationStragetyTag.asByte(); final V mappings; if (strategy == DIRECT_ID) { - final IntArrayTag valuesTag = tag.get("val"); + final IntArrayTag valuesTag = tag.getIntArrayTag("val"); return IntArrayMappings.of(valuesTag.getValue(), mappedSizeTag.asInt()); } else if (strategy == SHIFTS_ID) { - final IntArrayTag shiftsAtTag = tag.get("at"); - final IntArrayTag shiftsTag = tag.get("to"); - final IntTag sizeTag = tag.get("size"); + final IntArrayTag shiftsAtTag = tag.getIntArrayTag("at"); + final IntArrayTag shiftsTag = tag.getIntArrayTag("to"); + final IntTag sizeTag = tag.getUnchecked("size"); final int[] shiftsAt = shiftsAtTag.getValue(); final int[] shiftsTo = shiftsTag.getValue(); final int size = sizeTag.asInt(); @@ -197,9 +197,9 @@ public final class MappingDataLoader { } } } else if (strategy == CHANGES_ID) { - final IntArrayTag changesAtTag = tag.get("at"); - final IntArrayTag valuesTag = tag.get("val"); - final IntTag sizeTag = tag.get("size"); + final IntArrayTag changesAtTag = tag.getIntArrayTag("at"); + final IntArrayTag valuesTag = tag.getIntArrayTag("val"); + final IntTag sizeTag = tag.getUnchecked("size"); final boolean fillBetween = tag.get("nofill") == null; final int[] changesAt = changesAtTag.getValue(); final int[] values = valuesTag.getValue(); @@ -219,7 +219,7 @@ public final class MappingDataLoader { addConsumer.addTo(mappings, id, values[i]); } } else if (strategy == IDENTITY_ID) { - final IntTag sizeTag = tag.get("size"); + final IntTag sizeTag = tag.getUnchecked("size"); return new IdentityMappings(sizeTag.asInt(), mappedSizeTag.asInt()); } else { throw new IllegalArgumentException("Unknown serialization strategy: " + strategy); @@ -240,8 +240,8 @@ public final class MappingDataLoader { } return new FullMappingsBase( - unmappedElements.getValue().stream().map(StringTag::getValue).collect(Collectors.toList()), - mappedElements.getValue().stream().map(StringTag::getValue).collect(Collectors.toList()), + unmappedElements.stream().map(StringTag::getValue).collect(Collectors.toList()), + mappedElements.stream().map(StringTag::getValue).collect(Collectors.toList()), mappings ); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java index c64808883..b382975f3 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/WorldPackets.java @@ -114,7 +114,7 @@ public class WorldPackets { UUID targetUuid = UUID.fromString((String) targetUuidTag.getValue()); compoundTag.put("Target", new IntArrayTag(UUIDUtil.toIntArray(targetUuid))); } else if (id.equals("minecraft:skull") && compoundTag.getCompoundTag("Owner") != null) { - CompoundTag ownerTag = compoundTag.remove("Owner"); + CompoundTag ownerTag = compoundTag.removeUnchecked("Owner"); Tag ownerUuidTag = ownerTag.remove("Id"); if (ownerUuidTag instanceof StringTag) { UUID ownerUuid = UUID.fromString(((StringTag) ownerUuidTag).getValue()); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/EntityPackets.java index 1a0216af5..6ee44a1ad 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/EntityPackets.java @@ -77,10 +77,10 @@ public final class EntityPackets extends EntityRewriter { // Add new dimension fields - CompoundTag dimensionRegistry = wrapper.get(Type.NAMED_COMPOUND_TAG, 0).get("minecraft:dimension_type"); + CompoundTag dimensionRegistry = wrapper.get(Type.NAMED_COMPOUND_TAG, 0).getCompoundTag("minecraft:dimension_type"); ListTag dimensions = dimensionRegistry.getListTag("value", CompoundTag.class); for (CompoundTag dimension : dimensions) { - CompoundTag dimensionCompound = dimension.get("element"); + CompoundTag dimensionCompound = dimension.getCompoundTag("element"); addNewDimensionData(dimensionCompound); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18_2to1_18/Protocol1_18_2To1_18.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18_2to1_18/Protocol1_18_2To1_18.java index 9533b38e5..30ecdae7c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18_2to1_18/Protocol1_18_2To1_18.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18_2to1_18/Protocol1_18_2To1_18.java @@ -69,10 +69,10 @@ public final class Protocol1_18_2To1_18 extends AbstractProtocol { final CompoundTag registry = wrapper.get(Type.NAMED_COMPOUND_TAG, 0); - final CompoundTag dimensionsHolder = registry.get("minecraft:dimension_type"); + final CompoundTag dimensionsHolder = registry.getCompoundTag("minecraft:dimension_type"); final ListTag dimensions = dimensionsHolder.getListTag("value", CompoundTag.class); for (final CompoundTag dimension : dimensions) { - addTagPrefix(dimension.get("element")); + addTagPrefix(dimension.getCompoundTag("element")); } addTagPrefix(wrapper.get(Type.NAMED_COMPOUND_TAG, 1)); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java index 259fedaab..fc3842f56 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java @@ -88,7 +88,7 @@ public final class Protocol1_19_1To1_19 extends AbstractProtocol chatTypes = registry.getCompoundTag("minecraft:chat_type").getListTag("value", CompoundTag.class); for (final CompoundTag chatType : chatTypes) { - final NumberTag idTag = chatType.get("id"); + final NumberTag idTag = chatType.getNumberTag("id"); chatTypeStorage.addChatType(idTag.asInt(), chatType); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_4to1_19_3/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_4to1_19_3/packets/EntityPackets.java index 5b8872d58..e0ec51e9c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_4to1_19_3/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_4to1_19_3/packets/EntityPackets.java @@ -63,11 +63,11 @@ public final class EntityPackets extends EntityRewriter biomes = biomeRegistry.getListTag("value", CompoundTag.class); for (final CompoundTag biomeTag : biomes) { - final CompoundTag biomeData = biomeTag.get("element"); - final StringTag precipitation = biomeData.get("precipitation"); + final CompoundTag biomeData = biomeTag.getCompoundTag("element"); + final StringTag precipitation = biomeData.getStringTag("precipitation"); final byte precipitationByte = precipitation.getValue().equals("none") ? (byte) 0 : 1; biomeData.put("has_precipitation", new ByteTag(precipitationByte)); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/data/MappingData.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/data/MappingData.java index 975ba3c97..269c0f281 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/data/MappingData.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/data/MappingData.java @@ -39,7 +39,7 @@ public final class MappingData extends MappingDataBase { protected void loadExtras(final CompoundTag daata) { final ListTag chatTypes = MappingDataLoader.loadNBTFromFile("chat-types-1.19.nbt").getListTag("values", CompoundTag.class); for (final CompoundTag chatType : chatTypes) { - final NumberTag idTag = chatType.get("id"); + final NumberTag idTag = chatType.getNumberTag("id"); defaultChatTypes.put(idTag.asInt(), chatType); } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java index dfc624eb8..a8382420f 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java @@ -81,7 +81,7 @@ public final class EntityPackets extends EntityRewriter dimensionDataMap = new HashMap<>(dimensions.size()); final Map dimensionsMap = new HashMap<>(dimensions.size()); for (final CompoundTag dimension : dimensions) { - final NumberTag idTag = dimension.get("id"); - final CompoundTag element = dimension.get("element"); + final NumberTag idTag = dimension.getNumberTag("id"); + final CompoundTag element = dimension.getCompoundTag("element"); final String name = dimension.getStringTag("name").getValue(); addMonsterSpawnData(element); dimensionDataMap.put(Key.stripMinecraftNamespace(name), new DimensionDataImpl(idTag.asInt(), element)); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/EntityPackets.java index 4669b0e4c..308fc3f80 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/EntityPackets.java @@ -76,11 +76,11 @@ public final class EntityPackets extends EntityRewriter { final CompoundTag registry = wrapper.get(Type.NAMED_COMPOUND_TAG, 0); - final CompoundTag damageTypeRegistry = registry.get("minecraft:damage_type"); - final ListTag damageTypes = damageTypeRegistry.get("value"); + final CompoundTag damageTypeRegistry = registry.getCompoundTag("minecraft:damage_type"); + final ListTag damageTypes = damageTypeRegistry.getListTag("value", CompoundTag.class); int highestId = -1; for (final CompoundTag damageType : damageTypes) { - final IntTag id = damageType.get("id"); + final IntTag id = damageType.getUnchecked("id"); highestId = Math.max(highestId, id.asInt()); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/InventoryPackets.java index 1ad77ab7c..0e964c59e 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20to1_19_4/packets/InventoryPackets.java @@ -172,15 +172,15 @@ public final class InventoryPackets extends ItemRewriter messages = new ListTag<>(StringTag.class); for (int i = 1; i < 5; i++) { - final StringTag text = tag.remove("Text" + i); - messages.add(text != null ? text : new StringTag(ComponentUtil.emptyJsonComponentString())); + final Tag text = tag.remove("Text" + i); + messages.add(text instanceof StringTag ? (StringTag) text : new StringTag(ComponentUtil.emptyJsonComponentString())); } frontText.put("messages", messages); final ListTag filteredMessages = new ListTag<>(StringTag.class); for (int i = 1; i < 5; i++) { - final StringTag text = tag.remove("FilteredText" + i); - filteredMessages.add(text != null ? text : messages.get(i - 1)); + final Tag text = tag.remove("FilteredText" + i); + filteredMessages.add(text instanceof StringTag ? (StringTag) text : messages.get(i - 1)); } if (!filteredMessages.equals(messages)) { frontText.put("filtered_messages", filteredMessages); diff --git a/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java b/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java index 1541d23b2..4f7bfd2b1 100644 --- a/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java @@ -474,8 +474,8 @@ public abstract class EntityRewriter biomes = biomeRegistry.get("value"); + final CompoundTag biomeRegistry = registry.getCompoundTag("minecraft:worldgen/biome"); + final ListTag biomes = biomeRegistry.getListTag("value"); tracker(connection).setBiomesSent(biomes.size()); } @@ -494,8 +494,8 @@ public abstract class EntityRewriter dimensions = registry.getCompoundTag("minecraft:dimension_type").getListTag("value", CompoundTag.class); final Map dimensionDataMap = new HashMap<>(dimensions.size()); for (final CompoundTag dimension : dimensions) { - final NumberTag idTag = dimension.get("id"); - final CompoundTag element = dimension.get("element"); + final NumberTag idTag = dimension.getNumberTag("id"); + final CompoundTag element = dimension.getCompoundTag("element"); final String name = dimension.getStringTag("name").getValue(); dimensionDataMap.put(Key.stripMinecraftNamespace(name), new DimensionDataImpl(idTag.asInt(), element)); } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 168455c84..62f1cbbbd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ metadata.format.version = "1.1" gson = "2.10.1" fastutil = "8.5.12" -vianbt = "4.4.0" +vianbt = "4.4.2" mcstructs = "2.4.2" # Common provided