Skip to content

Commit 9a34344

Browse files
committed
fix with autosave and not loading default items
1 parent 8915b45 commit 9a34344

2 files changed

Lines changed: 23 additions & 17 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ yarn_mappings=1.19.2+build.28
88
loader_version=0.14.21
99

1010
# Mod Properties
11-
mod_version=1.5.2-Alpha+1.19.2
11+
mod_version=1.5.3-Alpha+1.19.2
1212
maven_group=pl.lordtricker
1313
archives_base_name=ltrynek
1414

src/client/java/pl/lordtricker/ltrynek/client/command/ClientCommandRegistration.java

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ private static void registerLtrynekCommand(
144144
));
145145

146146
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
147+
syncMemoryToConfig();
147148
return 1;
148149
})
149150
)
@@ -164,6 +165,7 @@ private static void registerLtrynekCommand(
164165
"profile", activeProfile
165166
));
166167
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
168+
syncMemoryToConfig();
167169
return 1;
168170
})
169171
)
@@ -260,6 +262,7 @@ private static void registerLtrynekCommand(
260262
LtrynekClient.serversConfig.soundsEnabled = true;
261263
String msg = Messages.get("command.sounds.enabled");
262264
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
265+
saveAllConfigs(LtrynekClient.serversConfig);
263266
return 1;
264267
})
265268
)
@@ -268,6 +271,7 @@ private static void registerLtrynekCommand(
268271
LtrynekClient.serversConfig.soundsEnabled = false;
269272
String msg = Messages.get("command.sounds.disabled");
270273
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
274+
saveAllConfigs(LtrynekClient.serversConfig);
271275
return 1;
272276
})
273277
)
@@ -392,27 +396,29 @@ private static void registerLtrynekCommand(
392396
}
393397

394398
private static void syncMemoryToConfig() {
399+
if (LtrynekClient.serversConfig == null || LtrynekClient.serversConfig.servers == null) {
400+
return;
401+
}
395402
Map<String, List<PriceEntry>> allProfiles = ClientPriceListManager.getAllProfiles();
396-
for (Map.Entry<String, List<PriceEntry>> profEntry : allProfiles.entrySet()) {
397-
String profileName = profEntry.getKey();
398-
List<PriceEntry> priceEntries = profEntry.getValue();
399-
ServerEntry se = findServerEntryByProfile(profileName);
400-
if (se == null) continue;
401-
for (PriceEntry storedPe : priceEntries) {
402-
boolean exists = se.prices.stream().anyMatch(pe -> pe.name.equals(storedPe.name));
403-
if (!exists) {
404-
PriceEntry pe = new PriceEntry();
405-
pe.name = storedPe.name;
406-
pe.maxPrice = storedPe.maxPrice;
407-
pe.lore = storedPe.lore;
408-
pe.material = storedPe.material;
409-
pe.enchants = storedPe.enchants;
410-
se.prices.add(pe);
411-
}
403+
404+
for (ServerEntry se : LtrynekClient.serversConfig.servers) {
405+
List<PriceEntry> memList = allProfiles.getOrDefault(se.profileName, List.of());
406+
se.prices.clear();
407+
for (PriceEntry src : memList) {
408+
PriceEntry pe = new PriceEntry();
409+
pe.name = src.name;
410+
pe.maxPrice = src.maxPrice;
411+
pe.lore = src.lore;
412+
pe.material = src.material;
413+
pe.enchants = src.enchants;
414+
se.prices.add(pe);
412415
}
413416
}
417+
418+
saveAllConfigs(LtrynekClient.serversConfig);
414419
}
415420

421+
416422
private static void reinitProfilesFromConfig() {
417423
for (ServerEntry entry : LtrynekClient.serversConfig.servers) {
418424
ClientPriceListManager.setActiveProfile(entry.profileName);

0 commit comments

Comments
 (0)