Skip to content
iPlugin

菜单跳转

完成主菜单、帮助页、返回和关闭,并试验传递菜单状态。

做完会得到什么

主菜单中央的书打开帮助菜单;帮助菜单左侧箭头返回,右侧屏障关闭。两个菜单都只有一行,没有额外插件依赖。

hub.yml / help.yml配置效果示意 · 非游戏截图
图示状态主页
窗口槽位 13窗口坐标 4x1字符 空格

点击菜单中的导航按钮,在主页与帮助页之间切换。

1. 放置两个文件

把 hub.yml 和 help.yml 保存到 plugins/Invero/workspace/。文件名就是这里使用的菜单 ID;箭头的目标 hub 与书的目标 help 应与文件名对应。

成套下载 navigation-example.zip,压缩包根目录包含两个文件;也可分别下载 hub.yml 和 help.yml。

plugins/Invero/workspace/hub.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
  1. 在主菜单点击“打开帮助”,窗口标题变为“帮助”。
  2. 点击“返回”,再次看到主菜单的书。
  3. 重新进入帮助页,点击“关闭”,窗口消失。

每次 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