Skip to content

BetterPortals 0.3.7.7 fails during startup with MixinBooter 11.17 / Mixin 0.8.7 #145

Open

Description

@Dark-Hunter-is-here

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.

debug.log

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

  1. RuiXuqi commented on Sep 18, 2026

    @RuiXuqi
    Contributor
  2. Dark-Hunter-is-here commented on Sep 20, 2026

    @Dark-Hunter-is-here
    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions