Skip to content
On this page

认识替换菜单

替换菜单用于接管 Minecraft 自带的客户端页面,例如标题主菜单、游戏内 Esc 菜单、设置页、连接页和确认页。它解决的是“让整套定制客户端拥有统一菜单外观与入口”的问题,而不是在玩家进服后额外打开一张普通 ChaUI 页面。

完成配置后,玩家仍然从原来的入口进入页面:按 Esc 仍然打开暂停菜单,点击“选项”仍然进入设置,连接服务器仍然经过 Minecraft 的连接页面。ChaUI 只在目标已配置且页面有效时显示你的设计;目标未配置或替换失败时,玩家看到原版页面。

三种页面不要混淆

能力什么时候出现主要数据来源适合做什么失败时
普通页面 screen指令、API 或页面脚本主动打开页面自己的变量与服务端业务商店、任务、对话框、功能面板当前页面拒绝打开或安全关闭
箱子与背包替换 container玩家打开匹配的原版容器原版槽位、物品及第三方插件库存逻辑重做箱子菜单、玩家背包外观继续显示原版容器
原版菜单替换 vanillaMinecraft 准备打开一个受支持的客户端页面原版客户端、当前页面和设置状态标题菜单、Esc、设置、连接与确认页面恢复对应的原版页面

如果你的目标是替换 Bukkit 箱子菜单或玩家背包,请前往替换界面:箱子与背包。本大类只讲 display.mode: vanilla

能替换到哪里

ChaUI 1.4.0 提供 27 个稳定目标,覆盖以下几组页面:

  • 标题主菜单与游戏内暂停菜单;
  • 单人游戏、创建或编辑世界;
  • 多人游戏、直接连接、添加或编辑服务器;
  • 总设置以及声音、视频、控制、聊天、语言、资源包和辅助功能等设置页;
  • 连接、断开、加载世界、进度、确认和消息页面。

完整 ID、进入方式与返回关系见目标与返回关系。Minecraft 启动早期出现的红色加载画面不属于可替换页面。

首期是静态菜单

首期没有动态列表或重复布局组件,也不会向页面脚本提供世界列表、服务器列表和资源包列表。因此:

  • 可以把标题页或多人页做成几个固定按钮,例如只加入指定服务器;
  • 可以替换单人、多人或资源包页面的外观和固定入口;
  • 不能在 ChaUI 页面里自动列出本地世界、已保存服务器或资源包;
  • 需要完整原版动态列表时,保留该目标不替换,或用 打开原版页面(target, true) 单次打开原版页面。

没有配置的目标会继续使用 Minecraft 原版页面,后续增加动态列表能力也不会破坏已经制作的静态替换页。

页面为什么还能返回和继续游戏

替换发生时,原来的 Minecraft 页面上下文仍被保留,所以页面作者不需要自己维护一套返回栈。close() 会按当前目标执行自然返回:暂停菜单继续游戏,设置子页返回父页面,确认页按取消处理。

如果页面配置无效、当前游戏版本不支持某个目标,或运行中出现关键异常,ChaUI 会恢复保留的原版页面。重复目标只影响发生冲突的目标;损坏的候选页面包则不会取代上一套有效包。

推荐学习顺序

  1. 跟随替换第一个 Esc 菜单完成第一次可验证替换。
  2. 阅读目标与返回关系本地动作,设计导航。
  3. 需要复刻设置项时阅读原版状态参考设置绑定
  4. 定制客户端入口可直接使用固定服务器入口
  5. 发布前阅读编辑器与隔离预览页面包与素材安全回退与排错