{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.18.0","animation_controllers":{"controller.animation.example":{"states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}}],"type":"object","title":"Animation Controller","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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 how to transition","maxProperties":1,"minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/A"},{"type":"number","description":"A blend weight"}]}}]},"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","pattern":"^.+;$"}}},"commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"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","examples":["1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${2|0|}"}]},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]}},"required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","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":"A Animation Controller","description":"A single animation controller","required":["states"],"minProperties":1,"examples":[{"controller.animation.some_name":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}],"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+","examples":["default"]},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for","type":"array","items":{"$ref":"#/definitions/animationspec","title":"Animations"}},"blend_transition":{"title":"Blend Transition","oneOf":[{"type":"number","default":0.1,"minimum":0,"d