diff --git a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java index 938c26d..b2c9ac3 100644 --- a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java +++ b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java @@ -108,7 +108,7 @@ public class VanillaSync { } private static ItemStack Deserialize(Map.Entry entry) throws CommandSyntaxException { - String nbt= entry.getValue().replace("|",","); + String nbt= entry.getValue().replace("|",",").replace("^","\"").replace("[","{").replace("]","}"); CompoundTag compoundTag = NbtUtils.snbtToStructure(nbt); return ItemStack.of(compoundTag); } @@ -136,20 +136,20 @@ public class VanillaSync { for (int i = 0; i < player.getInventory().armor.size(); i++) { ItemStack itemStack = player.getInventory().armor.get(i); if(itemStack.isEmpty()) continue; - equipment.put(i,itemStack.serializeNBT().toString().replace(",","|")); + equipment.put(i,itemStack.serializeNBT().toString().replace(",","|").replace("\"","^").replace("{","[").replace("}","]")); } //inventory Inventory inventory = player.getInventory(); Map inventoryMap=new HashMap<>(); for (int i = 0; i < inventory.items.size(); i++) { CompoundTag itemNBT = inventory.items.get(i).serializeNBT(); - inventoryMap.put(i,itemNBT.toString().replace(",","|")); + inventoryMap.put(i,itemNBT.toString().replace(",","|").replace("\"","^").replace("{","[").replace("}","]")); } //EnderChest Map ender_chest=new HashMap<>(); for (int i=0;i< player.getEnderChestInventory().getContainerSize();i++) { CompoundTag itemNBT = player.getEnderChestInventory().getItem(i).serializeNBT(); - ender_chest.put(i,itemNBT.toString().replace(",","|")); + ender_chest.put(i,itemNBT.toString().replace(",","|").replace("\"","^").replace("{","[").replace("}","]")); } //Effects Map effects= player.getActiveEffectsMap();