Commands with functions
Example
@Plugin
fun KotlinPlugin.onEnable() {
val commandManager = commandManager()
commandManager.register(::testCommand)
commandManager.tabComplete("#test") {
listOf("Aaa1", "Aaa2")
}
//Overwrite system message
commandManager.message("#wrong-usage") {
it.sendMessage("Wrong usage")
}
}
//first argument - CommandSender or Player. This is sender of this command
//Use other function params for get a command arguemnts
//Also you can set 2 param to Array<String> for getting all arguments in array
// arg3 - is optional argument
@Command("testCommand")
@TabComplete(["#range:1-100", "#test"])
@Permission("test.use")
@Aliases(["test2"])
@Usage("#wrong-usage")
fun testCommand(sender: Sender, arg1: Int, arg2: String, @Optional arg3: String?) {
sender.sendMessage("test")
sender.sendMessage("arg1 = $arg1, arg2 = $arg2")
//if args has 3 argument
if (arg3 != null) {
sender.sendMessage(arg3)
}
}Last updated