diff options
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java index 0129680..d16f3d8 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java @@ -32,6 +32,28 @@ public class ConfigManager { } catch (IOException e){} } + public ConfigManager(String filename, String defaultFilename){ + this.file = new File(Main.plugin.getDataFolder(), filename); + + if(!file.exists()){ + saveDefaultConfiguration(); + } + + this.config = YamlConfiguration.loadConfiguration(file); + + InputStream input = Main.plugin.getResource(defaultFilename); + InputStreamReader reader = new InputStreamReader(input); + this.defaultConfig = YamlConfiguration.loadConfiguration(reader); + try{ + input.close(); + reader.close(); + } catch (IOException e){ + Main.plugin.getLogger().severe("Couldn't find "+defaultFilename+" internally. Did you set an incorrect local?"); + Main.plugin.getServer().getPluginManager().disablePlugin(Main.plugin); + throw new RuntimeException(); + } + } + private void saveDefaultConfiguration(){ try{ InputStream input = Main.plugin.getResource(file.getName()); @@ -77,6 +99,11 @@ public class ConfigManager { config.set(path, defaultConfig.get(path)); } + public void resetConfig(){ + config = defaultConfig; + saveConfig(); + } + public boolean getBoolean(String path){ boolean value = config.getBoolean(path); if(value == false){ |