跳到主要内容

了解 GUI 菜单

一个 Open GUI 条目包含菜单所需的一切:窗口类型、标题、布局池以及会话选项。本页介绍相关术语以及构建菜单的顺序。

术语​

术语含义
layoutPool菜单中已命名的布局集合。
mainLayoutId最先绘制的布局(根布局)的 id。
布局(Layout)放置槽位的规则:网格、行、分页、滚动区域、框架或图层。
物品(Item)对一个槽位的描述:物品、名称、lore、位置、权限和点击动作。
交互(Interaction)某一种点击类型触发的行为:命令、触发器、关闭或返回。
会话(Session)某位玩家打开的菜单的状态:历史记录、当前页、滚动位置和当前视图。
视口(Viewport)可滚动布局中当前可见的部分。

构建顺序​

  1. 创建 Open GUI 条目,然后选择 guiType、size 和 title。
  2. 添加一个带有 id 的 simple 布局,并把该 id 写入 mainLayoutId。
  3. 先添加装饰性物品(边框、背景),再添加按钮。
  4. 为按钮添加 interactionList 条目。
  5. 最后再添加 frame、scrollable、paginated 或 views。

槽位重复​

count、direction、gap 和 repeatY 用于重复放置一个物品。一个 count 为 9、direction 为 right 的物品就能铺满一行。这些字段只负责放置槽位,绝不会改变物品的堆叠数量。gap 是步长:1 表示槽位相邻,2 表示副本之间隔一个空槽。没有 direction 时,这三个字段会被忽略,只放置一个槽位。

落在网格之外的槽位会被丢弃,并在控制台中列出对应布局的 id 和坐标。

可见性与点击​

  • criteria 对不满足条件的玩家隐藏该槽位。
  • viewPermission 对没有该权限的玩家隐藏该槽位。
  • clickPermission 会绘制该槽位,但使其无法点击。
  • allowPickup 允许玩家把物品从菜单中拿出;默认关闭。

它们都是可选的,留空的权限不会限制任何内容。

打开、返回与关闭​

  • 任何能触发动作的条目都可以触发 Open GUI。
  • 交互上的 executeReturn 会返回该会话的上一个菜单。
  • 交互上的 closeMenu 会关闭窗口。
  • 按 Escape 关闭会结束该会话。

后续步骤​