aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2023-10-19 23:32:12 +0200
committerGitHub <noreply@github.com>2023-10-19 23:32:12 +0200
commit54e236158db9b5947d125f83b29e53cf27f73a79 (patch)
tree213b29b23bf294700cfb144e7878ed869e6acff8 /src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
parente0a2f5f5991048317f5c045feca084a1413c45fd (diff)
downloadnotenoughupdates-54e236158db9b5947d125f83b29e53cf27f73a79.tar.gz
notenoughupdates-54e236158db9b5947d125f83b29e53cf27f73a79.tar.bz2
notenoughupdates-54e236158db9b5947d125f83b29e53cf27f73a79.zip
Use atomic move for config + small cleanup (#881)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java58
1 files changed, 8 insertions, 50 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
index 268fddd5..f878dbf1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
@@ -26,6 +26,7 @@ import com.google.gson.JsonObject;
import io.github.moulberry.notenoughupdates.autosubscribe.AutoLoad;
import io.github.moulberry.notenoughupdates.autosubscribe.NEUAutoSubscribe;
import io.github.moulberry.notenoughupdates.core.BackgroundBlur;
+import io.github.moulberry.notenoughupdates.core.config.ConfigUtil;
import io.github.moulberry.notenoughupdates.cosmetics.ShaderManager;
import io.github.moulberry.notenoughupdates.listener.ChatListener;
import io.github.moulberry.notenoughupdates.listener.ItemTooltipEssenceShopListener;
@@ -83,14 +84,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.awt.*;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Set;
@@ -205,16 +199,7 @@ public class NotEnoughUpdates {
configFile = new File(neuDir, "configNew.json");
if (configFile.exists()) {
- try (
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- new FileInputStream(configFile),
- StandardCharsets.UTF_8
- ))
- ) {
- config = gson.fromJson(reader, NEUConfig.class);
- } catch (Exception exc) {
- new RuntimeException("Invalid config file. This will reset the config to default", exc).printStackTrace();
- }
+ config = ConfigUtil.loadConfig(NEUConfig.class, configFile, gson);
}
ItemCustomizeManager.loadCustomization(new File(neuDir, "itemCustomization.json"));
@@ -326,40 +311,13 @@ public class NotEnoughUpdates {
} catch (Exception ignored) {
}
- try {
- configFile.createNewFile();
-
- try (
- BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
- new FileOutputStream(configFile),
- StandardCharsets.UTF_8
- ))
- ) {
- writer.write(gson.toJson(config));
- }
- } catch (Exception ignored) {
- }
+ ConfigUtil.saveConfig(config, configFile, gson);
- try {
- ItemCustomizeManager.saveCustomization(new File(neuDir, "itemCustomization.json"));
- } catch (Exception ignored) {
- }
- try {
- StorageManager.getInstance().saveConfig(new File(neuDir, "storageItems.json"));
- } catch (Exception ignored) {
- }
- try {
- FairySouls.getInstance().saveFoundSoulsForAllProfiles(new File(neuDir, "collected_fairy_souls.json"), gson);
- } catch (Exception ignored) {
- }
- try {
- PetInfoOverlay.saveConfig(new File(neuDir, "petCache.json"));
- } catch (Exception ignored) {
- }
- try {
- SlotLocking.getInstance().saveConfig(new File(neuDir, "slotLocking.json"));
- } catch (Exception ignored) {
- }
+ ItemCustomizeManager.saveCustomization(new File(neuDir, "itemCustomization.json"));
+ StorageManager.getInstance().saveConfig(new File(neuDir, "storageItems.json"));
+ FairySouls.getInstance().saveFoundSoulsForAllProfiles(new File(neuDir, "collected_fairy_souls.json"), gson);
+ PetInfoOverlay.saveConfig(new File(neuDir, "petCache.json"));
+ SlotLocking.getInstance().saveConfig(new File(neuDir, "slotLocking.json"));
}
/**