Conversation
- 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
|
Looks like the problem with the build is actually the |
# Conflicts: # gradle/libs.versions.toml
|
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. |
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.
Probably addresses #389
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
|
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. |
1.21.X brain
Error handling is roughly the same across the board with 1.21.5- dropped
Appears to be backwards-compatible, so likely just defaults that the renderer no longer sets.

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