跳到主要内容

参数类型

Monoceros 的参数节点使用 argument.type 指定类型。不同类型会决定输入怎么解析、怎么校验,以及能不能自动补全。

基本写法

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

当前支持的参数类型

类型说明
STRING普通字符串
INT整数
DOUBLE小数
BOOLEAN布尔值
PLAYER在线玩家
OFFLINE_PLAYER离线玩家
WORLD世界名称
MATERIALBukkit 材质名
SCRIPT_ID脚本定义 ID

required

字段默认值说明
requiredtrue是否必填

例如:

argument:
type: STRING
required: false

这样这个参数就可以省略。

常见组合

玩家 + 数值

- type: argument
name: player
argument:
type: PLAYER
required: true
suggest: online-player
- type: argument
name: amount
argument:
type: DOUBLE
required: true

材质参数

- type: argument
name: material
argument:
type: MATERIAL
required: true
suggest: material

脚本 ID 参数

- type: argument
name: scriptId
argument:
type: SCRIPT_ID
required: true
suggest: script-id

什么时候该把复杂逻辑放到脚本里

命令参数系统适合做:

  • 基础类型解析
  • 基础合法性判断
  • 补全体验优化

如果你需要更复杂的业务判断,建议在命令层只做“收参数”,然后把具体逻辑交给脚本或工作流。

参数解析失败会怎么样

如果输入内容无法被解析成目标类型,例如把文本写进 INT 参数,命令在编译后的执行阶段就会失败,不会继续走后面的路由逻辑。

如果你需要更细的约束,可以继续阅读 ./restrictions.md