diff --git a/common/src/main/java/com/viaversion/viabackwards/api/data/VBMappingDataLoader.java b/common/src/main/java/com/viaversion/viabackwards/api/data/VBMappingDataLoader.java index 52c30be8..482a2300 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/data/VBMappingDataLoader.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/data/VBMappingDataLoader.java @@ -21,9 +21,10 @@ import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viaversion.libs.gson.JsonIOException; import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.gson.JsonSyntaxException; -import com.viaversion.viaversion.libs.opennbt.NBTIO; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; +import com.viaversion.viaversion.libs.opennbt.tag.io.NBTIO; +import com.viaversion.viaversion.libs.opennbt.tag.io.TagReader; import com.viaversion.viaversion.util.GsonUtil; import java.io.File; import java.io.FileReader; @@ -35,6 +36,8 @@ import org.checkerframework.checker.nullness.qual.Nullable; public final class VBMappingDataLoader { + private static final TagReader TAG_READER = NBTIO.reader(CompoundTag.class).named(); + public static @Nullable CompoundTag loadNBT(final String name) { final InputStream resource = getResource(name); if (resource == null) { @@ -42,7 +45,7 @@ public final class VBMappingDataLoader { } try (final InputStream stream = resource) { - return NBTIO.readTag(stream); + return TAG_READER.read(stream); } catch (final IOException e) { throw new RuntimeException(e); } @@ -65,7 +68,7 @@ public final class VBMappingDataLoader { ViaBackwards.getPlatform().getLogger().info("Loading " + name + " from plugin folder"); try { - final CompoundTag fileData = NBTIO.readFile(file, false, false); + final CompoundTag fileData = TAG_READER.read(file.toPath(), false); return mergeTags(packedData, fileData); } catch (final IOException e) { throw new RuntimeException(e); diff --git a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/ItemRewriterBase.java b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/ItemRewriterBase.java index ba1b83bd..d8e9c50d 100644 --- a/common/src/main/java/com/viaversion/viabackwards/api/rewriters/ItemRewriterBase.java +++ b/common/src/main/java/com/viaversion/viabackwards/api/rewriters/ItemRewriterBase.java @@ -73,7 +73,7 @@ public abstract class ItemRewriterBase lore = new ArrayList<>(); - for (Tag enchantmentEntry : enchantments.clone()) { + for (Tag enchantmentEntry : enchantments.copy()) { Tag idTag = ((CompoundTag) enchantmentEntry).get("id"); if (idTag == null) continue; @@ -114,7 +114,7 @@ public class LegacyEnchantmentRewriter { } if (!storedEnchant && tag.remove(nbtTagName + "|dummyEnchant") != null) { - for (Tag enchantment : enchantments.clone()) { + for (Tag enchantment : enchantments.copy()) { short id = ((NumberTag) ((CompoundTag) enchantment).get("id")).asShort(); short level = ((NumberTag) ((CompoundTag) enchantment).get("lvl")).asShort(); if (id == 0 && level == 0) { @@ -133,7 +133,7 @@ public class LegacyEnchantmentRewriter { CompoundTag display = tag.get("display"); // A few null checks just to be safe, though they shouldn't actually be ListTag lore = display != null ? display.get("Lore") : null; - for (Tag enchantment : remappedEnchantments.clone()) { + for (Tag enchantment : remappedEnchantments.copy()) { enchantments.add(enchantment); if (lore != null && lore.size() != 0) { lore.remove(lore.get(0)); diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java index 79bec7b8..413aeb23 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java @@ -585,7 +585,7 @@ public class BlockItemPackets1_13 extends com.viaversion.viabackwards.api.rewrit if (blockTag == null) return; ListTag newCanPlaceOn = new ListTag(StringTag.class); - tag.put(extraNbtTag + "|" + tagName, blockTag.clone()); + tag.put(extraNbtTag + "|" + tagName, blockTag.copy()); for (Tag oldTag : blockTag) { Object value = oldTag.getValue(); String[] newValues = value instanceof String ? @@ -611,7 +611,7 @@ public class BlockItemPackets1_13 extends com.viaversion.viabackwards.api.rewrit ListTag newEnchantments = new ListTag(CompoundTag.class); List lore = new ArrayList<>(); boolean hasValidEnchants = false; - for (Tag enchantmentEntryTag : enchantments.clone()) { + for (Tag enchantmentEntryTag : enchantments.copy()) { CompoundTag enchantmentEntry = (CompoundTag) enchantmentEntryTag; Tag idTag = enchantmentEntry.get("id"); if (!(idTag instanceof StringTag)) { @@ -708,7 +708,7 @@ public class BlockItemPackets1_13 extends com.viaversion.viabackwards.api.rewrit } else if (loreTag.size() != 0) { ListTag oldLore = new ListTag(StringTag.class); for (Tag value : loreTag) { - oldLore.add(value.clone()); + oldLore.add(value.copy()); } tag.put(extraNbtTag + "|OldLore", oldLore); @@ -835,7 +835,7 @@ public class BlockItemPackets1_13 extends com.viaversion.viabackwards.api.rewrit if (!(tag.get(tagName) instanceof ListTag)) return; ListTag blockTag = tag.remove(extraNbtTag + "|" + tagName); if (blockTag != null) { - tag.put(tagName, blockTag.clone()); + tag.put(tagName, blockTag.copy()); } else if ((blockTag = tag.get(tagName)) != null) { ListTag newCanPlaceOn = new ListTag(StringTag.class); for (Tag oldTag : blockTag) { diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/storage/PlayerLastCursorItem.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/storage/PlayerLastCursorItem.java index f087ec12..54f00d7e 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/storage/PlayerLastCursorItem.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/storage/PlayerLastCursorItem.java @@ -46,7 +46,7 @@ public class PlayerLastCursorItem implements StorableObject { return null; } Item copy = new DataItem(item); - copy.setTag(copy.tag() == null ? null : copy.tag().clone()); + copy.setTag(copy.tag() == null ? null : copy.tag().copy()); return copy; } } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/data/BackwardsMappings.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/data/BackwardsMappings.java index 0c152f37..294efbf5 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/data/BackwardsMappings.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/data/BackwardsMappings.java @@ -20,13 +20,11 @@ package com.viaversion.viabackwards.protocol.protocol1_18_2to1_19.data; import com.viaversion.viabackwards.api.data.VBMappingDataLoader; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap; -import com.viaversion.viaversion.libs.opennbt.NBTIO; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.NumberTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2; -import java.io.IOException; import org.checkerframework.checker.nullness.qual.Nullable; public final class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings { @@ -41,15 +39,11 @@ public final class BackwardsMappings extends com.viaversion.viabackwards.api.dat protected void loadExtras(final CompoundTag data) { super.loadExtras(data); - try { - final ListTag chatTypes = NBTIO.readTag(VBMappingDataLoader.getResource("chat-types-1.19.1.nbt")).get("values"); - for (final Tag chatType : chatTypes) { - final CompoundTag chatTypeCompound = (CompoundTag) chatType; - final NumberTag idTag = chatTypeCompound.get("id"); - defaultChatTypes.put(idTag.asInt(), chatTypeCompound); - } - } catch (final IOException e) { - e.printStackTrace(); + final ListTag chatTypes = VBMappingDataLoader.loadNBT("chat-types-1.19.1.nbt").get("values"); + for (final Tag chatType : chatTypes) { + final CompoundTag chatTypeCompound = (CompoundTag) chatType; + final NumberTag idTag = chatTypeCompound.get("id"); + defaultChatTypes.put(idTag.asInt(), chatTypeCompound); } } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/packets/EntityPackets1_19.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/packets/EntityPackets1_19.java index 5c04fe99..43709f31 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/packets/EntityPackets1_19.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_18_2to1_19/packets/EntityPackets1_19.java @@ -133,7 +133,7 @@ public final class EntityPackets1_19 extends EntityRewriter