package tterrag.tppibot.config;
import java.io.File;
import java.io.IOException;
import lombok.Setter;
import tterrag.tppibot.Main;
import tterrag.tppibot.util.SaveUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Config {
private File configFile;
public static final File baseDir;
@Setter
private Gson gson = new GsonBuilder().setPrettyPrinting().create();
static {
baseDir = new File(Main.overrideFile == null ? System.getProperty("user.home") + "/.tppibot" : Main.overrideFile);
if (!baseDir.exists()) {
baseDir.mkdirs();
}
}
public Config(String filename) {
this.configFile = new File(baseDir.getAbsolutePath() + "/" + filename);
if (!configFile.exists()) {
try {
configFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void addJsonToFile(Object o) {
String json = gson.toJson(o);
SaveUtils.addToFile(configFile, json + "\n");
}
/**
* Warning, overwrites current text if it exists
*/
public void writeJsonToFile(Object o) {
String json = gson.toJson(o);
writeTextToFile(json);
}
public void writeTextToFile(String s) {
SaveUtils.saveAllToFile(configFile, s + "\n");
}
public String getText() {
return SaveUtils.readTextFile(configFile);
}
public void writeInt(int n) {
SaveUtils.saveAllToFile(configFile, "" + n);
}
}