Skip to content

NMS support for Minecraft 26.2#406

Merged
Jikoo merged 13 commits into
Jikoo:masterfrom
kalkafox:feat/26.2
Jun 28, 2026
Merged

NMS support for Minecraft 26.2#406
Jikoo merged 13 commits into
Jikoo:masterfrom
kalkafox:feat/26.2

Conversation

@kalkafox

Copy link
Copy Markdown

I took your feedback from #405 and ran the model to rework the update around the existing adapter structure instead of adding another full copy of the Paper internals, which makes the most sense.

The common Paper implementation now lives in the 26.2 adapter, and the 26.1 adapter has been reduced to small compatibility for the NMS/API differences that changed between 26.1 and 26.2.

The remaining 26.1 parts cover the older access patterns for loot tables, ender chest contents, placeholder item constants, advancement cleanup, and fallback spawn/world assignment.

Hopefully it's not too messy and easier to work with. I was a bit overzealous in the previous PR and closed it in shame and I squashed the previous commits anyhow. The slot change will probably still need work as you mentioned before. Overall it adds about ~6 KB to the jar. I probably should've looked at that too before doing my initial PR lol. Thank you for maintaining!

@Jikoo

Jikoo commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Awesome, thank you. This is honestly such a huge springboard for doing the update (which I hope to start on tonight). I'll dig out my checklist.

Also, thank you for restoring some of my faith in humanity. I've seen a decent number of AI PRs at this point across various projects, and seeing someone take feedback and do prompting based on that is a breath of fresh air. I feel like most people who submit AI PRs just copy any feedback into their session and hope.
If you don't mind me asking, what tools/model are you using and how do you approach a problem of this nature?

@kalkafox

Copy link
Copy Markdown
Author

I'm using a free trial of Codex with extra high reasoning on GPT 5.5, so nothing too complicated. Honestly, the initial prompt was just "Port this to 26.2" with no additional context. I wasn't paying too much attention to how the NMS structure is supposed to look like at first.

After closing the previous PR I gave the session the details of it regarding the adapters, which refactored the paper26_1 adapter to be a thin compatibility layer over paper26_2 which is where the shared core now sits. Hope it helps! I haven't run into any issues on our 26.2 test server so far with most of the container functionality, I'll report back if I do.

It has (roughly, 1.21.8 was late July) been a year since these versions' release.
@Jikoo

Jikoo commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Going to just piggyback your PR for the rest of the update if you don't mind. Don't worry about the checklist, it's for me. I just have a tendency to forget steps if I don't have a list (which I keep meaning to put into a PR template and not getting around to, whoops).

  • Drop adapters older than a year
  • Add support for Spigot 26.2
  • Check player tag deserialization (I think there are some to drop but don't remember without actually looking)
  • Update resource pack
  • Test
    • Paper
      • 26.2
      • 26.1.2
      • 1.21.11
      • 1.21.10
    • Spigot
      • 26.2
      • 26.1.2

Totally did not start last night as planned, whoops. Turns out last night was the last time my group could all meet for a week and we wanted to do the next VS story location. Here we are, me sneaking things in as I can today.

@Jikoo Jikoo marked this pull request as draft June 25, 2026 16:35
Jikoo added 10 commits June 25, 2026 13:16
Removed unnecessary picker usage (we always want the white constants)
Removed now-unnecessary abstractions (which I should have done when dropping 1.21.5 and lower, whoops)
Removed Slot#getContainerSlot override as it just calls the super method. Not entirely sure why I bothered implementing it in the first place unless an older version did some form of other shenanigans, because it should always have been identical to the super method prior to the visibility reduction.
Added new Slot#safeClone. Not strictly necessary, but "faster" and hopefully helps guard against future implementation changes.
Can you tell that I'm doing the Paper health checks alongside the Spigot upgrade and am bouncing between stashes like crazy?
Based on the 26.2 announcement, there aren't any changes that should affect items and blocks OI uses.
helps to actually implement both parts of a change
@Jikoo Jikoo linked an issue Jun 27, 2026 that may be closed by this pull request
@Jikoo Jikoo mentioned this pull request Jun 27, 2026
With the move to a rolling window of supported releases rather than last major version + all current major version, maintaining an internal list is a little annoying and impedes the ability to make pre-release announcements.
@Jikoo Jikoo marked this pull request as ready for review June 27, 2026 15:33
@Jikoo

Jikoo commented Jun 27, 2026

Copy link
Copy Markdown
Owner

I'm not getting to testing until at least tonight (aka probably tomorrow morning because I've got chores to do and a head cold and will likely just pass out early) but I feel reasonably confident in the code. Assuming nothing goes wrong, should be ready to cut a release as soon as testing is done.

@Jikoo Jikoo merged commit dacb07b into Jikoo:master Jun 28, 2026
2 checks passed
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.

Not working on 26.2

2 participants