emerald-extension / cn.berberman.emerald.dsl.command / DSLCommandBuilder

DSLCommandBuilder

class DSLCommandBuilder

A DSL structure to build commands.

Parameters

name - command name

Author berberman

Types

TargetAndSenderBlocksData class TargetAndSenderBlocksData
A class support function whenSenderIs, holds its data.

Properties

action var action: Action
Read only, which will be invoked when commands execute.
aliases val aliases: MutableList<String>
The aliases of command, default is empty.
description var description: String
The description of command, default is empty.
permission var permission: String
The permission that this command needs, default is empty.
permissionMessage var permissionMessage: String
The message will say if invoker doesn’t have permission, default is empty.
usageMessage var usageMessage: String
The usageMessage of command, default is empty.

Functions

action fun action(block: (CommandSender) -> Boolean): Unit
Set action, only retain parameter command senderfun action(block: (CommandSender, Array<out String>) -> Boolean): Unit
Set action, retain parameters command sender and command arguments
addAlias fun addAlias(alias: String): Boolean
Add alias to this command.
subCommand fun subCommand(name: String, block: (CommandSender, Array<out String>) -> Boolean): Unit
Create a sub-command
whenSenderIs infix fun <T : CommandSender> CommandSender.whenSenderIs(block: T.() -> Boolean): TargetAndSenderBlocksData
Provide a function to take place of ` if…else… ` infix fun can’t declared generic explicitly

Extension Functions

动作 fun DSLCommandBuilder.动作(block: (CommandSender, Array<out String>) -> Boolean): Unit
如果发送者是 fun <T : CommandSender> DSLCommandBuilder.如果发送者是(发送者: CommandSender, block: T.() -> Boolean): TargetAndSenderBlocksData
子命令 fun DSLCommandBuilder.子命令(名字: String, block: (CommandSender, Array<out String>) -> Boolean): Unit