From 876837d4e74fe90f229feac95c59fbe0bf300157 Mon Sep 17 00:00:00 2001 From: pothemagicdragon1 Date: Fri, 27 Dec 2024 21:39:38 -0700 Subject: [PATCH 1/2] Accesses modules instead of moduleInstances.values() for the list of modules --- .../meteorclient/systems/modules/Modules.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java index 37ec252a92..f3dce2953f 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java @@ -134,7 +134,7 @@ public T get(Class klass) { } public Module get(String name) { - for (Module module : moduleInstances.values()) { + for (Module module : modules) { if (module.name.equalsIgnoreCase(name)) return module; } @@ -151,7 +151,7 @@ public List getGroup(Category category) { } public Collection getAll() { - return moduleInstances.values(); + return modules; } public List getList() { @@ -159,7 +159,7 @@ public List getList() { } public int getCount() { - return moduleInstances.values().size(); + return modules.size(); } public List getActive() { @@ -171,7 +171,7 @@ public List getActive() { public Set searchTitles(String text) { Map modules = new ValueComparableMap<>(Comparator.naturalOrder()); - for (Module module : this.moduleInstances.values()) { + for (Module module : this.modules) { int score = Utils.searchLevenshteinDefault(module.title, text, false); if (Config.get().moduleAliases.get()) { for (String alias : module.aliases) { @@ -188,7 +188,7 @@ public Set searchTitles(String text) { public Set searchSettingTitles(String text) { Map modules = new ValueComparableMap<>(Comparator.naturalOrder()); - for (Module module : this.moduleInstances.values()) { + for (Module module : this.modules) { int lowest = Integer.MAX_VALUE; for (SettingGroup sg : module.settings) { for (Setting setting : sg) { @@ -288,7 +288,7 @@ private void onMouseButton(MouseButtonEvent event) { private void onAction(boolean isKey, int value, int modifiers, boolean isPress) { if (mc.currentScreen != null || Input.isKeyPressed(GLFW.GLFW_KEY_F3)) return; - for (Module module : moduleInstances.values()) { + for (Module module : modules) { if (module.keybind.matches(isKey, value, modifiers) && (isPress || (module.toggleOnBindRelease && module.isActive()))) { module.toggle(); module.sendToggledMsg(); @@ -302,7 +302,7 @@ private void onAction(boolean isKey, int value, int modifiers, boolean isPress) private void onOpenScreen(OpenScreenEvent event) { if (!Utils.canUpdate()) return; - for (Module module : moduleInstances.values()) { + for (Module module : modules) { if (module.toggleOnBindRelease && module.isActive()) { module.toggle(); module.sendToggledMsg(); @@ -380,6 +380,19 @@ public void add(Module module) { // Remove the previous module with the same name AtomicReference removedModule = new AtomicReference<>(); + if (modules.removeIf(module1 -> { + if (module1.name.equals(module.name)) { + removedModule.set(module1); + module1.settings.unregisterColorSettings(); + + return true; + } + + return false; + })) { + getGroup(removedModule.get().category).remove(removedModule.get()); + } + if (moduleInstances.values().removeIf(module1 -> { if (module1.name.equals(module.name)) { removedModule.set(module1); From 5235c2044cb8b54beb82f8caf4e11bdee7a4b5a7 Mon Sep 17 00:00:00 2001 From: pothemagicdragon1 Date: Sun, 29 Dec 2024 00:03:45 -0700 Subject: [PATCH 2/2] Simplifies module removal logic --- .../meteorclient/systems/modules/Modules.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java index f3dce2953f..ffdae0895d 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java @@ -390,19 +390,7 @@ public void add(Module module) { return false; })) { - getGroup(removedModule.get().category).remove(removedModule.get()); - } - - if (moduleInstances.values().removeIf(module1 -> { - if (module1.name.equals(module.name)) { - removedModule.set(module1); - module1.settings.unregisterColorSettings(); - - return true; - } - - return false; - })) { + moduleInstances.remove(removedModule.getClass(), removedModule.get()); getGroup(removedModule.get().category).remove(removedModule.get()); }