Skip to content

fix: applyLightData version boundary is 1.21.2, not 1.20.2 (crashes 1.21.1 at startup) - #11

Merged
Trirrin merged 2 commits into
Conflux-Union:26.1from
Whisperlyric:fix/1.21.1-applylightdata-boundary
Sep 21, 2026
Merged

Trirrin merged 2 commits into
Conflux-Union:26.1from
Whisperlyric:fix/1.21.1-applylightdata-boundary

Conversation

@Whisperlyric

Copy link
Copy Markdown

Problem

NEB 1.0.2 crashes dedicated servers and clients on MC 1.21.1 at startup with a
mixin injection failure (Critical injection failure / InvalidAccessorException
against ClientPacketListener).

Root cause

ClientPacketListener.applyLightData gained its trailing boolean parameter in
1.21.2, not 1.20.2:

Version Signature
1.20.1 – 1.21.1 applyLightData(int, int, ClientboundLightUpdatePacketData) (method_38543)
1.21.2+ applyLightData(int, int, ClientboundLightUpdatePacketData, boolean)

The preprocessor boundary was written as //#if MC>=12002, so 1.21.1 (12101)
incorrectly selected the 4-arg form in three places:

  • ClientChunkLightRecomputeMixin — 4-arg injection handler fails under defaultRequire: 1
  • ClientPlayNetworkHandlerInvoker — 4-arg accessor throws InvalidAccessorException at apply time
  • ModNetworking — cached-chunk replay calls the 4-arg invoker

Fix

  • Boundary MC>=12002 → MC>=12102 in the two client mixins
  • Split the ModNetworking call site on MC>=12102 (1.21.1 uses the 3-arg form)

Also included

buildAndGather gradle task: builds every version subproject and collects the
jars into build/libs, so a per-version breakage can no longer hide behind a
main-project-only build. All 8 subprojects verified to compile:
1.20.1, 1.21.1, 1.21.4, 1.21.6, 1.21.10, 1.21.11, 26.1, 26.2 → BUILD SUCCESSFUL.

@Trirrin
Trirrin merged commit cb6dac2 into Conflux-Union:26.1 Sep 21, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants