Um so yea...this page is still a WIP, I figured I would post a project I have been working on. It is a annotated command framework/library. I am still working on improving many things in it so for the time being there will be no documentation other than what I have provided on the GitHub readme file. Once I am happy with the result I will write more in depth documentation. This is no where near as extensive as sk89q 's or DSH105 's command libraries/frameworks and probably will never be, It is just a small and simple command library. I originally made this for the server network I work for but it evolved into something that I feel everyone can use. So I am sharing it with the community if you want to use it for some reason Link: https://github.com/BreakMC-Development/Zeus I just finished the SubCommand System, I am now going to start adding more features and making it more extensive. And of course fix bugs...I am aware of some that i just thought of and am going to push them tonight. If you find any make a issue! Example: Code: public class ExamplePlugin extends JavaPlugin { Registrar registrar; @Override public void onEnable() { super.onEnable(); registrar = new BukkitRegistrar(); registrar.registerAll(new Example()); registrar.registerAllSubCommands(new Example()); } class Example { @Command(name="example", aliases = {"ex"}, permissionMsg = "Nope :)") public void example(Player player, String[] args) { player.setItemInHand(new ItemStack(Material.DIAMOND)); player.sendMessage("Hello World."); } @SubCommand(parent = "example", name = "test") public void subExample(Player player, String[] args) { player.sendMessage("SubCommand m8!"); } } }