* 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.
113 lines
3.8 KiB
JSON
113 lines
3.8 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"title": "Bindings",
|
|
"description": "The bindings that are contained within this element.",
|
|
"definitions": {
|
|
"binding": {
|
|
"type": "object",
|
|
"title": "Binding",
|
|
"description": "A binding that is contained within this element.",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"binding_collection_name": {
|
|
"title": "Binding Collection Name",
|
|
"description": "The name of the collection that the binding is in.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"binding_collection_prefix": {
|
|
"title": "Binding Collection Prefix",
|
|
"description": "The prefix of the collection that the binding is in.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"binding_condition": {
|
|
"title": "Binding Condition",
|
|
"description": "The condition that must be met for the binding to be applied.",
|
|
"anyOf": [
|
|
{
|
|
"enum": ["once", "always", "always_when_visible", "visible", "visibility_changed", "none"]
|
|
},
|
|
{
|
|
"$ref": "../../general/variable.json"
|
|
}
|
|
]
|
|
},
|
|
"binding_name": {
|
|
"title": "Binding Name",
|
|
"description": "The name of the binding. This is used to reference the binding in the element's properties.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"binding_name_override": {
|
|
"title": "Binding Name Override",
|
|
"description": "The name of the binding. This is used to reference the binding in the element's properties.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"binding_type": {
|
|
"title": "Binding Type",
|
|
"description": "The type of the binding. The default is global.",
|
|
"anyOf": [
|
|
{
|
|
"enum": ["collection", "global", "collection_details", "none", "view"],
|
|
"default": "global"
|
|
},
|
|
{
|
|
"$ref": "../../general/variable.json"
|
|
}
|
|
]
|
|
},
|
|
"ignored": {
|
|
"title": "Ignored",
|
|
"description": "If true, the binding will be ignored.",
|
|
"$ref": "../../general/boolean.json"
|
|
},
|
|
"resolve_sibling_scope": {
|
|
"title": "Resolve Sibling Scope",
|
|
"description": "If true, the binding will resolve sibling scope.",
|
|
"$ref": "../../general/boolean.json"
|
|
},
|
|
"source_control_name": {
|
|
"title": "Source Control Name",
|
|
"description": "The name of the control that the binding is in.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"source_property_name": {
|
|
"title": "Source Property Name",
|
|
"description": "The name of the property that the binding is in.",
|
|
"$ref": "../../general/string.json"
|
|
},
|
|
"target_property_name": {
|
|
"title": "Target Property Name",
|
|
"description": "The name of the property that the binding is in.",
|
|
"$ref": "../../general/string.json"
|
|
}
|
|
},
|
|
"if": {
|
|
"required": ["binding_type"],
|
|
"properties": {
|
|
"binding_type": {
|
|
"const": "view"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"required": ["source_property_name", "target_property_name"]
|
|
}
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"$ref": "../../general/item_ref.json"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/binding"
|
|
}
|
|
},
|
|
{
|
|
"$ref": "#/definitions/binding",
|
|
"title": "Binding",
|
|
"description": "The binding that is contained within this element."
|
|
}
|
|
]
|
|
}
|