--- title: JSON UI 完整文档 category: 文档 nav_order: 1 mentions: - KalmeMarq - SirLich - solvedDev - Joelant05 - GTB3NW - stirante - sermah - MedicalJewel105 - tinedpakgamer - LeGend077 - TheDataLioness - shanewolf38 - JosiahDZD - Tcbdxh - inotflying - TheItsNameless - SmokeyStack - Gotemba912 --- # JSON UI 完整文档 ## UI元素 ### 元素类型 | 名称 | 描述 | 允许的属性 | | ------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | panel | 容器元素,类似HTML中的`
` | [控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | stack_panel | 类似`panel`,但会根据`orientation`属性值自动堆叠子元素 | [堆叠面板](/wiki/json-ui/json-ui-documentation#stack-panel)
[集合](/wiki/json-ui/json-ui-documentation#collection)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | collection_panel | 类似`stack_panel`,但没有`orientation`属性 | [集合](/wiki/json-ui/json-ui-documentation#collection)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | grid | 网格布局元素 | [网格](/wiki/json-ui/json-ui-documentation#grid)
[集合](/wiki/json-ui/json-ui-documentation#collection)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | label | 文本元素 | [文本](/wiki/json-ui/json-ui-documentation#text)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | image | 图像元素,用于绘制纹理 | [精灵](/wiki/json-ui/json-ui-documentation#sprite)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | input_panel | 可接收输入的面板 | [输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | button | 按钮元素,支持四种状态(默认、悬停、按下、锁定) | [按钮](/wiki/json-ui/json-ui-documentation#button)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | toggle | 开关元素,包含两种状态(选中/未选中),每种状态有悬停和锁定变体 | [开关](/wiki/json-ui/json-ui-documentation#toggle)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | dropdown | 下拉菜单开关 | [下拉菜单](/wiki/json-ui/json-ui-documentation#dropdown)
[开关](/wiki/json-ui/json-ui-documentation#toggle)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | slider | 范围输入元素 | [滑块](/wiki/json-ui/json-ui-documentation#slider)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | slider_box | 用于调整滑块值的拖动按钮 | [滑块按钮](/wiki/json-ui/json-ui-documentation#slider-box)
[输入](/wiki/json-ui/json-ui-documentation#input)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | edit_box | 文本输入框(默认单行) | [文本编辑](/wiki/json-ui/json-ui-documentation#text-edit)
[按钮](/wiki/json-ui/json-ui-documentation#button)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | scroll_view | 创建可滚动面板 | [滚动视图](/wiki/json-ui/json-ui-documentation#scroll-view)
[输入](/wiki/json-ui/json-ui-documentation#input)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | scrollbar_track | 滚动条轨道 | [输入](/wiki/json-ui/json-ui-documentation#input)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout) | | scrollbar_box | 滚动条"滑块"(可拖动的滚动手柄,默认垂直方向) | [输入](/wiki/json-ui/json-ui-documentation#input)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout) | | factory | 元素生成器 | [控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout) | | screen | 屏幕元素 | [屏幕](/wiki/json-ui/json-ui-documentation#screen)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | custom | 需通过代码创建的复杂渲染元素 | [自定义渲染](/wiki/json-ui/json-ui-documentation#custom-render)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | selection_wheel | 选择轮盘 | [选择轮盘](/wiki/json-ui/json-ui-documentation#selection-wheel)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | #### 遗留元素类型(已失效) | 名称 | 描述 | 允许的属性 | | ---------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | tab | 在引入toggle之前创建标签页的方式 | [标签页(旧版)](/wiki/json-ui/json-ui-documentation#tab-legacy)
[按钮](/wiki/json-ui/json-ui-documentation#button)
[输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[音效](/wiki/json-ui/json-ui-documentation#sound)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | carousel_label | 轮播文本元素 | [轮播文本(旧版)](/wiki/json-ui/json-ui-documentation#carousel-text-legacy)
[文本](/wiki/json-ui/json-ui-documentation#text)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | grid_item | 专门作为网格子元素的容器 | [控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | | scrollbar | 旧版滚动条 | [输入](/wiki/json-ui/json-ui-documentation#input)
[焦点](/wiki/json-ui/json-ui-documentation#focus)
[控件](/wiki/json-ui/json-ui-documentation#control)
[布局](/wiki/json-ui/json-ui-documentation#layout)
[数据绑定](/wiki/json-ui/json-ui-documentation#data-binding) | ::: code-group ```json [示例] // 代码块注释示例 { "panel": { "type": "stack_panel", "orientation": "vertical" } } ``` ::: ## 属性 Properties ### 控制属性 (基础属性) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :----------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | visible | 布尔值 | `true` | 是否显示该UI元素 | | enabled | 布尔值 | `true` | 当设置为true时,如果UI元素或其子元素处于锁定状态,则会保持锁定 | | layer | 整数 | `0` | Z轴层级(类似CSS的z-index),数值越大越靠前显示 | | alpha | 浮点数 | `1.0` | 元素透明度(仅影响当前元素)。如需同时影响子元素需启用`propagate_alpha` | | propagate_alpha | 布尔值 | `false` | 是否将透明度同时应用于所有子元素 | | clips_children | 布尔值 | `false` | 是否裁剪超出元素边界的子元素内容(视觉与交互) | | allow_clipping | 布尔值 | `true` | 是否启用子元素裁剪功能 | | clip_offset | 向量 [x, y] | `[0, 0]` | 裁剪起始偏移量 | | clip_state_change_event | 字符串 | | | | enable_scissor_test | 布尔值 | | [Scissor Test功能说明](https://www.khronos.org/opengl/wiki/Scissor_Test) | | property_bag | 对象 | | [属性包](/wiki/json-ui/json-ui-documentation#property-bag),存放与UI元素数据结构相关的属性 | | selected | 布尔值 | | 文本框是否默认被选中 | | use_child_anchors | 布尔值 | `false` | 是否使用子元素的锚点设置 | | controls | 数组 | | 子元素列表 | | anims | 字符串数组 | | 动画名称列表 | | disable_anim_fast_forward | 布尔值 | | | | animation_reset_name | 字符串 | | | | ignored | 布尔值 | `false` | 是否忽略该UI元素 | | variables | 数组或对象 | | 用于动态修改变量值的条件集合 | | modifications | 数组 | | 允许修改底层资源包的UI文件(原版资源包在最底层) | | grid_position | 向量 [行, 列] | | 元素在网格布局中的位置,可用于修改预设网格的特定项 | | collection_index | 整数 | | 元素在集合中的索引位置 | #### 已弃用属性 | 属性名称 | 类型 | 默认值 | 描述 | | ------------ | :------: | :----: | ------------------------------------------------------------------------------------------------------------------------------------------- | | z_order | 整数 | 0 | `layer`属性的早期版本 | | scroll_report | 字符串数组 | | 当滚动面板内容变化时需要通知的控件名称列表 | | alignment | 枚举 | | 可选值:
`top_left`
`top_middle`
`top_right`
`left_middle`
`center`
`right_middle`
`bottom_left`
`bottom_middle`
`bottom_right` | ### 布局属性 (panel) | 属性名称 | 类型 | 默认值 | 描述 | | ---------------------------- | :---------------------: | :--------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | size | 向量 [宽度, 高度] | `["default", "default"]` | 元素尺寸:
`"default"`(默认值即`"100%"`)
`0`(像素值)
`"0px"`(带px后缀的像素值,支持百分比与像素混合运算如`"75% + 12px"`)
`"0%"`(相对父元素百分比)
`"0%c"`(相对子元素总尺寸百分比)
`"0%cm"`(相对最大可见子元素百分比)
`"0%sm"`(相对兄弟元素百分比)
`"0%y"`(相对元素高度百分比)
`"0%x"`(相对元素宽度百分比)
`"fill"`(填充父元素剩余空间) | | max_size | 向量 [宽度, 高度] | `["default", "default"]` | 元素最大尺寸 | | min_size | 向量 [宽度, 高度] | `["default", "default"]` | 元素最小尺寸 | | offset | 向量 [x, y] | `[0, 0]` | 相对于父元素的偏移位置(基于左上角坐标系):
`10`-像素
`"10px"`-像素
`"50%"`-父元素尺寸百分比
`"50%x"`-元素宽度百分比
`"50%y"`-元素高度百分比 | | anchor_from | 枚举 | `center` | 父元素锚点位置:
`top_left`
`top_middle`
`top_right`
`left_middle`
`center`
`right_middle`
`bottom_left`
`bottom_middle`
`bottom_right` | | anchor_to | 枚举 | `center` | 元素自身锚点位置:
`top_left`
`top_middle`
`top_right`
`left_middle`
`center`
`right_middle`
`bottom_left`
`bottom_middle`
`bottom_right` | | inherit_max_sibling_width | 布尔值 | `false` | 使用同级元素的最大宽度 | | inherit_max_sibling_height | 布尔值 | `false` | 使用同级元素的最大高度 | | use_anchored_offset | 布尔值 | | | | contained | 布尔值 | | | | draggable | 枚举 | | 使元素可通过光标拖动(需元素支持输入)。可能值:`vertical`(垂直)、`horizontal`(水平)、`both`(双向) | | follows_cursor | 布尔值 | `false` | 是否跟随光标移动 | ### 数据绑定 | 属性名称 | 类型 | 默认值 | 描述 | | -------- | :---------------------------------------------------------------: | :----: | ----------------------- | | bindings | [绑定对象数组](/wiki/json-ui/json-ui-documentation#data-binding-array-object) | | 将硬编码值绑定到元素属性 | #### 数据绑定对象 | 属性名称 | 类型 | 默认值 | 描述 | | ---------------------- | :------: | :-----: | ----------------------------------------------------------------------------------------------------------------------------------------------- | | ignored | 布尔值 | `false` | 是否忽略该绑定 | | binding_type | 枚举 | | 可能值:
`global`
`view`
`collection`
`collection_details`
`none` | | binding_name | 字符串 | | 存储数据绑定名称或条件的值 | | binding_name_override | 字符串 | | 应用`binding_name`值的属性名称 | | binding_collection_name | 字符串 | | 使用的集合名称 | | binding_collection_prefix | 字符串 | | | | binding_condition | 枚举 | | 绑定条件:
`always`
`always_when_visible`
`visible`
`once`
`none`
`visibility_changed` | | source_control_name | 字符串 | | 被观察的源控件名称 | | source_property_name | 字符串 | | 源控件属性值 | | target_property_name | 字符串 | | 目标应用属性 | | resolve_sibling_scope | 布尔值 | | 是否允许在同级控件中解析`source_control_name` | ### 堆叠面板 (stack_panel) | 属性名称 | 类型 | 默认值 | 描述 | | ---------- | :----: | -------- | ------------------------------------------- | | orientation | 枚举 | `vertical` | 子元素排列方向:
`vertical`
`horizontal` | ### 网格布局 (grid) | 属性名称 | 类型 | 默认值 | 描述 | | ----------------------- | :---------------------: | ------ | ---------------------------------------------------------------------------- | | grid_dimensions | 向量 [行数, 列数] | | 网格的行列数 | | maximum_grid_items | 整数 | | 网格最大生成项数 | | grid_dimension_binding | 字符串 | | 网格尺寸绑定名称 | | grid_rescaling_type | 枚举 | | 网格缩放方向:
`vertical`
`horizontal`
`none` | | grid_fill_direction | 枚举 | | 填充方向:
`vertical`
`horizontal`
`none` | | grid_item_template | 字符串 | | 支持集合的控件模板(如`"common.container_item"`、`"inventory_items"`等) | | precached_grid_item_count | 整数 | | | ### 文本属性 (Label) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :--------------: | :----------: | ----------------------------------------------------------------------------------------------------------------------------------- | | text | 字符串 | | 文本内容 | | color | 向量 [r, g, b] | `[1.0, 1.0, 1.0]` | 文本颜色(RGB值0.0-1.0) | | locked_color | 向量 [r, g, b] | | 父元素禁用时的文本颜色 | | shadow | 布尔值 | `false` | 是否显示文字阴影 | | hide_hyphen | 布尔值 | `false` | 是否隐藏换行连字符 | | notify_on_ellipses | 字符串数组 | | 当文本出现省略号时需要通知的控件列表 | | enable_profanity_filter | 布尔值 | `false` | 是否启用脏话过滤 | | locked_alpha | 浮点数 | | 父元素禁用时的透明度 | | font_size | 枚举 | `normal` | 字号:
`small`
`normal`
`large`
`extra_large` | | font_scale_factor | 浮点数 | `1.0` | 文本缩放比例 | | localize | 布尔值 | `false` | 是否启用文本本地化 | | line_padding | 数值 | | 行间距 | | font_type | 枚举 | `default` | 字体类型:
`default`
`rune`
`unicode`
`smooth`
`MinecraftTen`
或自定义字体 | | backup_font_type | 枚举 | `default` | 备用字体类型 | | text_alignment | 枚举 | | 文本对齐方式(未设置时根据锚点自动调整) | #### 已弃用属性 | 属性名称 | 类型 | 默认值 | 描述 | | -------- | :-----: | :-----: | ------------------------------ | | wrap | 布尔值 | `false` | 是否自动换行(已失效) | | clip | 布尔值 | `false` | 是否裁剪文本(已失效) |
`notify_on_ellipses`使用示例(常用于硬编码文本): ::: code-group ```json [RP/ui/example_file.json] { "label": { ... "notify_on_ellipses": [ "my_button" ] }, "my_button": { ... "bindings": [ { "binding_type": "view", "source_property_name": "#using_ellipses", "target_property_name": "#visible" } ] } } ``` ::: ### 精灵属性 (sprite) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :---------------------------: | :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | texture | 字符串 | | 图片路径(从资源包根目录开始,如`"textures/ui/White"`) | | allow_debug_missing_texture | 布尔值 | `true` | 当纹理缺失时显示调试纹理 | | uv | 向量 [u, v] | | 纹理映射起始坐标 | | uv_size | 向量 [宽, 高] | | 纹理映射尺寸 | | texture_file_system | 字符串 |`InUserPackage`| 纹理来源:
`InUserPackage`
`InAppPackage`
`RawPath`
`RawPersistent`
`InSettingsDir`
`InExternalDir`
`InServerPackage`
`InDataDir`
`InUserDir`
`InWorldDir`
`StoreCache` | | nineslice_size | 整数/向量[x,y]/向量[x0,y0,x1,y1] | | 九宫格切割尺寸(保持四角不拉伸) | | tiled | 布尔值或枚举 | | 平铺方式:
`true`/`false`
`x`
`y` | | tiled_scale | 向量 [sX, sY] | `false` | 平铺纹理缩放比例 | | clip_direction | 枚举 | | 裁剪起始方向:
`left`
`right`
`up`
`down`
`center` | | clip_ratio | 浮点数 | | 裁剪比例(0.0-1.0) | | clip_pixelperfect | 布尔值 | | 是否启用像素级精确裁剪 | | keep_ratio | 布尔值 | `true` | 调整尺寸时保持宽高比 | | bilinear | 布尔值 | `false` | 是否使用双线性过滤 | | fill | 布尔值 | `false` | 是否拉伸填充 | | $fit_to_width | 布尔值 | | | | zip_folder | 字符串 | | | | grayscale | 布尔值 | `false` | 是否显示为灰度图像 | | force_texture_reload | 布尔值 | | 纹理路径变更时强制重载 | | base_size | 向量 [宽, 高] | | | 使用裁剪功能时,需将`#*_ratio`绑定到`#clip-ratio`属性并设置条件为`"always"`。熔炉UI中的进度箭头和燃料图标即采用此机制。 ### 输入属性 (input) | 属性名称 | 类型 | 默认值 | 描述 | | ----------------------------- | :-------------------------------------------------------------------: | :----: | ---- | | button_mappings | [映射对象数组](/wiki/json-ui/json-ui-documentation#button-mapping-array-object) | | | | modal | 布尔值 | | | | inline_modal | 布尔值 | | | | always_listen_to_input | 布尔值 | | | | always_handle_pointer | 布尔值 | | | | always_handle_controller_direction | 布尔值 | | | | hover_enabled | 布尔值 | | | | prevent_touch_input | 布尔值 | | | | consume_event | 布尔值 | | | | consume_hover_events | 布尔值 | | | | gesture_tracking_button | 字符串 | | | #### 按钮映射对象 (Button Mapping Array Object) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :-----: | :-----: | ----------------------------------------------------------------------------- | | ignored | 布尔值 | `false` | 是否忽略该映射 | | from_button_id | 字符串 | | 触发事件的原始按钮ID | | to_button_id | 字符串 | | 事件触发后执行的目标按钮ID | | mapping_type | 枚举 | | 可能值:
`global`
`pressed`
`double_pressed`
`focused` | | scope | 枚举 | | 可能值:
`view`
`controller` | | input_mode_condition | 枚举 | | 可能值:
`not_gaze`
`not_gamepad`
`gamepad_and_not_gaze` | | ignore_input_scope | 布尔值 | | | | consume_event | 布尔值 | | | | handle_select | 布尔值 | | | | handle_deselect | 布尔值 | | | | button_up_right_of_first_refusal | 布尔值 | | | ### 焦点属性 (Focus) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :-----------------------------------------------------------------------: | :----: | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | default_focus_precedence | 整数 | | | | focus_enabled | 布尔值 | | 是否允许通过方向键或手柄聚焦 | | focus_wrap_enabled | 布尔值 | | | | focus_magnet_enabled | 布尔值 | | | | focus_identifier | 字符串 | | 焦点标识符 | | focus_change_down | 字符串 | | 按下方向键下时接收焦点的元素标识符(使用`FOCUS_OVERRIDE_STOP`可阻止焦点移出底部) | | focus_change_up | 字符串 | | 按下方向键上时接收焦点的元素标识符(使用`FOCUS_OVERRIDE_STOP`可阻止焦点移出顶部) | | focus_change_left | 字符串 | | 按下方向键左时接收焦点的元素标识符(使用`FOCUS_OVERRIDE_STOP`可阻止焦点移出左侧) | | focus_change_right | 字符串 | | 按下方向键右时接收焦点的元素标识符(使用`FOCUS_OVERRIDE_STOP`可阻止焦点移出右侧) | | focus_mapping | 数组 | | | | focus_container | 布尔值 | | | | use_last_focus | 布尔值 | | | | focus_navigation_mode_left | 枚举 | | 可能值:
`none`
`stop`
`custom`
`contained` | | focus_navigation_mode_right | 枚举 | | 可能值:
`none`
`stop`
`custom`
`contained` | | focus_navigation_mode_down | 枚举 | | 可能值:
`none`
`stop`
`custom`
`contained` | | focus_navigation_mode_up | 枚举 | | 可能值:
`none`
`stop`
`custom`
`contained` | | focus_container_custom_left | [焦点容器对象数组](/wiki/json-ui/json-ui-documentation#focus-container-custom-array-object) | | | | focus_container_custom_right | [焦点容器对象数组](/wiki/json-ui/json-ui-documentation#focus-container-custom-array-object) | | | | focus_container_custom_down | [焦点容器对象数组](/wiki/json-ui/json-ui-documentation#focus-container-custom-array-object) | | | | focus_container_custom_up | [焦点容器对象数组](/wiki/json-ui/json-ui-documentation#focus-container-custom-array-object) | | | #### 焦点容器对象 Focus Container Custom Array Object | 属性名称 | 类型 | 描述 | | --------------------- | :----: | ------------------------------------------------------------------------------ | | other_focus_container_name | 字符串 | 接收焦点的目标容器名称 | | focus_id_inside | 字符串 | 目标容器内接收焦点的子元素标识符 | ::: code-group ```json [RP/ui/example_file.json] ... { "other_panel": { ... "focus_container": true, "controls": [ ... ] } }, { "input_panel": { ... "focus_container_custom_up": [ { "other_focus_container_name": "other_panel" } ] } } ... ``` ::: ### 按钮属性 (button) | 属性名称 | 类型 | 默认值 | 描述 | | --------------- | :----: | :----: | ------------------------------------ | | default_control | 字符串 | | 默认状态下显示的子控件名称 | | hover_control | 字符串 | | 悬停状态下显示的子控件名称 | | pressed_control | 字符串 | | 按下状态下显示的子控件名称 | | locked_control | 字符串 | | 锁定状态下显示的子控件名称 | ### 开关控件 (toggle) | 属性名称 | 类型 | 默认值 | 描述 | | ----------------------------- | :-----: | :----: | ----------------------------------------------------------------------------------- | | radio_toggle_group | 布尔值 | | | | toggle_name | 字符串 | | 所属切换组的标识符 | | toggle_default_state | 布尔值 | | | | toggle_group_forced_index | 整数 | | 切换项在组内的索引 | | toggle_group_default_selected | 整数 | | 组内默认选中项的索引 | | reset_on_focus_lost | 布尔值 | | | | toggle_on_hover | 字符串 | | | | toggle_on_button | 字符串 | | | | toggle_off_button | 字符串 | | | | enable_directional_toggling | 布尔值 | | | | toggle_grid_collection_name | 字符串 | | 所属集合名称 | | checked_control | 字符串 | | 选中状态下显示的子控件名称 | | unchecked_control | 字符串 | | 未选中状态下显示的子控件名称 | | checked_hover_control | 字符串 | | 选中悬停状态下显示的子控件名称 | | unchecked_hover_control | 字符串 | | 未选中悬停状态下显示的子控件名称 | | checked_locked_control | 字符串 | | 选中锁定状态下显示的子控件名称 | | unchecked_locked_control | 字符串 | | 未选中锁定状态下显示的子控件名称 | | checked_locked_hover_control | 字符串 | | 选中锁定悬停状态下显示的子控件名称 | | unchecked_locked_hover_control | 字符串 | | 未选中锁定悬停状态下显示的子控件名称 | ### 硬编码切换组 部分界面(如设置、物品栏)包含预设切换组索引,示例配置: ```json $search_index - $construction_index $survival_layout_index - $construction-index $recipe_book_layout_index - $equipment_index $creative_layout_index - $items_index ``` 部分必选切换项(如设置中的辅助功能、物品栏的建造/装备/物品/自然标签)即使未配置也不会显示警告,但在深度修改时可能触发断言错误。 ### 下拉菜单 (dropdown) | 属性名称 | 类型 | 默认值 | 描述 | | -------------------- | :----: | :----: | -------------------------------- | | dropdown_name | 字符串 | | 下拉菜单标识符 | | dropdown_content_control | 字符串 | | 作为根内容面板的子控件名称 | | dropdown_area | 字符串 | | 内部内容区域的子控件名称 | ### 音效 | 属性名称 | 类型 | 描述 | | ------------ | :-----------------------------------------------------------: | -------------------------------------------- | | sound_name | 字符串 | 触发时播放的音效定义(位于`sound_definitions.json`) | | sound_volume | 浮点数 | 音效音量 | | sound_pitch | 浮点数 | 音效音调 | | sounds | [音效对象数组](/wiki/json-ui/json-ui-documentation#sound-array-object) | 触发时播放的音效列表 | #### 音效对象 | 属性名称 | 类型 | 描述 | | ------------------------ | :----: | -------------------------------------------- | | sound_name | 字符串 | 音效定义名称 | | sound_volume | 浮点数 | 音效音量 | | sound_pitch | 浮点数 | 音效音调 | | min_seconds_between_plays | 浮点数 | 重复播放最小间隔时间 | ### 集合 (Collection) | 属性名称 | 类型 | 描述 | | ------------- | :----: | -------------- | | collection_name | 字符串 | 使用的集合名称 | ### 文本编辑 (Text Edit) | 属性名称 | 类型 | 默认值 | 描述 | | ----------------------------- | :-----: | :----: | ---------------------------------------------------------------------------- | | text_box_name | 字符串 | | 文本框标识符 | | text_edit_box_grid_collection_name | 字符串 | | 所属集合名称 | | constrain_to_rect | 布尔值 | | | | enabled_newline | 布尔值 | | 是否允许多行输入 | | text_type | 枚举 | | 允许输入的字符类型:
`ExtendedASCII`
`IdentifierChars`
`NumberChars` | | max_length | 整数 | | 最大字符数限制 | | text_control | 字符串 | | 显示文本的子控件名称 | | place_holder_control | 字符串 | | 占位文本的子控件名称 | | can_be_deselected | 布尔值 | | | | always_listening | 布尔值 | | | | virtual_keyboard_buffer_control | 字符串 | | | ### 滑动条 (slider) | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :-----: | :----: | ---------------------------------------------------------------------------- | | slider_track_button | 字符串 | | 滑动条轨道按钮ID | | slider_small_decrease_button | 字符串 | | 减小按钮ID | | slider_small_increase_button | 字符串 | | 增大按钮ID | | slider_steps | 整数 | | 滑动步数 | | slider_direction | 枚举 | | 滑动方向:
`vertical`
`horizontal` | | slider_timeout | 数值 | | | | slider_collection_name | 字符串 | | 所属集合名称 | | slider_name | 字符串 | | 滑动条标识符 | | slider_select_on_hover | 布尔值 | | 悬停时是否自动聚焦 | | slider_selected_button | 字符串 | | 选中时触发的按钮ID | | slider_deselected_button | 字符串 | | 取消选中时触发的按钮ID | | slider_box_control | 字符串 | | 滑块按钮的子控件名称 | | background_control | 字符串 | | 背景子控件名称 | | background_hover_control | 字符串 | | 悬停背景子控件名称 | | progress_control | 字符串 | | 进度条子控件名称 | | progress_hover_control | 字符串 | | 悬停进度条子控件名称 | ### 滑动条按钮 | 属性名称 | 类型 | 默认值 | 描述 | | --------------- | :----: | :----: | ---------------------------- | | default_control | 字符串 | | 默认状态下显示的子控件名称 | | hover_control | 字符串 | | 悬停状态下显示的子控件名称 | | locked_control | 字符串 | | 锁定状态下显示的子控件名称 | ### 滚动视图 | 属性名称 | 类型 | 默认值 | 描述 | | ------------------------- | :-----: | :----: | ---------------------------------------------------------------------------- | | scrollbar_track_button | 字符串 | | 滚动条轨道按钮ID | | scrollbar_touch_button | 字符串 | | 触摸输入按钮ID | | scroll_speed | 数值 | | 滚动速度 | | gesture_control_enabled | 布尔值 | | | | always_handle_scrolling | 布尔值 | | | | touch_mode | 布尔值 | | | | scrollbar_box | 字符串 | | 滚动条滑块子控件名称 | | scrollbar_track | 字符串 | | 滚动条轨道子控件名称 | | scroll_view_port | 字符串 | | 视口子控件名称 | | scroll_content | 字符串 | | 内容根容器子控件名称 | | scroll_box_and_track_panel | 字符串 | | 包含滚动条和轨道的面板子控件名称 | | jump_to_bottom_on_update | 布尔值 | | 当内容更新时自动滚动到底部(例如新增子元素时) | ### 自定义渲染 | 属性名称 | 类型 | 描述 | | -------- | :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | renderer | 枚举 | 可能值:
`hover_text_renderer`(悬浮文字)
`3d_structure_renderer`(3D结构)
`splash_text_renderer`(启动标语)
`ui_holo_cursor`(全息光标)
`trial_time_renderer`(试用倒计时)
`panorama_renderer`(全景图)
`actor_portrait_renderer`(角色肖像)
`banner_pattern_renderer`(旗帜图案)
`live_player_renderer`(实时玩家模型)
`web_view_renderer`(网页视图)
`hunger_renderer`(饥饿度)
`bubbles_renderer`(呼吸气泡)
`mob_effects_renderer`(状态效果)
`cursor_renderer`(光标)
`progress_indicator_renderer`(进度指示器)
`camera_renderer`(相机)
`horse_jump_renderer`(马匹跳跃)
`armor_renderer`(护甲值)
`horse_heart_renderer`(马匹生命值)
`heart_renderer`(心形生命值)
`hotbar_cooldown_renderer`(快捷栏冷却)
`hotbar_renderer`(快捷栏)
`hud_player_renderer`(HUD玩家模型)
`live_horse_renderer`(实时马匹模型)
`holographic_postrenderer`(全息后期处理)
`enchanting_book_renderer`(附魔书)
`debug_screen_renderer`(调试信息)
`gradient_renderer`(渐变色)
`paper_doll_renderer`(纸娃娃模型)
`name_tag_renderer`(名称标签)
`flying_item_renderer`(飞行物品)
`inventory_item_renderer`(物品栏图标)
`credits_renderer`(制作人员名单)
`vignette_renderer`(暗角效果)
`progress_bar_renderer`(进度条)
`debug_overlay_renderer`(调试覆盖层)
`background_renderer`(背景)
`bohr_model_renderer`(玻尔模型)
`experience_renderer`(经验值,已弃用)
`menu_background_renderer`(菜单背景,已弃用) | #### 渲染器说明 | 渲染器名称 | 描述 | | ----------------------------- | --------------------------------------------------------------------- | | `flying_item_renderer` | 物品交换时的飞行动画 | | `inventory_item_renderer` | 物品图标渲染(仅限游戏内界面) | | `credits_renderer` | 制作人员名单与终末之诗 | | `vignette_renderer` | 暗角视觉效果 | | `name_tag_renderer` | 生物名称标签显示 | | `paper_doll_renderer` | 皮肤模型展示 | | `debug_screen_renderer` | 测试版调试信息显示 | | `enchanting_book_renderer` | 附魔台书本动画 | | `gradient_renderer` | 渐变颜色绘制 | | `live_horse_renderer` | 马匹/驴子/羊驼等生物模型 | | `live_player_renderer` | 玩家模型展示 | | `hud_player_renderer` | 同步玩家动作的HUD模型 | | `hotbar_renderer` | 快捷栏槽位图标 | | `hotbar_cooldown_renderer` | 物品冷却效果 | | `heart_renderer` | 心形生命值显示 | | `horse_heart_renderer` | 坐骑生命值显示 | | `armor_renderer` | 护甲值显示 | | `horse_jump_renderer` | 马匹跳跃进度条 | | `hunger_renderer` | 饥饿度显示 | | `bubbles_renderer` | 水下呼吸气泡 | | `mob_effects_renderer` | 状态效果图标 | | `cursor_renderer` | 屏幕中心十字准星 | | `progress_indicator_renderer` | 未使用 | | `camera_renderer` | 相机物品功能 | | `web_view_renderer` | 网页内容展示 | | `banner_pattern_renderer` | 旗帜图案渲染 | | `actor_portrait_renderer` | 角色肖像绘制 | | `trial_time_renderer` | 试用版世界使用倒计时 | | `progress_bar_renderer` | 多种进度条类型 | | `3d_structure_renderer` | 结构方块预览 | | `splash_text_renderer` | 随机启动标语显示(来自`splashes.json`) | | `hover_text_renderer` | 工具提示显示 | | `ui_holo_cursor` | 全息光标效果 | | `panorama_renderer` | 商店界面的世界全景展示 | #### 特殊属性 | 属性名称 | 类型 | 适用渲染器 | 描述 | | --------------------- | :---------------: | ------------------------ | ------------------------------------ | | gradient_direction | 枚举 | `gradient_renderer` | 渐变方向:
`vertical`
`horizontal` | | color1 | 向量 [r, g, b, a] | `gradient_renderer` | 起始颜色 | | color2 | 向量 [r, g, b, a] | `gradient_renderer` | 结束颜色 | | text_color | 向量 [r, g, b, a] | `name_tag_renderer` | 文本颜色 | | background_color | 向量 [r, g, b, a] | `name_tag_renderer` | 背景颜色 | | primary_color | 向量 [r, g, b, a] | `progress_bar_renderer` | 主色调 | | secondary_color | 向量 [r, g, b, a] | `progress_bar_renderer` | 辅助色调 | | camera_tilt_degrees | 数值 | `paper_doll_renderer` | 相机倾斜角度 | | starting_rotation | 数值 | `paper_doll_renderer` | 初始旋转角度 | | use_selected_skin | 布尔值 | `paper_doll_renderer` | 是否使用选定皮肤 | | use_uuid | 布尔值 | `paper_doll_renderer` | 是否使用UUID标识 | | use_skin_gui_scale | 布尔值 | `paper_doll_renderer` | 是否应用GUI缩放 | | use_player_paperdoll | 布尔值 | `paper_doll_renderer` | 是否显示玩家纸娃娃模型 | | rotation | 枚举 | `paper_doll_renderer`
`panorama_renderer` | 旋转模式:
`auto`
`gesture_x`
`custom_y` | | end_event | 字符串 | `credits_renderer` | 播放结束事件 | ### 屏幕属性 | 属性名称 | 类型 | 描述 | | ------------------------------- | :-----: | ---------------------------------------------------------------- | | render_only_when_topmost | 布尔值 | 仅在处于屏幕栈顶层时渲染 | | screen_not_flushable | 布尔值 | | | always_accepts_input | 布尔值 | | | render_game_behind | 布尔值 | 允许下层屏幕继续接收用户输入 | | absorbs_input | 布尔值 | | | is_showing_menu | 布尔值 | | | is_modal | 布尔值 | 是否为模态窗口 | | should_steal_mouse | 布尔值 | 捕获并隐藏光标 | | low_frequency_rendering | 布尔值 | 低内存渲染模式 | | screen_draws_last | 布尔值 | 最后渲染的屏幕 | | vr_mode | 布尔值 | | | force_render_below | 布尔值 | 强制渲染下层屏幕 | | send_telemetry | 布尔值 | | | close_on_player_hurt | 布尔值 | 玩家受伤时关闭界面 | | cache_screen | 布尔值 | | | load_screen_immediately | 布尔值 | | | gamepad_cursor | 布尔值 | | | gamepad_cursor_deflection_mode | 布尔值 | | | should_be_skipped_during_automation | 布尔值 | | ### 选择轮盘 | 属性名称 | 类型 | 描述 | | ------------------------ | :------: | ---- | | inner_radius | 数值 | 内半径 | | outer_radius | 数值 | 外半径 | | state_controls | 字符串数组 | 状态控件列表 | | slice_count | 整数 | 分片数量 | | button_name | 字符串 | 按钮名称 | | iterate_left_button_name | 字符串 | 左切换按钮 | | iterate_right_button_name | 字符串 | 右切换按钮 | | initial_button_slice | 整数 | 初始分片索引 | ### 文本转语音(TTS) | 属性名称 | 类型 | 描述 | | ------------------------------- | :------: | -------------------------------------------------------------------------------- | | tts_name | 字符串 | TTS名称标识 | | tts_control_header | 字符串 | | | tts_section_header | 字符串 | | | tts_control_type_order_priority | 整数 | | | tts_index_priority | 整数 | | | tts_toggle_on | 字符串 | 切换开启时的TTS提示(用于toggle类型) | | tts_toggle_off | 字符串 | 切换关闭时的TTS提示(用于toggle类型) | | tts_override_control_value | 字符串 | | | tts_inherit_siblings | 布尔值 | | | tts_value_changed | 字符串 | | | ttsSectionContainer | 布尔值 | | | tts_ignore_count | 布尔值 | | | tts_skip_message | 布尔值 | | | tts_value_order_priority | 整数 | | | tts_play_on_unchanged_focus_control | 布尔值 | | | tts_ignore_subsections | 布尔值 | | | text_tts | 字符串 | | | use_priority | 布尔值 | 是否使用`priority`属性决定子控件的TTS优先级 | | priority | 布尔值 | 元素的TTS优先级顺序 | ### 标签页(已弃用) | 属性名称 | 类型 | 默认值 | 描述 | | ----------- | :----: | :----: | ------------------------- | | tab_index | 整数 | | 标签页在组内的索引 | | tab_group | 整数 | | 所属标签组ID | | tab_control | 字符串 | | 标签激活时显示的控件名称 | ### 轮播文本(已弃用) | 属性名称 | 类型 | 默认值 | 描述 | | ------------- | :---------------: | :----: | ---------------------- | | always_rotate | 布尔值 | | | | rotate_speed | 数值 | | | | hover_color | 向量 [r, g, b, a] | | 悬停状态颜色 | | hover_alpha | 浮点数 | | 悬停状态透明度 | | pressed_color | 向量 [r, g, b, a] | | 按下状态颜色 | | pressed_alpha | 浮点数 | | 按下状态透明度 | ## 属性附加说明 ### 锚点属性 锚点允许元素对齐到特定基点,该基点将作为位置、尺寸、缩放、动画等变换的参考原点。在JSON UI中,通过 `anchor_from` 和 `anchor_to` 两个属性共同实现这一功能。 大多数情况下,这两个属性会被赋予相同的值: ::: code-group ```json [RP/ui/example_file.json] { "element": { "anchor_from": "top_left", "anchor_to": "top_left" } } ``` ::: 当两者采用不同值时会发生什么?以 `anchor_from: center` 和 `anchor_to: top_left` 的组合为例,这是理解其底层机制的最佳案例: ::: code-group ```json [RP/ui/example_file.json] { "element": { "anchor_from": "center", "anchor_to": "top_left" } } ``` ::: 此时元素的左上角点将被定位到父元素的中心点。 另一个复杂案例: 蓝色方框的左上角对齐到父元素的上边缘中点,而黑色方框的右侧中点则对齐到父元素中心。 简而言之,`anchor_to` 表示元素自身的锚点,该锚点将与父元素的 `anchor_from` 指定位置进行对齐。 ### 变量属性 | 名称 | 类型 | 描述 | | ----------- | :------: | ------------ | | `requires` | string | 触发条件 |
当仅需单个变量时,使用 `"variables": {}` 格式: ::: code-group ```json [RP/ui/example_file.json] { "element": { ... "size": "$el_size", "$el_size|default": ["100%", 20], "variables": { "requires": "$var_condition", "$el_size": ["100%", 30] } } } ``` ::: 多个变量时使用 `"variables": [{}]` 数组格式: ::: code-group ```json [RP/ui/example_file.json] { "element": { ... "size": "$el_size", "offset": "$el_offset", "$el_offset|default": [0, 40], "$el_size|default": ["100%", 20], "variables": [ { "requires": "$var_condition", "$el_size": ["100%", 30] }, { "requires": "$other_var_condition", "$el_offset": [0, 15], "$el_size": ["90%", 35] } ] } } ``` ::: ## 属性包 Property Bag | 名称 | 类型 | 是否必要 | 说明 | | ---------------------------------- | :-----------------: | ---------------------------------------------------- | --------------------------------------------------------------- | | #filtered_light_multiplier | float | type[custom]
renderer[inventory_item_renderer] | | | #banner_patterns | string | type[custom]
renderer[inventory_item_renderer] | | | #banner_colors | string | type[custom]
renderer[inventory_item_renderer] | | | #item_id_aux | int | type[custom]
renderer[inventory_item_renderer] | | | #item_custom_color | int | type[custom]
renderer[inventory_item_renderer] | | | #disabled_filter_visible | boolean | type[custom]
renderer[inventory_item_renderer] | | | #item_pickup_time | float | type[custom]
renderer[inventory_item_renderer] | | | #look_at_cursor | boolean | type[custom]
renderer[hud_player_renderer] | | | entity_type | enum | type[custom]
renderer[paper_doll_renderer] | 可能值:
`player`
`npc` | | #skin_idx | int | type[custom]
renderer[paper_doll_renderer] | | | #player_uuid | string | type[custom]
renderer[paper_doll_renderer] | | | #skin_rotation | boolean | type[custom]
renderer[paper_doll_renderer] | | | #custom_rot_y | float | type[custom]
renderer[paper_doll_renderer] | | | #gesture_delta_source | string | type[custom]
renderer[paper_doll_renderer] | | | #gesture_mouse_delta_x | string | type[custom]
renderer[paper_doll_renderer] | | | #pack_id | int | type[custom]
renderer[paper_doll_renderer] | | | #force_skin_update | string | type[custom]
renderer[paper_doll_renderer] | | | #progress_bar_visible | boolean | type[custom]
renderer[paper_doll_renderer] | | | #progress_bar_total_amount | float | type[custom]
renderer[progress_bar_renderer] | | | #progress_bar_current_amount | float | type[custom]
renderer[progress_bar_renderer] | | | is_durability | boolean | type[custom]
renderer[progress_bar_renderer] | | | round_value | boolean | type[custom]
renderer[progress_bar_renderer] | | | #hover_text | string | type[custom]
renderer[hover_text_renderer] | | | #open | boolean | type[custom]
renderer[enchanting_book_renderer] | | | flying_item_count | int | type[custom]
renderer[flying_item_renderer] | | | flying_item_id_aux | int | type[custom]
renderer[flying_item_renderer] | | | flying_item_custom_color | int | type[custom]
renderer[flying_item_renderer] | | | flying_item_origin_position_x | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_origin_position_y | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_origin_scale | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_destination_position_x | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_destination_position_y | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_destination_scale | float | type[custom]
renderer[flying_item_renderer] | | | flying_item_banner_patterns | string | type[custom]
renderer[flying_item_renderer] | | | flying_item_banner_colors | string | type[custom]
renderer[flying_item_renderer] | | | #use_heart_offset | boolean | type[custom]
renderer[armor_renderer] | | | opacity_override | float | type[custom]
renderer[vignette_renderer] | | | #playername | string | type[custom]
renderer[name_tag_renderer] | | | #x_padding | number | type[custom]
renderer[name_tag_renderer] | | | #entity_id | string or int | type[custom]
renderer[live_horse_renderer] | | | #hyperlink | string | type[button] | | | #anchored_offset_value_x | number | `use_anchored_offset` property | | | #anchored_offset_value_y | number | `use_anchored_offset` property | | | #size_binding_x | number | `use_anchored_offset` property | | | #size_binding_y | number | `use_anchored_offset` property | | | #has_focus | boolean | type[custom]
renderer[3d_structure_renderer] | | | #block_position | Vector [x, y, z] | type[custom]
renderer[3d_structure_renderer] | | | #top_right_block | Vector [x, y, z] | type[custom]
renderer[3d_structure_renderer] | | | #bottom_left_block | Vector [x, y, z] | type[custom]
renderer[3d_structure_renderer] | | | #include_entities | boolean | type[custom]
renderer[3d_structure_renderer] | | | #remove_blocks | boolean | type[custom]
renderer[3d_structure_renderer] | | | #include_players | boolean | type[custom]
renderer[3d_structure_renderer] | | | #slider_steps | number | type[slider] | | | #slider_value | number | type[slider] | | | #property_field | string | type[edit_box] | | | #hover_slice | int | type[selection_wheel] | | | #toggle_state | boolean | type[toggle] | | | #start_selected | boolean | | | | #tts_dialog_title | string | | | | #tts_dialog_body | string | | | | force_update | boolean | | | | #sub_command | string | | | | #panel_title | string | | | | #index | int | | | | #collection_prefix | string | | | | #collection_name | string | | | | #visible | boolean | | | | #common | Vector [r, g, b, a] | | | | #uncommon | Vector [r, g, b, a] | | | | #rare | Vector [r, g, b, a] | | | | #epic | Vector [r, g, b, a] | | | | #legendary | Vector [r, g, b, a] | | | | reset_group | enum | | 可能值:
`video`
`audio`
`accessibility` | | #text | string | | | | timer_duration | number | | | | #should_host | boolean | | | | is_local | boolean | | | | #is_left | boolean | | | | #is_skins | boolean | | | | #is_featured | boolean | | | | #image_name | string | | | | #is_dropdown | boolean | | | | #timer_field_count_to_show | number | | | | #owned_incompatible_prompt_color | Vector [r, g, b] | | | | #modal_title_text | string | | | | #modal_label_text | string | | | | #buttons_visible | boolean | | | | #no_buttons_visible | boolean | | | | #single_button_visible | boolean | | | | #two_buttons_visible | boolean | | | | is_fixed_inventory | boolean | | | | experimental_radio_button_state | string | | | | classic_radio_button_state | string | | | ## UI动画 Animations | 动画属性字段 | 类型 | 说明 | | ------------------------- | :-----------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | anim_type | enum | 可能值:
`alpha`
`clip`
`color`
`flip_book`
`offset`
`size`
`uv`
`wait`
`aseprite_flip_book` | | duration | number | | | next | string | | | destroy_at_end | string | | | play_event | string | | | end_event | string | | | start_event | string | | | reset_event | string | | | easing | enum | 可能值:
`linear`
`spring`
`in_quad`
`out_quad`
`in_out_quad`
`in_cubic`
`out_cubic`
`in_out_cubic`
`in_quart`
`out_quart`
`in_out_quart`
`in_quint`
`out_quint`
`in_out_quint`
`in_sine`
`out_sine`
`in_out_sine`
`in_expo`
`out_expo`
`in_out_expo`
`in_circ`
`out_circ`
`in_out_circ`
`in_bounce`
`out_bounce`
`in_out_bounce`
`in_back`
`out_back`
`in_out_back`
`in_elastic`
`out_elastic`
`in_out_elastic` | | from | | | | to | | | | initial_uv | Vector [u, v] | | | fps | int | Frames per second | | frame_count | int | | | frame_step | number | | | reversible | boolean | | | resettable | boolean | | | scale_from_starting_alpha | boolean | | | activated | boolean | | 更多关于 `aseprite_flip_book` 动画类型的属性说明, 请前往 [Aseprite Animations](/wiki/json-ui/aseprite-animations) 查阅详细文档。 ## 全局变量 Global Variables | 变量名 | 说明 | | -------------------------------------- | ----------------------------------------------------------------------------------------- | | $store_disabled | | | $game_pad | There's a controller connected to the device | | $mouse | There's a mouse connected to the device | | $touch | | | $trial | It's in the trial version of the game | | $build_platform_UWP | | | $win10_edition | | | $ignore_add_servers | | | $disable_gamertag_controls | | | $console_edition | | | $osx_edition | | | $pocket_edition | | | $education_edition | | | $world_archive_support | | | $file_picking_supported | | | $desktop_screen | If the classic UI is selected | | $pocket_screen | If the pocket UI is selected | | $is_holographic | | | $gear_vr | | | $oculus_rift | | | $is_living_room_mode | | | $is_reality_mode | | | $realms_beta | | | $fire_tv | | | $is_ios | | | $apple_tv | | | $is_windows_10_mobile | | | $image_picking_not_supported | | | $pre_release | | | $ios | | | $is_console | | | $can_quit | | | $is_settopbox | | | $microsoft_os | | | $apple_os | | | $google_os | | | $nx_os | | | $horizontal_safezone_size | | | $vertical_safezone_size | | | $can_splitscreen | | | $is_secondary_client | | | $multiplayer_requires_live_gold | | | $xbox_one | | | $is_pregame | If it's a out-game screen. It's in-game when you are playing in a world, server or realms | | $is_win10_arm | | | $vibration_supported | | | $is_mobile_vr | | | $is_xboxlive_enabled | | | $device_must_be_removed_for_xbl_signin | | | $is_publish | It's public and not a developer version | | $is_desktop | | | $is_ps4 | | | $is_on_3p_server | | | $ignore_3rd_party_servers | | | $is_berwick | | ## Hardcoded Hyperlinks `#hyperlink` doesn't allow custom urls. These are the ones that will work: - `http://education.minecraft.net/eula` - `http://pocketbeta.minecraft.net/p/how-to-join-and-leave-beta.html` - `http://aka.ms/minecraftrealmsfb` - `http://aka.ms/minecraftrealmsterms` - `http://aka.ms/minecraftfb` - `http://aka.ms/minecraftedusupport` - `https://aka.ms/blockxboxmessages` - `http://aka.ms/minecraftfbbeta` - `https://minecraft.net/attribution` - `http://aka.ms/mcedulogs` - `https://minecraft.net/licensed-content/` - `https://education.minecraft.net/eula` - `https://aka.ms/mcedulogs` - `https://aka.ms/minecraftrealmsterms` - `https://aka.ms/minecraftfb` - `https://aka.ms/minecraftfbbeta` - `https://aka.ms/minecraftedusupport` - `https://itunes.apple.com/us/app/minecraft/id479516143?mt=8` - `https://account.xbox.com/Settings` - `https://aka.ms/meeterms` - `https://aka.ms/privacy` - `https://aka.ms/MCBanned` - `https://aka.ms/MCMultiplayerHelp` - `https://aka.ms/meeeula` - `https://aka.ms/mee_privacy` - `https://www.minecraft.net/attribution/?hideChrome` - `https://aka.ms/switchattribution` - `https://www.minecraft.net/licensed-content/?hideChrome` - `https://aka.ms/switchcontent` - `https://social.xbox.com/changegamertag` ## Hardcoded Button IDs Some of them only work in specific screens. ### Buttons IDs: - `button.menu_exit` - `button.menu_cancel` (`Escape` key or Controller `B`) - `button.menu_inventory_cancel` (`Open Inventory` keybinding) - `button.menu_ok` (`Enter` key) - `button.menu_select` (Mouse click) - `button.controller_select` (Controller `X`) - `button.menu_secondary_select` - `button.controller_secondary_select` - `button.controller_secondary_select_left` - `button.controller_secondary_select_right` (Controller `R3`) - `button.controller_start` - `button.menu_up` (`Arrow Up` key) - `button.menu_down` (`Arrow Down` key) - `button.menu_left` (`Arrow Left` key) - `button.menu_right` (`Arrow Right` key) - `button.menu_tab_left` (`Menu Tab Left` keybinding or Controller `Left Bumper`) - `button.menu_tab_right` (`Menu Tab Right` keybinding or Controller `Right Bumper`) - `button.menu_alternate_tab_left` - `button.menu_alternate_tab_right` - `button.menu_autocomplete` (Uses `Tab` key) - `button.menu_autocomplete_back` - `button.controller_autocomplete` - `button.controller_autocomplete_back` - `button.menu_textedit_up` (Uses `Arrow Up` key) - `button.menu_textedit_down` (Uses `Arrow Down` key) - `button.controller_textedit_up` - `button.controller_textedit_down` - `button.menu_auto_place` - `button.menu_inventory_drop` (`Drop Item` keybinding) - `button.menu_inventory_drop_all` (`Drop Item` + `Control` key) - `button.menu_clear` - `button.chat` (`Open Chat` keybinding) - `button.mobeffects` (`Mob Effects` keybinding) - `key.emote` (`Emote` keybinding) - `button.slot1` (Emote Wheel) (`1` key) - `button.slot2` (Emote Wheel) (`2` key) - `button.slot3` (Emote Wheel) (`3` key) - `button.slot4` (Emote Wheel) (`4` key) - `button.slot5` (Emote Wheel) (`5` key) - `button.slot6` (Emote Wheel) (`6` key) - `button.inventory_right` (`Mouse Wheel Up`) - `button.inventory_left` (`Mouse Wheel Down`) - `button.scoreboard` - `button.hide_gui` (`F1` key) - `button.hide_tooltips` - `button.hide_paperdoll` - `button.slot0` - `button.slot1` (`1` key) - `button.slot2` (`2` key) - `button.slot3` (`3` key) - `button.slot4` (`4` key) - `button.slot5` (`5` key) - `button.slot6` (`6` key) - `button.slot7` (`7` key) - `button.slot8` (`8` key) - `button.slot9` (`9` key) - `button.menu_vr_realign` - `any` (literally the name of it) ### Specific Screen Button IDs: #### Settings (`ui/settings_screen.json`) - `button.open_content_log_history` - `button.clear_content_log_files` - `button.clear_msa_token_button` - `button.terms_and_conditions_popup` - `button.credits` - `button.unlink_msa` - `button.attribute_popup` - `button.licensed_content` - `button.font_license` - `button.tos_hyperlink` - `button.privpol_hyperlink` - `button.tos_popup` - `button.privpol_popup` - `button.binding_button` - `button.reset_binding` - `button.reset_keyboard_bindings` - `button.view_account_errors` #### Book (`ui/book_screen.json`) - `button.prev_page` - `button.next_page` - `button.book_exit` #### Chat (`ui/chat_screen.json`) - `button.send` - `button.chat_autocomplete` - `button.chat_autocomplete_back` - `button.chat_previous_message` - `button.chat_next_message` - `button.chat_menu_cancel` #### Command Block (`ui/command_block_screen.json`) - `command_block.input_minimize` - `button.chat_autocomplete` - `button.chat_autocomplete_back` #### Comment (`ui/comment_screen.json`) - `button.comment_options_close` - `button.comment_feed_options_close` - `button.close_comments` - `button.comment_next_button` - `button.comment_prev_button` #### Credits (`ui/credits_screen.json`) - `button.show_skip` #### Death Menu (`ui/death_screen.json`) - `button.respawn_button` - `button.main_menu_button` #### Emote Wheel (`ui/emote_screen_wheel.json`) - `button.rebind_mode` - `button.dressing_room` - `button.emote_selected` - `button.select_emote_slot_0` - `button.select_emote_slot_1` - `button.select_emote_slot_2` - `button.select_emote_slot_3` - `button.select_emote_slot_4` - `button.select_emote_slot_5` - `button.iterate_selection_left` - `button.iterate_selection_right` #### Feed (`ui/feed_screen.json`) - `button.feed_image` - `button.newpost` - `button.add_screenshot` - `button.feed_comment` - `button.feed_prev_button` - `button.feed_next_button` - `button.feed_new_post_close` - `button.feed_options_close` - `button.close_feed` #### Game Menu (`ui/pause_screen.json`) - `button.to_profile_or_skins_screen` - `button.player_profile_card` - `button.menu_continue` - `button.menu_server_store` - `button.screenshot` - `button.menu_how_to_play` - `button.menu_feedback` - `button.menu_permission` - `button.menu_invite_players` - `button.menu_quit` - `button.menu_feed` - `button.pause_focus_filler` #### In Bed (`ui/in_bed_screen.json`) - `button.wake_up_button` #### Invite (`ui/invite_screen.json`) - `button.add_friend` - `button.add_member` - `button.send_invites` #### Manage Feed (`ui/manage_feed_screen.json`) - `button.manage_feed_prev_button` - `button.manage_feed_next_button` - `button.manage_feed_ignore` - `button.manage_feed_delete` - `button.close_manage_feed` #### Anvil (`ui/anvil_screen.json`) - `button.anvil_take_all_place_all` - `button.anvil_coalesce_stack` #### Cartography Table (`ui/cartography_screen.json`) - `button.cartography_result_take_all_place_all` #### Enchanting Table (`ui/enchanting_table_screen.json`) - `button.enchant` #### Grindstone (`ui/grindstone_screen.json`) - `button.grindstone_take_all_place_all` - `button.grindstone_coalesce_stack` #### Loom (`ui/loom_screen.json`) - `button.loom_result_take_all_place_all` - `button.pattern_select` #### Villager Trade (`ui/trade_screen.json`) - `button.cycle_recipe_left` - `button.cycle_recipe_right` - `button.trade_take_all_place_all` - `button.trade_take_half_place_one` - `button.trade_coalesce_stack` #### Play (`ui/play_screen.json`) - `button.menu_sign_in_to_view_realms` - `button.menu_realms_world_item_edit` - `button.menu_realms_feed` - `button.menu_realms_world_item_remove` - `button.menu_network_world_item` - `button.menu_network_server_world_edit` - `button.connect_to_third_party_server` - `button.view_third_party_server_offers` - `button.description_read_toggle` - `button.news_read_toggle` - `button.local_world_upload` - `button.menu_start_local_world` - `button.convert_legacy_world` - `button.menu_local_world_item_edit` - `button.menu_legacy_world_item_delete` - `button.import_beta_retail_local_world` - `button.import_beta_retail_legacy_world` - `button.menu_network_add_friend` - `button.menu_network_join_by_code` - `button.menu_quick_play` - `button.new_world_upload` - `button.menu_local_world_create` - `button.create_on_realms_button` - `button.archived_world_upload` - `button.menu_import_level` - `button.menu_sync_legacy_worlds` - `button.realms_warning_more_info` - `button.menu_realm_world_trial` - `button.menu_realm_nintendo_first_realm_purchase_button` - `button.no_local_worlds_launch_help` - `button.menu_network_join_by_code_popup_join` - `button.join_server_anyway` - `button.cancel_join_server` ### Others - `button.try_menu_exit` - `button.close_dialog` - `button.menu_play` - `$play_button_target` (**hardcoded**) - `button.menu_store` - `button.menu_achievements` - `button.menu_settings` - `button.signin` - `button.menu_skins` - `button.to_profile_screen` - `button.menu_courses` - `button.menu_tutorial` - `button.featured_world` - `button.switch_accounts` - `button.launch_editions` - `button.edu_feedback` - `button.edu_resources` - `button.menu_buy_game` - `button.menu_invite_notification` - `button.search` - `button.hotbar_inventory_button` - `button.select_offer` - `button.action_button` - `button.create_realm` - `button.switch_accounts` - `button.hotbar_select` - `button.hotbar_ok` - `button.slot_pressed` - `button.hotbar_inventory_left` - `button.hotbar_inventory_right` - `button.hide_gui_all` - `button.hide_tooltips_hud` - `button.hide_paperdoll_hud` - `button.slot_1` - `button.slot_2` - `button.slot_3` - `button.slot_4` - `button.slot_5` - `button.slot_6` - `button.slot_7` - `button.slot_8` - `button.slot_9` - `button.slot_0` - `button.chat` - `button.menu_continue` - `user_confirm_dialog.escape` - `user_confirm_dialog.left_button` - `user_confirm_dialog.middle_button` - `user_confirm_dialog.rightcancel_button` - `button.view_skin` - `button.delete_action` - `button.exit_student` - `button.play_video` - `button.menu_store_error` - `button.left_panel_tab_increment` - `button.left_panel_tab_decrement` - `button.right_panel_tab_increment` - `button.right_panel_tab_decrement` - `button.layout_increment` - `button.layout_decrement` - `button.is_hovered` - `button.container_take_all_place_all` - `button.container_take_half_place_one` - `button.container_auto_place` - `button.coalesce_stack` - `button.shape_drawing` - `button.destroy_selection` - `button.clear_selected_recipe` - `button.clear_hotbar_or_remove_one` - `button.clear_hotbar_or_drop` - `button.container_reset_held` - `button.container_auto_place` - `button.container_slot_hovered` - `button.button_hovered` - `button.shift_pane_focus` - `button.focus_left` - `button.focus_right` - `button.filter_toggle_hovered` - `button.drop_one` - `button.cursor_drop_one` - `button.drop_all` - `button.cursor_drop_all` - `button.search_bar_clear` - `button.search_bar_selected` - `button.search_bar_deselected` - `button.menu_leave_screen` - `button.turn_doll` - `button.select_skin` - `button.skin_hovered` - `button.skin_unhovered` - `button.leave` - `button.leave_on_device` - `button.text_edit_box_selected` - `button.text_edit_box_deselected` - `button.text_edit_box_hovered` - `button.text_edit_box_clear` - `button.help` - `button.menu_open_uri` - `button.no_interaction` - `button.copy_to_clipboard` - ... ## Hardcoded Collection Names All of them only in specific screens. ### Screen specific: #### Book (`ui/book_screen.json`) - `book_pages` - `pick_collection` #### Bundle Purchase Warning (`ui/bundle_purchase_warning_screen.json`) - `owned_list` - `unowned_list` #### Chat (`ui/chat_screen.json`) - `auto_complete` - `font_colors` - `host_main_collection` - `players_collection` - `host_teleport_collection` - `host_time_collection` - `host_weather_collection` #### Choose Realm (`ui/choose_realm_screen.json`) - `realms_collection` #### Coin Purchase (`ui/coin_purchase_screen.json`) - `coin_purchase_grid` #### Comment (`ui/comment_screen.json`) - `comment_collection` #### Content Log History (`ui/content_log_history_screen.json`) - `content_log_message` #### Create World Upsell (`ui/create_world_upsell_screen.json`) - `world_list` - `realm_list` #### Custom Templates (`ui/custom_templates_screen.json`) - `templates_collection` #### Feed (`ui/feed_screen.json`) - `feed_collection` #### HUD (`ui/hud_screen.json`) - `boss_bars` - `chat_text_grid` - `hotbar_items` - `scoreboard_players` - `scoreboard_scores` - `left_helper_collection` - `right_helper_collection` #### Invite (`ui/invite_screen.json`) - `online_platform_friends` - `online_linked_account_friends` - `online_xbox_live_friends` - `offline_platform_friends` - `offline_linked_account_friends` - `offline_xbox_live_friends` #### Manage Feed (`ui/manage_feed_screen.json`) - `manage_feed_collection` #### Manifest Validation (`manifest_validation_screen.json`) - `pack_errors` #### Mob Effects (`ui/mob_effects_screen.json`) - `mob_effects_collection` #### Game Menu (`ui/pause_screen.json`) - `players_collection` #### PDP (`ui/pdp_screen.json`) - `factory_collection` - `ratings_star_collection` #### Permissions (`ui/permissions_screen.json`) - `players_collection` - it's also used in `pause_screen.json` - `permissions_collection` #### Persona (`ui/persona_screen.json`) - `color_collection` - `skin_pack_in_grid_item` - `persona_featured_skin_pack_collection` - `body_size_collection` - `arm_size_collection` - `category_featured_collection` - `main_featured_collection` - `profile_featured_collection` - `custom_section_collection` - `featured_collection` - `foobar_collection` - `emote_collection` #### Play (`ui/play_screen.json`) - `friends_network_worlds` - `cross_platform_friends_network_worlds` - `lan_network_worlds` - `personal_realms` - `friends_realms` - `servers_network_worlds` - `third_party_server_network_worlds` - `server_screenshot_collection` - `server_games_collection` - `local_worlds` - `legacy_worlds` - `beta_retail_local_worlds` - `personal_realms` - `loading_personal_realms` - `friends_realms` - `loading_friends_realms` #### Portfolio (`ui/portfolio_screen.json`) - `photos` #### Progress (`ui/progress_screen.json`) - `required_resourcepacks` - `optional_resourcepacks` #### Realms Pending Invitations (`ui/realms_pending_invitations_screen.json`) - `pending_invites_collection` #### Realms Settings (`ui/realms_settings_screen.json`) - `additional_realms_subscriptions_collection` - `realms_branch_collection` - `realms_backup_collection` - `members_collection` - `invited_friends_collection` - `uninvited_friends_collection` - `blocked_players_collection` #### Screenshot Picker (`ui/screenshot_picker_screen.json`) - `screenshotpicker_collection` #### Server Form (`ui/server_form.json`) - `custom_form` - `form_buttons` - `custom_dropdown` #### Settings (`ui/settings_screen.json`) - `keyboard_standard_collection` - `keyboard_full_collection` - `gamepad_collection` - `languages` - `realms_plus_subscriptions_collection` - `additional_realms_subscriptions_collection` - `#selected_pack_items_global` - `#available_pack_items_global` - `#realms_pack_items_global` - `#unowned_pack_items_global` - `#invalid_pack_items_global` - `#selected_pack_items_level` - `#available_pack_items_level` - `#realms_pack_items_level` - `#unowned_pack_items_level` - `#invalid_pack_items_level` - `#selected_pack_items_addon` - `#available_pack_items_addon` - `#realms_pack_items_addon` - `#unowned_pack_items_addon` - `#invalid_pack_items_addon` - `experimental_toggles` - `world_panel` - `world_template_panel` - `resource_panel` - `behavior_panel` - `skin_panel` - `cache_panel` - `dependent_packs_panel` - `dependency_panel` #### Structure Block (`ui/structure_editor_screen.json`) - `save_size_grid` - `save_offset_grid` - `load_offset_grid` - `export_size_grid` - `export_offset_grid` #### Seed Picker (`ui/ugc_viewer_screen.json`) - `ugc_items` #### World Templates (`ui/world_templates_screen.json`) - `world_templates` - `realms_plus_templates` - `custom_world_templates` - `#suggested_offers_collection` #### Anvil (`ui/anvil_screen.json`) - `anvil_input_items` - `anvil_material_items` - `anvil_result_items` #### Beacon (`ui/beacon_screen.json`) - `beacon_payment_items` - `speed` - `haste` - `resist` - `jump` - `strength` - `regen` - `extra` - `confirm` - `cancel` #### Brewing Stand (`ui/brewing_stand_screen.json`) - `brewing_fuel_item` - `brewing_input_item` - `brewing_result_items` #### Cartography Table (`ui/cartography_screen.json`) - `cartography_input_items` - `cartography_additional_items` - `cartography_result_items` #### Enchanting Table (`ui/enchanting_table_screen.json`) - `enchanting_input_items` - `enchanting_lapis_items` - `#enchant_buttons` #### Furnace (`ui/furnace_screen.json`) - `furnace_ingredient_items` - `furnace_fuel_items` - `furnace_output_items` #### Gridstone (`ui/grindstone_screen.json`) - `grindstone_input_items` - `grindstone_additional_items` - `grindstone_result_items` #### Horse (`ui/horse_screen.json`) - `horse_equip_items` #### Inventory (`ui/inventory_screen.json` and `ui/inventory_screen_pocket.json`) - `armor_items` - `offhand_items` - `crafting_input_items` - `crafting_output_items` - `recipe_book` #### Loom (`ui/loom_screen.json`) - `loom_input_items` - `loom_dye_items` - `loom_material_items` - `loom_result_items` - `patterns` #### Smithing Table (`ui/smithing_table_screen.json`) - `smithing_table_input_items` - `smithing_table_material_items` - `smithing_table_result_items` #### Stonecutter (`ui/stonecutter_screen.json`) - `stonecutter_input_items` - `stonecutter_result_items` - `stones` #### Villager Trade 2 (`ui/trade_2_screen.json`) - `trade2_ingredient1_item` - `trade2_ingredient2_item` - `trade2_result_item` - `trade_item_1` - `trade_item_2` - `sell_item` - `trades` - `trade_tiers` ## Hardcoded Binding Names Some of them only work in specific screens. ### Screen specific: #### Account Transfer Error (`ui/account_transfer_error_screen.json`) - `#error_title_text` - `#error_number_label` - `#error_number` - `#correlation_id_label` - `#correlation_id` #### Add External Server (`ui/add_external_server_screen.json`) - `#play_button_enabled` - `#play_button_disabled` - `#save_button_enabled` - `#save_button_disabled` #### Adhoc In Progress (`ui/adhoc_in_progress_screen.json`) - `#adhoc_title` #### Authentication (`ui/authentication_screen.json`) - `#sign_in_visible` - `#sign_in_ios_visible` - `#sign_in_button_visible` - `#sign_in_ios_buttons_visible` - `#authentication_message` - `#confirm_button_enabled` - `#edu_store_visible` - `#edu_store_purchase_info` - `#asking_to_buy_visible` - `#confirming_purchase_visible` - `#demo_choice_visible` - `#eula_visible` - `#popup_text` - `#popup_message_student_text` - `#popup_message_student_visible` - `#generic_popup_link_visible` - `#trial_purchase_link_visible` - `#show_popup_dismiss_button` #### Book (`ui/book_screen.json`) - `#screenshot_path` - `#is_photo_page` - `#is_text_page` - `#pick_grid_dimensions` - `#page_number` - `#title_text_box_item_name` - `#author_editable` - `#author_text_box_item_name` - `#editable` - `#viewing` - `#signing` - `#picking` - `#exporting` - `#page_visible` - `#pick_item_visible` - `#close_button_visible` - `#edit_controls_active` - `#finalize_button_enabled` #### Braze (`ui/braze_screen.json`) - `#image_texture` #### Bundle Purchase Warning (`ui/bundle_purchase_warning_screen.json`) - `#banner_visible` - `#offer_title` - `#keyart_path` - `#keyart_texture_file_system` #### Chat (`ui/chat_screen.json`) - `#keyboard_being_use` - `#keyboard_button_focus_override_up` - `#keyboard_button_focus_override_down` - `#keyboard_button_visible` - `#send_button_visible` - `#send_button_accessibility_text` - `#chat_visible` - `#message_text_box_content` - `#text_edit_box_focus_override_up` - `#text_edit_box_focus_override_down` - `#auto_complete_item` - `#auto_complete_text` - `#get_grid_size` - `#chat_title_text` - `#chat_typeface_visible` #### Choose Realm (`ui/choose_realm_screen.json`) - `#realms_grid_dimension` - `#world_button_focus_identifier` - `#ten_player_button_visible` - `#two_player_button_visible` - `#realms_world_player_count` - `#realms_game_online` - `#realms_game_unavailable` - `#realms_game_offline` #### Coin Purchase (`ui/coin_purchase_screen.json`) - `#bonus_coins` - `#coins_without_bonus` - `#coin_offer_texture_name` - `#coin_offer_texture_file_system` - `#bonus_coins_visible` - `#price_text` - `#coins_required_for_purchase` - `#show_missing_coins` - `#coin_offer_size` - `#has_coin_offers` - `#coin_loading_visible` #### Command Block (`ui/command_block_screen.json`) - `#maximized_input_visible` - `#block_type_icon_texture` - `#close_button_visible_binding_name` - `#command_impulse_mode` - `#command_chain_mode` - `#command_repeat_mode` - `#block_type_dropdown_toggle_label` - `#block_type_dropdown_label_color_binding` - `#block_type_dropdown_enabled` - `#command_conditional_mode` - `#command_unconditional_mode` - `#condition_dropdown_toggle_label` - `#condition_dropdown_enabled` - `#command_always_on_mode` - `#command_needs_redstone_mode` - `#redstone_dropdown_enabled` - `#command_hover_note` - `#execute_on_first_tick_enabled` - `#command_tick_delay` - `#command_text_edit` - `#command_output_text` - `#previous_block_type_text` - `#previous_block_type_text_color` - `#previous_condition_mode_text` - `#previous_redstone_mode_text` - `#minimize_button_visible_binding_name` #### Comment (`ui/comment_screen.json`) - `#report_to_club_button_visible_feeditem` - `#report_to_enforcement_button_visible_feeditem` - `#delete_button_visible_feeditem` - `#report_to_club_button_visible_comment` - `#report_to_enforcement_button_visible_comment` - `#delete_button_visible_comment` - `#comment_buttons_visible` - `#feed_comment_page_collection_length` - `#comment_content` - `#is_author_linked_account` - `#content` - `#text_visible` - `#likes_and_comments` - `#screenshot_texture` - `#screenshot_texture_source` - `#textpost_content` - `#textpost_visible` - `#comment_text_box` - `#comment_platform_tag` - `#comment_gamertag` - `#likes_and_time_since_comment_post` - `#author_gamertag` - `#time_since_feed_post` - `#author_platform_tag` - `#author_gamertag` #### Confirm MSA Unlink (`ui/confirm_msa_unlink_screen.json`) - `#unlink_warning_text` - `#unlink_consequences_acknowledged` - `#confirm_0` - `#confirm_0_enabled` - `#confirm_1` - `#confirm_1_enabled` - `#confirm_2` - `#confirm_2_enabled` - `#confirm_3` - `#confirm_3_enabled` #### Content Log History (`ui/content_log_history_screen.json`) - `#content_log_text` - `#messages_size` #### Create World Upsell (`ui/create_world_upsell.json`) - `#realm_button_text` - `#realm_trial_available` #### Anvil (`ui/anvil_screen.json`) - `#cost_text` - `#cost_text_green` - `#cost_text_red` #### Beacon (`ui/beacon_screen.json`) - `#supports_netherite` - `#extra_image_selection` #### Brewing Stand (`ui/brewing_stand_screen.json`) - `#empty_bottle_image_visible` - `#empty_fuel_image_visible` - `#brewing_bubbles_ratio` - `#brewing_fuel_ratio` - `#brewing_arrow_ratio` #### Cartography Table (`ui/cartography_screen.json`) - `#is_none_mode` - `#is_clone_mode` - `#is_rename_mode` - `#is_basic_map_mode` - `#is_locator_map_mode` - `#is_extend_mode` - `#is_locked_mode` - `#output_description` #### Enchanting Table (`ui/enchanting_table_screen.json`) - `#selectable_dust_is_visible` - `#unselectable_dust_is_visible` - `#runes` - `#cost` - `#unselectable_button_visibility` - `#selectable_button_visibility` - `#show_selected_button_highlight` - `#active_enchant` - `#inactive_enchant` - `#input_item_id` - `#output_item_id` - `#enchant_hint` - `#player_level_color` - `#player_level_info` - `#enchant_error` #### Furnace (`ui/furnace_screen.json`) - `#furnace_arrow_ratio` - `#furnace_flame_ratio` - `#output_name` #### Horse (`ui/horse_screen.json`) - `#entity_id` - `#equip_grid_dimensions` - `#inv_grid_dimensions` - `#sadle_slot_centered` - `#has_saddle_slot` - `#has_armor_slot` - `#has_only_armor_slot` - `#has_only_carpet_slot` - `#has_armor_and_saddle_slot` - `#has_carpet_and_saddle_slot` - `#is_chested` - `#renderer_tab_toggle` - `#chest_tab_toggle` #### Loom (`ui/loom_screen.json`) - `#pattern_cell_background_texture` - `#container_cell_background_texture` - `#empty_image_visible` - `#banner_patterns` - `#banner_colors` - `#pattern_selector_total_items` - `#result_patterns` - `#result_colors` - `#is_right_tab_loom` - `#is_left_tab_patterns` #### Stonecutter (`ui/stonecutter_screen.json`) - `#stone_cell_background_texture` - `#container_cell_background_texture` - `#item_stack_count` - `#stone_selector_total_items` - `#has_input_item` - `#is_right_tab_stonecutter` - `#is_left_tab_stones` #### Death (`ui/death_screen.json`) - `#death_reason_text` - `#respawn_visible` - `#quit_enabled` - `#quit_visible` - `#buttons_and_deathmessage_visible` #### Villager Trade2 (`ui/trade2_screen.json`) - `#name_label` - `#trade_cell_background_texture` - `#trade_item_count` - `#single_slash_visible` - `#double_slash_visible` - `#second_trade_item_count` - `#trade_price_different` - `#trade_cross_out_visible` - `#padding_around_sell_item` - `#trade_possible` - `#trade_toggle_state` - `#trade_toggle_enabled` - `#trade_tier_total` - `#tier_name` - `#is_tier_unlocked` - `#is_left_tab_trade` - `#show_level` - `#tier_visible` - `#trade_selector_total` - `#has_second_buy_item` - `#exp_bar_visible` - `#exp_progress` - `#exp_possible_progress` - `#trade_details_button_1_visible` - `#trade_details_button_2_visible` - `#enchantment_details_button_visible` - `#item_valid` ### Value depends on the screen it is in: - `#title_text` - `#body_text` - `#hover_text` - `#cross_out_icon` - `#is_left_tab_inventory` - `#selected_hover_text` ### Others: - `#tts_dialog_body` - `#button_enabled` - `#using_touch` - `#close_button_visible` ## Settings ### Sliders | Name | Slider Name | Value Binding Name | TTS Value (`tts_value_changed`) | Slider Text | Enabled Binding Name | | ------------------------- | ------------------------------- | -------------------------------- | ------------------------------- | --------------------------------------------- | ---------------------------------------- | | Brightness | `gamma` | `#gamma` | `#gamma_text_value` | `#gamma_slider_label` | `#gamma_enabled` | | Brightness (VR) | `vr_gamma` | `#vr_gamma` | `#vr_gamma_text_value` | `#vr_gamma_slider_label` | `#vr_gamma_enabled` | | HUD Opacity | `interface_opacity` | `#interface_opacity` | `#interface_opacity_text_value` | `#interface_opacity_slider_label` | `#interface_opacity_enabled` | | HUD Opacity (Splitscreen) | `splitscreen_interface_opacity` | `#splitscreen_interface_opacity` | `#interface_opacity_text_value` | `#splitscreen_interface_opacity_slider_label` | `#splitscreen_interface_opacity_enabled` | | Field Of View | `field_of_view` | `#field_of_view` | `#field_of_view_text_value` | `#field_of_view_slider_label` | `#field_of_view_enabled` | ### Toggles | Name | Toggle Name | State Binding Name | Enabled Binding Name | | --------------------------------------- | ------------------------------------- | -------------------------------------- | ---------------------------------------------- | | Invert Y Axis (Mouse) | `keyboard_mouse_invert_y_axis` | `#keyboard_mouse_invert_y_axis` | `#keyboard_mouse_invert_y_axis_enabled` | | Auto Jump (Mouse) | `keyboard_mouse_autojump` | `#keyboard_mouse_autojump` | `#keyboard_mouse_autojump_enabled` | | Show Full Keyboard Options | `keyboard_show_full_keyboard_options` | `#keyboard_show_full_keyboard_options` | `#keyboard_show_full_keyboard_options_enabled` | | Hide Keyboard Tooltips | `hide_keyboard_tooltips` | `#hide_keyboard_tooltips` | `#hide_keyboard_tooltips_enabled` | | Content File Log | `content_log_file` | `#content_log_file` | `#content_log_file_enabled` | | Content Gui Log | `content_log_gui` | `#content_log_gui` | `#content_log_gui_enabled` | | Use SSO | `ad_use_single_sign_on` | `#ad_use_single_sign_on` | | | Auto Update OFF | `#auto_update_mode_off` | `#auto_update_mode_off` | | | Auto Update ON with Cellular | `#auto_update_mode_on_with_cellular` | `#auto_update_mode_on_with_cellular` | | | Auto Update on WiFi Only | `#auto_update_mode_on_wifi_only` | `#auto_update_mode_on_wifi_only` | | | Auto Update Enabled | `auto_update_enabled` | `#auto_update_enabled` | | | Cross Platform Enabled | `crossplatform_toggle` | `#crossplatform_toggle` | `#crossplatform_toggle_enabled` | | Allow Cellular Data | `allow_cellular_data` | `#allow_cellular_data` | `#allow_cellular_data_enabled` | | Websocket Encryption | `websocket_encryption` | `#websocket_encryption` | `#websocket_encryption_enabled` | | Only Trusted Skins Allowed | `only_trusted_skins_allowed` | `#only_trusted_skins_allowed` | `#only_trusted_skins_allowed_enabled` | | Storage Location External | `#storage_location_radio_external` | `#storage_location_radio_external` | `#file_storage_location_enabled` | | Storage Location App | `#storage_location_radio_package` | `#storage_location_radio_package` | `#file_storage_location_enabled` | | First Person Perspective | `#thirdperson_radio_first` | `#thirdperson_radio_first` | `#third_person_dropdown_enabled` | | Third Person Back Perspective | `#thirdperson_radio_third_back` | `#thirdperson_radio_third_back` | `#third_person_dropdown_enabled` | | Third Person Front Perspective | `#thirdperson_radio_third_front` | `#thirdperson_radio_third_front` | `#third_person_dropdown_enabled` | | Fullscreen | `full_screen` | `#full_screen` | `#full_screen_enabled` | | Hide Hand | `hide_hand` | `#hide_hand` | `#hide_hand_enabled` | | Hide Hand (VR) | `vr_hide_hand` | `#vr_hide_hand` | `#vr_hide_hand_enabled` | | Hide Paperdoll | `hide_paperdoll` | `#hide_paperdoll` | `#hide_paperdoll_enabled` | | Hide HUD | `hide_hud` | `#hide_hud` | `#hide_hud_enabled` | | Hide HUD (VR) | `vr_hide_hud` | `#vr_hide_hud` | `#vr_hide_hud_enabled` | | Screen Animations | `screen_animations` | `#screen_animations` | `#screen_animations_enabled` | | Split Screen Horizontally | `#split_screen_radio_horizontal` | `#split_screen_radio_horizontal` | `#split_screen_dropdown_enabled` | | Split Screen Vertically | `#split_screen_radio_vertical` | `#split_screen_radio_vertical` | `#split_screen_dropdown_enabled` | | Show Auto Save Icon | `show_auto_save_icon` | `#show_auto_save_icon` | `#show_auto_save_icon_enabled` | | Outline Selection | `classic_box_selection` | `#classic_box_selection` | `#classic_box_selection_enabled` | | Outline Selection (VR) | `vr_classic_box_selection` | `#vr_classic_box_selection` | `#vr_classic_box_selection_enabled` | | Show Players Names Ingame | `ingame_player_names` | `#ingame_player_names` | `#ingame_player_names_enabled` | | Show Players Names Ingame (Splitscreen) | `splitscreen_ingame_player_names` | `#splitscreen_ingame_player_names` | `#splitscreen_ingame_player_names_enabled` | | View Bobbing | `view_bobbing` | `#view_bobbing` | `#view_bobbing_enabled` | | Camera Shake | `camera_shake` | `#camera_shake` | `#camera_shake_enabled` | | Fancy Leaves | `transparent_leaves` | `#transparent_leaves` | `#transparent_leaves_enabled` | | Fancy Leaves (VR) | `vr_transparent_leaves` | `#vr_transparent_leaves` | `#vr_transparent_leaves_enabled` | | Fancy Bubbles | `bubble_particles` | `#bubble_particles` | `#bubble_particles_enabled` | | Render Clouds | `render_clouds` | `#render_clouds` | `#render_clouds_enabled` | | Fancy Clouds | `fancy_skies` | `#fancy_skies` | `#fancy_skies_enabled` | | Smooth Lighting | `smooth_lighting` | `#smooth_lighting` | `#smooth_lighting_enabled` | | Smooth Lighting (VR) | `graphics_toggle` | `#graphics_toggle` | `#graphics_toggle_enabled` | | Graphics | `graphics_toggle` | `#graphics_toggle` | `#graphics_toggle_enabled` | | Field of View | `field_of_view_toggle` | `#field_of_view_toggle` | `#field_of_view_toggle_enabled` | | Classic UI Profile | `#ui_profile_radio_classic` | `#ui_profile_radio_classic` | `#ui_profile_dropdown_enabled` | | Pocket UI Profile | `#ui_profile_radio_pocket` | `#ui_profile_radio_pocket` | `#ui_profile_dropdown_enabled` | | Texel Anti-Aliasing | `texel_aa` | `#texel_aa` | `#texel_aa_enabled` | | 3D Rendering (VR) | `vr_3d_rendering` | `#vr_3d_rendering` | `#vr_3d_rendering_enabled` | | Mirror Texture (VR) | `vr_mirror_texture` | `#vr_mirror_texture` | `#vr_mirror_texture_enabled` | | Hand Pointer Visible (VR) | `vr_hand_pointer` | `#vr_hand_pointer` | `#vr_hand_pointer_enabled` | | Hands Visible (VR) | `vr_hands_visible` | `#vr_hands_visible` | `#vr_hands_visible_enabled` | | Enable Auto TTS | `enable_auto_text_to_speech` | `#enable_auto_text_to_speech` | `#enable_auto_text_to_speech_enabled` | | Enable UI TTS | `enable_ui_text_to_speech` | `#enable_ui_text_to_speech` | `#enable_ui_text_to_speech_enabled` | | Enable Chat TTS | `enable_chat_text_to_speech` | `#enable_chat_text_to_speech` | `#enable_chat_text_to_speech_enabled` | | Enable Open Chat Message | `enable_open_chat_message` | `#enable_open_chat_message` | `#enable_open_chat_message_enabled` | | Camera Shake | `camera_shake` | `#camera_shake` | `#camera_shake_enabled` | | Languages (Collection) | `languages` | `#language_initial_selected` | | ## Item ID Aux (`#item_id_aux`) | Name | ID | Aux Values | | ----------------- | :--: | :--------: | | diamond | 306 | 20054016 | | emerald | 519 | 34013184 | | gold_ingot | 308 | 20185088 | | iron_ingot | 307 | 20119552 | | netherite_ingot | 616 | 40370176 | | banner | 574 | 37617664 | | saddle | 373 | 24444928 | | cartography_table | -200 | -13107200 | | chest | 54 | 3538944 | | crafting_table | 58 | 3801088 | | loom | -204 | -13369344 | | stonecutter_block | -197 | -12910592 | #### How to calculate block item aux value: Aux = ID \* 65536 ID = Aux / 65536 65536 = Aux / ID Get all Item IDs [here](https://docs.microsoft.com/en-us/minecraft/creator/reference/content/addonsreference/examples/addonitems).