BrigadierのKotlin用ラッパー
repositories {
maven { url 'https://uten2c.github.io/repo/' }
}
dependencies {
implementation 'dev.uten2c:cmdlib:VERSION'
}
repositories {
maven("https://uten2c.github.io/repo/")
}
dependencies {
implementation("dev.uten2c:cmdlib:VERSION")
}
val cmdLib = CmdLib(Plugin)
cmdLib.register("example") {
requires("permission.name") // Bukkit permission name
// requires(2) // or Minecraft op level
// or custom
// requires { sender ->
// sender is Player && sender.gameMode == GameMode.CREATIVE
// }
literal("echo") {
executes {
sender.sendMessage("Hello")
}
}
literal("getDiamond") {
integer("amount", 0, 64) {
executes {
val itemStack = ItemStack(Material.DIAMOND).apply {
amount = getInteger("amount")
}
player.inventory.addItem(itemStack)
}
}
}
literal("tp") {
entity("target") {
executes {
val target = getEntity("target")
player.teleport(target.location)
}
}
}
}
boolean
double
float
integer
long
string
blockPos
entity
entities
message
player
players
itemStack
uuid
vector
executes
内でplayer
を使用するときコマンドの実行者がプレイヤーでない場合実行に失敗するのでsender
がプレイヤーであるかの検証をする必要はない