diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2021-12-20 21:17:30 -0500 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2021-12-20 21:17:30 -0500 |
commit | 7bc3b4e3998ad3af4db837b9d3585a01fd843f85 (patch) | |
tree | 852b2aec5749528591c078467996a4c8bee68e65 /src/main/java/net/tylermurphy/hideAndSeek/configuration | |
parent | final 1.3.1 beta (diff) | |
download | kenshinshideandseek-7bc3b4e3998ad3af4db837b9d3585a01fd843f85.tar.gz kenshinshideandseek-7bc3b4e3998ad3af4db837b9d3585a01fd843f85.tar.bz2 kenshinshideandseek-7bc3b4e3998ad3af4db837b9d3585a01fd843f85.zip |
1.3.1 rc1
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java | 26 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java | 9 |
2 files changed, 23 insertions, 12 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java index d16f3d8..dee1643 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/ConfigManager.java @@ -13,9 +13,11 @@ public class ConfigManager { private File file; private YamlConfiguration config,defaultConfig; + private String defaultFilename; public ConfigManager(String filename){ this.file = new File(Main.plugin.getDataFolder(), filename); + this.defaultFilename = file.getName(); if(!file.exists()){ saveDefaultConfiguration(); @@ -33,6 +35,8 @@ public class ConfigManager { } public ConfigManager(String filename, String defaultFilename){ + + this.defaultFilename = defaultFilename; this.file = new File(Main.plugin.getDataFolder(), filename); if(!file.exists()){ @@ -99,9 +103,14 @@ public class ConfigManager { config.set(path, defaultConfig.get(path)); } - public void resetConfig(){ - config = defaultConfig; - saveConfig(); + public void resetFile(String newDefaultFilename){ + this.defaultFilename = newDefaultFilename; + + InputStream input = Main.plugin.getResource(defaultFilename); + InputStreamReader reader = new InputStreamReader(input); + this.config = YamlConfiguration.loadConfiguration(reader); + this.defaultConfig = YamlConfiguration.loadConfiguration(reader); + } public boolean getBoolean(String path){ @@ -128,7 +137,7 @@ public class ConfigManager { public void saveConfig(){ try { - InputStream is = Main.plugin.getResource(file.getName()); + InputStream is = Main.plugin.getResource(defaultFilename); StringBuilder textBuilder = new StringBuilder(); Reader reader = new BufferedReader(new InputStreamReader(is, Charset.forName(StandardCharsets.UTF_8.name()))); int c = 0; @@ -144,15 +153,15 @@ public class ConfigManager { int i = 0; for(String part : parts) { if(i == 0) { - index = yamlString.indexOf(part, index); + index = yamlString.indexOf(part+":", index); } else { - index = yamlString.indexOf(" " + part, index); + index = yamlString.indexOf(" " + part+":", index); index++; } i++; if(index == -1) break; } - if(index == -1) continue;; + if(index < 10) continue;; int start = yamlString.indexOf(' ', index); int end = yamlString.indexOf('\n', index); if(end == -1) end = yamlString.length(); @@ -160,8 +169,9 @@ public class ConfigManager { if(entry.getValue() instanceof String){ replace = "\"" + replace + "\""; } + System.out.println(entry.getKey() + " " + index + " " + start + " " + end); StringBuilder builder = new StringBuilder(yamlString); - builder.replace(start+1, end == -1 ? yamlString.length() : end, replace); + builder.replace(start+1, end, replace); yamlString = builder.toString(); } } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java index c404aa3..61dc5a4 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java @@ -28,12 +28,13 @@ public class Localization { manager.reset("version"); } - String SELECTED_LOCAL = manager.getString("local"); - if(!SELECTED_LOCAL.equals(Config.local)){ - manager.resetConfig(); + String SELECTED_LOCAL = manager.getString("type"); + if(SELECTED_LOCAL == null){ + manager.reset("type"); + } else if(!SELECTED_LOCAL.equals(Config.local)){ + manager.resetFile("lang"+File.separator+"localization_"+Config.local+".yml"); } - manager.saveConfig(); for(String key : manager.getConfigurationSection("Localization").getKeys(false)) { |