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 82b7ae6e..8b3a6757 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 @@ -244,6 +244,7 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { "entity/chest", "item", "items", + "part", "pipe", "ropebridge" }; @@ -266,6 +267,14 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { return materialsSet; } + @Inject(method = "", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=textures")) + private void clearDummyModels(CallbackInfo ci) { + // discard unwrapped models + Predicate> isVanillaModel = entry -> entry.getValue() instanceof BlockModel || entry.getValue() instanceof MultiVariant || entry.getValue() instanceof MultiPart; + this.unbakedCache.entrySet().removeIf(isVanillaModel); + this.topLevelModels.entrySet().removeIf(isVanillaModel); + } + @Inject(method = "uploadTextures", at = @At(value = "FIELD", target = "Lnet/minecraft/client/resources/model/ModelBakery;topLevelModels:Ljava/util/Map;", ordinal = 0), cancellable = true) private void skipBake(TextureManager resourceManager, ProfilerFiller profiler, CallbackInfoReturnable cir) { profiler.pop(); @@ -287,10 +296,6 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { return super.put(key, value); } }; - // discard unwrapped models - Predicate> isVanillaModel = entry -> entry.getValue() instanceof BlockModel || entry.getValue() instanceof MultiVariant || entry.getValue() instanceof MultiPart; - this.unbakedCache.entrySet().removeIf(isVanillaModel); - this.topLevelModels.entrySet().removeIf(isVanillaModel); // bake indigo models Stopwatch watch = Stopwatch.createStarted(); this.topLevelModels.forEach((key, value) -> {