Skip to content
On this page

原版状态参考

原版菜单页面既可以读取当前客户端和原版页面的信息,也可以读写经过 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.01.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布尔值falsetrue
原版.设置.视频.垂直同步vanilla.settings.video.vsync布尔值falsetrue
原版.设置.视频.最大帧率vanilla.settings.video.maxFps数字10..260 / 10
原版.设置.视频.渲染距离vanilla.settings.video.renderDistance数字2..32 / 1
原版.设置.视频.图像品质vanilla.settings.video.graphics枚举fastfancyfabulous
原版.设置.视频.粒子效果vanilla.settings.video.particles枚举alldecreasedminimal

图像品质可能从其他 Mod 读取到 custom,但 ChaUI 公共目录只允许写入 fastfancyfabulous。某些设备不支持 fabulous 时,写入会被拒绝并保留原值。

控制设置:3 项,可写

中文路径英文规范路径类型范围、步长或允许值
原版.设置.控制.鼠标灵敏度vanilla.settings.controls.sensitivity数字0..1 / 0.01
原版.设置.控制.反转鼠标vanilla.settings.controls.invertMouse布尔值falsetrue
原版.设置.控制.自动跳跃vanilla.settings.controls.autoJump布尔值falsetrue

聊天设置:6 项,可写

中文路径英文规范路径类型范围、步长或允许值
原版.设置.聊天.可见性vanilla.settings.chat.visibility枚举fullcommandshidden
原版.设置.聊天.颜色vanilla.settings.chat.colors布尔值falsetrue
原版.设置.聊天.链接vanilla.settings.chat.links布尔值falsetrue
原版.设置.聊天.链接确认vanilla.settings.chat.promptLinks布尔值falsetrue
原版.设置.聊天.透明度vanilla.settings.chat.opacity数字0..1 / 0.01
原版.设置.聊天.缩放vanilla.settings.chat.scale数字0..1 / 0.01

辅助功能设置:3 项,可写

中文路径英文规范路径类型范围、步长或允许值
原版.设置.辅助.字幕vanilla.settings.accessibility.subtitles布尔值falsetrue
原版.设置.辅助.旁白vanilla.settings.accessibility.narrator枚举offallchatsystem
原版.设置.辅助.文字背景透明度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,布尔属性使用布尔选项组件,枚举属性使用 toggledropdown。完整页面见设置绑定