Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile specific modules for Paper #279

Open
Jikoo opened this issue Jan 18, 2025 · 0 comments · May be fixed by #282
Open

Compile specific modules for Paper #279

Jikoo opened this issue Jan 18, 2025 · 0 comments · May be fixed by #282

Comments

@Jikoo
Copy link
Owner

Jikoo commented Jan 18, 2025

Spigot has steadily been losing market share to Paper. Paper has 85-90% market share at this point (depending on which metrics you look at - older servers and servers that do not install plugins have slightly higher odds of being Spigot), so not targeting Paper directly as a NMS-based plugin seems neglectful.

This will result in a bit of policy shift:

  • Only the latest version of Spigot will be supported via a single remapped module similar to the current system.
  • Paper supported via system like current:
    • Support for previous minor version's final revision, last two revisions of current minor version.
    • Best effort to maintain support for previous versions so long as Mojang mappings are unmodified.

Core plugin will remain a JavaPlugin for now, but may be converted to a Paper plugin once the system stabilizes/becomes better documented. This will eventually replace Paper checks in the loading process.

Paper modules for supporting previous versions should ideally be smaller patches resolving specific problems. May need to rework some of the structure to move things like slots to factories to be able to reuse more of the core code across versions, but will probably tackle that on a case-by-case basis as needed. This will make the update process a little more annoying in some cases, but ideally it will be streamlined after a few growing pains.

This should reduce build time by requiring only one Spigot version be compiled via BuildTools, expand supported versions (in the future, mostly. May test current Mojang-mapped code on Paper 1.21.1 if I get around to it, but will not be verifying further back myself, so will be shipping with those versions disabled), and catch incompatibilities before they become a problem.

This was referenced Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant