{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.18.0","animations":{"animation.example":{}}}],"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":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"title":"Bind To Actor","type":"boolean","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","description":"The name of a particle effect that should be played","title":"Effect"},"locator":{"type":"string","description":"The name of a locator on the actor where the effect should be located","title":"Locator"},"pre_effect_script":{"type":"string","description":"A molang script that will be run when the particle emitter is initialized","title":"Pre Effect Script"}}},"commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable","description":"Sets the value to a molang variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command","description":"Executes a minecraft command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event","description":"An event to be called upon within the executing entity"}]},"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.10","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|}"}]}},"type":"object","title":"Animation","description":"Animation for behavior for","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animations":{"title":"Animations Schema","description":"The animation specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for","additionalProperties":false,"propertyNames":{"examples":["animation.example.foo"]},"properties":{"animation_length":{"type":"number","description":"The time in seconds this animation will last","title":"Animation Length"},"loop":{"type":"boolean","description":"Whenever this animation should loop once it reaches the end, will only happen if the animation is still active","title":"Loop"},"timeline":{"title":"Timeline","description":"A timeline specification, property names are timestamps","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/commands"}}]}}}}}}}