SCHEMAS DOCUMENTATION
Version: 1.10.0.3

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
Schemas
Back to top

Overview

These are the data format schemas for content creators to reference when editing or creating new content.
Back to top

Schemas

```
--------
actor_animation:1.8.0:{
version "format_version"[1,4294967295]
object "animations"[1,4294967295]
{
object "animation."[1,4294967295]
{
bool "loop"[1,4294967295] : opt // should this animation loop or stop playing when finished
molang "anim_time_update"[1,4294967295] : opt // how does time pass when playing the animation. Defaults to "query.anim_time + query.delta_time" which means advance in seconds.
molang "blend_weight"[1,4294967295] : opt
bool "override_previous_animation"[1,4294967295] : opt // reset bones in this animation to the default pose before applying this animation
object "bones"[1,4294967295] : opt
{
object ""[1,4294967295]
{
object "relative_to"[1,4294967295] : opt
{
string "rotation"[1,4294967295] : opt // if set, makes the bone rotation relative to the entity instead of the bone's parent
}
molang "position"[1,4294967295] : opt
object "position"[1,4294967295] : opt
{
object "(.)?"[1,4294967295]
{
string "lerp_mode"[1,4294967295] : opt
array "pre"[3] : opt
{
molang ""[1,4294967295]
}
array "post"[3] : opt
{
molang ""[1,4294967295]
}
}
array "(.)?"[3]
{
molang ""[1,4294967295]
}
}
array "position"[3] : opt
{
molang ""[1,4294967295]
}
molang "rotation"[1,4294967295] : opt
array "rotation"[3] : opt
{
molang ""[1,4294967295]
}
object "rotation"[1,4294967295] : opt
{
object "(.)?"[1,4294967295]
{
string "lerp_mode"[1,4294967295] : opt
array "pre"[3] : opt
{
molang ""[1,4294967295]
}
array "post"[3] : opt
{
molang ""[1,4294967295]
}
}
array "(.)?"[3]
{
molang ""[1,4294967295]
}
}
molang "scale"[1,4294967295] : opt
object "scale"[1,4294967295] : opt
{
object "(.)?"[1,4294967295]
{
string "lerp_mode"[1,4294967295] : opt
array "pre"[3] : opt
{
molang ""[1,4294967295]
}
array "post"[3] : opt
{
molang ""[1,4294967295]
}
}
array "(.)?"[3]
{
molang ""[1,4294967295]
}
}
array "scale"[3] : opt
{
molang ""[1,4294967295]
}
}
}
object "particle_effects"[1,4294967295] : opt
{
array "(.)?"[1,4294967295] : opt
{
object ""[1,4294967295] : opt
{
string "effect"[1,4294967295]
string "locator"[1,4294967295] : opt
molang "pre_effect_script"[1,4294967295] : opt
}
}
object "(.)?"[1,4294967295] : opt
{
string "effect"[1,4294967295]
string "locator"[1,4294967295] : opt
molang "pre_effect_script"[1,4294967295] : opt
}
}
object "timeline"[1,4294967295] : opt
{
string "(.)?"[1,4294967295] : opt
array "(.)?"[1,4294967295] : opt
{
string ""[1,4294967295] : opt
}
}
float "animation_length"[1,4294967295] : opt // override calculated value (set as the last keyframe time) and set animation length in seconds.
}
}
}

----------
actor_animation_controller:1.8.0:{
version "format_version"[1,4294967295]
object "animation_controllers"[1,4294967295]
{
object "controller.animation."[1,4294967295]
{
object "states"[1,4294967295]
{
object ""[1,4294967295]
{
array "parameters"[1,4294967295] : opt
{
string ""[1,4294967295]
}
array "animations"[1,4294967295] : opt
{
object ""
{
array ""[0,4294967295]
{
object ""[1,4294967295] : opt
{
float "(.)?"[1,4294967295] : opt
}
}
}
}
array "transitions"[1,4294967295] : opt
{
object "" : opt
{
molang ""[1,4294967295]
}
}
array "particle_effects"[1,4294967295] : opt
{
object ""[1,4294967295] : opt
{
string "effect"[1,4294967295]
string "locator"[1,4294967295] : opt
string "pre_effect_script"[1,4294967295] : opt
}
}
array "on_entry"[1,4294967295] : opt
{
string ""[1,4294967295] : opt
}
array "on_exit"[1,4294967295] : opt
{
string ""[1,4294967295] : opt
}
}
}
string "initial_state"[1,4294967295] : opt
}
}
}

----------
actor_animation_controller:1.10.0:{
version "format_version"[1,4294967295]
object "animation_controllers"[1,4294967295]
{
object "controller.animation."[1,4294967295]
{
object "states"[1,4294967295]
{
object ""[1,4294967295]
{
object "variables"[1,4294967295] : opt
{
object ""[1,4294967295]
{
molang "input"[1,4294967295]
object "remap_curve"[1,4294967295]
{
float "(.)?"[1,4294967295]
}
}
}
array "animations"[1,4294967295] : opt
{
string ""[1,4294967295]
object ""[1,4294967295]
{
molang ""[1,4294967295]
}
}
array "transitions"[1,4294967295] : opt
{
object "" : opt
{
string ""[1,4294967295]
}
}
object "blend_transition"[1,4294967295] : opt // Specifies the cross-fade time in seconds when transitioning to another state
{
float ""[1,4294967295] // Mapping of time since the animation was canceled, to the blend value at that time. A default key of time=0 to a blend value of 1.0 is provided if any other key is set and a blend value at time=0 hasn't already been set.
}
float "blend_transition"[1,4294967295] : opt // A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted
array "particle_effects"[1,4294967295] : opt
{
object ""[1,4294967295] : opt
{
string "effect"[1,4294967295]
string "locator"[1,4294967295] : opt
string "pre_effect_script"[1,4294967295] : opt
}
}
array "on_entry"[1,4294967295] : opt
{
string ""[1,4294967295] : opt
}
array "on_exit"[1,4294967295] : opt
{
string ""[1,4294967295] : opt
}
}
}
string "initial_state"[1,4294967295] : opt
}
}
}

----------
render_controller:1.8.0:{
version "format_version"[1,4294967295]
object "render_controllers"[1,4294967295]
{
object "controller.render."[1,4294967295]
{
bool "rebuild_animation_matrices"[1,4294967295] : opt
object "arrays"[1,4294967295] : opt
{
object "geometries"[1,4294967295] : opt
{
array "array."[1,4294967295]
{
string ""[1,4294967295]
}
}
object "materials"[1,4294967295] : opt
{
array "array."[1,4294967295]
{
string ""[1,4294967295]
}
}
object "textures"[1,4294967295] : opt
{
array "array."[1,4294967295]
{
string ""[1,4294967295]
}
}
}
string "geometry"[1,4294967295]
array "part_visibility"[1,4294967295] : opt
{
object ""[1,4294967295]
{
molang "[a-zA-Z0-9_.:*]+"[1,4294967295]
}
}
array "materials"[1,4294967295] : opt
{
object ""[1,4294967295]
{
molang "[a-zA-Z0-9_.:*]+"[1,4294967295]
}
}
array "textures"[1,4294967295] : opt
{
string ""[1,4294967295]
}
object "color"[1,4294967295] : opt
{
molang "r"[1,4294967295] : opt
molang "g"[1,4294967295] : opt
molang "b"[1,4294967295] : opt
molang "a"[1,4294967295] : opt
}
object "uv_anim"[1,4294967295] : opt
{
array "offset"[2]
{
molang ""[1,4294967295]
}
array "scale"[2]
{
molang ""[1,4294967295]
}
}
molang "light_color_multiplier"[1,4294967295] : opt
bool "ignore_lighting"[1,4294967295] : opt
}
}
}

----------
geometry:1.1.0:{
version "format_version"[1,4294967295]
object "geometry."[0,4294967295]
{
float "visible_bounds_width"[1,4294967295] : opt
float "visible_bounds_height"[1,4294967295] : opt
array "visible_bounds_offset"[3] : opt
{
float ""[1,4294967295]
}
int "texturewidth"[1,4294967295] : opt
int "textureheight"[1,4294967295] : opt
array "bones"[1,4294967295] : opt
{
object ""[1,4294967295]
{
string "name"[1,4294967295]
bool "reset"[1,4294967295] : opt
bool "neverRender"[1,4294967295] : opt
string "parent"[1,4294967295] : opt
array "pivot"[3] : opt
{
float ""[1,4294967295]
}
array "rotation"[3] : opt
{
float ""[1,4294967295]
}
array "bind_pose_rotation"[3] : opt
{
float ""[1,4294967295] : opt
}
bool "mirror"[1,4294967295] : opt
float "inflate"[1,4294967295] : opt
bool "debug"[1,4294967295] : opt
array "cubes"[0,4294967295] : opt
{
object ""[1,4294967295] : opt
{
array "origin"[3] : opt
{
float ""[1,4294967295]
}
array "size"[3] : opt
{
float ""[1,4294967295]
}
array "uv"[2] : opt
{
float ""[1,4294967295]
}
float "inflate"[1,4294967295] : opt
bool "mirror"[1,4294967295] : opt
}
}
object "locators"[1,4294967295] : opt
{
array ""[1,4294967295] : opt
{
float ""[1,4294967295] : opt
}
}
object "poly_mesh"[1,4294967295] : opt // ***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.
{
array "normalized_uvs"[1,4294967295] : opt // If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively.
array "positions"[1,4294967295] : opt
{
array ""[3] : opt
{
float ""[1,4294967295] // Vertex positions for the mesh. Can be either indexed via the "polys" section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections.
}
}
array "normals"[1,4294967295] : opt
{
array ""[3] : opt
{
float ""[1,4294967295] // Vertex normals. Can be either indexed via the "polys" section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.
}
}
array "uvs"[1,4294967295] : opt
{
array ""[2] : opt
{
float ""[1,4294967295] // Vertex UVs. Can be either indexed via the "polys" section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.
}
}
array "polys"[1,4294967295]
{
array ""[3,4] : opt
{
array ""[3]
{
float ""[1,4294967295] // Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).
}
}
}
string "polys"[1,4294967295] // If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either "tri_list" or "quad_list"
}
array "texture_meshes"[1,4294967295] : opt // ***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes
{
object ""[1,4294967295]
{
string "texture"[1,4294967295] // The friendly-named texture to use.
array "offset"[3] : opt
{
float ""[1,4294967295] // The offset (in entity space not bone space) of the texture geometry
}
array "rotation"[3] : opt
{
float ""[1,4294967295] // The rotation (in degrees) of the texture geometry relative to the offset
}
}
}
}
}
}
}

----------
```
Back to top