69 lines
2.3 KiB
Java
Executable File
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();
|
|
}
|
|
}
|
|
}
|