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

Paper CommandAPI #517

Draft
wants to merge 28 commits into
base: dev/dev
Choose a base branch
from
Draft

Paper CommandAPI #517

wants to merge 28 commits into from

Conversation

DerEchtePilz
Copy link
Collaborator

@DerEchtePilz DerEchtePilz commented Jan 19, 2024

This PR refactors parts of the CommandAPI so the Adventure library and Bungee library aren't used in the same .jar's anymore and Paper API and Spigot API also aren't used together anymore.
In order to do that, commandapi-bukkit-core only serves as a tool to access NMS so it can be shared and doesn't have to be implemented again for Paper and Spigot.
The new usable platforms are commandapi-paper-(core/shade/plugin) and commandapi-spigot-(core/shade/plugin).

This still requires a lot of work. I am fairly confident that these changes should already make a fairly functional CommandAPI for Paper and Spigot, however, there still is a lot of work left.

This should also invalidate #474 as this refactor puts them into different modules

TODO's:

  • Update build script
  • Remove PaperImplementations.java
  • Work through CommandAPIBukkit and implement in CommandAPIPaper and CommandAPISpigot respectively.
  • Add Kotlin modules for Spigot and Paper (Component related arguments)
  • Make commandapi-annotations platform specific (Component related arguments)
  • Update documentation code to include at least a platform that provides component related arguments
  • Update tests to use CommandAPIPaper or CommandAPISpigot. Maybe even both, share tests and implement component related arguments for both platforms
  • Update Velocity, apparently
  • Deal with The CommandAPI should use MinecraftServer#getCommands instead of MinecraftServer.vanillaCommandDispatcher #406 for the Paper-specific version
  • Documentation and changelog
  • Test Minecraft versions with the plugin only, shade version and non-shade version:
    • 1.16.1
    • 1.16.2
    • 1.16.3
    • 1.16.4
    • 1.16.5
    • 1.17
    • 1.17.1
    • 1.18, 1.18.1
    • 1.18.2
    • 1.19
    • 1.19.1, 1.19.2
    • 1.19.3
    • 1.19.4
    • 1.20, 1.20.1
    • 1.20.2
    • 1.20.3/4
    • 1.20.5/6

@DerEchtePilz DerEchtePilz mentioned this pull request Jan 19, 2024
2 tasks
@DerEchtePilz DerEchtePilz force-pushed the dev/commandapi-paper branch 2 times, most recently from 46558a5 to 9babcd2 Compare February 9, 2024 20:48
@DerEchtePilz DerEchtePilz linked an issue Mar 30, 2024 that may be closed by this pull request
@DerEchtePilz DerEchtePilz force-pushed the dev/commandapi-paper branch 2 times, most recently from b088d05 to a93af70 Compare April 11, 2024 15:10
@DerEchtePilz DerEchtePilz force-pushed the dev/commandapi-paper branch 5 times, most recently from 18e8c28 to f80d789 Compare May 7, 2024 18:49
DerEchtePilz added a commit that referenced this pull request May 12, 2024
+ fixed exception appearing in server log, this isn't done with VarHandles but I think because this is a hotfix, it is fine for now.
I will handle all this properly on dev/commandapi-paper and #517
@DerEchtePilz DerEchtePilz force-pushed the dev/commandapi-paper branch 4 times, most recently from 04d7e5e to 89450e0 Compare May 13, 2024 16:28
@DerEchtePilz DerEchtePilz force-pushed the dev/commandapi-paper branch 2 times, most recently from 6ae7c55 to da64e4e Compare May 13, 2024 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment