summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
index 3546fa8..0168dc5 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java
@@ -52,16 +52,20 @@ public class ConfigManager {
this.config = YamlConfiguration.loadConfiguration(file);
- InputStream input = Main.plugin.getResource(file.getName());
- if(input == null){
+ FileInputStream input = null;
+ try{
+ input = new FileInputStream(file);
+ } catch (Exception e){
throw new RuntimeException("Could not create input stream for "+file.getPath());
}
- InputStreamReader reader = new InputStreamReader(input);
+
+ InputStreamReader reader = new InputStreamReader(input, StandardCharsets.UTF_8);
this.defaultConfig = YamlConfiguration.loadConfiguration(reader);
try{
input.close();
reader.close();
- } catch (IOException ignored){}
+ } catch (IOException ignored){
+ }
}
public ConfigManager(String filename, String defaultFilename){
@@ -221,7 +225,7 @@ public class ConfigManager {
while((c = reader.read()) != -1){
textBuilder.append((char) c);
}
- String yamlString = textBuilder.toString();
+ String yamlString = new String(textBuilder.toString().getBytes(), StandardCharsets.UTF_8);
Map<String, Object> temp = config.getValues(true);
for(Map.Entry<String, Object> entry: temp.entrySet()){
if(entry.getValue() instanceof Integer || entry.getValue() instanceof Double || entry.getValue() instanceof String || entry.getValue() instanceof Boolean || entry.getValue() instanceof List){
@@ -246,26 +250,25 @@ public class ConfigManager {
if(entry.getValue() instanceof List){
if(((List<?>) entry.getValue()).isEmpty()) continue;
replace = "[";
- for(Object o : (List<Object>)entry.getValue()){
- replace = replace + o.toString() + ", ";
+ for(Object o : (List<?>)entry.getValue()){
+ replace = replace + new String(o.toString().getBytes(), StandardCharsets.UTF_8) + ", ";
}
replace = replace.substring(0, replace.length()-2);
replace = replace + "]";
} else {
- replace = entry.getValue().toString();
+ replace = new String(entry.getValue().toString().getBytes(), StandardCharsets.UTF_8);
}
if(entry.getValue() instanceof String){
replace = "\"" + replace + "\"";
}
StringBuilder builder = new StringBuilder(yamlString);
builder.replace(start+1, end, replace);
- yamlString = builder.toString();
+ yamlString = new String(builder.toString().getBytes(), StandardCharsets.UTF_8);
}
}
- OutputStream os = new FileOutputStream(file);
- PrintWriter out = new PrintWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8), true);
- out.print(yamlString);
- out.close();
+ Writer fileWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8));
+ fileWriter.write(yamlString);
+ fileWriter.close();
} catch (IOException e){
e.printStackTrace();
}