机关编辑(在编辑器里配机关)
机关系统 讲了机关是什么——蓝图里「触发器 → 一串动作」的纯世界交互(开门 / 刷伏兵 / 传送 / 给奖)。本页讲怎么在可视化编辑器里把它点出来 / 敲出来,不用手写 mechanisms 段。
机关有两套等价入口,共用同一个「机关构建器(MechBuilder)」:
- 机关面板(GUI)——可视化选触发器、加常用动作;
/qr editor mech命令——能配全部触发器、全部动作类型和所有旗标,表达力最全。
前提:先
/qr editor start <模板id>进编辑(见 可视化建迹 §一)。权限qinhruins.admin。
🖼️ [图片占位] 机关面板 27 格 GUI:上排触发器、下排动作、右侧完成/放弃 · 建议
assets/mech-panel-gui.png
一、机关构建的心智模型
不管用 GUI 还是命令,配一个机关都是同样四步,围绕一个机关构建器进行:
1. 新建构建器 给机关起个 id
2. 记录坐标点 左键世界里的方块,把「触发块 / 区域角 / 动作位置」记进点列表
3. 设触发器+加动作 触发器和位置类动作「引用」你刚记录的坐标点
4. 完成 构建器组装成一个机关、并入会话;最后 save 才写盘关键概念:坐标点列表(points)。在机关模式下,标记笔左键方块不是直接放标记,而是把那一格的相对坐标压进一个临时点列表。随后:
- 单点触发器(交互 / 破坏 / 红石)用最后一个点当触发块;
- 区域触发器 / 填充动作用最后两个点当对角;
- 刷怪动作用最后一个点当刷怪位置。
所以典型节奏是「先左键记点,再选触发器 / 加动作去引用这些点」。
所有坐标同样相对结构原点自动换算,和刷怪点 / 宝箱一致(见 可视化建迹 §四)。机关模式下放点时,聊天还会额外回显该格的世界坐标,方便你确认点对了。
二、与手写 mechanisms 的对应关系
编辑器配出来的机关,存盘后就是 blueprint.yml 里一条标准 mechanisms 项。对照表:
| 编辑器里的操作 | 对应 YAML 字段 |
|---|---|
mech new <id> / 面板输入机关 id | mechanisms[].id |
| 选触发器(交互 / 破坏 / 红石 / 区域 / 阶段 / 计时) | trigger.type + 其坐标 / stage / interval |
| 加动作(fill / spawn / message / command …) | actions[](每项 type + 参数) |
旗标 once / cooldown / require-stage / radius | 顶层同名字段 |
| 完成 + save | 整条写入 mechanisms 列表 |
字段的完整语义(6 种触发器 × 12 种动作、各自参数、限流配置)全在 机关系统,这里不重复——本页只讲交互。
三、用机关面板(GUI)
打开
在主菜单右键「机关编辑」工具(红石)进机关子编辑屏,再右键槽 1 的「机关面板」工具(比较器)。首次打开会先聊天输入机关 id(如 trap1、boss-door),输入后弹出 27 格面板。
也可以先在机关子编辑屏左键方块记录坐标点,再开面板——面板里的触发器 / 动作就能引用这些点。
面板布局
| 区域 | 按钮 | 作用 |
|---|---|---|
| 顶部 | 当前机关信息(纸) | 显示机关 id、已记录点数、已加动作数 |
| 触发器排 | 右键方块 / 破坏方块 / 红石充能 | 用最后记录的点作触发块 |
| 触发器排 | 踏入区域 | 用最后两个点作区域对角(不足两点会提示) |
| 触发器排 | 到达阶段 / 每 N 秒 | 阶段号 / 计时秒数,点击调值:左键+1 / 右键-1 / Shift+左键+10 / Shift+右键-10 |
| 动作排 | +刷怪 | 在最后记录点刷 set mob / count 的怪 |
| 动作排 | +填充方块 | 用最后两个点作区域 → 聊天输入材质(AIR=开门) |
| 动作排 | +广播消息 | 聊天输入文字 |
| 动作排 | +执行命令 | 聊天输入命令({player}=触发者) |
| 工具 | 清空坐标点 / 完成机关 / 放弃此机关 | 见下文 |
面板里的「刷怪」动作用的怪和数量,来自你
set mob/set count设的默认值(见 可视化建迹 §三)。想刷别的怪,先改默认值。
面板典型流程:踩区域开门
1. 主菜单右键「机关编辑」(红石) → 进机关屏
2. 右键「机关面板」(比较器) → 聊天输入机关 id:auto_door
3. 手持标记笔,左键门前区域的两个对角方块(记 2 个点)
4. 面板点「踏入区域」 → 触发器=区域(末两点)
5. 手持标记笔,左键门洞的两个对角方块(再记 2 个点)
6. 面板点「+填充方块」 → 聊天输入 AIR(把门洞填空=开门)
7. 面板点「完成机关(加入蓝图)」
8. /qr editor save 写盘面板能覆盖最常用的开门 / 伏兵 / 提示 / 命令;要用 title / sound / effect / loot / teleport / particle / give / npc 等其余动作,或设
once / cooldown / require-stage / radius,用命令版(下文 §四)。
四、用 /qr editor mech 命令
命令版能配全部触发器、动作和旗标,是表达力最全的入口。子命令一览:
| 子命令 | 作用 |
|---|---|
mech new <id> | 新建机关构建器(切到机关模式,开始记点) |
mech trigger <...> | 设触发器 |
mech action <类型> <参数...> | 加一个动作 |
mech flag <旗标> <值> | 设 once / cooldown / require-stage / radius |
mech points | 列出已记录的坐标点 |
mech clearpoints | 清空已记录坐标点 |
mech done | 完成机关并入会话 |
mech discard | 放弃当前构建 |
(不带子命令的 /qr editor mech 会打印帮助。)
1. 新建:mech new <id>
/qr editor mech new lever_door切到机关模式、新建构建器。接着手持标记笔左键方块记录坐标点。
2. 触发器:mech trigger <...>
| 写法 | 触发器 | 用到的坐标点 |
|---|---|---|
mech trigger interact | 右键方块(INTERACT) | 最后记录的 1 个点 |
mech trigger break | 破坏方块(BLOCK_BREAK) | 最后记录的 1 个点 |
mech trigger redstone | 红石充能(REDSTONE) | 最后记录的 1 个点 |
mech trigger region | 踏入区域(REGION_ENTER) | 最后记录的 2 个点(对角) |
mech trigger stage <n> | 到达阶段 N(STAGE) | 不用点,直接给阶段号 |
mech trigger timer <秒> | 每 N 秒(TIMER) | 不用点,直接给秒数 |
单点 / 区域触发器必须先左键记够点,否则会提示「请先左键方块记录坐标」。
3. 动作:mech action <类型> <参数...>
类型 = fill / spawn / message / title / sound / effect / command / loot / teleport / particle / give / npc(即 机关系统 §三 的 12 种)。
参数写成 键=值,坐标有三种来源:
- 引用记录点:加裸词
region(用最后两点作 from/to)或pos(用最后一点作 pos); - 显式区域:
fx=.. fy=.. fz=.. tx=.. ty=.. tz=..(from/to 两角); - 显式单点:
x=.. y=.. z=..。
其余 键=值 原样作为该动作的参数(如 material、mob、text、command、sound…,含义见 机关系统 §三)。
示例:
# 填充:用最后两个记录点作区域,填成空气=开门
/qr editor mech action fill material=AIR region
# 刷怪:用最后一个记录点作刷怪位置
/qr editor mech action spawn mob=mm-FireSkeleton count=1 pos
# 刷怪:显式坐标
/qr editor mech action spawn mob=ZOMBIE count=4 x=6 y=2 z=5
# 文字 / 音效 / 命令
/qr editor mech action message text=&c机关启动!小心脚下!
/qr editor mech action sound sound=BLOCK_PISTON_EXTEND pitch=0.8
/qr editor mech action command command=eco give {player} 100 as=console每加一个动作都会回报「已添加动作 X(共 N 个)」。动作按添加顺序执行。
4. 旗标:mech flag <旗标> <值>
| 旗标 | 含义 | 示例 |
|---|---|---|
once | 只触发一次(持久记录) | mech flag once true |
cooldown | 触发冷却(秒) | mech flag cooldown 5 |
require-stage | 需达到的通关阶段 | mech flag require-stage 1 |
radius | 受众 / 作用半径(格) | mech flag radius 16 |
含义详见 机关系统 §一。
5. 完成 / 放弃 / 查点
/qr editor mech points # 列出已记录坐标点
/qr editor mech clearpoints # 清空坐标点(重新记)
/qr editor mech done # 完成:组装成机关并入会话
/qr editor mech discard # 放弃当前构建done 若不完整会说明原因(没设触发器 / 没加动作 / 触发块未记录 / 区域不全)。完成后机关进入会话,但还要 /qr editor save 才写盘。
提示
save 时若你还有一个没 done 的构建器,编辑器会自动替你收尾(能组装则并入),并提示「保存时自动收尾未完成的机关」。
五、完整示例
例 1:红石充能开门(命令版)
/qr editor mech new lever_door
(手持标记笔,左键拉杆/压力板要充能的那格 → 记 1 点)
/qr editor mech trigger redstone
(左键门洞的两个对角方块 → 记 2 点)
/qr editor mech action fill material=AIR region
/qr editor mech flag once false
/qr editor mech done
/qr editor save等价于 机关系统 里这条 YAML:
mechanisms:
- id: lever_door
trigger: { type: REDSTONE, x: 4, y: 1, z: 0 }
actions:
- { type: FILL, from: { x: 3, y: 1, z: 0 }, to: { x: 5, y: 3, z: 0 }, material: AIR }
once: false例 2:挖穿暗墙刷伏兵(命令版)
/qr editor set mob ZOMBIE
/qr editor set count 4
/qr editor mech new ambush
(左键藏在墙里的标记块 → 记 1 点)
/qr editor mech trigger break
(左键伏兵出生格 → 记 1 点)
/qr editor mech action spawn mob=ZOMBIE count=4 pos
/qr editor mech action title title=&c埋伏! subtitle=&7你触发了陷阱
/qr editor mech flag once true
/qr editor mech flag require-stage 1
/qr editor mech done
/qr editor save例 3:右键祭坛领奖(命令版)
/qr editor mech new altar_reward
(左键祭坛方块 → 记 1 点)
/qr editor mech trigger interact
/qr editor mech action give item=qi-ancient_relic amount=1
/qr editor mech action command command=eco give {player} 200 as=console
/qr editor mech action message text=&a你获得了祭坛的恩赐!
/qr editor mech flag require-stage 2
/qr editor mech done
/qr editor save更多触发器 / 动作组合(计时毒雾、阶段传送给奖等)见 机关系统 §五——那里的每个 YAML 例子都能照本页方法点 / 敲出来。
六、排错速查
| 现象 | 原因 |
|---|---|
trigger interact/break/redstone 提示要先记录方块 | 还没左键方块记点;先左键再 trigger |
trigger region / action fill 说点不够 | 区域要 2 个点;多左键一个对角 |
done 说机关未完成 | 没设触发器 / 没加动作 / 触发块没记 / 区域不全 |
| 点全记错了 | mech clearpoints 清空重记 |
| 机关存了却不触发 | 多半是触发条件 / 限流问题,见 机关系统 §六 |