BrodBlox09 108d85e9ee Update JSON UI Schema (#357)
* Add permutations description

* Adjust grammar

* Update description of "num_mip_levels"

* Update "atlas_tile" and "blend_frames" property

Some properties had completely incorrect titles as well, those were fixed in this commit too.

* Update JSON UI schema

* Update item schema

* Update terrain_texture schema

* Update animations schema

* Update go_home.json

* Update textures schemas

* Update bindings schema

* Add some missing JSON UI from vanilla controls

And modify some that incorrectly make vanilla JSON UI wrong.

* Update modifications property

Modifications now understand the difference between element and array operations, and requires different things for different operations.

* Update vec2 equation definition

Made the regex pattern much more robust and able to handle niche units like %sm, as well as the add and subtract operators

* Add to enums

There were several enum values that were valid in the vanilla JSON UI but not listed in the schemas. This has now been amended.

* Add new general types

Animation and texture file path types

* Add a few missing vanilla properties

At this point pretty much the only thing left to do is add all of the rest of the vanilla properties, there are  196 "problems" left in the vanilla JSON UI in the 1.21.80.3 Minecraft version and 189 of which are missing properties. That is not to say there are 189 properties to add, there are only 65 that are missing. Those missing properties are, in order of most to least commonly referenced in the vanilla JSON UI files from the vanilla 1.21.80.3 Minecraft resource pack:

[
  {
    "propertyName": "use_selected_skin",
    "count": 16
  },
  {
    "propertyName": "clip_state_change_event",
    "count": 14
  },
  {
    "propertyName": "gesture_tracking_button",
    "count": 11
  },
  {
    "propertyName": "use_priority",
    "count": 11
  },
  {
    "propertyName": "rotation",
    "count": 9
  },
  {
    "propertyName": "use_skin_gui_scale",
    "count": 9
  },
  {
    "propertyName": "always_handle_controller_direction",
    "count": 7
  },
  {
    "propertyName": "starting_rotation",
    "count": 7
  },
  {
    "propertyName": "focus_container_custom_left",
    "count": 7
  },
  {
    "propertyName": "text_tts",
    "count": 6
  },
  {
    "propertyName": "enable_scissor_test",
    "count": 6
  },
  {
    "propertyName": "tts_skip_message",
    "count": 5
  },
  {
    "propertyName": "should_be_skipped_during_automation",
    "count": 4
  },
  {
    "propertyName": "notify_on_ellipses",
    "count": 4
  },
  {
    "propertyName": "tiled_scale",
    "count": 3
  },
  {
    "propertyName": "debug",
    "count": 3
  },
  {
    "propertyName": "tts_play_on_unchanged_focus_control",
    "count": 3
  },
  {
    "propertyName": "focus_container_custom_right",
    "count": 3
  },
  {
    "propertyName": "always_accepts_input",
    "count": 2
  },
  {
    "propertyName": "use_player_paperdoll",
    "count": 2
  },
  {
    "propertyName": "reset_event",
    "count": 2
  },
  {
    "propertyName": "size",
    "count": 2
  },
  {
    "propertyName": "consume_event",
    "count": 2
  },
  {
    "propertyName": "inner_radius",
    "count": 2
  },
  {
    "propertyName": "outer_radius",
    "count": 2
  },
  {
    "propertyName": "state_controls",
    "count": 2
  },
  {
    "propertyName": "resettable",
    "count": 2
  },
  {
    "propertyName": "focus_container_custom_up",
    "count": 2
  },
  {
    "propertyName": "inline_modal",
    "count": 2
  },
  {
    "propertyName": "rotation_x",
    "count": 2
  },
  {
    "propertyName": "rotation_y",
    "count": 2
  },
  {
    "propertyName": "activated",
    "count": 2
  },
  {
    "propertyName": "always_listening",
    "count": 1
  },
  {
    "propertyName": "grid_fill_direction",
    "count": 1
  },
  {
    "propertyName": "end_event",
    "count": 1
  },
  {
    "propertyName": "text_color",
    "count": 1
  },
  {
    "propertyName": "background_color",
    "count": 1
  },
  {
    "propertyName": "load_screen_immediately",
    "count": 1
  },
  {
    "propertyName": "gamepad_cursor_deflection_mode",
    "count": 1
  },
  {
    "propertyName": "renderer_properties",
    "count": 1
  },
  {
    "propertyName": "color_corrected",
    "count": 1
  },
  {
    "propertyName": "notify_ellipses_sibling",
    "count": 1
  },
  {
    "propertyName": "target_cycler_to_compare",
    "count": 1
  },
  {
    "propertyName": "grid_item_when_current",
    "count": 1
  },
  {
    "propertyName": "grid_item_when_not_current",
    "count": 1
  },
  {
    "propertyName": "cycler_manager_size_control_target",
    "count": 1
  },
  {
    "propertyName": "slice_count",
    "count": 1
  },
  {
    "propertyName": "select_button_name",
    "count": 1
  },
  {
    "propertyName": "hover_button_name",
    "count": 1
  },
  {
    "propertyName": "analog_button_name",
    "count": 1
  },
  {
    "propertyName": "iterate_left_button_name",
    "count": 1
  },
  {
    "propertyName": "iterate_right_button_name",
    "count": 1
  },
  {
    "propertyName": "initial_button_slice",
    "count": 1
  },
  {
    "propertyName": "gamepad_deflection_mode",
    "count": 1
  },
  {
    "propertyName": "looping",
    "count": 1
  },
  {
    "propertyName": "wait_until_rendered_to_play",
    "count": 1
  },
  {
    "propertyName": "clip_ratio",
    "count": 1
  },
  {
    "propertyName": "grayscale",
    "count": 1
  },
  {
    "propertyName": "tts_skip_children",
    "count": 1
  },
  {
    "propertyName": "$main_content_fo",
    "count": 1
  },
  {
    "propertyName": "selected",
    "count": 1
  },
  {
    "propertyName": "can_be_deselected",
    "count": 1
  },
  {
    "propertyName": "ignoreCollectionItem",
    "count": 1
  },
  {
    "propertyName": "factory_variables",
    "count": 1
  },
  {
    "propertyName": "start_event",
    "count": 1
  }
]

* Fix PR Error

Until issue https://github.com/Blockception/Minecraft-bedrock-json-schemas/issues/358 is resolved $refs may not refer to JSON definitions of other files.
2025-06-29 20:03:09 +02:00
fix
2025-06-02 22:41:11 +02:00
2025-04-29 09:02:06 +02:00
fix
2025-06-02 22:41:11 +02:00
2022-08-05 19:36:04 +02:00
2021-06-06 11:39:21 +02:00
2022-08-05 19:36:04 +02:00
2025-06-29 20:03:09 +02:00
2024-11-09 10:08:30 +01:00
2022-09-20 19:40:08 +02:00
2023-10-24 19:49:08 +02:00
2021-10-21 14:41:38 +02:00
2024-11-09 10:08:30 +01:00
2022-10-28 16:03:21 +02:00
2024-11-09 15:14:05 +01:00
2020-11-02 11:31:49 +01:00
2024-11-09 10:08:30 +01:00
2020-11-01 17:23:45 +01:00
2025-05-05 19:45:21 +02:00
2025-05-05 19:45:21 +02:00
2025-02-13 14:38:27 +01:00
2021-09-27 10:44:21 +02:00
2025-06-02 14:48:10 +02:00

Minecraft-bedrock-json-schemas

Compress Json Schemas Format json files Unit Test

The JSON validation schema files for Minecraft bedrock

Contributing

Any changes to the schemas are to be done through the source files in the folder source. These get converted and compressed through an action into smaller schemas. On other matters follow the Contribution guide.

This project could use help in filling in descriptions, titles and giving snippets!

JSON validation can give snippets for sub items, as well as description, but this hasn't always been filled out!

Manual Usage

Vscode

  • Copy the vscode-settings.json file into the .vscode folder in your project and rename it to: settings.json
    OR
  • Copy the contents of vscode-settings.json into your .code-workspace file under the property settings:
{
  "folders": [ { "path": "." } ],
  "settings": {
    "json.schemas": [
      ...
    ]
  }
}

Contents

Behavior files

Resource files

License

This project makes use of Microsoft open source license: CC-BY-4.0, MIT licenses.

Description
No description provided
Readme BSD-3-Clause 8.6 MiB
Languages
TypeScript 95.6%
JavaScript 3.3%
Makefile 1.1%