mirror of
https://github.com/ViaVersion/ViaBackwards.git
synced 2024-12-20 16:37:48 +01:00
Update ViaNBT
This commit is contained in:
parent
83fa0c613f
commit
651bf052fc
@ -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<CompoundTag> 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);
|
||||
|
@ -73,7 +73,7 @@ public abstract class ItemRewriterBase<C extends ClientboundPacketType, S extend
|
||||
// Clone all tag entries
|
||||
ListTag listTag = new ListTag();
|
||||
for (Tag tag : original.getValue()) {
|
||||
listTag.add(tag.clone());
|
||||
listTag.add(tag.copy());
|
||||
}
|
||||
|
||||
displayTag.put(backupName, listTag);
|
||||
|
@ -51,7 +51,7 @@ public class LegacyEnchantmentRewriter {
|
||||
ListTag enchantments = tag.get(key);
|
||||
ListTag remappedEnchantments = new ListTag(CompoundTag.class);
|
||||
List<Tag> 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));
|
||||
|
@ -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<Tag> 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) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -133,7 +133,7 @@ public final class EntityPackets1_19 extends EntityRewriter<ClientboundPackets1_
|
||||
final CompoundTag dimensionCompound = (CompoundTag) dimension;
|
||||
final StringTag nameTag = dimensionCompound.get("name");
|
||||
final CompoundTag dimensionData = dimensionCompound.get("element");
|
||||
dimensionRegistryStorage.addDimension(nameTag.getValue(), dimensionData.clone());
|
||||
dimensionRegistryStorage.addDimension(nameTag.getValue(), dimensionData.copy());
|
||||
|
||||
if (!found && nameTag.getValue().equals(dimensionKey)) {
|
||||
wrapper.write(Type.NAMED_COMPOUND_TAG, dimensionData);
|
||||
|
@ -33,7 +33,7 @@ public final class DimensionRegistryStorage implements StorableObject {
|
||||
|
||||
public @Nullable CompoundTag dimension(final String dimensionKey) {
|
||||
final CompoundTag compoundTag = dimensions.get(dimensionKey);
|
||||
return compoundTag != null ? compoundTag.clone() : null;
|
||||
return compoundTag != null ? compoundTag.copy() : null;
|
||||
}
|
||||
|
||||
public void addDimension(final String dimensionKey, final CompoundTag dimension) {
|
||||
|
@ -18,10 +18,8 @@
|
||||
package com.viaversion.viabackwards.protocol.protocol1_19_4to1_20.data;
|
||||
|
||||
import com.viaversion.viabackwards.api.data.VBMappingDataLoader;
|
||||
import com.viaversion.viaversion.libs.opennbt.NBTIO;
|
||||
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
|
||||
import com.viaversion.viaversion.protocols.protocol1_20to1_19_4.Protocol1_20To1_19_4;
|
||||
import java.io.IOException;
|
||||
|
||||
public class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings {
|
||||
|
||||
@ -35,14 +33,10 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
|
||||
protected void loadExtras(CompoundTag data) {
|
||||
super.loadExtras(data);
|
||||
|
||||
try {
|
||||
trimPatternRegistry = NBTIO.readTag(VBMappingDataLoader.getResource("trim_pattern-1.19.4.nbt"));
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
trimPatternRegistry = VBMappingDataLoader.loadNBT("trim_pattern-1.19.4.nbt");
|
||||
}
|
||||
|
||||
public CompoundTag getTrimPatternRegistry() {
|
||||
return trimPatternRegistry;
|
||||
return trimPatternRegistry.copy();
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ public final class EntityPackets1_20 extends EntityRewriter<ClientboundPackets1_
|
||||
if (registry.contains("minecraft:trim_pattern")) {
|
||||
values = ((CompoundTag) registry.get("minecraft:trim_pattern")).get("value");
|
||||
} else {
|
||||
final CompoundTag trimPatternRegistry = Protocol1_19_4To1_20.MAPPINGS.getTrimPatternRegistry().clone();
|
||||
final CompoundTag trimPatternRegistry = Protocol1_19_4To1_20.MAPPINGS.getTrimPatternRegistry().copy();
|
||||
registry.put("minecraft:trim_pattern", trimPatternRegistry);
|
||||
values = trimPatternRegistry.get("value");
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public final class Protocol1_19To1_19_1 extends BackwardsProtocol<ClientboundPac
|
||||
|
||||
// Replace with 1.19 chat types
|
||||
// Ensures that the client has a chat type for system message, with and without overlay
|
||||
registry.put("minecraft:chat_type", EntityPackets.CHAT_REGISTRY.clone());
|
||||
registry.put("minecraft:chat_type", EntityPackets.CHAT_REGISTRY.copy());
|
||||
});
|
||||
handler(entityRewriter.worldTrackerHandlerByKey());
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ rootProject.name = "viabackwards-parent"
|
||||
|
||||
dependencyResolutionManagement {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
maven("https://repo.viaversion.com")
|
||||
maven("https://repo.papermc.io/repository/maven-public/")
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
|
Loading…
Reference in New Issue
Block a user