节点
为可复用的文字和动作命名,并在菜单中调用。
动作节点
nodes 写在菜单顶层,别名为 node、scripts:
# 菜单顶层
nodes:
greet:
type: KETHER
value: "mmsg '&a欢迎使用当前菜单'"图标 action 调用节点:
# 图标动作
action: 'node greet'节点字段
| 字段 | 类型 | 必填 | 默认行为 | 说明 |
|---|---|---|---|---|
type(handler) | 文字 | 对象写法必填 | 直接写值时为 CONST | CONST、TEXT、KETHER、JAVASCRIPT |
value(runnable、run、script) | 文字、数字或布尔值 | 对象写法必填 | — | CONST 可填写固定值;其他类型填写文字或脚本 |
throwable(throwError) | 布尔值 | 否 | 打印执行错误 | false 关闭此节点的错误打印 |
节点直接写成文字、数字或布尔值时,是 CONST 节点;对象写法则填写 type 与 value。任务的 run 中也使用这些字段。
nodes:
greeting:
type: TEXT
value: '&a欢迎使用菜单'
throwable: truethrowable: false 只关闭错误打印,不会让失败的脚本成功执行;节点仍可能返回错误标记。
节点类型
type | 用途 |
|---|---|
CONST | 返回固定值 |
TEXT | 返回含颜色或变量的文字 |
KETHER | 执行 Kether 语句 |
JAVASCRIPT | 执行 JavaScript |
文字与脚本写在 value 中。直接写一个字符串时,类型为 CONST,不执行脚本。
复用显示文字
nodes:
status_text:
type: TEXT
value: '&a当前状态:{{&status}}'status 由菜单事件或动作设置。在图标名称或 Lore 中调用:
name: '{{node status_text}}'节点参数
nodes:
greet:
type: KETHER
value: "mmsg '&a参数: {{&invokeArgs[0]}}'"node greet with '你好'with 传递参数;invokeArgs[0] 读取第一项。多个参数对应不同索引,下面同时使用姓名与消息:
nodes:
welcome:
type: KETHER
value: "mmsg '&a{{&invokeArgs[0]}},{{&invokeArgs[1]}}'"node welcome with [ 'Steve' '欢迎回来' ]这条调用显示“Steve,欢迎回来”。参数索引从 0 开始,调用提供两项,节点读取两项。
全局节点
nodes:
common_greet:
type: KETHER
value: "mmsg '&a这条消息可以跨菜单复用'"保存到 plugins/Invero/global-nodes/messages.yml,执行 /invero gnode reload。其他菜单可通过 node common_greet 调用。
同名节点默认优先使用当前菜单定义;查找顺序由 GlobalNodes.priority 设置。
最后更新于