diff --git a/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java b/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java index b07db91..3a86cb9 100644 --- a/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java +++ b/src/main/java/vip/fubuki/playersync/sync/ModsSupport.java @@ -36,14 +36,8 @@ public class ModsSupport { ResultSet rs = qr.resultSet(); if (rs.next()) { String curiosData = rs.getString("curios_item"); - if (curiosData.length() <= 2) { - rs.close(); - qr.connection().close(); - return; - } // Parse the stored data (assumes a simple Map.toString() format: "{key=value, key2=value2, ...}") 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. @@ -53,6 +47,12 @@ public class ModsSupport { } })); + if (curiosData.length() <= 2) { + rs.close(); + qr.connection().close(); + return; + } + // Restore each saved item. handlerOpt.ifPresent(handler -> { for (Map.Entry entry : storedMap.entrySet()) {