菜单跳转
完成主菜单、帮助页、返回和关闭,并试验传递菜单状态。
做完会得到什么
主菜单中央的书打开帮助菜单;帮助菜单左侧箭头返回,右侧屏障关闭。两个菜单都只有一行,没有额外插件依赖。
点击菜单中的导航按钮,在主页与帮助页之间切换。
1. 放置两个文件
把 hub.yml 和 help.yml 保存到 plugins/Invero/workspace/。文件名就是这里使用的菜单 ID;箭头的目标 hub 与书的目标 help 应与文件名对应。
成套下载 navigation-example.zip,压缩包根目录包含两个文件;也可分别下载 hub.yml 和 help.yml。
menu:
title: '&8主菜单'
rows: 1
panels:
- layout:
- ' A '
icons:
A:
material: BOOK
name: '&a打开帮助'
action: 'menu open help'hub.yml → panels → 第一个面板 → icons.A.action 是去程;help.yml 同一位置的 icons.B.action 是回程,icons.C.action 是关闭。布局中的 A、B、C 决定这三个按钮的槽位,不需要再写另一套位置配置。
2. 重载并走完一遍
/invero menu reload
/invero menu open hub- 在主菜单点击“打开帮助”,窗口标题变为“帮助”。
- 点击“返回”,再次看到主菜单的书。
- 重新进入帮助页,点击“关闭”,窗口消失。
每次 menu open 都会建立新会话并执行目标菜单的打开事件;跳转也会结束原会话,原菜单的关闭事件和任务停止规则仍然适用。
3. 需要时再带上状态
本示例没有需要保留的选项,因此使用 menu open。如果你给主菜单增加了分类选择,可只把 icons.A.action 改成下面片段:
action: |-
ctx set category to help
menu switch help再在 help.yml → icons.B 增加一行 Lore,即可观察传入值:
lore:
- '&7来源分类:{{ctx get category}}'现在点击主菜单的书,帮助页箭头会显示“来源分类:help”。switch(别名 open_ctx)带入当前会话状态;普通 open 不带。若返回主菜单时也要保留状态,把 icons.B.action 改为 menu switch hub。持久数据则始终按自己的载入规则处理。
这两处是可选改动片段,不属于上方原样下载文件。更多目标玩家、with 参数和标题操作查菜单语句,不必为增加一条参数复制整个菜单。
Last updated on