summaryrefslogtreecommitdiff
path: root/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java18
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());