Added customizable config messages & feature toggles

This commit is contained in:
2025-03-25 22:59:05 +01:00
parent 8377f36114
commit c8f907dc57
8 changed files with 124 additions and 50 deletions

View File

@ -0,0 +1,43 @@
package wtf.hak.survivalfabric.config;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.fabricmc.loader.api.FabricLoader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ConfigManager {
private static final File CONFIG_FILE = FabricLoader.getInstance().getConfigDir().resolve("survivalfabric.json").toFile();
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static Config INSTANCE;
public static Config getConfig() {
if (INSTANCE == null) {
return load();
}else
return INSTANCE;
}
public static Config load() {
try(FileReader reader = new FileReader(CONFIG_FILE)) {
return GSON.fromJson(reader, Config.class);
} catch (IOException e) {
Config config = new Config();
save(config);
return config;
}
}
public static void save(Config config) {
try(FileWriter writer = new FileWriter(CONFIG_FILE)) {
GSON.toJson(config, writer);
} catch (IOException e) {
System.out.println("Error saving config: " + e.getMessage());
}
}
}