First working version

This commit is contained in:
2024-09-25 23:19:00 +05:00
commit e3ef43ecff
14 changed files with 1242 additions and 0 deletions

View 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;
}
}

View 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;
}
}

View File

@@ -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");
}
}