java.lang.Object
api.linlang.command.CommandOptions
单条命令的注册选项。
未设置执行目标时默认允许玩家和控制台执行。权限、描述和参数标签均为可选项。 该对象用于收拢命令注册中的附加参数,不改变命令规范与执行器的职责。
commands.register(
"rs reload",
context -> reload(),
CommandOptions.options()
.permission("rainbowedit.reload")
.desc(lang.command.reload.description)
);
-
方法概要
修饰符和类型方法说明all()允许玩家和控制台执行命令。console()限制命令只能由控制台执行。设置语言字段引用形式的命令描述。desc(TextSource text) 设置可解析为高级文本的动态命令描述。descProvider(LinCommand.I18nSupplier provider) 设置自定义的延迟命令描述提供者。只设置命令描述。设置命令描述和一个参数标签。设置命令描述和多个参数标签。设置语言字段引用形式的参数标签。label(String name, TextSource text) 设置动态参数标签;帮助与补全会使用其纯文本结果。labelProvider(String name, LinCommand.I18nSupplier provider) 设置自定义的延迟参数标签提供者。labels()static CommandOptionsoptions()创建使用默认值的命令选项。permission(LinCommand.Permission permission) 设置权限要求。permission(String node) 设置绝对权限节点。player()限制命令只能由玩家执行。relativePermission(String segment) 设置相对于命令组权限前缀的权限片段。返回高级文本形式的命令描述来源。返回高级文本形式的参数标签快照。target()target(LinCommand.ExecTarget target) 设置允许执行命令的发送者类型。
-
方法详细资料
-
options
创建使用默认值的命令选项。- 返回:
- 新的命令选项
-
permission
设置绝对权限节点。- 参数:
node- 权限节点- 返回:
- 当前选项
-
permission
设置权限要求。传入
null可以清除已经设置的权限。- 参数:
permission- 权限要求,可为null- 返回:
- 当前选项
-
relativePermission
设置相对于命令组权限前缀的权限片段。逐条注册没有命令组上下文,此时该片段会作为完整权限节点使用。
- 参数:
segment- 权限片段- 返回:
- 当前选项
-
target
设置允许执行命令的发送者类型。- 参数:
target- 执行目标- 返回:
- 当前选项
-
player
限制命令只能由玩家执行。- 返回:
- 当前选项
-
console
限制命令只能由控制台执行。- 返回:
- 当前选项
-
all
允许玩家和控制台执行命令。- 返回:
- 当前选项
-
desc
设置语言字段引用形式的命令描述。- 参数:
text- 命令描述- 返回:
- 当前选项
-
desc
设置可解析为高级文本的动态命令描述。- 参数:
text- 命令描述来源- 返回:
- 当前选项
-
descProvider
设置自定义的延迟命令描述提供者。- 参数:
provider- 描述提供者,可为null- 返回:
- 当前选项
-
label
设置语言字段引用形式的参数标签。- 参数:
name- 命令规范中的参数名text- 参数标签- 返回:
- 当前选项
-
label
设置动态参数标签;帮助与补全会使用其纯文本结果。- 参数:
name- 命令规范中的参数名text- 参数标签来源- 返回:
- 当前选项
-
labelProvider
设置自定义的延迟参数标签提供者。- 参数:
name- 命令规范中的参数名provider- 参数标签提供者- 返回:
- 当前选项
-
i18n
只设置命令描述。- 参数:
description- 命令描述- 返回:
- 当前选项
-
i18n
设置命令描述和一个参数标签。- 参数:
description- 命令描述name- 命令规范中的参数名text- 参数标签- 返回:
- 当前选项
-
i18n
public CommandOptions i18n(LangText description, String name, LangText text, Object... additionalLabels) 设置命令描述和多个参数标签。additionalLabels在第一组标签之后,继续按“参数名、语言字段”成对排列。options.i18n(text.set, "idx", text.line, "text", text.text);- 参数:
description- 命令描述name- 第一个参数名text- 第一个参数标签additionalLabels- 其余参数名和语言字段- 返回:
- 当前选项
- 抛出:
IllegalArgumentException- 其余标签不是完整键值对或类型不正确时
-
permission
- 返回:
- 权限要求,可为
null
-
target
- 返回:
- 执行目标
-
description
- 返回:
- 命令描述提供者,可为
null
-
richDescription
返回高级文本形式的命令描述来源。- 返回:
- 描述来源;使用普通提供者或未设置描述时为
null
-
labels
- 返回:
- 不可修改的参数标签映射
-
richLabels
返回高级文本形式的参数标签快照。- 返回:
- 不可修改的参数标签映射
-