diff --git a/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java b/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java index 51f3c45..efb3882 100644 --- a/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java +++ b/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java @@ -49,15 +49,13 @@ public class ModsSupport { Map storedMap = LocalJsonUtil.StringToMap(curiosData); // Clear current Curios slots to avoid conflicts. - handlerOpt.ifPresent(handler -> { - handler.getCurios().forEach((slotType, stacksHandler) -> { - // Use the dynamic stack handler to clear slots. - IDynamicStackHandler dynStacks = stacksHandler.getStacks(); - for (int i = 0; i < dynStacks.getSlots(); i++) { - dynStacks.setStackInSlot(i, ItemStack.EMPTY); - } - }); - }); + handlerOpt.ifPresent(handler -> handler.getCurios().forEach((slotType, stacksHandler) -> { + // Use the dynamic stack handler to clear slots. + IDynamicStackHandler dynStacks = stacksHandler.getStacks(); + for (int i = 0; i < dynStacks.getSlots(); i++) { + dynStacks.setStackInSlot(i, ItemStack.EMPTY); + } + })); // Restore each saved item. handlerOpt.ifPresent(handler -> { @@ -109,7 +107,7 @@ public class ModsSupport { if (uuidOpt.isPresent()) { UUID contentsUuid = uuidOpt.get(); try { - JDBCsetUp.QueryResult qrBackpack = JDBCsetUp.executeQuery("SELECT backpack_nbt FROM backpack_data WHERE uuid='" + contentsUuid.toString() + "'"); + JDBCsetUp.QueryResult qrBackpack = JDBCsetUp.executeQuery("SELECT backpack_nbt FROM backpack_data WHERE uuid='" + contentsUuid + "'"); ResultSet rsBackpack = qrBackpack.resultSet(); if (rsBackpack.next()) { String serialized = rsBackpack.getString("backpack_nbt"); @@ -186,7 +184,7 @@ public class ModsSupport { String serialized = VanillaSync.serialize(backpackNbt.toString()); try { // Use REPLACE INTO so existing records are updated - JDBCsetUp.executeUpdate("REPLACE INTO backpack_data (uuid, backpack_nbt) VALUES ('" + contentsUuid.toString() + "', '" + serialized + "')"); + JDBCsetUp.executeUpdate("REPLACE INTO backpack_data (uuid, backpack_nbt) VALUES ('" + contentsUuid + "', '" + serialized + "')"); PlayerSync.LOGGER.info("Saved backpack data for UUID " + contentsUuid); } catch (SQLException e) { PlayerSync.LOGGER.error("Error saving backpack data for UUID " + contentsUuid, e); diff --git a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java index 0375cc0..1fb44a7 100644 --- a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java +++ b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java @@ -1,20 +1,6 @@ package vip.fubuki.playersync.sync; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import java.io.File; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Base64; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.UUID; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.network.chat.Component; @@ -36,11 +22,20 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.server.ServerLifecycleHooks; import vip.fubuki.playersync.PlayerSync; import vip.fubuki.playersync.config.JdbcConfig; -import vip.fubuki.playersync.sync.ModsSupport; import vip.fubuki.playersync.util.JDBCsetUp; import vip.fubuki.playersync.util.LocalJsonUtil; import vip.fubuki.playersync.util.PSThreadPoolFactory; +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + @Mod.EventBusSubscriber public class VanillaSync { @@ -223,7 +218,7 @@ public class VanillaSync { // Check the config option for backwards compatibility during writing if (JdbcConfig.USE_LEGACY_SERIALIZATION.get()) { // Use old custom replacement logic - return objeƄct.replace(",", "|") + return object.replace(",", "|") .replace("\"", "^") .replace("{", "<") .replace("}", ">")