From d8c3bac31fcfaf8c0db03b3f429cae360c2ec724 Mon Sep 17 00:00:00 2001 From: mlus <1319237806@qq.com> Date: Tue, 17 Feb 2026 15:41:45 +0800 Subject: [PATCH] new nbt serializer --- .../vip/fubuki/playersync/mixin/cobblemon/MixinPCStore.java | 3 ++- .../fubuki/playersync/mixin/cobblemon/MixinPartyStore.java | 3 ++- .../java/vip/fubuki/playersync/sync/addons/ModsSupport.java | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPCStore.java b/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPCStore.java index 41ad349..c34e609 100644 --- a/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPCStore.java +++ b/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPCStore.java @@ -5,6 +5,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; +import net.minecraft.nbt.TagParser; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -45,7 +46,7 @@ public class MixinPCStore { ResultSet rs = qr.resultSet(); if (rs.next()) { String serializedData = rs.getString("pc"); - loadedNbt = NbtUtils.snbtToStructure(serializedData); + loadedNbt = TagParser.parseTag(serializedData); } rs.close(); diff --git a/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPartyStore.java b/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPartyStore.java index bc11c73..f9f9e98 100644 --- a/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPartyStore.java +++ b/src/main/java/vip/fubuki/playersync/mixin/cobblemon/MixinPartyStore.java @@ -5,6 +5,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; +import net.minecraft.nbt.TagParser; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -45,7 +46,7 @@ public class MixinPartyStore { ResultSet rs = qr.resultSet(); if (rs.next()) { String serializedData = rs.getString("inv"); - loadedNbt = NbtUtils.snbtToStructure(serializedData); + loadedNbt = TagParser.parseTag(serializedData); } rs.close(); diff --git a/src/main/java/vip/fubuki/playersync/sync/addons/ModsSupport.java b/src/main/java/vip/fubuki/playersync/sync/addons/ModsSupport.java index ff64679..5bb3d80 100644 --- a/src/main/java/vip/fubuki/playersync/sync/addons/ModsSupport.java +++ b/src/main/java/vip/fubuki/playersync/sync/addons/ModsSupport.java @@ -3,6 +3,7 @@ package vip.fubuki.playersync.sync.addons; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; +import net.minecraft.nbt.TagParser; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.neoforged.fml.ModList; @@ -43,7 +44,7 @@ public class ModsSupport { if (rsBackpack.next()) { String serialized = rsBackpack.getString("backpack_nbt"); String nbtString = VanillaSync.deserializeString(serialized); - CompoundTag backpackNbt = NbtUtils.snbtToStructure(nbtString); + CompoundTag backpackNbt = TagParser.parseTag(nbtString); // Update BackpackStorage with the retrieved NBT net.p3pp3rf1y.sophisticatedbackpacks.backpack.BackpackStorage.get().setBackpackContents(contentsUuid, backpackNbt); PlayerSync.LOGGER.info("Restored backpack data for UUID " + contentsUuid); @@ -110,7 +111,7 @@ public class ModsSupport { String serialized = entry.getValue(); try { String nbtString = VanillaSync.deserializeString(serialized); - CompoundTag tag = NbtUtils.snbtToStructure(nbtString); + CompoundTag tag = TagParser.parseTag(nbtString); ItemStack stack = ItemStack.parse(ServerLifecycleHooks.getCurrentServer().registryAccess(),tag).get(); if (handler.getCurios().containsKey(slotType)) { ICurioStacksHandler stacksHandler = handler.getCurios().get(slotType);