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(); } } }