From 36673f275efa17e89e99eaf6a0ff4aec827b4d5f Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:29:28 -0400 Subject: [PATCH] Tweak dynamic resources injection point on Forge Related: #252 --- .../mixin/perf/dynamic_resources/ModelBakeryMixin.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 88fc3a5e..00ac0203 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -52,6 +52,7 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; +import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Stream; @@ -209,13 +210,11 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { loadedModels.put(MISSING_MODEL_LOCATION, missingModel); } - @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(); + @Redirect(method = "uploadTextures", at = @At(value = "INVOKE", target = "Ljava/util/Set;forEach(Ljava/util/function/Consumer;)V", ordinal = 0)) + private void skipBake(Set instance, Consumer consumer, TextureManager resourceManager, ProfilerFiller profiler) { // ensure missing model is a permanent override this.bakedTopLevelModels.put(MISSING_MODEL_LOCATION, this.getBakedModel(MISSING_MODEL_LOCATION, BlockModelRotation.X0_Y0, this.atlasSet::getSprite)); DynamicBakedModelProvider.currentInstance = (DynamicBakedModelProvider)this.bakedTopLevelModels; - cir.setReturnValue(atlasSet); } /**