From 65f151bbef55f62d5ec4526596cf2cc94bbfb219 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 3 May 2023 21:40:57 -0400 Subject: [PATCH] Actually cache item models --- .../mixin/perf/dynamic_resources/ModelBakeryMixin.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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