Example config
Show/hide
:
public class Configs implements IConfigHandler {
private static final Path CONFIG_FILE = FabricLoader.getInstance().getConfigDir(CONFIG_FILE_NAME);
public class ConfigClass {
public static final ConfigBoolean EXAMPLE_BOOLEAN = new ConfigBoolean("Example boolean", false);
public static final ImmutableList OPTIONS = ImmutableList.of(
EXAMPLE_BOOLEAN
);
}
@Override
public void load() {
if (Files.exists(CONFIG_FILE) && Files.isReadable(CONFIG_FILE)) {
JsonElement element = JsonUtils.parseJsonFile(CONFIG_FILE);
if (element != null && element.isJsonObject()) {
JsonObject root = element.getAsJsonObject();
ConfigUtils.readConfigBase(root, "main", Configs.ConfigClass.OPTIONS);
}
} else {
System.err.println("load(): Failed to load config file " + CONFIG_FILE.toAbsolutePath());
}
}
@Override
public void save() {
JsonObject root = new JsonObject();
ConfigUtils.writeConfigBase(root, "main", Configs.ConfigClass.OPTIONS);
JsonUtils.writeJsonToFile(root, CONFIG_FILE);
}
}