Skip to content
This repository was archived by the owner on Aug 18, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

group 'com.redlimerl'
version '0.5.3'
version '0.5.4'
repositories {
mavenCentral()
}
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/pistacium/modcheck/ModCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.google.gson.JsonParser;
import com.pistacium.modcheck.mod.ModData;
import com.pistacium.modcheck.mod.version.ModVersion;
import com.pistacium.modcheck.util.Config;
import com.pistacium.modcheck.util.ModCheckStatus;
import com.pistacium.modcheck.util.ModCheckUtils;

Expand Down Expand Up @@ -32,6 +33,8 @@ public static void setStatus(ModCheckStatus status) {

public static final ArrayList<ModData> AVAILABLE_MODS = new ArrayList<>();

public static Config config;


public static void main(String[] args) {
THREAD_EXECUTOR.submit(() -> {
Expand Down
5 changes: 4 additions & 1 deletion src/main/java/com/pistacium/modcheck/ModCheckFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.pistacium.modcheck.mod.ModData;
import com.pistacium.modcheck.mod.resource.ModResource;
import com.pistacium.modcheck.mod.version.ModVersion;
import com.pistacium.modcheck.util.Config;
import com.pistacium.modcheck.util.ModCheckStatus;
import com.pistacium.modcheck.util.ModCheckUtils;
import com.pistacium.modcheck.util.SwingUtils;
Expand Down Expand Up @@ -81,7 +82,8 @@ private void initHeaderLayout() {

JButton selectPathButton = new JButton("Select Instance Paths");
selectPathButton.addActionListener(e -> {
JFileChooser pathSelector = new JFileChooser();
Config instanceDir = ModCheckUtils.readConfig();
JFileChooser pathSelector = instanceDir == null ? new JFileChooser() : new JFileChooser(instanceDir.getDir());
pathSelector.setMultiSelectionEnabled(true);
pathSelector.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
pathSelector.setDialogType(JFileChooser.CUSTOM_DIALOG);
Expand Down Expand Up @@ -111,6 +113,7 @@ public Object getItem() {
}
selectedDirLabel.setText("<html>Selected Instances : <br>" + stringBuilder.substring(0, stringBuilder.length() - (stringBuilder.length() != 0 ? 2 : 0)) + "</html>");
}
ModCheckUtils.writeConfig(files[0].getParentFile());
});

instanceSelectPanel.add(selectPathButton);
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/com/pistacium/modcheck/util/Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.pistacium.modcheck.util;

import java.io.File;

public class Config {
final String filepath;

public Config(String filepath) {
this.filepath = filepath;
}

public File getDir() {
return new File(filepath);
}
}
34 changes: 32 additions & 2 deletions src/main/java/com/pistacium/modcheck/util/ModCheckUtils.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pistacium.modcheck.util;

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.*;
import com.pistacium.modcheck.ModCheck;

import java.io.*;
import java.net.HttpURLConnection;
Expand Down Expand Up @@ -75,4 +75,34 @@ public static String getAPIUrl(String url, String type) {

return url;
}

public static Config readConfig() {
Gson gson = new Gson();
File file = new File("modcheck.json");
if (!file.exists()) {
return null;
}
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
assert br != null;
return gson.fromJson(br, Config.class);
}

public static void writeConfig(File dir) {
File file = new File("modcheck.json");
Config config = new Config(dir.getPath());
try (Writer writer = new FileWriter(file)) {
Gson gson = new GsonBuilder()
.setPrettyPrinting()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.create();
gson.toJson(config, writer);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}