Skip to content

Update to Minecraft 26.1#385

Open
Jikoo wants to merge 19 commits intomasterfrom
dev/26_1
Open

Update to Minecraft 26.1#385
Jikoo wants to merge 19 commits intomasterfrom
dev/26_1

Conversation

@Jikoo
Copy link
Copy Markdown
Owner

@Jikoo Jikoo commented Mar 24, 2026

As always, please exercise caution when using development builds (assuming the CI doesn't fail, it being set to Java 21 right now).

TODO:

  • Update resource pack
  • Clean up messy inheritance/unnecessary Spigot-side extras
    • Spigot doesn't need extra BaseXyz classes for multi-version support yet.
    • Internal design may need some rework: composition might allow cleaner code sharing, and possibly could write a better common module for less-divergent areas like slots against the vanilla server.
  • Reorganize structure?
    • Most of plugin should likely be separated from bundler aside from main class and accessor.
  • Test

- Use Java 25 for CIs
- Dropped now-unneeded remapping/reobfuscation configurations and pre-compiled script plugin
- Copied all previously-shared classes into Spigot-specific packaging
  - This will potentially result in duplicated code maintenance, but makes it much easier to catch new server implementation differences at compile time.
- Repackage Spigot internals
@Jikoo
Copy link
Copy Markdown
Owner Author

Jikoo commented Mar 25, 2026

Looks like the problem with the build is actually the clean goal because that wipes out the freshly-compiled copy of Spigot as it no longer gets installed to the local Maven repo. I should also revisit caching for it. If I place it similarly to Paperweight's output, the default Gradle cache might just handle that.

@Jikoo
Copy link
Copy Markdown
Owner Author

Jikoo commented Apr 4, 2026

Currently only Paper 26.1.1 and Spigot 26.1(.1) are supported and nothing has been tested. I'll get to re-adding backwards compatibility later, I'm done for the day. I fought with Gradle for a couple hours to figure out how to force it to allow dependency resolution despite "mismatching" capabilities for a while. The internal modules' inheritance is basically backwards, and I didn't know enough about Gradle or think it through far enough when I was doing the initial setup for v5.

With the advent of Mojang actually versioning things again, I will likely return to dropping old versions, particularly with versions' ages showing pretty clearly in version numbers.

I'm thinking a rolling year window for support. If anyone has strong opinions on the matter, please let me know.

Jikoo added 10 commits April 8, 2026 13:24
Also reorganize modern-ish releases
should probably consider dropping the legacy overlay too
Removed a lot of shadowing that caused unnecessary desync risk with originals
Should probably broadly apply this to minimize noisy diffs later, but oh well.
Removed tags from unsupported versions
current_explosion_impact_pos moved from Player to LivingEntity
Brain is now packed like warden spawn tracker and always set
Love that BuildTools builds whatever it feels like even when you specify a version, really great
Looks like their publishing is still a bit of a mess, I expect they'll revisit the dev bundles later.
Executed some gymnastics to prevent compilation errors due to conflicting overrides
@Jikoo
Copy link
Copy Markdown
Owner Author

Jikoo commented Apr 11, 2026

Everything compiles and hopefully will work. There's some duplicate code between saving implementations that may be able to be consolidated if the PlayerManager doesn't cause an error on load on older versions (which is a possibility, I don't remember if the duplicate code was due to different exceptions being thrown or differences that got dropped with versions 1.21.5-).

Marking this as ready for review because I'm through my usual checklist (I really should publish that as a PR template, honestly) and it just needs testing. If you are a brave soul and intend to run untested dev builds, as always, please test them yourself before pushing them live. OI fiddles about in the server's internals and absolutely can cause hard crashes if I made mistakes.

@Jikoo Jikoo marked this pull request as ready for review April 11, 2026 21:16
Jikoo added 2 commits April 13, 2026 14:17
1.21.X brain
Error handling is roughly the same across the board with 1.21.5- dropped
@Jikoo
Copy link
Copy Markdown
Owner Author

Jikoo commented Apr 13, 2026

Shields render backwards on 26.1.2, have to dive into the resource pack to see if I'm either selecting it wrong or need to add an overlay to rotate them.
image

Appears to be backwards-compatible, so likely just defaults that the renderer no longer sets.
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