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 | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java index 11caa96..669f729 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java @@ -11,17 +11,20 @@ import java.util.Map; public class ConfigManager { - private File file; + private final File file; private YamlConfiguration config,defaultConfig; private String defaultFilename; public ConfigManager(String filename){ - this.file = new File(Main.plugin.getDataFolder(), filename); + this.file = new File(Main.data, filename); this.defaultFilename = file.getName(); - File folder = Main.plugin.getDataFolder(); - if(!folder.exists()) - folder.mkdirs(); + File folder = Main.data; + if(!folder.exists()){ + if(!folder.mkdirs()){ + throw new RuntimeException("Failed to make directory: " + file.getPath()); + } + } if(!file.exists()){ saveDefaultConfiguration(); @@ -30,18 +33,21 @@ public class ConfigManager { this.config = YamlConfiguration.loadConfiguration(file); InputStream input = Main.plugin.getResource(file.getName()); + if(input == null){ + throw new RuntimeException("Could not create input stream for "+file.getPath()); + } InputStreamReader reader = new InputStreamReader(input); this.defaultConfig = YamlConfiguration.loadConfiguration(reader); try{ input.close(); reader.close(); - } catch (IOException e){} + } catch (IOException ignored){} } public ConfigManager(String filename, String defaultFilename){ this.defaultFilename = defaultFilename; - this.file = new File(Main.plugin.getDataFolder(), filename); + this.file = new File(Main.data, filename); if(!file.exists()){ saveDefaultConfiguration(); @@ -50,6 +56,9 @@ public class ConfigManager { this.config = YamlConfiguration.loadConfiguration(file); InputStream input = Main.plugin.getResource(defaultFilename); + if(input == null){ + throw new RuntimeException("Could not create input stream for "+defaultFilename); + } InputStreamReader reader = new InputStreamReader(input); this.defaultConfig = YamlConfiguration.loadConfiguration(reader); try{ @@ -65,6 +74,9 @@ public class ConfigManager { private void saveDefaultConfiguration(){ try{ InputStream input = Main.plugin.getResource(defaultFilename); + if(input == null){ + throw new RuntimeException("Could not create input stream for "+defaultFilename); + } java.nio.file.Files.copy(input, file.toPath()); input.close(); } catch(IOException e){ @@ -72,10 +84,6 @@ public class ConfigManager { } } - public void addToConfig(String path, Object value) { - config.set(path, value); - } - public double getDouble(String path){ double value = config.getDouble(path); if(value == 0.0D){ @@ -111,6 +119,9 @@ public class ConfigManager { this.defaultFilename = newDefaultFilename; InputStream input = Main.plugin.getResource(defaultFilename); + if(input == null){ + throw new RuntimeException("Could not create input stream for "+defaultFilename); + } InputStreamReader reader = new InputStreamReader(input); this.config = YamlConfiguration.loadConfiguration(reader); this.defaultConfig = YamlConfiguration.loadConfiguration(reader); @@ -119,7 +130,7 @@ public class ConfigManager { public boolean getBoolean(String path){ boolean value = config.getBoolean(path); - if(value == false){ + if(!value){ return defaultConfig.getBoolean(path); } else { return true; @@ -142,9 +153,12 @@ public class ConfigManager { public void saveConfig(){ try { InputStream is = Main.plugin.getResource(defaultFilename); + if(is == null){ + throw new RuntimeException("Could not create input stream for "+defaultFilename); + } StringBuilder textBuilder = new StringBuilder(); Reader reader = new BufferedReader(new InputStreamReader(is, Charset.forName(StandardCharsets.UTF_8.name()))); - int c = 0; + int c; while((c = reader.read()) != -1){ textBuilder.append((char) c); } @@ -165,7 +179,7 @@ public class ConfigManager { i++; if(index == -1) break; } - if(index < 10) continue;; + if(index < 10) continue; int start = yamlString.indexOf(' ', index); int end = yamlString.indexOf('\n', index); if(end == -1) end = yamlString.length(); |