Respackopts/src/main/java/io/gitlab/jfronny/respackopts/Respackopts.java

61 lines
2.0 KiB
Java

package io.gitlab.jfronny.respackopts;
import com.google.gson.Gson;
import io.gitlab.jfronny.respackopts.data.Config;
import io.gitlab.jfronny.respackopts.data.Respackmeta;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.FabricLoader;
import org.lwjgl.stb.STBRPNode;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.HashMap;
@Environment(EnvType.CLIENT)
public class Respackopts implements ClientModInitializer {
public static HashMap<String, HashMap<String, Boolean>> boolVals;
public static HashMap<String, HashMap<String, Double>> numVals;
public static HashMap<String, HashMap<String, String>> strVals;
public static Gson g = new Gson();
public static GuiFactory factory = new GuiFactory();
public static final Integer metaVersion = 1;
public static HashMap<String, Respackmeta> resPackMetas = new HashMap<>();
public static final String ID = "respackopts";
static final Path p = FabricLoader.getInstance().getConfigDir().resolve("respackopts.json");
@Override
public void onInitializeClient() {
try {
Reader reader = Files.newBufferedReader(p);
Config c = g.fromJson(reader, Config.class);
boolVals = c.boolVals;
numVals = c.numVals;
strVals = c.strVals;
} catch (IOException e) {
e.printStackTrace();
}
if (boolVals == null)
boolVals = new HashMap<>();
if (numVals == null)
numVals = new HashMap<>();
if (strVals == null)
strVals = new HashMap<>();
}
public static void save() {
System.out.println("Yay");
Config c = new Config();
c.boolVals = boolVals;
c.numVals = numVals;
c.strVals = strVals;
try {
Writer writer = Files.newBufferedWriter(p);
g.toJson(c, writer);
} catch (IOException e) {
e.printStackTrace();
}
}
}