diff options
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules')
| -rw-r--r-- | src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java index 95aa499..d967274 100644 --- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java +++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java @@ -103,10 +103,11 @@ public class ModuleManager { } public void close() { + // save then disable all + saveModuleStates(); for (Module module : modules) { - module.onDisable(); + module.setEnabled(false); } - saveModuleStates(); } public void loadModuleStates() { @@ -119,13 +120,19 @@ public class ModuleManager { for (Module module : modules) { String enabled = properties.getProperty(module.getName() + ".enabled"); - if ("true".equals(enabled)) { + if (Objects.equals(enabled, "true")) { module.setEnabled(true); - module.onEnable(); } else { module.setEnabled(false); } + String keyStr = properties.getProperty(module.getName() + ".key"); + if (keyStr != null) { + try { + module.setGlfwKeybinding(Integer.parseInt(keyStr)); + } catch (NumberFormatException ignored) {} + } + for (Setting setting : module.getSettings()) { String value = properties.getProperty(module.getName() + "." + setting.getName()); if (value != null) { @@ -138,10 +145,11 @@ public class ModuleManager { } } - private void saveModuleStates() { + public void saveModuleStates() { Properties properties = new Properties(); for (Module module : modules) { properties.setProperty(module.getName() + ".enabled", String.valueOf(module.isEnabled())); + properties.setProperty(module.getName() + ".key", String.valueOf(module.getGlfwKeybinding())); for (Setting setting : module.getSettings()) { properties.setProperty(module.getName() + "." + setting.getName(), setting.getValueAsString()); |
