From 95a1cbfa248f137dc54552ba64a8061df314c101 Mon Sep 17 00:00:00 2001 From: Redned Date: Sun, 18 Jul 2021 15:43:04 -0500 Subject: [PATCH] Some more micro optimizations --- .../network/translators/PacketTranslatorRegistry.java | 4 ++-- .../connector/registry/loader/CollisionRegistryLoader.java | 6 +++--- .../registry/populator/RecipeRegistryPopulator.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/PacketTranslatorRegistry.java b/connector/src/main/java/org/geysermc/connector/network/translators/PacketTranslatorRegistry.java index 20c40a785..d8f726223 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/PacketTranslatorRegistry.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/PacketTranslatorRegistry.java @@ -36,11 +36,11 @@ import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.utils.FileUtils; import org.geysermc.connector.utils.LanguageUtils; -import java.util.HashMap; +import java.util.IdentityHashMap; import java.util.Map; public class PacketTranslatorRegistry { - private final Map, PacketTranslator> translators = new HashMap<>(); + private final Map, PacketTranslator> translators = new IdentityHashMap<>(); public static final PacketTranslatorRegistry JAVA_TRANSLATOR = new PacketTranslatorRegistry<>(); public static final PacketTranslatorRegistry BEDROCK_TRANSLATOR = new PacketTranslatorRegistry<>(); diff --git a/connector/src/main/java/org/geysermc/connector/registry/loader/CollisionRegistryLoader.java b/connector/src/main/java/org/geysermc/connector/registry/loader/CollisionRegistryLoader.java index fadd1e0d2..e91ecb9df 100644 --- a/connector/src/main/java/org/geysermc/connector/registry/loader/CollisionRegistryLoader.java +++ b/connector/src/main/java/org/geysermc/connector/registry/loader/CollisionRegistryLoader.java @@ -44,7 +44,7 @@ import org.geysermc.connector.utils.Object2IntBiMap; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; -import java.util.HashMap; +import java.util.IdentityHashMap; import java.util.Map; import java.util.regex.Pattern; @@ -54,7 +54,7 @@ public class CollisionRegistryLoader extends MultiResourceRegistryLoader load(Pair input) { Int2ObjectMap collisions = new Int2ObjectOpenHashMap<>(); - Map, CollisionInfo> annotationMap = new HashMap<>(); + Map, CollisionInfo> annotationMap = new IdentityHashMap<>(); for (Class clazz : FileUtils.getGeneratedClassesForAnnotation(CollisionRemapper.class.getName())) { GeyserConnector.getInstance().getLogger().debug("Found annotated collision translator: " + clazz.getCanonicalName()); @@ -75,7 +75,7 @@ public class CollisionRegistryLoader extends MultiResourceRegistryLoader javaIdBlockMap = BlockRegistries.JAVA_IDENTIFIERS.get(); // Map of classes that don't change based on parameters that have already been created - Map, BlockCollision> instantiatedCollision = new HashMap<>(); + Map, BlockCollision> instantiatedCollision = new IdentityHashMap<>(); for (Object2IntMap.Entry entry : javaIdBlockMap.object2IntEntrySet()) { BlockCollision newCollision = instantiateCollision(entry.getKey(), entry.getIntValue(), annotationMap, instantiatedCollision, collisionList); if (newCollision != null) { diff --git a/connector/src/main/java/org/geysermc/connector/registry/populator/RecipeRegistryPopulator.java b/connector/src/main/java/org/geysermc/connector/registry/populator/RecipeRegistryPopulator.java index 97eeccece..a47457d14 100644 --- a/connector/src/main/java/org/geysermc/connector/registry/populator/RecipeRegistryPopulator.java +++ b/connector/src/main/java/org/geysermc/connector/registry/populator/RecipeRegistryPopulator.java @@ -67,7 +67,7 @@ public class RecipeRegistryPopulator { } int currentRecipeId = LAST_RECIPE_NET_ID; - for (Map.Entry version : Registries.ITEMS.get().entrySet()) { + for (Int2ObjectMap.Entry version : Registries.ITEMS.get().int2ObjectEntrySet()) { // Make a bit of an assumption here that the last recipe net ID will be equivalent between all versions LAST_RECIPE_NET_ID = currentRecipeId; Map> craftingData = new EnumMap<>(RecipeType.class); @@ -113,8 +113,8 @@ public class RecipeRegistryPopulator { c -> new ObjectArrayList<>()).add(getCraftingDataFromJsonNode(entry, recipes, version.getValue())); } - Registries.CRAFTING_DATA.register(version.getKey(), craftingData); - Registries.RECIPES.register(version.getKey(), recipes); + Registries.CRAFTING_DATA.register(version.getIntKey(), craftingData); + Registries.RECIPES.register(version.getIntKey(), recipes); } }