@@ -144,12 +144,21 @@ private void storeTextureGetterAndBakeMissing(ModelBakery.TextureGetter textureG
144144 this .bakedMissingModel = this .bakedTopLevelModels .get (MISSING_MODEL_VARIANT );
145145 }
146146
147+ private boolean inInitialLoad = true ;
148+
149+ @ Inject (method = "bakeModels" , at = @ At ("RETURN" ))
150+ private void onInitialBakeFinish (ModelBakery .TextureGetter textureGetter , CallbackInfo ci ) {
151+ inInitialLoad = false ;
152+ var permanentMRLs = new ObjectOpenHashSet <>(this .bakedTopLevelModels .keySet ());
153+ ((LRUMap <ModelResourceLocation , BakedModel >)this .bakedTopLevelModels ).setPermanentEntries (permanentMRLs );
154+ ModernFix .LOGGER .info ("Dynamic model bakery initial baking finished, with {} permanent top level baked models" , this .bakedTopLevelModels .size ());
155+ }
156+
147157 @ Inject (method = "<init>" , at = @ At ("RETURN" ))
148158 private void onInitialLoadFinish (BlockColors blockColors , ProfilerFiller profilerFiller , Map map , Map map2 , CallbackInfo ci ) {
149159 var permanentMRLs = new ObjectOpenHashSet <>(this .topLevelModels .keySet ());
150160 ((LRUMap <ModelResourceLocation , UnbakedModel >)this .topLevelModels ).setPermanentEntries (permanentMRLs );
151- ((LRUMap <ModelResourceLocation , BakedModel >)this .bakedTopLevelModels ).setPermanentEntries (permanentMRLs );
152- ModernFix .LOGGER .info ("Dynamic model bakery initialized, with {} permanent top level models" , this .topLevelModels .size ());
161+ ModernFix .LOGGER .info ("Dynamic model bakery loading finished, with {} permanent top level models" , this .topLevelModels .size ());
153162 }
154163
155164 @ Unique
@@ -167,6 +176,9 @@ private void runCleanup() {
167176
168177 @ Override
169178 public void mfix$tick () {
179+ if (inInitialLoad ) {
180+ return ;
181+ }
170182 tickCount ++;
171183 if ((tickCount % 200 ) == 0 ) {
172184 if (modelBakeryLock .tryLock ()) {
0 commit comments