diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 55781818..f63b9a12 100644 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -257,9 +257,16 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { @Override public BakedModel bakeDefault(ResourceLocation modelLocation) { + ModelBakery.BakedCacheKey key = new ModelBakery.BakedCacheKey(modelLocation, BlockModelRotation.X0_Y0.getRotation(), BlockModelRotation.X0_Y0.isUvLocked()); + BakedModel m = loadedBakedModels.getIfPresent(key); + if(m != null) + return m; ModelBakery self = (ModelBakery) (Object) this; ModelBaker theBaker = self.new ModelBakerImpl(textureGetter, modelLocation); - return theBaker.bake(modelLocation, BlockModelRotation.X0_Y0); + m = theBaker.bake(modelLocation, BlockModelRotation.X0_Y0); + if(m != null) + loadedBakedModels.put(key, m); + return m; } @Override