动作 / 技能编辑器
动作编辑器(ActionRefsEditionGui)让你在 GUI 里给物品配触发器与处理器,无需手写 actions.triggers。从物品编辑器的 [动作/技能] 进入。
1. 界面结构
- 触发器标签页(顶部 6 个槽):右键 / 左键 / 潜行右键 / 潜行左键 / 交互方块 / 丢弃等(可配,源
ActionTriggerCatalog)。每个标签显示该触发器下的处理器数量;左键切换当前触发器。 - 处理器列表(7 个槽):每个处理器显示
#序号 处理器ID 载荷预览。- 左键:上移 ↑
- Shift + 左键:下移 ↓
- 右键:删除
- 中键 / Shift + 右键:编辑载荷
- 冷却(槽 21):左键 +1s,右键 -1s,Shift + 左键 重置。写入该触发器
cooldownMs。 - 添加处理器(槽 19):打开处理器选择器。
- 绑定技能(槽 20):打开技能绑定界面。
- 保存(槽 49):写回物品。
🖼️ [图片占位] 动作编辑器界面,标注触发器标签、处理器列表、冷却、添加按钮 · 建议
assets/editor-actions.png
2. 添加处理器流程
[添加处理器]
→ 处理器选择器(ActionHandlerPickerGui)列出已注册处理器
→ 选一个处理器
├─ 若该处理器注册了 载荷 schema → 打开 载荷表单(PayloadSchemaFormGui)
│ · 每个字段一个槽,显示字段名 / 类型 / 当前值 / 是否必填
│ · 左键编辑字段(聊天输入)
│ · STRING / INT / DOUBLE / BOOL 类型图标不同
│ · [原始字符串] 按钮:跳过 schema 直接输入裸 payload
│ · [确认] 校验(PayloadSchemaValidator)后写入
└─ 若无 schema → 直接聊天输入不透明 payload 字符串载荷 schema 是开发者为处理器声明的字段结构,详见 动作处理器开发 → payload schema。
3. 绑定 QinhSkills 技能
[绑定技能](SkillBindingGui)是「让物品某触发器释放一个 QS 技能」的快捷入口:
- 选触发器标签(同上 6 个)。
- 技能列表:点击选一个 QinhSkills 技能。
- 手动输入按钮:聊天输入技能 ID。
- JSON 表单按钮:为
qinhskills:cast填 skill + level 字段。 - 清除技能:移除该触发器的
qinhskills:cast。 - 完整动作链接:跳到动作编辑器做多处理器编辑。
绑定后等价于在该触发器 refs 加一个:
yaml
- handler: qinhskills:cast
payload: '{"skill":"技能ID","level":1}'技能机制见 集成 → QinhSkills。
4. 保存与热重载
点保存(槽 49)后,ActionRefsEditorService.saveBinding() 把动作表写进物品 YAML 的 actions 段,并触发动作表热重载(ActionTableRegistry.reload()),改动立即生效。
5. 与手写 YAML 的对应
GUI 里配的就是 动作系统 那套 actions.triggers:
- 触发器标签 ↔
actions.triggers.<名> - 处理器列表 ↔
refs: [{handler, payload}] - 冷却 ↔
cooldown
GUI 不支持配 conditions / consume / sequence 的所有细节时,可切回手写 YAML 补充(两者互通)。