First working version
This commit is contained in:
31
src/main/java/ru/bitheaven/donpayinteg/config/Action.java
Normal file
31
src/main/java/ru/bitheaven/donpayinteg/config/Action.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package ru.bitheaven.donpayinteg.config;
|
||||
|
||||
public class Action {
|
||||
private int sum = 1;
|
||||
private String message = "{username} donated";
|
||||
private String command = "give @a dirt";
|
||||
|
||||
public int getSum() {
|
||||
return sum;
|
||||
}
|
||||
|
||||
public void setSum(int sum) {
|
||||
this.sum = sum;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getCommand() {
|
||||
return command;
|
||||
}
|
||||
|
||||
public void setCommand(String command) {
|
||||
this.command = command;
|
||||
}
|
||||
}
|
||||
36
src/main/java/ru/bitheaven/donpayinteg/config/Config.java
Normal file
36
src/main/java/ru/bitheaven/donpayinteg/config/Config.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package ru.bitheaven.donpayinteg.config;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class Config {
|
||||
private String donpayToken = "<YOUR_TOKEN>";
|
||||
private int lastDonate = 0;
|
||||
private List<Action> actions = List.of(new Action());
|
||||
|
||||
|
||||
public String getDonpayToken() {
|
||||
return donpayToken;
|
||||
}
|
||||
|
||||
public void setDonpayToken(String donpayToken) {
|
||||
this.donpayToken = donpayToken;
|
||||
}
|
||||
|
||||
public int getLastDonate() {
|
||||
return lastDonate;
|
||||
}
|
||||
|
||||
public void setLastDonate(int lastDonate) {
|
||||
this.lastDonate = lastDonate;
|
||||
}
|
||||
|
||||
public List<Action> getActions() {
|
||||
return actions;
|
||||
}
|
||||
|
||||
public void setActions(List<Action> actions) {
|
||||
this.actions = actions;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package ru.bitheaven.donpayinteg.config;
|
||||
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import org.yaml.snakeyaml.DumperOptions;
|
||||
import org.yaml.snakeyaml.LoaderOptions;
|
||||
import org.yaml.snakeyaml.Yaml;
|
||||
|
||||
import org.yaml.snakeyaml.constructor.Constructor;
|
||||
import org.yaml.snakeyaml.inspector.TagInspector;
|
||||
import ru.bitheaven.donpayinteg.DonPayInteg;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import static ru.bitheaven.donpayinteg.DonPayInteg.LOGGER;
|
||||
|
||||
|
||||
public class ConfigHandler {
|
||||
|
||||
private static final String PATH = FabricLoader.getInstance().getConfigDir().resolve(DonPayInteg.MOD_ID + ".yaml").toString();
|
||||
|
||||
public static void register() {
|
||||
if(!new File(PATH).exists())
|
||||
std();
|
||||
}
|
||||
|
||||
public static Config load() {
|
||||
LoaderOptions loaderOptions = new LoaderOptions();
|
||||
loaderOptions.setTagInspector(tag -> tag.getClassName().equals(Config.class.getName()));
|
||||
Yaml yaml = new Yaml(new Constructor(Config.class, loaderOptions));
|
||||
Config config;
|
||||
try {
|
||||
config = yaml.load(new FileInputStream(PATH));
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static void save(Config config) {
|
||||
DumperOptions options = new DumperOptions();
|
||||
options.setIndent(2);
|
||||
options.setPrettyFlow(true);
|
||||
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
|
||||
Yaml yaml = new Yaml(options);
|
||||
|
||||
try {
|
||||
yaml.dump(config, new FileWriter(PATH));
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void std() {
|
||||
save(new Config());
|
||||
LOGGER.info("Created new config file");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user