{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.10.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"}]}}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/D"}},{"properties":{"format_version":{"$ref":"#/definitions/E"}}}],"definitions":{"A_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":{"$ref":"#/definitions/B"}}]},"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","pattern":"^.+;$"}}},"A_commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"B":{"type":"string","title":"Molang / String","description":"Molang definition","format":"molang"},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0,"format":"molang"},{"type":"number"}]},"A":{"type":"object","title":"Resourcepack Animation Controller 1.8.0","description":"TODO description","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.10.0","type":"array","items":{"$ref":"#/definitions/A_animationspec","description":"TODO description: animations","title":"Animations"}},"blend_transition":{"title":"Blend Transition","oneOf":[{"type":"number","description":"A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted"},{"type":"object","description":"Specifies the cross-fade time in seconds when transitioning to another state","additionalProperties":{"type":"number","description":"Mappingoftimesincetheanimationwascanceled,totheblendvalueatthattime.Adefaultkeyoftime=0toablendvalueof1.0isprovidedifanyotherkeyis