Using ACF - Annotation Command Framework
Build Tool Setup
See Maven, Gradle, or you can find artifacts here:
Or manual: https://repo.aikar.co/content/groups/aikar/co/aikar/
Getting a Command Manager
This part is platform specific. Use the command manager that represents your platform.
Bukkit:
Paper (Recommended over Bukkit):
- Using the Paper Command Manager does NOT make your plugin require Paper. It simply lets it take advantage of Paper
specific features if available, such as Asynchronous Tab Completions
- Paper specific improvements will be added in the future as potential is found.
- Server owners are STRONGLY encouraged to use Paper instead of Spigot or CraftBukkit, as it is a massive improvement to the server software.
Bungee:
Sponge:
Velocity:
Registering a command
First you need to create a class that extends BaseCommand, then register that command with the manager
If you need your plugin instance, pass it to your commands constructor using dependency injection:
However if your needs are simple, ACF provides a minimal dependency injections system to be able to access your plugin object through dependency annotations too.
See Wiki Home for links to the other guides, but here is some important ones: