JSON UI Documentation

UI Elements

Element Types

NameDescriptionAllowed Properties
panelA container, like <div> in HTMLControl
Layout
Data Binding
stack_panelSimilar to panel but stacks its children depending on orientation property valueStack Panel
Collection
Control
Layout
Data Binding
collection_panelSimilar to stack_panel, but does not have the orientation propertyCollection
Control
Layout
Data Binding
gridGrid of elementsGrid
Collection
Control
Layout
Data Binding
labelText elementText
Control
Layout
Data Binding
imageSprite element. Draws a texture.Sprite
Control
Layout
Data Binding
input_panelA panel that accepts inputInput
Focus
Sound
Control
Layout
Data Binding
buttonA button and it can have 4 states (default, hover, pressed and locked)Button
Input
Focus
Sound
Control
Layout
Data Binding
toggleA toggle and it has 2 states (checked or unchecked). Each state has a hover and locked variantToggle
Input
Focus
Sound
Control
Layout
Data Binding
dropdownA toggle for dropdown purposesDropdown
Toggle
Input
Focus
Sound
Control
Layout
Data Binding
sliderRange input elementSlider
Input
Focus
Sound
Control
Layout
Data Binding
slider_boxThe slider button that you use to change the slider valueSlider Box
Input
Control
Layout
Data Binding
edit_boxText field element. By default it's single-linedText Edit
Button
Input
Focus
Control
Layout
Data Binding
scroll_viewCreates a scrolling panel elementScroll View
Input
Control
Layout
Data Binding
scrollbar_trackThe scrollbar trackInput
Control
Layout
scrollbar_boxThe scrollbar "thumb"/button. The draggable scrolling handle. By default is oriented verticallyInput
Control
Layout
factoryA element generatorControl
Layout
screenScreen elementScreen Control
Layout
Data Binding
customSpecial renderer element that is created in the code because it's too complex for JSON UICustom Render
Control
Layout
Data Binding
selection_wheelSelection Wheel
Input
Focus
Sound
Control
Layout
Data Binding

Legacy Element Types (No longer work)

NameDescriptionAllowed Properties
tabThe way tabs were made before the addition of togglesTab
Button
Input
Focus
Sound
Control
Layout
Data Binding
carousel_labelCarousel Text
Text
Control
Layout
Data Binding
grid_itemA panel but specifically to be an item/child of a gridControl
Layout
Data Binding
scrollbarInput
Focus
Control
Layout
Data Binding

Properties

Control

Property NameTypeDefault ValueDescription
visiblebooleantrueIf the UI element should be visible
enabledbooleantrueIf true and if the UI element or any of its children have the locked state then they will be in the locked
layerint0Z-Index/Layer (like zindex in CSS) relative to parent element. Higher layers will render above
alphafloat1.0Alpha/transparency of the element. It will only affect the UI element. Its children will be unaffected. If you want the alpha to apply for both the parent and children also use propagate_alpha
propagate_alphabooleanfalseIf alpha should not only apply to the parent if possible but also all its children
clips_childrenbooleanfalseCuts off visually and interactively everything beyond the bounderies of the UI element
allow_clippingbooleantrueIf clips_children works in the UI element. Otherwise, it won't have any effect
clip_offsetVector [x, y][0, 0]Offset from the start of the clipping
clip_state_change_eventstring
enable_scissor_testbooleanhttps://www.khronos.org/opengl/wiki/Scissor_Test
property_bagobjectProperty bag contains properties/variables that are more related with the data than the actually structure and look of the UI element
selectedbooleanIf the text box is selected by default
use_child_anchorsbooleanfalseUse the anchor_from andanchor_to of the child of the UI element
controlsarrayFor adding children to the element
animsstring[]Array of the animation names
disable_anim_fast_forwardboolean
animation_reset_namestring
ignoredbooleanfalseIf the UI element should be ignored
variablesarray or objectA bunch of conditions that change the variables values
modificationsarrayAllows to modify the UI files of resource packs below (vanilla being the most bottom one)
grid_positionVector [row, column]Position that the control will take inside the grid. This also allows to modify specific grid items of a hardcoded grid
collection_indexintIndex that the control takes in the collection

Legacy (no longer works)

Property NameTypeDefault ValueDescription
z_orderint0First version of the layer property
scroll_reportstring[]Array of the name of the controls to notify when content inside of the scroll panel changes
alignmentenumPossible values:
top_left
top_middle
top_right
left_middle
center
right_middle
bottom_left
bottom_middle
bottom_right

Layout

Property NameTypeDefault ValueDescription
sizeVector [width, height]["default", "default"]Size of the UI element.
Possible values:
"default" (Default value which is "100%")
0 (Number of pixels)
"0px" (Number of pixels. It's the same as 0 but it's put inside a string with px at the end. It's used when you want to sum or subtract a percentage based value with a specific number of pixels. (e.g. "75% + 12px"))
"0%" (Percentage of relative to the parent element)
"0%c" (Percentage of the total width/height of the element children)
"0%cm" (Percentage of the width/height of the biggest visible child of that element)
"0%sm" (Percentage of the width/height of the sibling element)
"0%y" (Percentage of the element height)
"0%x" (Percentage of the element width)
"fill" (Expands to the remaining width/height of the parent element)
max_sizeVector [width, height]["default", "default"]Maximum size of the UI element can have
min_sizeVector [width, height]["default", "default"]Minimum size of the UI element can have
offsetVector [x, y][0, 0]Position of the UI element relative to the parent UI element. It's TopLeft based meaning the coordinates [0, 0] start at the top left of the screen.
10- pixels
"10px" - pixels
"50%" - Width/height of the parent element
"50%x" - Width of the element
"50%y" - Height of the element
anchor_fromenumcenterAnchor point in the parent element.
Possible values:
top_left
top_middle
top_right
left_middle
center
right_middle
bottom_left
bottom_middle
bottom_right
anchor_toenumcenterAnchor point in the element.
Possible values:
top_left
top_middle
top_right
left_middle
center
right_middle
bottom_left
bottom_middle
bottom_right
inherit_max_sibling_widthbooleanfalseUse the maximum width of the sibling element
inherit_max_sibling_heightbooleanfalseUse the maximum height of the sibling element
use_anchored_offsetboolean
containedboolean
draggableenumMakes the element draggable through cursor. The element should be able to accept input in order to be draggable (input_panel, button, etc.) and must have the required button mappings.
Possible values: vertical, horizontal and both
follows_cursorbooleanfalseFollows the cursor

Data Binding

Property NameTypeDefault ValueDescription
bindingsVector of binding objectBind and work with hardcoded values in the element

Data Binding Array Object

Data Binding allows to bind hardcoded values/variables to an element property.

Property NameTypeDefault ValueDescription
ignoredbooleanfalseIf binding should be ignored
binding_typeenumPossible values:
global
view
collection
collection_details
none
binding_namestringStores the value of the data binding name or condition with it
binding_name_overridestringName of the UI element property that will apply the stored value in binding_name
binding_collection_namestringName of the collection of items to be used
binding_collection_prefixstring
binding_conditionenumCondition for the data binding to happen.
Possible values:
always
always_when_visible
visible
once
none
visibility_changed
source_control_namestringName of the UI element to observe its property values
source_property_namestringStore the value of the property value of the UI element refered in source_control_name
target_property_namestringThe UI element property that the stored value in source_property_name will be applied to
resolve_sibling_scopebooleanIf true, allows the selection of a sibling element in the same control instead of its child, for source_control_name

Stack Panel

Property NameTypeDefault ValueDescription
orientationenumverticalDirection the elements stack inside stack_panel.
Possible values:
vertical
horizontal

Grid

Property NameTypeDefault ValueDescription
grid_dimensionsVector [rows, columns]Number of columns and rows the grid has
maximum_grid_itemsintMaximum number of items the grid will generate
grid_dimension_bindingstringBinding name for grid dimensions
grid_rescaling_typeenumGrid rescaling orientation.
Possible values:
vertical
horizontal
none
grid_fill_directionenumPossible values:
vertical
horizontal
none
grid_item_templatestringAn element capable of handling collections
(e.g. "common.container_item", "container_items", "inventory_items" and etc.)
precached_grid_item_countint

Text

Property NameTypeDefault ValueDescription
textstringText content
colorVector [r, g, b][1.0, 1.0, 1.0]Text color. RGB value from 0.0 to 1.0
locked_colorVector [r, g, b]Text color when a parent has enabled: false
shadowbooleanfalseText shadow
hide_hyphenbooleanfalseHide hyphen caused by word breaking
notify_on_ellipsesstring[]Array of names of the controls to notify when text gets or loses ellipses
enable_profanity_filterbooleanfalseIf "bad" words should be censored
locked_alphafloatAlpha/transparency of label when a parent has enabled: false
font_sizeenumnormalSize of the text.
Possible values:
small
normal
large
extra_large
font_scale_factorfloat1.0Scale of the text
localizebooleanfalseIf text should be able to be translated
line_paddingnumberSpace between lines
font_typeenumdefaultFont of the text.
Possible values:
default
rune
unicode
smooth
MinecraftTen
or any other custom font
backup_font_typeenumdefaultFont used if font_type didn't work
text_alignmentenumText alignment direction. If it's not defined it will adjust automatically based on anchor_from and anchor_to

Legacy (no longer works)

Property NameTypeDefault ValueDescription
wrapbooleanfalseBreak text into lines if text is bigger than width of the element
clipbooleanfalse

Use of notify_on_ellipses. Mostly used with hardcoded texts.

RP/ui/example_file.jsonCopy
json
{
  "label": {
    ...
    "notify_on_ellipses": [
      "my_button"
    ]
  },

  "my_button": {
    ...
    "bindings": [
      {
        "binding_type": "view",
        "source_property_name": "#using_ellipses",
        "target_property_name": "#visible"
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Sprite

Property NameTypeDefault ValueDescription
texturestringImage path starting from pack root. (e.g. "textures/ui/White")
allow_debug_missing_texturebooleantrueDisplay the missing_texture if the texture is not found
uvVector [u, v]Start position of the texture mapping
uv_sizeVector [width, height]Size of the texture mapping
texture_file_systemstringInUserPackageSource to get the texture.
Possible values:
InUserPackage
InAppPackage
RawPath
RawPersistent
InSettingsDir
InExternalDir
InServerPackage
InDataDir
InUserDir
InWorldDir
StoreCache
Usage is Unknown
nineslice_sizeint, Vector [x, y] or Vector [x0, y0, x1, y1]9-slice. A method that divides an texture into 9 pieces. When resized the corners will stay in place and the rest will stretch
tiledboolean or enumIf the texture will tile when the size of the UI element is bigger than the texture size.
Possible values:
true/false
x
y
tiled_scaleVector [sX, sY]falseScale of the tile textures
clip_directionenumStart point position for the clip_ratio. If down, the image will begin to appear from the bottom.
Possible values:
left
right
up
down
center
clip_ratiofloatHow much to clip. From 0.0 to 1.0
clip_pixelperfectbooleanIf the clip should try to be the most pixel accurate possible
keep_ratiobooleantrueKeep ratio when resizing image
bilinearbooleanfalseUse the bilinear function when resizing the image
fillbooleanfalseScratch the image to the size
$fit_to_widthboolean
zip_folderstring
grayscalebooleanfalseRender image in black and white
force_texture_reloadbooleanReload image when the texture path is changed
base_sizeVector [width, height]

To use clipping, bind a #*_ratio binding name to a #clip-ratio property with binding condition "always". Progress arrow and fuel images in furnace UI work like this.

Input

Property NameTypeDefault ValueDescription
button_mappingsVector of mapping object
modalboolean
inline_modalboolean
always_listen_to_inputboolean
always_handle_pointerboolean
always_handle_controller_directionboolean
hover_enabledboolean
prevent_touch_inputboolean
consume_eventboolean
consume_hover_eventsboolean
gesture_tracking_buttonstring

Button Mapping Array Object

Property NameTypeDefault ValueDescription
ignoredbooleanfalseIf mapping should be ignored
from_button_idstringID of the action that fires the event
to_button_idstringID of the action to be executed when event is fired
mapping_typeenumPossible values:
global
pressed
double_pressed
focused
scopeenumPossible values:
view
controller
input_mode_conditionenumPossible values:
not_gaze
not_gamepad
gamepad_and_not_gaze
ignore_input_scopeboolean
consume_eventboolean
handle_selectboolean
handle_deselectboolean
button_up_right_of_first_refusalboolean

Focus

Property NameTypeDefault ValueDescription
default_focus_precedenceint
focus_enabledbooleanIf the arrow keys or controller can focus the element
focus_wrap_enabledboolean
focus_magnet_enabledboolean
focus_identifierstringFocus identifier for this element
focus_change_downstringIdentifier (focus_identifier) of the focusable element that will recieve focus when on button.menu_down. If you want to prevent the focus to escape from the bottom use FOCUS_OVERRIDE_STOP
focus_change_upstringIdentifier (focus_identifier) of the focusable element that will recieve focus when on button.menu_up. If you want to prevent the focus to escape from the top use FOCUS_OVERRIDE_STOP
focus_change_leftstringIdentifier (focus_identifier) of the focusable element that will recieve focus when on button.menu_left. If you want to prevent the focus to escape from the left use FOCUS_OVERRIDE_STOP
focus_change_rightstringIdentifier (focus_identifier) of the focusable element that will recieve focus when on button.menu_right. If you want to prevent the focus to escape from the right use FOCUS_OVERRIDE_STOP
focus_mappingarray
focus_containerboolean
use_last_focusboolean
focus_navigation_mode_leftenumPossible values: none
stop
custom
contained
focus_navigation_mode_rightenumPossible values: none
stop
custom
contained
focus_navigation_mode_downenumPossible values: none
stop
custom
contained
focus_navigation_mode_upenumPossible values: none
stop
custom
contained
focus_container_custom_leftVector of focus container custom object
focus_container_custom_rightVector of focus container custom object
focus_container_custom_downVector of focus container custom object
focus_container_custom_upVector of focus container custom object

Focus Container Custom Array Object

Property NameTypeDescription
other_focus_container_namestringName of the UI control that will receive focus when on button.menu_left, button.menu_right, button.menu_up or button.menu_down
focus_id_insidestringIdentifier (focus_identifier) of the focusable child control of the other_focus_container_name that will recieve the focus
RP/ui/example_file.jsonCopy
json
...
{
  "other_panel": {
    ...
    "focus_container": true,
    "controls": [
      ...
    ]
  }
},
{
  "input_panel": {
    ...
    "focus_container_custom_up": [
      {
        "other_focus_container_name": "other_panel" // name of the object that will receive focus when the focus of this container ends on `button.menu_up`
      }
    ]
  }
}
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Button

Property NameTypeDefault ValueDescription
default_controlstringName of the child control that will be displayed only in the default state
hover_controlstringName of the child control that will be displayed only in the hover state
pressed_controlstringName of the child control that will be displayed only in the pressed state
locked_controlstringName of the child control that will be displayed only in the locked state

Toggle

Property NameTypeDefault ValueDescription
radio_toggle_groupboolean
toggle_namestringIdentifier for the toggle group it belongs to. It can be a custom one.
toggle_default_stateboolean
toggle_group_forced_indexintIndex of the toggle in its group
toggle_group_default_selectedintIndex of the default toggle of the its group
reset_on_focus_lostboolean
toggle_on_hoverstring
toggle_on_buttonstring
toggle_off_buttonstring
enable_directional_togglingboolean
toggle_grid_collection_namestringName of the collection the toggle belongs to
checked_controlstringName of the child control that will be displayed only in the checked state
unchecked_controlstringName of the child control that will be displayed only in the unchecked state
checked_hover_controlstringName of the child control that will be displayed only in the checked hover state
unchecked_hover_controlstringName of the child control that will be displayed only in the unchecked hover state
checked_locked_controlstringName of the child control that will be displayed only in the checked locked state
unchecked_locked_controlstringName of the child control that will be displayed only in the unchecked locked state
checked_locked_hover_controlstringName of the child control that will be displayed only in the checked locked hover state
unchecked_locked_hover_controlstringName of the child control that will be displayed only in the unchecked locked hover state

HardCoded Toggles

In some screens,navigation tab group has its mapping default selected tabs,such as settings or inventory. I guess these values are right.

json
$search_index - $construction_index
$survival_layout_index - $construction_index
$recipe_book_layout_index - $equipment_index
$creative_layout_index - $items_index
1
2
3
4

And there are some must toggles in setting and inventory,even though you can not get a warning without dev version and open the assert diagnosis,they exactly esist and controlled by a function called ScreenView::_passViewCommand::<lambda_6d65fd272578d43f1becb6eada4ff32c>:😦)::<lambda_2ab071547c9a470558c54e4d3cddb5f2>::operator(),when you totally modify these screens,you may meet this assertion.

For example,in setting that is accessibility and in inventory,the construction,equipment,items and nature tabs are must.

Property NameTypeDefault ValueDescription
dropdown_namestringIdentifier for the dropdown
dropdown_content_controlstringName of the child control that will behave as the root content panel
dropdown_areastringName of the child control that will behave as the inside content

Sound

Property NameTypeDescription
sound_namestringName of the sound defined in the RP/sounds/sound_definitions.json file that plays when the pressed event is fired
sound_volumefloatVolume of the sound
sound_pitchfloatPitch of the sound
soundsVector of sound objectArray of the sounds to play when the pressed event is fired

Sound Array Object

Property NameTypeDescription
sound_namestringName of the sound defined in the RP/sounds/sound_definitions.json file that plays when the pressed event is fired
sound_volumefloatVolume of the sound
sound_pitchfloatPitch of the sound
min_seconds_between_playsfloatSeconds of wait before the sound can be played again

Collection

Property NameTypeDescription
collection_namestringName of the collection to be used

Text Edit

Property NameTypeDefault ValueDescription
text_box_namestringIdentifier for text box
text_edit_box_grid_collection_namestringName of the collection the edit_box belongs to
constrain_to_rectboolean
enabled_newlinebooleanAllows multiline text
text_typeenumType of characters that the user is allowed to type in th text field.
Possible values:
ExtendedASCII
IdentifierChars
NumberChars
max_lengthintMaximum number of characters allow in the text field
text_controlstringName of the child control that will be used for displaying the text
place_holder_controlstringName of the child control that will be used for display the placeholder text
can_be_deselectedboolean
always_listeningboolean
virtual_keyboard_buffer_controlstring

Slider

Property NameTypeDefault ValueDescription
slider_track_buttonstringID of the action for the slider track
slider_small_decrease_buttonstringID of the action for the decrease slider
slider_small_increase_buttonstringID of the action for the increase slider
slider_stepsintnHow many steps (or values) does the slider have
slider_directionenumOrientation of the slider movement.
Possible values:
vertical
horizontal
slider_timeoutnumber
slider_collection_namestringName of the collection the slider belongs to
slider_namestringIdentifier for the slider
slider_select_on_hoverbooleanFocus slider when it's hovered
slider_selected_buttonstringID of the action for when the slider is selected
slider_deselected_buttonstringID of the action for when the slider is deselected
slider_box_controlstringName of the child control that will behave as the slider thumb
background_controlstringName of the child control that will behave as the slider background
background_hover_controlstringName of the child control that will behave as the slider background on hover
progress_controlstringName of the child control that will behave as the slider background overlay for the slider progress
progress_hover_controlstringName of the child control that will behave as the slider background overlay for the slider progress on hover

Slider Box

Property NameTypeDefault ValueDescription
default_controlstringName of the child control that will be displayed in the default state
hover_controlstringName of the child control that will be displayed in the hover state
locked_controlstringName of the child control that will be displayed in the locked state

Scroll View

Property NameTypeDefault ValueDescription
scrollbar_track_buttonstringID of the action for the track button
scrollbar_touch_buttonstringID of the action for the touch input
scroll_speednumberScrolling speed
gesture_control_enabledboolean
always_handle_scrollingboolean
touch_modeboolean
scrollbar_boxstringName of child UI element or nested UI element that will behave as the scrollbar thumb.
scrollbar_trackstringName of child UI element or nested UI element that will behave as the scrollbar track
scroll_view_portstringName of child UI element that will behave as the view port
scroll_contentstringName of child UI element that will behave as the content root parent
scroll_box_and_track_panelstringName of child UI element that will contain the scrollbox and track controls
jump_to_bottom_on_updatebooleanJump to the bottom when the scrolling panel has an update. For example, adds more children to it.

Custom Render

Property NameTypeDescription
rendererenumPossible values:
hover_text_renderer
3d_structure_renderer
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
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 (Legacy, no longer works)
menu_background_renderer (Legacy, no longer works)

Renderers

Renderer NameDescription
flying_item_rendererThe flying item when you change an item from a slot to another
inventory_item_rendererRenders an item icon. It only work in screens when ingame
credits_rendererThe credits and end poem
vignette_rendererA vignette
name_tag_rendererIt's something like the playername above the player head or the name above animals when used a nametag on them
paper_doll_rendererA skin model
debug_screen_rendererThe debug text that appears on the beta/preview versions
enchanting_book_rendererThe enchantment table book. It opens when there's an item to be enchanted
gradient_rendererDraws a gradient
live_horse_rendererThe horse/donkey/llama... model
live_player_rendererThe player model
hud_player_rendererThe player model that imitates what the player is doing
hotbar_rendererGets the hotbar slot image for each slot
hotbar_cooldown_rendererDraws the item cooldown
heart_rendererDraws the player health
horse_heart_rendererDraws the horse/donkey/... health
armor_rendererDraws the player armor
horse_jump_rendererDraws the horse jumping progress bar
hunger_rendererDraws the player hunger
bubbles_rendererDraws the respiration bubbles
mob_effects_rendererDraws the effects that are applied to the player
cursor_rendererDraws the crosshair in the center of the screen
progress_indicator_rendererNot used
camera_rendererUsed for the camera item
web_view_rendererShows a website view
banner_pattern_rendererRenders a banner
actor_portrait_rendererDraws an portrait
trial_time_rendererIn the trial version of the game it renders the time left to be able to use the world
progress_bar_rendererDraws a progress bar. It has more than one type
3d_structure_rendererRenders the structure block structure
splash_text_rendererGets and renders a random splash text from the splashes.json file
hover_text_rendererDraws a tooltip
ui_holo_cursor
panorama_rendererIt's not the panoramas that appear behind the menus. It's the panorama of the worlds on the store.

Specific Properties

Property NameTypeRendererDescription
gradient_directionenumgradient_rendererPossible values:
vertical
horizontal
color1Vector [r, g, b, a]gradient_renderer
color2Vector [r, g, b, a]gradient_renderer
text_colorVector [r, g, b, a]name_tag_renderer
background_colorVector [r, g, b, a]name_tag_renderer
primary_colorVector [r, g, b, a]progress_bar_renderer
secondary_colorVector [r, g, b, a]progress_bar_renderer
camera_tilt_degreesnumberpaper_doll_renderer
starting_rotationnumberpaper_doll_renderer
use_selected_skinbooleanpaper_doll_renderer
use_uuidbooleanpaper_doll_renderer
use_skin_gui_scalebooleanpaper_doll_renderer
use_player_paperdollbooleanpaper_doll_renderer
rotationenumpaper_doll_renderer and panorama_rendererPossible values:
auto
gesture_x
custom_y
end_eventstringcredits_renderer

Screen

Property NameTypeDescription
render_only_when_topmostbooleanOnly render the screen if it's the most top screen in the screen stack
screen_not_flushableboolean
always_accepts_inputboolean
render_game_behindbooleanDoesn't prevent screen below of being able to receive input from the user
absorbs_inputboolean
is_showing_menuboolean
is_modalbooleanIt's a screen modal
should_steal_mousebooleanCaptures the cursor and hides it
low_frequency_renderingbooleanUses less memory to render the screen
screen_draws_lastbooleanIt's the last screen to be drawn/rendered
vr_modeboolean
force_render_belowbooleanRenders bottom screens below current screen in the screen stack
send_telemetryboolean
close_on_player_hurtbooleanClose the screen is the player takes damage
cache_screenboolean
load_screen_immediatelyboolean
gamepad_cursorboolean
gamepad_cursor_deflection_modeboolean
should_be_skipped_during_automationboolean

Selection Wheel

Property NameTypeDescription
inner_radiusnumber
outer_radiusnumber
state_controlsstring[]
slice_countinteger
button_namestring
iterate_left_button_namestring
iterate_right_button_namestring
initial_button_sliceinteger

TTS

Property NameTypeDescription
tts_namestring
tts_control_headerstring
tts_section_headerstring
tts_control_type_order_priorityinteger
tts_index_priorityinteger
tts_toggle_onstringUse by the toggle type
tts_toggle_offstringUse by the toggle type
tts_override_control_valuestring
tts_inherit_siblingsboolean
tts_value_changedstring
ttsSectionContainerboolean
tts_ignore_countboolean
tts_skip_messageboolean
tts_value_order_priorityinteger
tts_play_on_unchanged_focus_controlboolean
tts_ignore_subsectionsboolean
text_ttsstring
use_prioritybooleanIf the priority property will be use to determine the TTS priority of each child control
prioritybooleanOrder/index of priority that the element has on TTS

Tab (Legacy)

Property NameTypeDefault ValueDescription
tab_indexintID of tab in its group
tab_groupintID of the group the tab belongs to
tab_controlstringName of the control that will show when the tab is active
Property NameTypeDefault ValueDescription
always_rotateboolean
rotate_speednumber
hover_colorVector [r, g, b, a],color when element is hovered
hover_alphafloatalpha when element is hovered
pressed_colorVector [r, g, b, a],color when element is pressed
pressed_alphafloatalpha when element is pressed

Properties Additional Information

Anchor Properties

Anchors allows the elements to align to a certain point where position, size, scale, animations, etc will take as the point for transformation. In JSON UI, there's two properties anchor_from and anchor_to that together achieve this.

Most people use them by giving them the same value:

RP/ui/example_file.jsonCopy
json
{
  "element": {
    "anchor_from": "top_left",
    "anchor_to": "top_left"
  }
}
1
2
3
4
5
6
Anchors with the same value

However, what happens when they have different values? Let's look at happens when anchor_from: center and anchor_from: top_left. It's the best example to demonstrate what's really happening.

RP/ui/example_file.jsonCopy
json
{
  "element": {
    "anchor_from": "center",
    "anchor_to": "top_left"
  }
}
1
2
3
4
5
6
Anchor from center to top left

The top left point of the element is in the center point of the parent element.

Another example:

Anchor from center to right middle and anchor from top middle to top left

The blue box top left point is in the top middle point of the parent element. As for the black box, the right midde point is in the center of the parent.

Basically anchor_to is the anchor point in the element that will be attached to the anchor_from in the parent element.

Variables Property

NameTypeDescription
requiresstringcondition

If you only have one variable to use, you should just use "variables": {}

RP/ui/example_file.jsonCopy
json
{
  "element": {
    ...
    "size": "$el_size",
    "$el_size|default": ["100%", 20],
    "variables": {
      "requires": "$var_condition",
      "$el_size": ["100%", 30]
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11

If you have multiple variables use "variables": [{}]

RP/ui/example_file.jsonCopy
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]
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Property Bag

NameTypeRequirementsDescription
#filtered_light_multiplierfloattype[custom]
renderer[inventory_item_renderer]
#banner_patternsstringtype[custom]
renderer[inventory_item_renderer]
#banner_colorsstringtype[custom]
renderer[inventory_item_renderer]
#item_id_auxinttype[custom]
renderer[inventory_item_renderer]
#item_custom_colorinttype[custom]
renderer[inventory_item_renderer]
#disabled_filter_visiblebooleantype[custom]
renderer[inventory_item_renderer]
#item_pickup_timefloattype[custom]
renderer[inventory_item_renderer]
#look_at_cursorbooleantype[custom]
renderer[hud_player_renderer]
entity_typeenumtype[custom]
renderer[paper_doll_renderer]
Possible values:
player
npc
#skin_idxinttype[custom]
renderer[paper_doll_renderer]
#player_uuidstringtype[custom]
renderer[paper_doll_renderer]
#skin_rotationbooleantype[custom]
renderer[paper_doll_renderer]
#custom_rot_yfloattype[custom]
renderer[paper_doll_renderer]
#gesture_delta_sourcestringtype[custom]
renderer[paper_doll_renderer]
#gesture_mouse_delta_xstringtype[custom]
renderer[paper_doll_renderer]
#pack_idinttype[custom]
renderer[paper_doll_renderer]
#force_skin_updatestringtype[custom]
renderer[paper_doll_renderer]
#progress_bar_visiblebooleantype[custom]
renderer[paper_doll_renderer]
#progress_bar_total_amountfloattype[custom]
renderer[progress_bar_renderer]
#progress_bar_current_amountfloattype[custom]
renderer[progress_bar_renderer]
is_durabilitybooleantype[custom]
renderer[progress_bar_renderer]
round_valuebooleantype[custom]
renderer[progress_bar_renderer]
#hover_textstringtype[custom]
renderer[hover_text_renderer]
#openbooleantype[custom]
renderer[enchanting_book_renderer]
flying_item_countinttype[custom]
renderer[flying_item_renderer]
flying_item_id_auxinttype[custom]
renderer[flying_item_renderer]
flying_item_custom_colorinttype[custom]
renderer[flying_item_renderer]
flying_item_origin_position_xfloattype[custom]
renderer[flying_item_renderer]
flying_item_origin_position_yfloattype[custom]
renderer[flying_item_renderer]
flying_item_origin_scalefloattype[custom]
renderer[flying_item_renderer]
flying_item_destination_position_xfloattype[custom]
renderer[flying_item_renderer]
flying_item_destination_position_yfloattype[custom]
renderer[flying_item_renderer]
flying_item_destination_scalefloattype[custom]
renderer[flying_item_renderer]
flying_item_banner_patternsstringtype[custom]
renderer[flying_item_renderer]
flying_item_banner_colorsstringtype[custom]
renderer[flying_item_renderer]
#use_heart_offsetbooleantype[custom]
renderer[armor_renderer]
opacity_overridefloattype[custom]
renderer[vignette_renderer]
#playernamestringtype[custom]
renderer[name_tag_renderer]
#x_paddingnumbertype[custom]
renderer[name_tag_renderer]
#entity_idstring or inttype[custom]
renderer[live_horse_renderer]
#hyperlinkstringtype[button]
#anchored_offset_value_xnumberuse_anchored_offset property
#anchored_offset_value_ynumberuse_anchored_offset property
#size_binding_xnumberuse_anchored_offset property
#size_binding_ynumberuse_anchored_offset property
#has_focusbooleantype[custom]
renderer[3d_structure_renderer]
#block_positionVector [x, y, z]type[custom]
renderer[3d_structure_renderer]
#top_right_blockVector [x, y, z]type[custom]
renderer[3d_structure_renderer]
#bottom_left_blockVector [x, y, z]type[custom]
renderer[3d_structure_renderer]
#include_entitiesbooleantype[custom]
renderer[3d_structure_renderer]
#remove_blocksbooleantype[custom]
renderer[3d_structure_renderer]
#include_playersbooleantype[custom]
renderer[3d_structure_renderer]
#slider_stepsnumbertype[slider]
#slider_valuenumbertype[slider]
#property_fieldstringtype[edit_box]
#hover_sliceinttype[selection_wheel]
#toggle_statebooleantype[toggle]
#start_selectedboolean
#tts_dialog_titlestring
#tts_dialog_bodystring
force_updateboolean
#sub_commandstring
#panel_titlestring
#indexint
#collection_prefixstring
#collection_namestring
#visibleboolean
#commonVector [r, g, b, a]
#uncommonVector [r, g, b, a]
#rareVector [r, g, b, a]
#epicVector [r, g, b, a]
#legendaryVector [r, g, b, a]
reset_groupenumPossible values:
video
audio
accessibility
#textstring
timer_durationnumber
#should_hostboolean
is_localboolean
#is_leftboolean
#is_skinsboolean
#is_featuredboolean
#image_namestring
#is_dropdownboolean
#timer_field_count_to_shownumber
#owned_incompatible_prompt_colorVector [r, g, b]
#modal_title_textstring
#modal_label_textstring
#buttons_visibleboolean
#no_buttons_visibleboolean
#single_button_visibleboolean
#two_buttons_visibleboolean
is_fixed_inventoryboolean
experimental_radio_button_statestring
classic_radio_button_statestring

Animations

Animation Property NameTypeDescription
anim_typeenumPossible values:
alpha
clip
color
flip_book
offset
size
uv
wait
aseprite_flip_book
durationnumber
nextstring
destroy_at_endstring
play_eventstring
end_eventstring
start_eventstring
reset_eventstring
easingenumPossible values:
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_uvVector [u, v]
fpsintFrames per second
frame_countint
frame_stepnumber
reversiblebooleanRun the animation in reverse after completion
resettableboolean
scale_from_starting_alphaboolean
activatedboolean

For more information about the aseprite_flip_book animation type, please see our page on Aseprite Animations

Global Variables

VariableNote
$store_disabled
$game_padThere's a controller connected to the device
$mouseThere's a mouse connected to the device
$touch
$trialIt'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_screenIf the classic UI is selected
$pocket_screenIf 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_pregameIf 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_publishIt's public and not a developer version
$is_desktop
$is_ps4
$is_on_3p_server
$ignore_3rd_party_servers
$is_berwick

#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
  • #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

NameSlider NameValue Binding NameTTS Value (tts_value_changed)Slider TextEnabled Binding Name
Brightnessgamma#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 Opacityinterface_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 Viewfield_of_view#field_of_view#field_of_view_text_value#field_of_view_slider_label#field_of_view_enabled

Toggles

NameToggle NameState Binding NameEnabled 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 Optionskeyboard_show_full_keyboard_options#keyboard_show_full_keyboard_options#keyboard_show_full_keyboard_options_enabled
Hide Keyboard Tooltipshide_keyboard_tooltips#hide_keyboard_tooltips#hide_keyboard_tooltips_enabled
Content File Logcontent_log_file#content_log_file#content_log_file_enabled
Content Gui Logcontent_log_gui#content_log_gui#content_log_gui_enabled
Use SSOad_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 Enabledauto_update_enabled#auto_update_enabled
Cross Platform Enabledcrossplatform_toggle#crossplatform_toggle#crossplatform_toggle_enabled
Allow Cellular Dataallow_cellular_data#allow_cellular_data#allow_cellular_data_enabled
Websocket Encryptionwebsocket_encryption#websocket_encryption#websocket_encryption_enabled
Only Trusted Skins Allowedonly_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
Fullscreenfull_screen#full_screen#full_screen_enabled
Hide Handhide_hand#hide_hand#hide_hand_enabled
Hide Hand (VR)vr_hide_hand#vr_hide_hand#vr_hide_hand_enabled
Hide Paperdollhide_paperdoll#hide_paperdoll#hide_paperdoll_enabled
Hide HUDhide_hud#hide_hud#hide_hud_enabled
Hide HUD (VR)vr_hide_hud#vr_hide_hud#vr_hide_hud_enabled
Screen Animationsscreen_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 Iconshow_auto_save_icon#show_auto_save_icon#show_auto_save_icon_enabled
Outline Selectionclassic_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 Ingameingame_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 Bobbingview_bobbing#view_bobbing#view_bobbing_enabled
Camera Shakecamera_shake#camera_shake#camera_shake_enabled
Fancy Leavestransparent_leaves#transparent_leaves#transparent_leaves_enabled
Fancy Leaves (VR)vr_transparent_leaves#vr_transparent_leaves#vr_transparent_leaves_enabled
Fancy Bubblesbubble_particles#bubble_particles#bubble_particles_enabled
Render Cloudsrender_clouds#render_clouds#render_clouds_enabled
Fancy Cloudsfancy_skies#fancy_skies#fancy_skies_enabled
Smooth Lightingsmooth_lighting#smooth_lighting#smooth_lighting_enabled
Smooth Lighting (VR)graphics_toggle#graphics_toggle#graphics_toggle_enabled
Graphicsgraphics_toggle#graphics_toggle#graphics_toggle_enabled
Field of Viewfield_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-Aliasingtexel_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 TTSenable_auto_text_to_speech#enable_auto_text_to_speech#enable_auto_text_to_speech_enabled
Enable UI TTSenable_ui_text_to_speech#enable_ui_text_to_speech#enable_ui_text_to_speech_enabled
Enable Chat TTSenable_chat_text_to_speech#enable_chat_text_to_speech#enable_chat_text_to_speech_enabled
Enable Open Chat Messageenable_open_chat_message#enable_open_chat_message#enable_open_chat_message_enabled
Camera Shakecamera_shake#camera_shake#camera_shake_enabled
Languages (Collection)languages#language_initial_selected

Item ID Aux (#item_id_aux)

NameIDAux Values
diamond30620054016
emerald51934013184
gold_ingot30820185088
iron_ingot30720119552
netherite_ingot61640370176
banner57437617664
saddle37324444928
cartography_table-200-13107200
chest543538944
crafting_table583801088
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.

Contributors

MedicalJewel105