Skip to content

Drop the workarounds for 26.2 symbols missing at compile time - #2994

Merged
tastybento merged 1 commit into
developfrom
feature/paper-26-2-mockbukkit
Aug 15, 2026
Merged

Drop the workarounds for 26.2 symbols missing at compile time#2994
tastybento merged 1 commit into
developfrom
feature/paper-26-2-mockbukkit

Conversation

@tastybento

@tastybento tastybento commented Jun 20, 2026

Copy link
Copy Markdown
Member

What changed

This PR originally moved the build to the literal 26.2 API. That part landed in #3067, so this is now rebased on develop and reduced to the cleanup #3067 did not do:

  • SULFUR_CUBE back to static final in Util, BucketListener and EntityInteractListener, dropping a @SuppressWarnings("java:S3008") from each. They were only non-final so tests could reflectively inject a stand-in — the JVM constant-folds static final fields, which defeated that.
  • The tests lose the trick with it. UtilTest, BucketListenerTest and EntityInteractListenerTest now use EntityType.SULFUR_CUBE directly; the getStaticField / setStaticField helpers and the MAGMA_CUBE stand-ins are gone. Net -87 lines across the three, and the tests assert against the real entity type rather than a proxy for it.
  • .claude/rules/build-toolchain.md corrected. It still described the 26.1.2 compile target, told readers to use the mockbukkit-v26.1.2 coordinate, and said this work was "parked in a draft PR until MockBukkit ships a 26.2 build" — all untrue since Compile against Paper 26.2 now that MockBukkit supports it #3067. That file contradicted the build it documents.

Verification

3462 tests, 0 failures, on the current develop base.

Note on the rebase

The branch was rebuilt on develop rather than merged: the build.gradle.kts version bumps and the three Adventure 5 test fixes this PR carried are already on develop via #3067, so those hunks are dropped and only the above remains. paperVersion stays at 26.2.build.111-stable (what develop has, matching the bundle MockBukkit 4.116.1 was built against) rather than this PR's earlier 112 — the MockBukkit/paper MC line is what has to match, not the build number.

🤖 Generated with Claude Code

https://claude.ai/code/session_017EZEwab2kL4i1FNnBYvSmp

Base automatically changed from feature/paper-26-2-support to develop June 21, 2026 00:37
@tastybento
tastybento force-pushed the feature/paper-26-2-mockbukkit branch from 49bc8e3 to 45bcb31 Compare August 15, 2026 01:00
@tastybento
tastybento marked this pull request as ready for review August 15, 2026 01:00
Now that the build compiles against 26.2 (#3067), EntityType.SULFUR_CUBE
is a real compile-time symbol, so the code that worked around its
absence can go.

The three SULFUR_CUBE fields go back to static final. They were left
non-final, with a Sonar suppression each, only so tests could
reflectively inject a stand-in — the JVM constant-folds static final
fields, which defeated that. The tests no longer need the trick: they
use EntityType.SULFUR_CUBE directly and the getStaticField /
setStaticField helpers and MAGMA_CUBE stand-ins are gone with it.

Also corrects .claude/rules/build-toolchain.md, which still described
the old 26.1.2 compile target, told readers to use the mockbukkit-v26.1.2
coordinate, and said this work was parked in a draft PR.

3462 tests, no failures.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EZEwab2kL4i1FNnBYvSmp
@tastybento
tastybento force-pushed the feature/paper-26-2-mockbukkit branch from 45bcb31 to 5f1e6c6 Compare August 15, 2026 01:35
@tastybento tastybento changed the title [BLOCKED on MockBukkit 26.2] Compile against literal Minecraft 26.2 Drop the workarounds for 26.2 symbols missing at compile time Aug 15, 2026
@sonarqubecloud

Copy link
Copy Markdown

@tastybento
tastybento merged commit 9bfe507 into develop Aug 15, 2026
3 checks passed
@tastybento
tastybento deleted the feature/paper-26-2-mockbukkit branch August 15, 2026 02:00
@tastybento tastybento mentioned this pull request Aug 16, 2026
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.

1 participant