MC-Plugins/AVIOR/src/main/java/de/avior/utils/PluginConfig.java
2022-10-02 13:35:05 +02:00

69 lines
2.3 KiB
Java
Executable File

package de.avior.utils;
import de.avior.AVIOR;
import org.bukkit.ChatColor;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
public class PluginConfig {
public static Object getValue(String key) {
YamlConfiguration pluginConfiguration = new YamlConfiguration();
File configFile = new File("config.yaml");
try {
pluginConfiguration.load(configFile);
} catch (IOException e) {
AVIOR.log("Plugin configuration file does not exist. CREATING!");
createConfig();
return getValue(key);
} catch (InvalidConfigurationException e) {
AVIOR.log("Plugin config file is corrupted. RESETTING!");
configFile.delete();
createConfig();
return getValue(key);
}
return pluginConfiguration.get(key);
}
public static void setValue(String key, Object value) {
YamlConfiguration pluginConfiguration = new YamlConfiguration();
File configFile = new File("config.yaml");
try {
pluginConfiguration.load(configFile);
} catch (IOException e) {
AVIOR.log("Plugin configuration file does not exist. CREATING!");
createConfig();
setValue(key, value);
} catch (InvalidConfigurationException e) {
AVIOR.log("Plugin config file is corrupted. RESETTING!");
configFile.delete();
createConfig();
setValue(key, value);
}
pluginConfiguration.set(key, value);
try {
pluginConfiguration.save(configFile);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void createConfig() {
AVIOR.log("Creating the plugin configuration file.");
YamlConfiguration pluginConfiguration = new YamlConfiguration();
// space to set some default values
pluginConfiguration.set("console-prefix", ChatColor.AQUA + "[" + ChatColor.RED + "Avior" + ChatColor.AQUA + "] ");
try {
pluginConfiguration.save(new File("config.yaml"));
AVIOR.log(ChatColor.DARK_GREEN + "Created the plugin configuration file.");
} catch (IOException e) {
e.printStackTrace();
}
}
}