Also added some new tasks to only build/install to maven local certain platforms
`buildMinecraft`, `installMinecraft`, `buildDiscord`, `installDiscord`, `buildIRC`, `installIRC`
When a new command is registered, if a command with that name already exists, Bukkit will not register the new command, ie the existing command gets priority.
However, if the already existing command is an alias, it will replaced by the new command.
These changes update cloud to be aware whether or not an existing command is an alias, and that if so, that Bukkit will allow us to have priority for this command.
* Make CommandManager track its availability for registration
This prevents situations where changes to the manager
would result in undefined state in other places.
* Add unsafe registration capability
* Very minor formatting + `@since` tags
* Add changes to changelog
Co-authored-by: Alexander Söderberg <sauilitired@gmail.com>
* ✨ Add LocationArgument to cloud-bukkit
* 🎨 Use the Bukkit CommandSender from the command context in LocationArgument
* 🐛 Fixed quoted parsing in StringArgument
* 📚 Fix code style
Co-authored-by: jmp <jasonpenilla2@me.com>
* ✨ Add a new caption system to allow for the configuration of…
* ✨ Add caption support to all numerical types
* Add more standard pasres to the registry
* Add default messages for captions
* ✨ Improve captions in core
* Add captions for Bukkit
* ✨ Add FactoryDelegatingCaptionRegistry.java
Conflicting commands will now obey plugin load order. Brigadier aliases will be created for namespaced aliases. No asynchronous completions will be provided for conflicting commands and will only be provided for the namespaced label. Furthermore, error handling the command tree has been improved and the methods now return a pair, rather than an optional. This means that there's no need to catch and unwrap exceptions and they will be forwarded in the correct form.