Repository navigation
BetterPortals 0.3.7.7 fails during startup with MixinBooter 11.17 / Mixin 0.8.7 #145
Description
Version
Hi,
I'm getting a startup crash with BetterPortals 0.3.7.7 when using MixinBooter.
I first reproduced it with MixinBooter 11.2, then updated to 11.17, but the crash still happens.
Environment
- Minecraft 1.12.2
- Forge 14.23.5.2864
- BetterPortals 0.3.7.7
- MixinBooter 11.17
- OptiFine 1.12.2 HD U G6 pre1
Problem
Minecraft fails during startup while BetterPortals applies its OptiFine-specific mixin to EntityRenderer.
The fatal error is:
Mixin apply for mod betterportals failed
mixins.betterportals.view.json:MixinEntityRenderer_OF
from mod betterportals
-> net.minecraft.client.renderer.EntityRenderer
InvalidInjectionException:
Error whilst instancing injection point
org.spongepowered.asm.mixin.injection.points.BeforeNew for NEW
The failing injection is:
MixinEntityRenderer_OF
-> redirect...createCamera(...)
-> @At("NEW")
-> BeforeNew
The root cause in the stack trace is:
Caused by: java.lang.NullPointerException
at org.spongepowered.asm.mixin.injection.selectors.TargetSelector.parse(...)
at org.spongepowered.asm.mixin.injection.selectors.TargetSelector.parseAndValidate(...)
at org.spongepowered.asm.mixin.injection.points.BeforeNew.<init>(...)
MixinBooter 11.2 vs 11.17
With MixinBooter 11.2, the failure occurred during:
INJECT_PREPARE
-> Prepare Injections
After updating to MixinBooter 11.17, the same BetterPortals injection is now handled through:
INJECT_PREPARE_LEGACY
-> Prepare Legacy Injections
but it still reaches the same:
BeforeNew
-> TargetSelector.parse(...)
-> NullPointerException
So 11.17 appears to recognize the injection as legacy, but the BetterPortals @Redirect / @At("NEW") selector still cannot be parsed successfully.
MixinBooter also reports:
betterportals-0.3.7.7.jar bundles its own Mixins and this may cause issues.
It should depend on MixinBooter instead.
Expected behavior
BetterPortals' MixinEntityRenderer_OF should either remain compatible with the legacy Mixin syntax under MixinBooter 11.17, or fail in a way that makes it clear that BetterPortals itself needs to update the injection.
Could you check whether this old @Redirect / @At("NEW") form can be supported by MixinBooter's legacy compatibility handling, or whether the correct solution is to patch BetterPortals itself?
I've attached both debug.log and latest.log.
Unrelated Naughthirium issue
Also, while I'm here: @Rongmario, if you or another Naughthirium maintainer have time, could you please take a look at this Naughthirium issue as well?
Rongmario/Naughthirium#22 — Add compatibility for OptiFine Custom Block Layers
I posted a tested source patch there about three weeks ago. The patch restores OptiFine Custom Block Layers inside Nothirium's replacement chunk compiler, and I tested it in-game with all four layer types.
Thanks.
Activity
RuiXuqi commentedon Sep 18, 2026
Try this fork?
https://github.com/Refitbench/BetterPortalsRefitted
Dark-Hunter-is-here commentedon Sep 20, 2026
Nope...
This: https://github.com/Johni0702/BetterPortals