SCHEMAS DOCUMENTATION
Version: 1.11.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

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"[1,4294967295]
    object "animations"[1,4294967295]
    {
        object "animation.<identifier>"[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 "<identifier>"[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 "<any array element>(.<any array element>)?"[1,4294967295]
                        {
                            string "lerp_mode"[1,4294967295] : opt
                            array "pre"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                            array "post"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                        }
                        array "<any array element>(.<any array element>)?"[3]
                        {
                            molang "<any array element>"[1,4294967295]
                        }
                    }
                    array "position"[3] : opt
                    {
                        molang "<any array element>"[1,4294967295]
                    }
                    molang "rotation"[1,4294967295] : opt
                    array "rotation"[3] : opt
                    {
                        molang "<any array element>"[1,4294967295]
                    }
                    object "rotation"[1,4294967295] : opt
                    {
                        object "<any array element>(.<any array element>)?"[1,4294967295]
                        {
                            string "lerp_mode"[1,4294967295] : opt
                            array "pre"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                            array "post"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                        }
                        array "<any array element>(.<any array element>)?"[3]
                        {
                            molang "<any array element>"[1,4294967295]
                        }
                    }
                    molang "scale"[1,4294967295] : opt
                    object "scale"[1,4294967295] : opt
                    {
                        object "<any array element>(.<any array element>)?"[1,4294967295]
                        {
                            string "lerp_mode"[1,4294967295] : opt
                            array "pre"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                            array "post"[3] : opt
                            {
                                molang "<any array element>"[1,4294967295]
                            }
                        }
                        array "<any array element>(.<any array element>)?"[3]
                        {
                            molang "<any array element>"[1,4294967295]
                        }
                    }
                    array "scale"[3] : opt
                    {
                        molang "<any array element>"[1,4294967295]
                    }
                }
            }
            object "particle_effects"[1,4294967295] : opt
            {
                array "<any array element>(.<any array element>)?"[1,4294967295] : opt
                {
                    object "<any array element>"[1,4294967295] : opt
                    {
                        string "effect"[1,4294967295]
                        string "locator"[1,4294967295] : opt
                        molang "pre_effect_script"[1,4294967295] : opt
                    }
                }
                object "<any array element>(.<any array element>)?"[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 "<any array element>(.<any array element>)?"[1,4294967295] : opt
                array "<any array element>(.<any array element>)?"[1,4294967295] : opt
                {
                    string "<any array element>"[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.<identifier>"[1,4294967295]
        {
            object "states"[1,4294967295]
            {
                object "<identifier>"[1,4294967295]
                {
                    array "parameters"[1,4294967295] : opt
                    {
                        string "<any array element>"[1,4294967295]
                    }
                    array "animations"[1,4294967295] : opt
                    {
                        object "<any array element>"
                        {
                            array "<identifier>"[0,4294967295]
                            {
                                object "<any array element>"[1,4294967295] : opt
                                {
                                    float "<any array element>(.<any array element>)?"[1,4294967295] : opt
                                }
                            }
                        }
                    }
                    array "transitions"[1,4294967295] : opt
                    {
                        object "<any array element>" : opt
                        {
                            molang "<identifier>"[1,4294967295]
                        }
                    }
                    array "particle_effects"[1,4294967295] : opt
                    {
                        object "<any array element>"[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 "<any array element>"[1,4294967295] : opt
                    }
                    array "on_exit"[1,4294967295] : opt
                    {
                        string "<any array element>"[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.<identifier>"[1,4294967295]
        {
            object "states"[1,4294967295]
            {
                object "<identifier>"[1,4294967295]
                {
                    object "variables"[1,4294967295] : opt
                    {
                        object "<identifier>"[1,4294967295]
                        {
                            molang "input"[1,4294967295]
                            object "remap_curve"[1,4294967295]
                            {
                                float "<any array element>(.<any array element>)?"[1,4294967295]
                            }
                        }
                    }
                    array "animations"[1,4294967295] : opt
                    {
                        string "<any array element>"[1,4294967295]
                        object "<any array element>"[1,4294967295]
                        {
                            molang "<identifier>"[1,4294967295]
                        }
                    }
                    array "transitions"[1,4294967295] : opt
                    {
                        object "<any array element>" : opt
                        {
                            string "<identifier>"[1,4294967295]
                        }
                    }
                    object "blend_transition"[1,4294967295] : opt // Specifies the cross-fade time in seconds when transitioning to another state
                    {
                        float "<identifier>"[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 "<any array element>"[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 "<any array element>"[1,4294967295] : opt
                    }
                    array "on_exit"[1,4294967295] : opt
                    {
                        string "<any array element>"[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.<scope_identifier>"[1,4294967295]
        {
            bool "rebuild_animation_matrices"[1,4294967295] : opt
            object "arrays"[1,4294967295] : opt
            {
                object "geometries"[1,4294967295] : opt
                {
                    array "array.<scope_identifier>"[1,4294967295]
                    {
                        string "<any array element>"[1,4294967295]
                    }
                }
                object "materials"[1,4294967295] : opt
                {
                    array "array.<scope_identifier>"[1,4294967295]
                    {
                        string "<any array element>"[1,4294967295]
                    }
                }
                object "textures"[1,4294967295] : opt
                {
                    array "array.<scope_identifier>"[1,4294967295]
                    {
                        string "<any array element>"[1,4294967295]
                    }
                }
            }
            string "geometry"[1,4294967295]
            array "part_visibility"[1,4294967295] : opt
            {
                object "<any array element>"[1,4294967295]
                {
                    molang "[a-zA-Z0-9_.:*]+"[1,4294967295]
                }
            }
            array "materials"[1,4294967295] : opt
            {
                object "<any array element>"[1,4294967295]
                {
                    molang "[a-zA-Z0-9_.:*]+"[1,4294967295]
                }
            }
            array "textures"[1,4294967295] : opt
            {
                string "<any array element>"[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 "overlay_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 "<any array element>"[1,4294967295]
                }
                array "scale"[2]
                {
                    molang "<any array element>"[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.<scope_identifier>"[0,4294967295]
    {
        float "visible_bounds_width"[1,4294967295] : opt
        float "visible_bounds_height"[1,4294967295] : opt
        array "visible_bounds_offset"[3] : opt
        {
            float "<any array element>"[1,4294967295]
        }
        int "texturewidth"[1,4294967295] : opt
        int "textureheight"[1,4294967295] : opt
        array "bones"[1,4294967295] : opt
        {
            object "<any array element>"[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 "<any array element>"[1,4294967295]
                }
                array "rotation"[3] : opt
                {
                    float "<any array element>"[1,4294967295]
                }
                array "bind_pose_rotation"[3] : opt
                {
                    float "<any array element>"[1,4294967295] : opt
                }
                bool "mirror"[1,4294967295] : opt
                float "inflate"[1,4294967295] : opt
                bool "debug"[1,4294967295] : opt
                array "cubes"[0,4294967295] : opt
                {
                    object "<any array element>"[1,4294967295] : opt
                    {
                        array "origin"[3] : opt
                        {
                            float "<any array element>"[1,4294967295]
                        }
                        array "size"[3] : opt
                        {
                            float "<any array element>"[1,4294967295]
                        }
                        array "uv"[2] : opt
                        {
                            float "<any array element>"[1,4294967295]
                        }
                        float "inflate"[1,4294967295] : opt
                        bool "mirror"[1,4294967295] : opt
                    }
                }
                object "locators"[1,4294967295] : opt
                {
                    array "<identifier>"[1,4294967295] : opt
                    {
                        float "<any array element>"[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 "<any array element>"[3] : opt
                        {
                            float "<any array element>"[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 "<any array element>"[3] : opt
                        {
                            float "<any array element>"[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 "<any array element>"[2] : opt
                        {
                            float "<any array element>"[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 "<any array element>"[3,4] : opt
                        {
                            array "<any array element>"[3]
                            {
                                float "<any array element>"[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 "<any array element>"[1,4294967295]
                    {
                        string "texture"[1,4294967295] // The friendly-named texture to use.
                        array "offset"[3] : opt
                        {
                            float "<any array element>"[1,4294967295] // The offset (in entity space not bone space) of the texture geometry
                        }
                        array "rotation"[3] : opt
                        {
                            float "<any array element>"[1,4294967295] // The rotation (in degrees) of the texture geometry relative to the offset
                        }
                    }
                }
            }
        }
    }
}



This website is not affiliated with Mojang Studios or Microsoft