YUNG's Menu Tweaks (Forge/NeoForge)

YUNG's Menu Tweaks (Forge/NeoForge)

13M Downloads

Conflict with Kiwi library

DecoMocha opened this issue · 1 comments

commented

Crash on menu creation due to MixinExtras illegal access in WorldSelectionList

When using YUNG's Menu Tweaks (version 1.0.2) on Minecraft 1.20.1, the game crashes during client initialization—before the main menu appears. The root cause is a java.lang.IllegalAccessException triggered by MixinExtras attempting to inject into a private member of net.minecraft.client.gui.screens.worldselection.WorldSelectionList.

Crash log excerpt

java.lang.RuntimeException: java.lang.IllegalAccessException: class com.llamalad7.mixinextras.sugar.impl.visitor.AddLocalVariableVisitor 
cannot access a member of class net.minecraft.client.gui.screens.worldselection.WorldSelectionList with modifiers "private"
	at com.llamalad7.mixinextras.sugar.impl.visitor.AddLocalVariableVisitor.lambda$addLocals$0(AddLocalVariableVisitor.java:69)
	at TRANSFORMER/[email protected]/net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.handler$blc000$kiwi$loadLevel(WorldOpenFlows.java:1031)

This appears to stem from the use of @AddLocal or other MixinExtras sugar features targeting a private field or method without using an accessor or exposing the field properly.

Notably, Kiwi also injects into WorldOpenFlows, which is part of the same world selection infrastructure. While it does not directly touch WorldSelectionList, its presence in the stack trace suggests it may be contributing to a conflict. Disabling either Kiwi or YUNG's Menu Tweaks allows Minecraft to load normally.


Environment

  • Minecraft Version: 1.20.1
  • Forge Version: 47.4.0
  • YUNG's Menu Tweaks Version: 1.0.2

Steps to Reproduce

  1. Launch the game with YUNG’s Menu Tweaks and Kiwi installed
  2. Wait for Forge mod loading to complete
  3. Game crashes immediately, before displaying the main menu

Expected

Minecraft should load to the main menu without crashing.

Actual

Crash occurs before the main menu appears, triggered via MixinExtras illegal access in WorldSelectionList.


Additional notes and files

It is unclear why Kiwi injects into the same world selection path as YUNG's Menu Tweaks, given its intended purpose. This may warrant a separate issue report to Kiwi’s tracker. For now, my solution is to remove Kiwi in favor of retaining YUNG’s Menu Tweaks.

Full log:

launcher_log.txt

commented

Cleaned up some mistakes and formatting errors, otherwise the latest edit should be taken as the correct one.