From 900e5786b6311285530abfa48713a9d8705fdaba Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 9 May 2025 22:17:36 -0400 Subject: [PATCH] Pre-size the top level model location set to reduce rehashing --- .../modernfix/forge/dynresources/ModelBakeEventHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java index 9a15f31d..d3b9467a 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java @@ -12,6 +12,7 @@ import net.minecraft.client.resources.model.ModelBakery; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.fml.ModContainer; import net.minecraftforge.fml.ModList; @@ -59,7 +60,7 @@ public class ModelBakeEventHelper { private final MutableGraph dependencyGraph; public ModelBakeEventHelper(Map modelRegistry) { this.modelRegistry = modelRegistry; - this.topLevelModelLocations = new ObjectLinkedOpenHashSet<>(); + this.topLevelModelLocations = new ObjectLinkedOpenHashSet<>(Block.BLOCK_STATE_REGISTRY.size() + BuiltInRegistries.ITEM.size()); // Skip going through ModelLocationCache because most of the accesses will be misses BuiltInRegistries.BLOCK.entrySet().forEach(entry -> { var location = entry.getKey().location();