Skip to content

Commit dc4279b

Browse files
Adds back in moduleInstances map to optimize get module by class call
1 parent 8d58552 commit dc4279b

File tree

1 file changed

+4
-2
lines changed
  • src/main/java/meteordevelopment/meteorclient/systems/modules

1 file changed

+4
-2
lines changed

src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public class Modules extends System<Modules> {
6666
private static final List<Category> CATEGORIES = new ArrayList<>();
6767

6868
private final List<Module> modules = new ArrayList<>();
69+
private final Map<Class<? extends Module>, Module> moduleInstances = new Reference2ReferenceOpenHashMap<>();
6970
private final Map<Category, List<Module>> groups = new Reference2ReferenceOpenHashMap<>();
7071

7172
private final List<Module> active = new ArrayList<>();
@@ -127,9 +128,9 @@ public static Category getCategoryByHash(int hash) {
127128
return null;
128129
}
129130

130-
@SuppressWarnings({"unchecked", "OptionalGetWithoutIsPresent"})
131+
@SuppressWarnings("unchecked")
131132
public <T extends Module> T get(Class<T> klass) {
132-
return (T) modules.stream().filter(module -> module.getClass().equals(klass)).findFirst().orElse(null);
133+
return (T) moduleInstances.get(klass);
133134
}
134135

135136
public Module get(String name) {
@@ -394,6 +395,7 @@ public void add(Module module) {
394395

395396
// Add the module
396397
modules.add(module);
398+
moduleInstances.put(module.getClass(), module);
397399
getGroup(module.category).add(module);
398400

399401
// Register color settings for the module

0 commit comments

Comments
 (0)