diff --git a/src/main/java/meteordevelopment/meteorclient/systems/Systems.java b/src/main/java/meteordevelopment/meteorclient/systems/Systems.java index 5dae1e4eda..40663b851e 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/Systems.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/Systems.java @@ -5,6 +5,7 @@ package meteordevelopment.meteorclient.systems; +import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.game.GameLeftEvent; import meteordevelopment.meteorclient.systems.accounts.Accounts; @@ -20,13 +21,12 @@ import java.io.File; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; public class Systems { @SuppressWarnings("rawtypes") - private static final Map, System> systems = new HashMap<>(); + private static final Map, System> systems = new Reference2ReferenceOpenHashMap<>(); private static final List preLoadTasks = new ArrayList<>(1); public static void addPreLoadTask(Runnable task) { diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java index 0d1d18e527..ac14ca7ddc 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java @@ -8,6 +8,7 @@ import com.google.common.collect.Ordering; import com.mojang.datafixers.util.Pair; import com.mojang.serialization.Lifecycle; +import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.game.GameJoinedEvent; import meteordevelopment.meteorclient.events.game.GameLeftEvent; @@ -68,8 +69,8 @@ public class Modules extends System { private static final List CATEGORIES = new ArrayList<>(); private final List modules = new ArrayList<>(); - private final Map, Module> moduleInstances = new HashMap<>(); - private final Map> groups = new HashMap<>(); + private final Map, Module> moduleInstances = new Reference2ReferenceOpenHashMap<>(); + private final Map> groups = new Reference2ReferenceOpenHashMap<>(); private final List active = new ArrayList<>(); private Module moduleToBind; diff --git a/src/main/java/meteordevelopment/meteorclient/utils/misc/Names.java b/src/main/java/meteordevelopment/meteorclient/utils/misc/Names.java index a5baa4afc6..02eadbac79 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/misc/Names.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/misc/Names.java @@ -5,6 +5,7 @@ package meteordevelopment.meteorclient.utils.misc; +import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap; import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.game.ResourcePacksReloadedEvent; import meteordevelopment.meteorclient.utils.PreInit; @@ -28,12 +29,12 @@ import static meteordevelopment.meteorclient.MeteorClient.mc; public class Names { - private static final Map statusEffectNames = new HashMap<>(16); - private static final Map itemNames = new HashMap<>(128); - private static final Map blockNames = new HashMap<>(128); - private static final Map enchantmentNames = new HashMap<>(16); - private static final Map, String> entityTypeNames = new HashMap<>(64); - private static final Map, String> particleTypesNames = new HashMap<>(64); + private static final Map statusEffectNames = new Reference2ObjectOpenHashMap<>(16); + private static final Map itemNames = new Reference2ObjectOpenHashMap<>(128); + private static final Map blockNames = new Reference2ObjectOpenHashMap<>(128); + private static final Map enchantmentNames = new Reference2ObjectOpenHashMap<>(16); + private static final Map, String> entityTypeNames = new Reference2ObjectOpenHashMap<>(64); + private static final Map, String> particleTypesNames = new Reference2ObjectOpenHashMap<>(64); private static final Map soundNames = new HashMap<>(64); @PreInit