跳到主要内容

内建节点

Monoceros 提供 15 个核心节点和 6 个扩展节点域,共计 113 个动作节点。

核心节点

script

调用 Fluxon 脚本。

- id: run
type: script
script: action.combat.hit-feedback
参数说明
script脚本 ID

set

设置上下文变量。

- id: set-damage
type: set
key: damage
value: 10
参数说明
key变量名
value变量值

log

输出日志到控制台。

- id: log-info
type: log
message: "工作流已执行"
参数说明
message日志内容

wait

延迟执行,以 tick 为单位(1 tick = 50ms)。

- id: delay
type: wait
ticks: 20
参数说明
ticks延迟的 tick 数

branch

条件分支,根据条件脚本的结果跳转到不同的工作流。

- id: check-health
type: branch
condition: condition.health-low
then-workflow: combat.heal
else-workflow: combat.attack
参数说明
condition条件脚本 ID
then-workflow条件为真时执行的工作流
else-workflow条件为假时执行的工作流

loop

循环迭代,对数据源中的每个元素执行工作流或脚本。

- id: iterate-players
type: loop
source: lastResult
item-key: player
index-key: i
workflow: region.notify-player
参数默认值说明
sourcelastResult数据源变量名
item-key-当前元素写入上下文的变量名
index-key-当前索引写入上下文的变量名
workflow-每次迭代执行的工作流 ID(与 script 二选一)
script-每次迭代执行的脚本 ID(与 workflow 二选一)

sound

播放音效。

- id: play-ding
type: sound
sound: ENTITY_EXPERIENCE_ORB_PICKUP
volume: 1.0
pitch: 1.5
参数默认值说明
sound-音效名称
volume1.0音量
pitch1.0音调

tellraw

发送富文本消息给玩家,支持 & 颜色代码。

- id: notify
type: tellraw
message: "&a你已进入战斗区域!"
参数说明
message消息内容,支持 & 颜色代码

regex

正则匹配,匹配结果写入上下文变量 regexMatch(布尔值)和 regexGroups(捕获组列表)。

- id: parse-input
type: regex
pattern: "^(\d+)-(\d+)$"
input: "{userInput}"
参数说明
pattern正则表达式
input待匹配的输入字符串

匹配结果:

  • regexMatch:是否匹配成功(布尔值)
  • regexGroups:捕获组列表

try-catch

异常捕获,分别指定正常执行、异常处理和最终执行的脚本。

- id: safe-exec
type: try-catch
try: action.risky-operation
catch: action.handle-error
finally: action.cleanup
参数说明
try正常执行的脚本 ID
catch异常时执行的脚本 ID
finally无论是否异常都执行的脚本 ID

input

等待玩家输入,超时后自动跳过。

- id: wait-input
type: input
timeout: 200
参数默认值说明
timeout200超时时间(tick)

玩家输入的内容会写入上下文变量供后续节点使用。

if-else

脚本级条件分支,根据条件脚本结果执行不同的脚本。

- id: check
type: if-else
condition: condition.is-vip
then: action.vip-reward
else: action.normal-reward
参数说明
condition / if条件脚本 ID(两种写法等价)
then条件为真时执行的脚本 ID
else条件为假时执行的脚本 ID

math

数学运算,结果写入上下文。

- id: calc
type: math
op: pow
a: 2
b: 10
参数说明
op运算类型
a第一个操作数
b第二个操作数(部分运算不需要)

支持的运算类型:

运算说明需要 b
abs绝对值
ceil向上取整
floor向下取整
round四舍五入
sqrt平方根
pow幂运算
min取较小值
max取较大值
random随机数(a 到 b)
sin正弦
cos余弦
tan正切
log自然对数
log10常用对数

coerce

数值约束,对值进行范围限制或格式化。

- id: clamp-damage
type: coerce
value: "{damage}"
op: in
min: 0
max: 100
参数说明
value待约束的值
op约束类型
min最小值(in / at-least 时使用)
max最大值(in / at-most 时使用)
decimals小数位数(format 时使用)

支持的约束类型:

类型说明
in限制在 min 到 max 范围内
at-least不低于 min
at-most不超过 max
format格式化为指定小数位数

dispatch

分发执行,调用其他工作流、脚本或事件分发器。三个参数三选一。

- id: trigger
type: dispatch
workflow: combat.finisher
参数说明
workflow工作流 ID(三选一)
script脚本 ID(三选一)
dispatcher事件分发器 ID(三选一)

扩展节点域

除核心节点外,Monoceros 还提供 6 个扩展节点域,覆盖实体操作、事件处理、物品管理等场景。

实体域(36 节点)

提供实体操作、位置计算和向量运算能力。

  • 实体操作(7 节点):生成、移除、传送、骑乘等基础实体操作
  • 位置操作(9 节点):坐标计算、距离测量、方向转换等
  • 向量操作(20 节点):向量加减乘除、归一化、叉积、点积、旋转等

事件域(7 节点)

处理事件流中的事件对象。

节点说明
cancel取消当前事件
ignore忽略当前事件
write写入事件属性
reply回复事件
cancelled检查事件是否已取消
name获取事件名称
wait等待事件触发

物品域(27 节点)

物品构建、修改和背包操作。

  • 构建与修改(12 节点):创建物品、设置名称/Lore/NBT、克隆等
  • 切换(1 节点):物品类型切换
  • 药水(5 节点):药水效果的添加、移除、查询
  • 附魔(5 节点):附魔的添加、移除、查询、等级操作
  • 背包(4 节点):背包物品的添加、移除、查询、清空

记忆域(5 节点)

键值存储,支持多种作用域。

节点说明
set设置键值
get获取值
remove移除键
clear清空作用域
expire设置过期时间

支持的作用域:GLOBALPLAYERENTITYWORKFLOWSCRIPTSESSION

目标域(12 节点)

目标选择与筛选。

节点说明
self当前执行者
world指定世界的所有实体
server服务器所有在线玩家
radius半径范围内的实体
box长方体范围内的实体
filter按条件过滤目标列表
foreach对每个目标执行操作
nearest最近的实体
ring环形范围内的实体
player指定玩家
line-of-sight视线范围内的实体

幻象域(11 节点)

客户端视觉效果,基于数据包发送,不影响服务端实际状态。

节点说明
glow发光效果
warning警告效果
world-border虚拟世界边界
fake-block虚拟方块
clear清除幻象效果
health虚拟血量显示
hologram全息文字
switch切换幻象状态
提示

扩展节点域的节点在 YAML 中使用时,type 字段格式为 域名.节点名,例如 entity.spawnmemory.settarget.radius