Bedrock Edition schemas documentation

From Minecraft Wiki
Jump to: navigation, search
Information icon.svg
This feature is exclusive to Bedrock Edition.

This is the schemas documentation for Bedrock Edition 1.12.0.

Version: 1.12.0.28

Overview[edit]

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

Schemas[edit]

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
		}
	}
}

actor_resource_definition:1.8.0:{
	version "format_version"[1,4294967295]
	object "minecraft:(client_entity|attachable)"[1,4294967295]
	{
		object "description"[1,4294967295]
		{
			string "identifier"[1,4294967295]
			version "min_engine_version"[1,4294967295] : opt
			object "materials"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295]
			}
			object "textures"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295]
			}
			object "geometry"[1,4294967295]
			{
				string "<identifier>"[1,4294967295]
			}
			object "spawn_egg"[1,4294967295] : opt
			{
				string "texture"[1,4294967295] : opt
				string "base_color"[1,4294967295] : opt
				string "overlay_color"[1,4294967295] : opt
				int "texture_index"[1,4294967295] : opt
			}
			object "scripts"[1,4294967295] : opt
			{
				array "pre_animation"[1,4294967295] : opt
				{
					molang "<any array element>"[1,4294967295]
				}
				molang "scale"[1,4294967295] : opt
				molang "scale[xX]"[1,4294967295] : opt
				molang "scale[yY]"[1,4294967295] : opt
				molang "scale[zZ]"[1,4294967295] : opt
			}
			object "particle_effects"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			object "particle_emitters"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			object "animations"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			array "animation_controllers"[1,4294967295] : opt
			{
				object "<any array element>"[1,4294967295] : opt
				{
					string "<identifier>"[1,4294967295] : opt
				}
			}
			array "render_controllers"[1,4294967295] : opt
			{
				string "<any array element>"[1,4294967295] : opt
			}
			bool "enable_attachables"[1,4294967295] : opt
		}
	}
}

actor_resource_definition:1.10.0:{
	version "format_version"[1,4294967295]
	object "minecraft:(client_entity|attachable)"[1,4294967295]
	{
		object "description"[1,4294967295]
		{
			string "identifier"[1,4294967295]
			version "min_engine_version"[1,4294967295] : opt
			object "materials"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295]
			}
			object "textures"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295]
			}
			object "geometry"[1,4294967295]
			{
				string "<identifier>"[1,4294967295]
			}
			object "spawn_egg"[1,4294967295] : opt
			{
				string "texture"[1,4294967295] : opt
				string "base_color"[1,4294967295] : opt
				string "overlay_color"[1,4294967295] : opt
				int "texture_index"[1,4294967295] : opt
			}
			object "scripts"[1,4294967295] : opt
			{
				array "pre_animation"[1,4294967295] : opt
				{
					molang "<any array element>"[1,4294967295]
				}
				molang "scale"[1,4294967295] : opt
				molang "scale[xX]"[1,4294967295] : opt
				molang "scale[yY]"[1,4294967295] : opt
				molang "scale[zZ]"[1,4294967295] : opt
				array "animate"[1,4294967295] : opt
				{
					string "<any array element>"[1,4294967295] : opt
					object "<any array element>"[1,4294967295] : opt
					{
						molang "<scope_identifier>"[1,4294967295] : opt
					}
				}
			}
			object "particle_effects"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			object "particle_emitters"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			object "animations"[1,4294967295] : opt
			{
				string "<identifier>"[1,4294967295] : opt
			}
			array "animation_controllers"[1,4294967295] : opt
			{
				object "<any array element>"[1,4294967295] : opt
				{
					string "<identifier>"[1,4294967295] : opt
				}
			}
			array "render_controllers"[1,4294967295] : opt
			{
				string "<any array element>"[1,4294967295] : opt
			}
			bool "enable_attachables"[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
						}
					}
				}
			}
		}
	}
}

See also[edit]