Skip to content

Commit 0672629

Browse files
committed
Speed up ModelBakeEventHelper constructor
1 parent d854fcf commit 0672629

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
import com.google.common.collect.Sets;
66
import com.google.common.graph.GraphBuilder;
77
import com.google.common.graph.MutableGraph;
8+
import net.minecraft.client.renderer.block.BlockModelShaper;
89
import net.minecraft.client.resources.model.BakedModel;
910
import net.minecraft.client.resources.model.ModelBakery;
11+
import net.minecraft.client.resources.model.ModelResourceLocation;
1012
import net.minecraft.resources.ResourceLocation;
11-
import net.minecraft.world.item.Item;
1213
import net.minecraft.world.level.block.Block;
1314
import net.minecraft.world.level.block.state.BlockState;
1415
import net.minecraftforge.fml.ModContainer;
1516
import net.minecraftforge.fml.ModList;
1617
import net.minecraftforge.forgespi.language.IModInfo;
1718
import net.minecraftforge.registries.ForgeRegistries;
1819
import org.embeddedt.modernfix.ModernFix;
19-
import org.embeddedt.modernfix.dynamicresources.ModelLocationCache;
2020
import org.embeddedt.modernfix.util.ForwardingInclDefaultsMap;
2121
import org.jetbrains.annotations.Nullable;
2222

@@ -40,14 +40,13 @@ public class ModelBakeEventHelper {
4040
public ModelBakeEventHelper(Map<ResourceLocation, BakedModel> modelRegistry) {
4141
this.modelRegistry = modelRegistry;
4242
this.topLevelModelLocations = new HashSet<>(modelRegistry.keySet());
43+
// Skip going through ModelLocationCache because most of the accesses will be misses
4344
for(Block block : ForgeRegistries.BLOCKS) {
4445
for(BlockState state : block.getStateDefinition().getPossibleStates()) {
45-
topLevelModelLocations.add(ModelLocationCache.get(state));
46+
topLevelModelLocations.add(BlockModelShaper.stateToModelLocation(state));
4647
}
4748
}
48-
for(Item item : ForgeRegistries.ITEMS) {
49-
topLevelModelLocations.add(ModelLocationCache.get(item));
50-
}
49+
ForgeRegistries.ITEMS.getKeys().forEach(key -> topLevelModelLocations.add(new ModelResourceLocation(key, "inventory")));
5150
this.dependencyGraph = GraphBuilder.undirected().build();
5251
ModList.get().forEachModContainer((id, mc) -> {
5352
this.dependencyGraph.addNode(id);

0 commit comments

Comments
 (0)