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 ae3cbeca..a43c58b8 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 @@ -87,7 +87,6 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { // we can handle recursion in getModel without issues fabric_enableGetOrLoadModelGuard = false; this.blockColors = val; - this.ignoreModelLoad = true; this.loadedBakedModels = CacheBuilder.newBuilder() .expireAfterAccess(ModelBakeryHelpers.MAX_MODEL_LIFETIME_SECS, TimeUnit.SECONDS) .maximumSize(ModelBakeryHelpers.MAX_BAKED_MODEL_COUNT) @@ -119,6 +118,11 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { this.bakedTopLevelModels = new DynamicBakedModelProvider((ModelBakery)(Object)this, bakedCache); } + @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", ordinal = 0)) + private void ignoreFutureModelLoads(CallbackInfo ci) { + this.ignoreModelLoad = true; + } + private void onModelRemoved(RemovalNotification notification) { if(!debugDynamicModelLoading) return; @@ -193,7 +197,10 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { @Redirect(method = "bakeModels", at = @At(value = "INVOKE", target = "Ljava/util/Map;keySet()Ljava/util/Set;")) private Set skipBake(Map instance) { - return Collections.emptySet(); + Set modelSet = new HashSet<>(instance.keySet()); + if(modelSet.size() > 0) + ModernFix.LOGGER.info("Early baking {} models", modelSet.size()); + return modelSet; } /**