summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-12-26 16:58:18 -0600
committerTyler Murphy <tylermurphy534@gmail.com>2021-12-26 16:58:18 -0600
commit1617bfe44ab2fc2112ee5cc6fa082b7981222c64 (patch)
tree8e3114039cdb034d5021bd4d32aecb81ce36cc05 /src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
parent1.3.3 beta 2 (diff)
downloadkenshinshideandseek-1617bfe44ab2fc2112ee5cc6fa082b7981222c64.tar.gz
kenshinshideandseek-1617bfe44ab2fc2112ee5cc6fa082b7981222c64.tar.bz2
kenshinshideandseek-1617bfe44ab2fc2112ee5cc6fa082b7981222c64.zip
1.3.3 beta 3
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java42
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();