{ "$id": "blockception.minecraft.behavior.animation_controller.1.8.0", "definitions": { "animationspec": { "anyOf": [ { "title": "Animation Specification", "description": "A single string that specifies which animation there are", "type": "string" }, { "type": "object", "title": "Animation Specification", "description": "A object specification on when to animate", "maxProperties": 1, "minProperties": 1, "additionalProperties": { "$ref": "../../../molang/1.8.0/string.json" } } ] }, "particle_effect_spec": { "additionalProperties": false, "type": "object", "required": ["effect"], "properties": { "bind_to_actor": { "type": "boolean", "title": "Bind To Actor", "description": "Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).", "const": false }, "effect": { "type": "string", "title": "Effect", "description": "The name of a particle effect that should be played" }, "locator": { "type": "string", "title": "Locator", "description": "The name of a locator on the actor where the effect should be located" }, "pre_effect_script": { "type": "string", "title": "Pre Effect Script", "description": "A molang script that will be run when the particle emitter is initialized" } } }, "commands": { "type": "string", "description": "The event or commands to execute", "title": "Commands", "oneOf": [ { "pattern": "^@s .+$", "title": "Event" }, { "pattern": "^/.+$", "title": "Command" }, { "pattern": "^.+;$", "title": "Molang" } ] } }, "type": "object", "title": "Animation Controller 1.8.0", "description": "Animation controller for behaviors 1.8.0", "required": ["format_version", "animation_controllers"], "additionalProperties": false, "properties": { "format_version": { "title": "1.8.0 Format Version", "type": "string", "pattern": "^1.8.0$", "description": "A version that tells minecraft what type of data format can be expected when reading this file." }, "animation_controllers": { "type": "object", "title": "Animation Controllers Schema", "description": "The animation controllers schema for 1.8.0", "propertyNames": { "pattern": "^controller\\.animation\\.[a-z\\.]+", "examples": ["controller.animation.example", "controller.animation.example.foo"] }, "additionalProperties": { "additionalProperties": false, "type": "object", "title": "A Animation Controller", "description": "A single animation controller 1.8.0", "required": ["states"], "minProperties": 1, "properties": { "states": { "title": "States", "description": "The states of this animation controller", "propertyNames": { "pattern": "[a-z\\.]+" }, "minProperties": 1, "additionalProperties": { "additionalProperties": false, "title": "Animation State", "description": "Animation state", "type": "object", "properties": { "animations": { "title": "Animations", "description": "The animations definition for 1.8.0", "type": "array", "items": { "$ref": "#/definitions/animationspec", "description": "The animation key to play, defined in the entity", "title": "Animation" } }, "on_entry": { "type": "array", "description": "Events, commands or transitions to preform", "title": "On Entry", "items": { "$ref": "#/definitions/commands" } }, "on_exit": { "type": "array", "description": "Events, commands or transitions to preform", "title": "On Exit", "items": { "$ref": "#/definitions/commands" } }, "transitions": { "title": "Transition", "description": "The transition definition for 1.8.0", "minProperties": 1, "type": "array", "items": { "title": "Transition", "description": "A transition to another state", "type": "object", "examples": [{ "default": "query.is_chested" }], "additionalProperties": { "$ref": "../../../molang/1.8.0/string.json" }, "minProperties": 1, "maxProperties": 1 } } } } }, "initial_state": { "title": "Initial State", "description": "The state to start with, if not specified state at position 0 in the array is used", "type": "string", "examples": ["default"] } } } } } }