目标与返回关系
display.vanilla.target 不是任意类名或页面标题,而是 ChaUI 提供的稳定目标 ID。页面出现时仍保留 Minecraft 原来的父页面和返回关系,因此同一份配置可以在不同受支持版本上使用。
27 个稳定目标
下表列出 ChaUI 1.4.0 的公共目标目录。每个目标都使用当前 Minecraft 页面作为隐藏上下文;某个游戏版本无法安全匹配目标时,只会让该目标显示原版页面。
| 目标 ID | 常见原版页面或入口 | close() / 取消结果 | 首期静态替换建议 |
|---|---|---|---|
title_menu | 启动后标题主菜单 | 不会关闭成空白页面;请用明确导航或退出按钮 | 很适合固定服务器客户端入口 |
pause_menu | 游戏内按 Esc | 继续游戏 | 很适合完整替换 |
singleplayer | 标题页“单人游戏” | 返回标题页 | 可做固定说明或入口;不能列出本地世界 |
create_world | 创建新世界 | 按原版关系返回上一页 | 原版字段较多,通常保留原版或只做固定导航 |
edit_world | 编辑已有世界 | 按原版关系返回上一页 | 不能直接读取待编辑世界列表或完整表单 |
multiplayer | 标题页“多人游戏” | 返回标题页 | 可做固定服务器按钮;不能列出已保存服务器 |
direct_connect | 多人页“直接连接” | 返回多人页 | 可替换外观;固定地址更适合直接调用加入动作 |
add_server | 多人页“添加服务器” | 返回多人页 | 不能用首期状态树复刻完整原版表单 |
edit_server | 编辑服务器记录 | 返回多人页 | 不能读取或写入动态服务器记录 |
options | 标题页或暂停页“选项” | 返回进入它的父页面 | 适合做设置分类入口 |
sound_options | 声音设置 | 返回设置父页 | 适合用滑块绑定声音属性 |
video_options | 视频设置 | 返回设置父页 | 适合数字、布尔和枚举绑定 |
controls_options | 控制设置 | 返回设置父页 | 可绑定公共控制属性 |
keybind_options | 按键绑定列表 | 返回控制设置 | 首期不能动态列出全部按键,建议保留原版 |
mouse_options | 鼠标设置 | 返回控制设置 | 可绑定鼠标灵敏度等公共属性 |
chat_options | 聊天设置 | 返回设置父页 | 适合公共聊天属性绑定 |
skin_options | 皮肤自定义 | 返回设置父页 | 首期没有公共皮肤状态目录,适合固定导航 |
language_options | 语言选择 | 返回设置父页 | 可读取当前语言,不能动态列出或直接绑定语言列表 |
resource_pack_options | 资源包选择 | 返回设置父页 | 首期不能列出资源包,通常使用原版页 |
accessibility_options | 辅助功能设置 | 返回设置父页 | 可绑定字幕、旁白和文字背景透明度 |
online_options | 在线选项 | 返回设置父页 | 首期适合固定说明或返回入口 |
connecting | 正在连接服务器 | 仅在原版允许取消时取消 | 保留必要的取消入口;不要假定任何阶段都可关闭 |
disconnected | 连接失败或被断开 | 返回原版父页 | 适合自定义错误画面和重试入口 |
loading_world | 进入或切换世界 | 仅在原版允许取消时取消 | 适合静态背景和状态文字,不应强制提供取消 |
progress | 数据包、资源或其他进度页 | 仅在原版允许取消时取消 | 可显示 原版.页面.进度,保留原版限制 |
confirm | 原版确认对话框 | close() 按取消处理 | 确认按钮使用 确认原版操作() |
message | 原版消息提示页 | 执行原版消息页的确认或返回回调 | 适合显示标题、消息和返回按钮 |
页面如何声明目标
display:
mode: vanilla
vanilla:
target: pause_menu同一活动页面包中,一个目标只能由一张页面声明:
- 两张页面都声明
pause_menu时,两张都不会被选中,暂停菜单回退原版; - 目标拼写错误时,只拒绝该页面或目标,不会猜测相近 ID;
- 当前 Minecraft 版本不支持某目标时,该目标使用原版页面;
- 其他没有冲突的目标继续正常替换。
可识别目标与可主动导航目标
全部 27 个目标都可以出现在 display.vanilla.target 中,但 打开原版页面(target) 还要求 Minecraft 能在当前环境主动创建目标页面。
edit_world、edit_server、connecting、disconnected、loading_world、progress、confirm 和 message 依赖原版已经持有的记录、任务或回调,只能在对应原版流程出现时被 ChaUI 识别和替换,不能由脚本凭空打开。pause_menu 等目标也会检查当前是否已经进入世界。
因此,制作导航时应打开能够独立进入的标题页、单人页、多人页、添加服务器页或设置页;连接、确认、进度与消息页面则负责接管真实流程产生的画面。完整动作失败规则见本地动作。
正常导航与单次绕过
打开原版页面("video_options")
打开原版页面("video_options", false)上面两种写法等价:先按目标走 ChaUI 替换判断,没有有效替换页时再显示原版页面。
打开原版页面("video_options", true)第二个参数也称 bypassReplacement。true 表示只对这一次导航绕过 ChaUI,强制显示 Minecraft 原版页面。绕过标记在这次打开后即消耗,不会永久关闭 video_options 的替换。
返回关系由原版上下文决定
从暂停菜单打开 options,再进入 video_options 时,close() 会依次回到设置父页和暂停菜单;从标题页进入设置时则返回标题页。原版父页面由隐藏上下文保留,页面作者不需要把父目标存在变量里,也不应自己拼接返回栈。
confirm、connecting、loading_world 和 progress 有额外限制:确认页的关闭等同取消,连接或加载类页面只能在 Minecraft 原本允许取消时关闭。需要逐项选择动作时继续阅读本地动作。
猹件开发组