跳到主要内容

参数补全

Monoceros 内建了一组参数补全器。只要你在参数定义里声明 suggest,命令输入时就能自动联想。

基本写法

argument:
type: PLAYER
required: true
suggest: online-player

当前内建补全器

补全器 ID数据来源
online-player当前在线玩家
offline-player服务器已知离线玩家
world当前已加载世界
materialBukkit 材质枚举
script-id已加载的脚本定义 ID
dispatcher-id已注册的分发器 ID
schedule-id已注册的调度 ID
workflow-id已注册的动作工作流 ID

常见搭配

玩家参数

argument:
type: PLAYER
suggest: online-player

材质参数

argument:
type: MATERIAL
suggest: material

脚本参数

argument:
type: SCRIPT_ID
suggest: script-id

补全器的实际价值

补全器最大的作用不是“看起来高级”,而是减少输错。

例如:

  • 脚本 ID 写错一个点号,命令就会失败
  • 调度 ID 写错一个字母,启动命令就会找不到目标

给这些参数挂上补全器,能明显降低维护成本。

什么时候不用补全

如果一个参数:

  • 输入值很多而且变化特别快
  • 本来就不适合穷举
  • 更适合让脚本自己处理

那你也可以不配置 suggest

和参数类型的关系

补全器不负责类型转换,只负责“输入时给你建议”。真正执行时,仍然要按 argument.type 去解析。

所以最稳妥的方式是:

  • 先选对参数类型
  • 再补上合适的补全器
  • 最后按需要加限制器