JRawCommand

abstract class JRawCommand @JvmOverloads constructor(val owner: CommandOwner, val primaryName: String, val secondaryNames: String, parentPermission: Permission = owner.parentPermission) : Command

供 Java 用户继承

请在构造时设置相关属性.

public final class MyCommand extends JRawCommand {
public static final MyCommand INSTANCE = new MyCommand();
private MyCommand() {
super(MyPluginMain.INSTANCE, "test"); // 使用插件主类对象作为指令拥有者;设置主指令名为 "test"
// 可选设置如下属性
setUsage("/test"); // 设置用法,这将会在 /help 中展示
setDescription("这是一个测试指令"); // 设置描述,也会在 /help 中展示
setPrefixOptional(true); // 设置指令前缀是可选的,即使用 `test` 也能执行指令而不需要 `/test`
}

@Override
public void onCommand(@NotNull CommandSender sender, @NotNull MessageChain args) {
// 处理指令
}
}

See also

Constructors

Link copied to clipboard
constructor(owner: CommandOwner, primaryName: String, vararg secondaryNames: String, parentPermission: Permission = owner.parentPermission)

Functions

Link copied to clipboard
inline suspend fun Command.execute(sender: CommandSender, vararg arguments: Message = emptyArray(), checkPermission: Boolean = true): CommandExecuteResult
inline suspend fun Command.execute(sender: CommandSender, arguments: String = "", checkPermission: Boolean = true): CommandExecuteResult

执行一个确切的指令

Link copied to clipboard
Link copied to clipboard
open fun onCommand(context: CommandContext, args: MessageChain)
open fun onCommand(sender: CommandSender, args: MessageChain)

在指令被执行时调用.

Link copied to clipboard
inline fun Command.register(override: Boolean = false): Boolean
Link copied to clipboard
inline fun Command.unregister(): Boolean

Properties

Link copied to clipboard

获取所有指令名称 (包含 primaryNamesecondaryNames).

Link copied to clipboard
override var description: String

指令描述, 用于显示在 BuiltInCommands.HelpCommand

Link copied to clipboard
Link copied to clipboard

指令可能的参数列表.

Link copied to clipboard
open override val owner: CommandOwner

指令拥有者.

Link copied to clipboard
override var permission: Permission

指令权限

Link copied to clipboard

true 时表示 指令前缀 可选

Link copied to clipboard
open override val primaryName: String

主指令名. 将会参与构成 Permission.id.

Link copied to clipboard
open override val secondaryNames: Array<out String>

次要指令名

Link copied to clipboard
open override var usage: String

用法说明, 用于发送给用户