SCHEMAS DOCUMENTATION Version: 1.14.2.50
This is documentation for a beta release of Minecraft. New features, components, and capabilities in this release are not final and might change without notice before the final release.
Be sure to check the documentation once the release is out of beta if your add-on isn't working properly. Resource and Behavior Packs created for the beta are not guaranteed to work on the final release.
Index#
Overview#
These are the data format schemas for content creators to reference when editing or creating new content.
Schemas#
actor_animation:1.8.0:{
version "format_version"[0,*]
object "animations"[0,*]
{
object "animation.<identifier>"[0,*]
{
bool "loop"[0,*] : opt
molang "anim_time_update"[0,*] : opt
molang "blend_weight"[0,*] : opt
bool "override_previous_animation"[0,*] : opt
object "bones"[0,*] : opt
{
object "<identifier>"[0,*]
{
object "relative_to"[0,*] : opt
{
string "rotation"[0,*] : opt
}
molang "position"[0,*] : opt
object "position"[0,*] : opt
{
object "<time_stamp>"[0,*]
{
enumerated_value "lerp_mode"[0,*] : opt
array "pre"[3] : opt
{
molang "<any array element>"[0,*]
}
array "post"[3] : opt
{
molang "<any array element>"[0,*]
}
}
array "<time_stamp>"[3]
{
molang "<any array element>"[0,*]
}
}
array "position"[0,*] : opt
{
molang "<any array element>"[0,*]
}
molang "rotation"[0,*] : opt
array "rotation"[0,*] : opt
{
molang "<any array element>"[0,*]
object "<any array element>"[0,*]
{
molang "[xyz]"[0,*]
}
}
object "rotation"[0,*] : opt
{
object "<time_stamp>"[0,*]
{
enumerated_value "lerp_mode"[0,*] : opt
array "pre"[3] : opt
{
molang "<any array element>"[0,*]
}
array "post"[3] : opt
{
molang "<any array element>"[0,*]
}
}
array "<time_stamp>"[3]
{
molang "<any array element>"[0,*]
}
}
molang "scale"[0,*] : opt
object "scale"[0,*] : opt
{
object "<time_stamp>"[0,*]
{
enumerated_value "lerp_mode"[0,*] : opt
array "pre"[3] : opt
{
molang "<any array element>"[0,*]
}
array "post"[3] : opt
{
molang "<any array element>"[0,*]
}
}
array "<time_stamp>"[3]
{
molang "<any array element>"[0,*]
}
}
array "scale"[0,*] : opt
{
molang "<any array element>"[0,*]
}
}
}
object "particle_effects"[0,*] : opt
{
array "<time_stamp>"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "effect"[0,*]
string "locator"[0,*] : opt
molang "pre_effect_script"[0,*] : opt
bool "bind_to_actor"[0,*] : opt
}
}
object "<time_stamp>"[0,*] : opt
{
string "effect"[0,*]
string "locator"[0,*] : opt
molang "pre_effect_script"[0,*] : opt
bool "bind_to_actor"[0,*] : opt
}
}
object "sound_effects"[0,*] : opt
{
array "<time_stamp>"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "effect"[0,*]
}
}
object "<time_stamp>"[0,*] : opt
{
string "effect"[0,*]
}
}
object "timeline"[0,*] : opt
{
string "<time_stamp>"[0,*] : opt
array "<time_stamp>"[0,*] : opt
{
string "<any array element>"[0,*] : opt
}
}
float "animation_length"[0,*] : opt
}
}
}
actor_animation_controller:1.10.0:{
version "format_version"[0,*]
object "animation_controllers"[0,*]
{
object "controller.animation.<identifier>"[0,*]
{
object "states"[0,*]
{
object "<identifier>"[0,*]
{
object "variables"[0,*] : opt
{
object "<identifier>"[0,*]
{
molang "input"[0,*]
object "remap_curve"[0,*] : opt
{
float "<time_stamp>"[0,*]
}
}
}
array "animations"[0,*] : opt
{
string "<any array element>"[0,*]
object "<any array element>"[0,*]
{
molang "<identifier>"[0,*]
}
}
array "transitions"[0,*] : opt
{
object "<any array element>" : opt
{
string "<identifier>"[0,*]
}
}
bool "blend_via_shortest_path"[0,*] : opt
object "blend_transition"[0,*] : opt
{
float "<identifier>"[0,*]
}
float "blend_transition"[0,*] : opt
array "particle_effects"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "effect"[0,*]
string "locator"[0,*] : opt
string "pre_effect_script"[0,*] : opt
bool "bind_to_actor"[0,*] : opt
}
}
array "on_entry"[0,*] : opt
{
string "<any array element>"[0,*] : opt
}
array "on_exit"[0,*] : opt
{
string "<any array element>"[0,*] : opt
}
array "sound_effects"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "effect"[0,*]
}
}
}
}
string "initial_state"[0,*] : opt
}
}
}
block_reference:1.10.0:{
string "name"[0,*]
object "states"[0,*]
{
bool "\w*:?\w+"[0,*] : opt
int "\w*:?\w+"[0,*] : opt
string "\w*:?\w+"[0,*] : opt
}
}
actor_resource_definition:1.8.0:{
version "format_version"[0,*]
object "minecraft:(client_entity|attachable)"[0,*]
{
object "description"[0,*]
{
string "identifier"[0,*]
version "min_engine_version"[0,*] : opt
object "materials"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "textures"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "geometry"[0,*]
{
string "<identifier>"[0,*]
}
object "spawn_egg"[0,*] : opt
{
string "texture"[0,*] : opt
string "base_color"[0,*] : opt
string "overlay_color"[0,*] : opt
int "texture_index"[0,*] : opt
}
object "scripts"[0,*] : opt
{
array "pre_animation"[0,*] : opt
{
molang "<any array element>"[0,*]
}
molang "scale"[0,*] : opt
molang "scale[xX]"[0,*] : opt
molang "scale[yY]"[0,*] : opt
molang "scale[zZ]"[0,*] : opt
molang "parent_setup"[0,*] : opt
}
object "particle_effects" : opt
{
string "<identifier>"[0,*] : opt
}
object "particle_emitters" : opt
{
string "<identifier>"[0,*] : opt
}
object "animations" : opt
{
string "<identifier>"[0,*] : opt
}
array "animation_controllers" : opt
{
object "<any array element>"[0,*] : opt
{
string "<identifier>"[0,*] : opt
}
}
array "render_controllers" : opt
{
string "<any array element>"[0,*] : opt
}
object "sound_effects" : opt
{
string "<identifier>"[0,*] : opt
}
bool "enable_attachables"[0,*] : opt
}
}
}
actor_resource_definition:1.10.0:{
version "format_version"[0,*]
object "minecraft:client_entity"[0,*] : opt
{
object "description"[0,*]
{
string "identifier"[0,*]
version "min_engine_version"[0,*] : opt
object "materials"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "textures"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "geometry"[0,*]
{
string "<identifier>"[0,*]
}
object "spawn_egg"[0,*] : opt
{
string "texture"[0,*] : opt
string "base_color"[0,*] : opt
string "overlay_color"[0,*] : opt
int "texture_index"[0,*] : opt
}
object "scripts"[0,*] : opt
{
array "initialize"[0,*] : opt
{
molang "<any array element>"[0,*]
}
array "pre_animation"[0,*] : opt
{
molang "<any array element>"[0,*]
}
molang "scale"[0,*] : opt
molang "scale[xX]"[0,*] : opt
molang "scale[yY]"[0,*] : opt
molang "scale[zZ]"[0,*] : opt
molang "parent_setup"[0,*] : opt
array "animate" : opt
{
string "<any array element>"[0,*] : opt
object "<any array element>" : opt
{
molang "<scope_identifier>"[0,*] : opt
}
}
}
object "particle_effects" : opt
{
string "<identifier>"[0,*] : opt
}
object "particle_emitters" : opt
{
string "<identifier>"[0,*] : opt
}
object "animations" : opt
{
string "<identifier>"[0,*] : opt
}
array "render_controllers" : opt
{
string "<any array element>"[0,*] : opt
object "<any array element>" : opt
{
molang "<scope_identifier>"[0,*] : opt
}
}
object "sound_effects" : opt
{
string "<identifier>"[0,*] : opt
}
bool "enable_attachables"[0,*] : opt
}
}
object "minecraft:attachable"[0,*] : opt
{
object "description"[0,*]
{
string "identifier"[0,*]
version "min_engine_version"[0,*] : opt
object "materials"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "textures"[0,*] : opt
{
string "<identifier>"[0,*]
}
object "geometry"[0,*]
{
string "<identifier>"[0,*]
}
object "spawn_egg"[0,*] : opt
{
string "texture"[0,*] : opt
string "base_color"[0,*] : opt
string "overlay_color"[0,*] : opt
int "texture_index"[0,*] : opt
}
object "scripts"[0,*] : opt
{
array "initialize"[0,*] : opt
{
molang "<any array element>"[0,*]
}
array "pre_animation"[0,*] : opt
{
molang "<any array element>"[0,*]
}
molang "scale"[0,*] : opt
molang "scale[xX]"[0,*] : opt
molang "scale[yY]"[0,*] : opt
molang "scale[zZ]"[0,*] : opt
molang "parent_setup"[0,*] : opt
array "animate" : opt
{
string "<any array element>"[0,*] : opt
object "<any array element>" : opt
{
molang "<scope_identifier>"[0,*] : opt
}
}
}
object "particle_effects" : opt
{
string "<identifier>"[0,*] : opt
}
object "particle_emitters" : opt
{
string "<identifier>"[0,*] : opt
}
object "animations" : opt
{
string "<identifier>"[0,*] : opt
}
array "render_controllers" : opt
{
string "<any array element>"[0,*] : opt
object "<any array element>" : opt
{
molang "<scope_identifier>"[0,*] : opt
}
}
object "sound_effects" : opt
{
string "<identifier>"[0,*] : opt
}
bool "enable_attachables"[0,*] : opt
string "item"[0,*] : opt
object "item" : opt
{
molang "<scope_identifier>"[0,*]
}
}
}
}
render_controller:1.8.0:{
version "format_version"[0,*]
object "render_controllers"[0,*]
{
object "controller.render.<scope_identifier>"[0,*]
{
bool "rebuild_animation_matrices"[0,*] : opt
object "arrays"[0,*] : opt
{
object "geometries"[0,*] : opt
{
array "array.<scope_identifier>"[0,*]
{
string "<any array element>"[0,*]
}
}
object "materials"[0,*] : opt
{
array "array.<scope_identifier>"[0,*]
{
string "<any array element>"[0,*]
}
}
object "textures"[0,*] : opt
{
array "array.<scope_identifier>"[0,*]
{
string "<any array element>"[0,*]
}
}
}
string "geometry"[0,*]
array "part_visibility"[0,*] : opt
{
object "<any array element>"[0,*]
{
molang "[a-zA-Z0-9_.:*]+"[0,*]
}
}
array "materials"[0,*] : opt
{
object "<any array element>"[0,*]
{
molang "[a-zA-Z0-9_.:*]+"[0,*]
}
}
array "textures"[0,*] : opt
{
string "<any array element>"[0,*]
}
object "color"[0,*] : opt
{
molang "r"[0,*] : opt
molang "g"[0,*] : opt
molang "b"[0,*] : opt
molang "a"[0,*] : opt
}
object "overlay_color"[0,*] : opt
{
molang "r"[0,*] : opt
molang "g"[0,*] : opt
molang "b"[0,*] : opt
molang "a"[0,*] : opt
}
object "uv_anim"[0,*] : opt
{
array "offset"[2]
{
molang "<any array element>"[0,*]
}
array "scale"[2]
{
molang "<any array element>"[0,*]
}
}
molang "light_color_multiplier"[0,*] : opt
bool "ignore_lighting"[0,*] : opt
bool "filter_lighting"[0,*] : opt
}
}
}
geometry:1.8.0:{
version "format_version"[0,*]
object "geometry.[a-zA-Z0-9_.'-:]+"[0,*]
{
float "visible_bounds_width"[0,*] : opt
float "visible_bounds_height"[0,*] : opt
array "visible_bounds_offset"[3] : opt
{
float "<any array element>"[0,*]
}
int "texturewidth"[0,*] : opt
int "textureheight"[0,*] : opt
string "cape"[0,*] : opt
array "bones"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "name"[0,*]
bool "reset"[0,*] : opt
bool "neverRender"[0,*] : opt
string "parent"[0,*] : opt
array "pivot"[3] : opt
{
float "<any array element>"[0,*]
}
array "rotation"[3] : opt
{
float "<any array element>"[0,*]
}
array "bind_pose_rotation"[3] : opt
{
float "<any array element>"[0,*] : opt
}
bool "mirror"[0,*] : opt
float "inflate"[0,*] : opt
bool "debug"[0,*] : opt
int "render_group_id"[0,*] : opt
array "cubes"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
array "origin"[3] : opt
{
float "<any array element>"[0,*]
}
array "size"[3] : opt
{
float "<any array element>"[0,*]
}
array "uv"[2] : opt
{
float "<any array element>"[0,*]
}
float "inflate"[0,*] : opt
bool "mirror"[0,*] : opt
}
}
object "locators"[0,*] : opt
{
array "<identifier>"[0,*] : opt
{
float "<any array element>"[0,*] : opt
}
}
object "poly_mesh"[0,*] : opt
{
bool "normalized_uvs"[0,*] : opt
array "positions"[0,*] : opt
{
array "<any array element>"[3] : opt
{
float "<any array element>"[0,*]
}
}
array "normals"[0,*] : opt
{
array "<any array element>"[3] : opt
{
float "<any array element>"[0,*]
}
}
array "uvs"[0,*] : opt
{
array "<any array element>"[2] : opt
{
float "<any array element>"[0,*]
}
}
array "polys"[0,*]
{
array "<any array element>"[3,4] : opt
{
array "<any array element>"[3]
{
float "<any array element>"[0,*]
}
}
}
string "polys"[0,*]
}
array "texture_meshes"[0,*] : opt
{
object "<any array element>"[0,*]
{
string "texture"[0,*]
array "position"[3] : opt
{
float "<any array element>"[0,*]
}
array "local_pivot"[3] : opt
{
float "<any array element>"[0,*]
}
array "rotation"[3] : opt
{
float "<any array element>"[0,*]
}
array "scale"[3] : opt
{
float "<any array element>"[0,*]
}
}
}
}
}
}
}
geometry:1.12.0:{
version "format_version"[0,*]
array "minecraft:geometry"
{
object "<any array element>"[0,*]
{
object "description"[0,*]
{
string "identifier"[0,*]
float "visible_bounds_width"[0,*] : opt
float "visible_bounds_height"[0,*] : opt
array "visible_bounds_offset"[3] : opt
{
float "<any array element>"[0,*]
}
int "texture_width"[0,*] : opt
int "texture_height"[0,*] : opt
}
string "cape"[0,*] : opt
array "bones"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
string "name"[0,*]
string "parent"[0,*] : opt
array "pivot"[3] : opt
{
float "<any array element>"[0,*]
}
array "rotation"[3] : opt
{
float "<any array element>"[0,*]
}
bool "mirror"[0,*] : opt
float "inflate"[0,*] : opt
bool "debug"[0,*] : opt
int "render_group_id"[0,*] : opt
array "cubes"[0,*] : opt
{
object "<any array element>"[0,*] : opt
{
array "origin"[3] : opt
{
float "<any array element>"[0,*]
}
array "size"[3] : opt
{
float "<any array element>"[0,*]
}
array "rotation"[3] : opt
{
float "<any array element>"[0,*]
}
array "pivot"[3] : opt
{
float "<any array element>"[0,*]
}
float "inflate"[0,*] : opt
bool "mirror"[0,*] : opt
object "uv"[0,*] : opt
{
object "north"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
object "south"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
object "east"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
object "west"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
object "up"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
object "down"[0,*] : opt
{
array "uv"[2]
{
float "<any array element>"[0,*]
}
array "uv_size"[2] : opt
{
float "<any array element>"[0,*]
}
string "material_instance"[0,*] : opt
}
}
array "uv"[2] : opt
{
float "<any array element>"[0,*]
}
}
}
object "locators"[0,*] : opt
{
object "<identifier>"[0,*] : opt
{
array "offset"[0,*]
{
float "<any array element>"[0,*] : opt
}
array "rotation"[0,*]
{
float "<any array element>"[0,*] : opt
}
}
array "<identifier>"[0,*] : opt
{
float "<any array element>"[0,*] : opt
}
}
object "poly_mesh"[0,*] : opt
{
bool "normalized_uvs"[0,*] : opt
array "positions"[0,*] : opt
{
array "<any array element>"[3] : opt
{
float "<any array element>"[0,*]
}
}
array "normals"[0,*] : opt
{
array "<any array element>"[3] : opt
{
float "<any array element>"[0,*]
}
}
array "uvs"[0,*] : opt
{
array "<any array element>"[2] : opt
{
float "<any array element>"[0,*]
}
}
array "polys"[0,*]
{
array "<any array element>"[3,4] : opt
{
array "<any array element>"[3]
{
float "<any array element>"[0,*]
}
}
}
string "polys"[0,*]
}
array "texture_meshes"[0,*] : opt
{
object "<any array element>"[0,*]
{
string "texture"[0,*]
array "position"[3] : opt
{
float "<any array element>"[0,*]
}
array "local_pivot"[3] : opt
{
float "<any array element>"[0,*]
}
array "rotation"[3] : opt
{
float "<any array element>"[0,*]
}
array "scale"[3] : opt
{
float "<any array element>"[0,*]
}
}
}
}
}
}
}
}