APDevTeam / Movecraft

The original movement plugin for Paper. Reloaded. Again.
GNU General Public License v3.0
122 stars 74 forks source link

Fix paper compatibility #645

Closed TylerS1066 closed 2 months ago

TylerS1066 commented 2 months ago

Describe in detail what your pull request accomplishes

With the update to 1.20.5 paper made a hard fork with respect to accessing Minecraft internals which broke Movecraft: https://forums.papermc.io/threads/important-dev-psa-future-removal-of-cb-package-relocation.1106/

This PR currently is a temporary patch which will get us through 1.20.6, but will not be viable in 1.21+. A decision needs to be made, do we follow Paper in the hard fork or do we stick with Spigot?

Checklist

Nikkilectric commented 2 months ago

Doesn't the relocation only affect plugins that parse the server package version? Wouldn't it be much simpler to not parse the version / find an alternative that works with both spigot & paper?

TylerS1066 commented 2 months ago

only affect plugins that parse the server package version

Movecraft relies upon parsing the server package version to determine which NMS handler to use. Paper has no alternative option such as a mapping between Minecraft versions and the Spigot NMS handler version.

The proper method to follow Paper's change here is to enumerate the NMS handlers by Minecraft version, not NMS version. However, doing so is a large rewrite, and would break compatibility with Spigot.

Nikkilectric commented 2 months ago

Ah, alright! Thank you for explaining. Here's hoping we don't lose paper support

TylerS1066 commented 2 months ago

As mentioned in #647 after internal discussion, we've made the decision to follow the hard fork of Paper. Movecraft 8.0.0 Beta 3 will be the last release to support Spigot servers.