diff options
| author | DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> | 2023-10-19 23:32:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-19 23:32:12 +0200 |
| commit | 54e236158db9b5947d125f83b29e53cf27f73a79 (patch) | |
| tree | 213b29b23bf294700cfb144e7878ed869e6acff8 /src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java | |
| parent | e0a2f5f5991048317f5c045feca084a1413c45fd (diff) | |
| download | notenoughupdates-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.java | 58 |
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")); } /** |
