跳转到正文
iPlugin

节点

为可复用的文字和动作命名,并在菜单中调用。

动作节点

nodes 写在菜单顶层,别名为 node、scripts:

# 菜单顶层
nodes:
  greet:
    type: KETHER
    value: "mmsg '&a欢迎使用当前菜单'"

图标 action 调用节点:

# 图标动作
action: 'node greet'

节点字段

字段类型必填默认行为说明
type(handler)文字对象写法必填直接写值时为 CONSTCONST、TEXT、KETHER、JAVASCRIPT
value(runnable、run、script)文字、数字或布尔值对象写法必填—CONST 可填写固定值;其他类型填写文字或脚本
throwable(throwError)布尔值否打印执行错误false 关闭此节点的错误打印

节点直接写成文字、数字或布尔值时,是 CONST 节点;对象写法则填写 type 与 value。任务的 run 中也使用这些字段。

nodes:
  greeting:
    type: TEXT
    value: '&a欢迎使用菜单'
    throwable: true

throwable: 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 开始,调用提供两项,节点读取两项。

全局节点

plugins/Invero/global-nodes/messages.yml
nodes:
  common_greet:
    type: KETHER
    value: "mmsg '&a这条消息可以跨菜单复用'"

保存到 plugins/Invero/global-nodes/messages.yml,执行 /invero gnode reload。其他菜单可通过 node common_greet 调用。

同名节点默认优先使用当前菜单定义;查找顺序由 GlobalNodes.priority 设置。

最后更新于