Using ACF

Daniel Ennis edited this page Jan 13, 2018 · 14 revisions

Using ACF - Annotation Command Framework

Build Tool Setup

See Maven, Gradle, or you can find artifacts here:

Or manual:

Getting a Command Manager

This part is platform specific. Use the command manager that represents your platform.


BukkitCommandManager manager = new BukkitCommandManager(yourBukkitPlugin);

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.
PaperCommandManager manager = new PaperCommandManager(yourBukkitPlugin);


BungeeCommandManager manager = new BungeeCommandManager(yourBungeePlugin);


SpongeCommandManager manager = new SpongeCommandManager(yourSpongePlugin);

Registering a command

First you need to create a class that extends BaseCommand, then register that command with the manager

manager.registerCommand(new MyCommand());

If you need your plugin instance, pass it to your commands constructor like so (this is called dependency injection if you are not aware)

manager.registerCommand(new MyCommand(myPlugin));

See Wiki Home for links to the other guides, but here is some important ones:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.