Merge pull request #117 from mlus-asuka/1.20.1-dev

may fix #111
This commit is contained in:
mlus 2025-09-16 22:12:55 +08:00 committed by GitHub
commit 9055e9d342
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -37,14 +37,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<String, String> 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.
@ -54,9 +48,14 @@ public class ModsSupport {
}
}));
if (curiosData.length() <= 2) {
rs.close();
qr.connection().close();
return;
}
// Restore each saved item.
handlerOpt.ifPresent(handler -> {
handler.getCurios().clear();
for (Map.Entry<String, String> entry : storedMap.entrySet()) {
String compositeKey = entry.getKey(); // Expected format: "slotType:index"
String[] parts = compositeKey.split(":");