原版状态参考
原版菜单页面既可以读取当前客户端和原版页面的信息,也可以读写经过 ChaUI 归一化的设置。所有公开状态都在 原版.* 下,英文规范路径 vanilla.* 与中文路径等价。
三棵状态树的职责不同:
原版.客户端.*:整个客户端都能读取的状态,只读;原版.页面.*:当前被替换原版页面的上下文,只读;原版.设置.*:公共客户端设置,按属性目录校验并可写。
先显示几个状态
下面的文本组件可以放进任意 display.mode: vanilla 页面:
yaml
- id: vanilla_context
type: text
layout:
x: 12
y: 12
width: 260
height: 48
text:
value: |-
客户端语言:{原版.客户端.语言}
当前目标:{原版.页面.目标}
原版标题:{原版.页面.标题}
原版消息:{原版.页面.消息}状态变化时,响应式文字会从同一实时来源重新读取。原版.页面.* 的实际内容取决于当前目标;例如普通设置页通常没有进度消息,连接或加载页才会提供相应内容。不要依赖一个未在下表公开的路径。
客户端状态:4 项,只读
| 中文路径 | 英文规范路径 | 类型 | 权限 | 用途 |
|---|---|---|---|---|
原版.客户端.版本 | vanilla.client.version | 字符串 | 只读 | 显示当前 Minecraft 版本 |
原版.客户端.语言 | vanilla.client.language | 字符串 | 只读 | 显示当前语言代码 |
原版.客户端.已进入世界 | vanilla.client.inWorld | 布尔值 | 只读 | 区分标题菜单和游戏内环境 |
原版.客户端.已连接服务器 | vanilla.client.connectedToServer | 布尔值 | 只读 | 判断当前是否已连接服务器 |
页面状态:5 项,只读
| 中文路径 | 英文规范路径 | 类型 | 权限 | 用途 |
|---|---|---|---|---|
原版.页面.目标 | vanilla.page.target | 字符串 | 只读 | 当前稳定目标 ID,例如 pause_menu |
原版.页面.标题 | vanilla.page.title | 字符串 | 只读 | 当前原版页面提供的标题 |
原版.页面.消息 | vanilla.page.message | 字符串 | 只读 | 断开、连接、进度或消息页面的正文 |
原版.页面.进度 | vanilla.page.progress | 数字 | 只读 | 当前原版页面提供的进度值;含义由目标决定 |
原版.页面.可以返回 | vanilla.page.canReturn | 布尔值 | 只读 | 当前原版上下文是否允许返回或取消 |
声音设置:10 项,可写
所有声音比例值范围均为 0.0 至 1.0,步长为 0.01。
| 中文路径 | 英文规范路径 | 类型 | 范围 / 步长 |
|---|---|---|---|
原版.设置.声音.主音量 | vanilla.settings.sound.masterVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.音乐音量 | vanilla.settings.sound.musicVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.唱片音量 | vanilla.settings.sound.recordsVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.天气音量 | vanilla.settings.sound.weatherVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.方块音量 | vanilla.settings.sound.blocksVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.敌对生物音量 | vanilla.settings.sound.hostileVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.友好生物音量 | vanilla.settings.sound.neutralVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.玩家音量 | vanilla.settings.sound.playersVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.环境音量 | vanilla.settings.sound.ambientVolume | 数字 | 0..1 / 0.01 |
原版.设置.声音.语音音量 | vanilla.settings.sound.voiceVolume | 数字 | 0..1 / 0.01 |
视频设置:9 项,可写
| 中文路径 | 英文规范路径 | 类型 | 范围、步长或允许写入值 |
|---|---|---|---|
原版.设置.视频.视野 | vanilla.settings.video.fov | 数字 | 30..110 / 1 |
原版.设置.视频.亮度 | vanilla.settings.video.brightness | 数字 | 0..1 / 0.01 |
原版.设置.视频.界面缩放 | vanilla.settings.video.guiScale | 数字 | 0..16 / 1 |
原版.设置.视频.全屏 | vanilla.settings.video.fullscreen | 布尔值 | false、true |
原版.设置.视频.垂直同步 | vanilla.settings.video.vsync | 布尔值 | false、true |
原版.设置.视频.最大帧率 | vanilla.settings.video.maxFps | 数字 | 10..260 / 10 |
原版.设置.视频.渲染距离 | vanilla.settings.video.renderDistance | 数字 | 2..32 / 1 |
原版.设置.视频.图像品质 | vanilla.settings.video.graphics | 枚举 | fast、fancy、fabulous |
原版.设置.视频.粒子效果 | vanilla.settings.video.particles | 枚举 | all、decreased、minimal |
图像品质可能从其他 Mod 读取到 custom,但 ChaUI 公共目录只允许写入 fast、fancy、fabulous。某些设备不支持 fabulous 时,写入会被拒绝并保留原值。
控制设置:3 项,可写
| 中文路径 | 英文规范路径 | 类型 | 范围、步长或允许值 |
|---|---|---|---|
原版.设置.控制.鼠标灵敏度 | vanilla.settings.controls.sensitivity | 数字 | 0..1 / 0.01 |
原版.设置.控制.反转鼠标 | vanilla.settings.controls.invertMouse | 布尔值 | false、true |
原版.设置.控制.自动跳跃 | vanilla.settings.controls.autoJump | 布尔值 | false、true |
聊天设置:6 项,可写
| 中文路径 | 英文规范路径 | 类型 | 范围、步长或允许值 |
|---|---|---|---|
原版.设置.聊天.可见性 | vanilla.settings.chat.visibility | 枚举 | full、commands、hidden |
原版.设置.聊天.颜色 | vanilla.settings.chat.colors | 布尔值 | false、true |
原版.设置.聊天.链接 | vanilla.settings.chat.links | 布尔值 | false、true |
原版.设置.聊天.链接确认 | vanilla.settings.chat.promptLinks | 布尔值 | false、true |
原版.设置.聊天.透明度 | vanilla.settings.chat.opacity | 数字 | 0..1 / 0.01 |
原版.设置.聊天.缩放 | vanilla.settings.chat.scale | 数字 | 0..1 / 0.01 |
辅助功能设置:3 项,可写
| 中文路径 | 英文规范路径 | 类型 | 范围、步长或允许值 |
|---|---|---|---|
原版.设置.辅助.字幕 | vanilla.settings.accessibility.subtitles | 布尔值 | false、true |
原版.设置.辅助.旁白 | vanilla.settings.accessibility.narrator | 枚举 | off、all、chat、system |
原版.设置.辅助.文字背景透明度 | vanilla.settings.accessibility.textBackgroundOpacity | 数字 | 0..1 / 0.01 |
写入规则
原版属性描述符是最终规则。写入必须同时满足:路径存在、属性可写、值类型正确、数字为有限值且在范围内、枚举值位于允许集合。任一项不满足时,本次写入被拒绝,旧值保持不变;ChaUI 不会把字符串 "0.5" 自动当成数字,也不会把 2 自动夹到音量上限。
普通脚本也可以直接写入可写属性。例如下面的按钮会把音乐音量设为 35%:
yaml
- id: quiet_music
type: button
layout:
x: 12
y: 72
width: 120
height: 20
button:
label: 音乐音量 35%
events:
leftClick: |
原版.设置.声音.音乐音量 = 0.35
log("当前音乐音量:{原版.设置.声音.音乐音量}")赋值成功后,Minecraft 的实时状态会立刻变化,下一行脚本读取到的也是新值。脚本写入会标记设置为待保存;ChaUI 会合并磁盘写入,并在替换菜单正常关闭或页面正常切换时保存。由拖动条产生的修改还会在 change 时保存。客户端异常退出不能代替这些正常保存边界。
表单组件绑定还会检查组件类型。数字属性使用 slider,布尔属性使用布尔选项组件,枚举属性使用 toggle 或 dropdown。完整页面见设置绑定。
猹件开发组