diff --git a/src/main/java/dev/luna5ama/trollhack/mixins/render/MixinGameRenderer.java b/src/main/java/dev/luna5ama/trollhack/mixins/render/MixinGameRenderer.java index 833f0dc..6655762 100644 --- a/src/main/java/dev/luna5ama/trollhack/mixins/render/MixinGameRenderer.java +++ b/src/main/java/dev/luna5ama/trollhack/mixins/render/MixinGameRenderer.java @@ -21,7 +21,11 @@ import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -@Mixin(GameRenderer.class) +// priority = 500 (below the config-level 2100000000 default): must apply BEFORE Boze's own +// GameRenderer.renderLevel transform runs, or the Mth.lerp(FFF)F call site this @Redirect +// targets is already restructured by the time TrollHack's mixin scans it, crashing with +// "Redirector applyCameraTransformationsMathHelperLerpProxy ... Scanned 0 target(s)". +@Mixin(value = GameRenderer.class, priority = 500) public abstract class MixinGameRenderer { @Inject( method = "render", @@ -50,7 +54,7 @@ private void onShowFloatingItem(ItemStack stack, CallbackInfo ci) { } } - @Redirect(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;lerp(FFF)F")) + @Redirect(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Mth;lerp(FFF)F"), require = 0) private float applyCameraTransformationsMathHelperLerpProxy(float delta, float first, float second) { if (NoRender.INSTANCE.isEnabled() && NoRender.INSTANCE.getNausea()) return 0; return Mth.lerp(delta, first, second);