Skip to content

Commit bfd2e4d

Browse files
committed
fix with autosave and not loading default items
1 parent b3c826a commit bfd2e4d

2 files changed

Lines changed: 22 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.20.4+build.3
88
loader_version=0.16.10
99

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

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

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

145145
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
146+
syncMemoryToConfig();
146147
return 1;
147148
})
148149
)
@@ -162,6 +163,7 @@ private static void registerLtrynekCommand(
162163
"profile", activeProfile
163164
));
164165
ctx.getSource().sendFeedback(ColorUtils.translateColorCodes(msg));
166+
syncMemoryToConfig();
165167
return 1;
166168
})
167169
)
@@ -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
)
@@ -393,28 +397,29 @@ private static void registerLtrynekCommand(
393397
}
394398

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

422+
418423
private static void reinitProfilesFromConfig() {
419424
for (ServerEntry entry : LtrynekClient.serversConfig.servers) {
420425
ClientPriceListManager.setActiveProfile(entry.profileName);

0 commit comments

Comments
 (0)