summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-12-20 17:24:43 -0500
committerTyler Murphy <tylermurphy534@gmail.com>2021-12-20 17:24:43 -0500
commit08c6e6b24bcbdb9b4ed0e6d3db102fc804b5631a (patch)
tree5f1e96a75ea6ced6ef6ce66dae3b31d7880223f2 /src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
parentlocalization resets on internal update (diff)
downloadkenshinshideandseek-08c6e6b24bcbdb9b4ed0e6d3db102fc804b5631a.tar.gz
kenshinshideandseek-08c6e6b24bcbdb9b4ed0e6d3db102fc804b5631a.tar.bz2
kenshinshideandseek-08c6e6b24bcbdb9b4ed0e6d3db102fc804b5631a.zip
added support for multiple default local files
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java27
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){