{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animation_controller","defaultSnippets":[{"label":"New animation controller","body":{"format_version":"${1:1.10.0}","animation_controllers":{"controller.animation.${2:${TM_FILENAME/[\\.].*//}}":{"states":{"default":"^{$3}"}}}}}],"examples":[{"format_version":"1.20.41","animation_controllers":{"controller.animation.example":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{}}}}}],"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":"#/definitions/A"}}]},"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","anyOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]}},"type":"object","title":"Animation Controller","description":"Animation controller for behaviors.","required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers","description":"The animation controllers schema for.","propertyNames":{"pattern":"^controller\\.animation\\.[a-z\\.]+","examples":["controller.animation.example","controller.animation.example.foo"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation Controller","description":"A single animation controller.","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller.","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state.","type":"object","examples":[{"animations":["anim.idle"],"transitions":[{"example":"query.is_sheared"}]}],"properties":{"animations":{"title":"Animations","description":"The animations definition for.","type":"array","items":{"$ref":"#/definitions/animationspec","description":"The key definition of an animation to play, defined in the entity.","title":"Animations"}},"on_entry":{"type":"array","description":"Events, commands or transitions to preform on entry of this state.","title":"On Entry","items":{"$ref":"#/definitions/commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform on exit of this state.","title":"On Exit","items":{"$ref":"#/definitions/commands"}},"transitions":{"title":"Transition","description":"The transition definition for.","minProperties":1,"type":"array","items":{"title":"Transition","description":"A transition to another state.","type":"object","maxProperties":1,"minProperties":1,"examples":[{"default":"query.is_chested"}],"additionalProperties":{"$ref":"#/definitions/A"}}}}}},"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"]}}}}}}