Skip to content
iPlugin

固定翻页面板

查阅 pages 的固定分类、初始页、页号与目标面板选择。

pages 保存多套预先写好的面板,适合分类和选项卡。它不会自动收集条目再拆页;数据条目按格子数量分页应使用生成器面板。

完整苹果页、钻石页配置已移到分类切换教程,原有菜单仍为 pages-demo.yml。

面板字段

字段写在包含 pages 的面板对象,不写在外层 menu 或图标中。

字段类型必填省略行为说明
scale两项整数列表是不提供则无法确定固定分页区域区域宽度、高度;不会按某一页的布局自动推导
locate两项整数列表否在父容器中自动寻找未占用起点分页区域相对于父容器的起点
pages面板列表或单个面板对象是无页面可切换至少一页;每项按自己的面板类型配置,通常使用列表
default-page(default、def-page)整数否0初始页索引,必须在已有页面的索引范围内

固定分页面板自身不读取 layout、icons。它们应写在 pages 的每一页面板内,或作为分页区域以外的固定导航面板。各页省略 locate 时从分页区域的 0x0 开始,图标槽位也是该页的局部槽位。

普通面板和生成器可作为页面;也能声明更深的固定分页。滚动面板放进 pages 会使固定背景与滚动区分开参与页切换,不能得到两者一起显示的普通滚动页。嵌套 crafting 的存取、背包处理与关闭返还不完整,不把它用作真实物品分页存储。

页号与操作

页索引从 0 开始;两页菜单的当前索引为 0 或 1,page max 返回 1,不是页数 2。

语句别名或参数结果
page getcurrent读取当前页索引
page max无读取最大页索引
page isFirst忽略大小写是否处于索引 0
page isLast忽略大小写当前索引是否等于最大页索引
page set to 1set 可写 to、switch;参数前的 to 可写 by切换到指定索引
page nextadd、increase、+;可加 by 2 或 to 2前进指定页数,省略数量为 1;超出范围不切页
page previoussub、decrease、-;可加 by 2 或 to 2后退指定页数,省略数量为 1;超出范围不切页

page set 应明确给出有效索引,不会可靠地把超出上限的值限制回最后一页。数量参数会把负数按 0 处理;省略 set 的目标时会使用 1,不是自动选择第一页。

显示给玩家的页码

给玩家显示第几页时,将索引加 1。下面的片段可添加到 pages-demo.yml 每一页的 icons 下:

添加到每一页面板的 icons 中
P:
  slot: 13
  material: PAPER
  update: 20
  name: '&f第 {{math add [ page get 1 ]}} / {{math add [ page max 1 ]}} 页'

该页高两行、宽九格,所以局部槽位 13 是该页第二行第五格,对应整个三行窗口的槽位 22。它不会覆盖本例局部槽位 4 的苹果或钻石;示例下载文件没有添加这个可选页码图标。

选择目标面板

page 优先操作当前选定或当前点击所在的分页区域;没有适用上下文时寻找菜单中的分页区域。一个菜单有多个可翻页区域时显式选择,避免按钮改到另一组页面。

panel at 1 select
page set to 0

panel at 1 选择顶层第二个面板,正好对应分类示例的分页区。选择子面板可继续写 at,例如 panel at 1 at 0 select;每一级索引都从 0 开始。select 可写 switch,单独 panel select 清除本次动作中的面板选择。

这些索引是菜单实际区域的顺序,不是图标槽位。一个顶层滚动配置会产生固定背景和滚动区两个区域,使后续区域的索引相应后移;按滚动面板的目标选择确定索引。

panel 选择影响 page、scroll、单图标等按上下文查找的操作;icons 批量操作仍遍历整个菜单当前有效区域,不会因此缩小为只刷新所选面板。

Last updated on