Skip to content

Add support for Minecraft 26.3 - #116

Merged
Travja merged 1 commit into
devfrom
ccr-8845f3b7-42yg49
Oct 3, 2026
Merged

Travja merged 1 commit into
devfrom
ccr-8845f3b7-42yg49

Conversation

@Travja

@Travja Travja commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds the nms/v26_3 module. It is a copy of nms/v26_2 with the package renamed, built against org.spigotmc:spigot / spigot-api 26.3-R0.1-SNAPSHOT.
  • Wires the module into nms/pom.xml, the root pom.xml (dependencyManagement) and core/pom.xml.
  • NMSVersion now maps bukkit version 26.3 to v26_3, which becomes the "26.3 – X" entry. The startup message now reads "1.8 to 26.3".
  • Adds two 26.3 cases to NMSVersionStringParserTest.

Verification

  • Built Spigot 26.3 with BuildTools (JDK 25). nms/v26_3 compiles against it with no source changes. The 26.x jars are Java 25 class files, so this module has to be built with JDK 25+.
  • Checked the vanilla 26.3 server jar against 26.2 by reading the defineId order through the class hierarchy. None of the DataWatcherKey indices or serializers changed:
    • ENTITY_STATUS 0 (BYTE)
    • CUSTOM_NAME 2 (OPTIONAL_COMPONENT)
    • CUSTOM_NAME_VISIBILITY 3 (BOOLEAN)
    • ITEM_STACK 8 (ITEM_STACK)
    • ARMOR_STAND_STATUS 15 (BYTE)
    • SLIME_SIZE 18 (INT): Mob 15, AgeableMob 16–17, AbstractCubeMob ID_SIZE 18
  • ServerLevel#getNextEntityId() has the same bytecode as 26.2 and still uses the static, shared ENTITY_COUNTER.
  • Packet classes:
    • The add-entity, teleport, set-passengers, entity-data and interact packets have the same signatures as 26.2.
    • The private FriendlyByteBuf constructor that EntityMountNMSPacket calls by reflection still exists and reads the same fields.
    • ClientboundRemoveEntitiesPacket is now a record, but it keeps its int... constructor and its VarInt-list wire format.
  • Core unit tests: 63/63 pass, including all 14 NMSVersionStringParserTest cases. They ran through pom-dev.xml with the locally installed 26.3 module.

Not verified

  • Full root pom.xml build and the plugin jar: repo.codemc.io was unreachable from the build environment.
  • No in-game test.

Note on CI

PR CI builds pom-dev.xml, which downloads the NMS modules prebuilt from repo.travja.dev at nms.version 3.0.15-SNAPSHOT. illusion-nms-v26_3 isn't published there yet, so CI will fail with a dependency-resolution error until the NMS modules are deployed (using JDK 25+).

🤖 Generated with Claude Code

https://claude.ai/code/session_017qUTaedHzgfkoHoWe3eC4B


Generated by Claude Code

Adds a v26_3 NMS module based on v26_2 and routes 26.3 servers to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M29zjaS6FKDHdSRMvxwdYn

Travja commented Oct 2, 2026

Copy link
Copy Markdown
Contributor Author

Build Artifacts fails because illusion-core can't resolve studio.magemonkey:illusion-nms-v26_3:jar:3.0.15-SNAPSHOT. The artifact isn't published to repo.travja.dev yet. All the other NMS jars, v26_2 included, resolved, and the build failed before compiling Core, so the code itself isn't the cause.

There's nothing to fix in this PR. Deploy the NMS modules (built with JDK 25+) to repo.travja.dev, then re-run the workflow.


Generated by Claude Code

@Travja Travja closed this Oct 2, 2026
@Travja Travja reopened this Oct 3, 2026
@Travja
Travja merged commit 39f1cb1 into dev Oct 3, 2026
6 of 7 checks passed
@Travja
Travja deleted the ccr-8845f3b7-42yg49 branch October 3, 2026 03:41
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