3
0
Fork 1
KCauldronX/src/main/java/kcauldron/KCauldronConfig.java

80 lines
3.1 KiB
Java
Raw Normal View History

2015-05-31 11:21:26 +00:00
package kcauldron;
import org.bukkit.configuration.file.YamlConfiguration;
import net.minecraft.server.MinecraftServer;
import net.minecraftforge.cauldron.configuration.BoolSetting;
import net.minecraftforge.cauldron.configuration.ConfigBase;
import net.minecraftforge.cauldron.configuration.Setting;
import net.minecraftforge.cauldron.configuration.StringSetting;
public class KCauldronConfig extends ConfigBase {
2015-06-27 09:32:21 +00:00
public BoolSetting commandEnable = new BoolSetting(this, "command.enable",
2015-06-27 12:47:27 +00:00
true, "Enable KCauldron command");
2015-06-27 09:32:21 +00:00
public BoolSetting updatecheckerEnable = new BoolSetting(this,
2015-06-27 12:47:27 +00:00
"updatechecker.enable", true, "Enable KCauldron update checker");
2015-06-27 09:32:21 +00:00
public StringSetting updatecheckerSymlinks = new StringSetting(this,
2015-06-27 12:47:27 +00:00
"updatechecker.symlinks", "KCauldron.jar", "(Re)create symlinks after update");
2015-06-27 09:32:21 +00:00
public BoolSetting updatecheckerAutoinstall = new BoolSetting(this,
2015-06-27 12:47:27 +00:00
"updatechecker.autoinstall", false, "Install updates without confirming");
2015-06-27 09:32:21 +00:00
public BoolSetting updatecheckerAutorestart = new BoolSetting(this,
2015-06-27 12:47:27 +00:00
"updatechecker.autorestart", false, "Restart server after updating without confirming (set restart script in spigot.yml)");
2015-06-27 09:32:21 +00:00
public BoolSetting updatecheckerQuite = new BoolSetting(this,
2015-06-27 12:47:27 +00:00
"updatechecker.quite", false, "Print less info during update");
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
public BoolSetting loggingMaterialInjection = new BoolSetting(this,
2015-06-27 12:47:27 +00:00
"logging.materialInjection", false, "Log material injection event");
2015-06-27 09:32:21 +00:00
public KCauldronConfig() {
2015-06-27 12:47:27 +00:00
super("kcauldron.yml", "kc");
register(commandEnable);
register(updatecheckerEnable);
register(updatecheckerSymlinks);
register(updatecheckerAutoinstall);
register(updatecheckerAutorestart);
register(updatecheckerQuite);
register(loggingMaterialInjection);
load();
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
private void register(Setting<?> setting) {
2015-06-27 12:47:27 +00:00
settings.put(setting.path, setting);
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
public void registerCommands() {
2015-06-27 12:47:27 +00:00
if (commandEnable.getValue()) {
super.registerCommands();
}
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
protected void addCommands() {
2015-06-27 12:47:27 +00:00
commands.put(commandName, new KCauldronCommand());
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
protected void load() {
2015-06-27 12:47:27 +00:00
try {
config = YamlConfiguration.loadConfiguration(configFile);
String header = "";
for (Setting<?> toggle : settings.values()) {
if (!toggle.description.equals(""))
header += "Setting: " + toggle.path + " Default: "
+ toggle.def + " # " + toggle.description + "\n";
2015-05-31 11:21:26 +00:00
2015-06-27 12:47:27 +00:00
config.addDefault(toggle.path, toggle.def);
settings.get(toggle.path).setValue(
config.getString(toggle.path));
}
config.options().header(header);
config.options().copyDefaults(true);
save();
} catch (Exception ex) {
MinecraftServer.getServer().logSevere(
"Could not load " + this.configFile);
ex.printStackTrace();
}
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
}