"description":"The animation specification for 1.8.0",
"properties":{
"anim_time_update":{
"title":"Start delay",
"description":"How does time pass when playing the animation. Defaults to \"query.anim_time + query.delta_time\" which means advance in seconds.",
"$ref":"../../../molang/1.8.0/number.json"
},
"animation_length":{
"title":"Animation length",
"description":"Override calculated value (set as the last keyframe time) and set animation length in seconds.",
"type":"number"
},
"blend_weight":{
"title":"Blend weight",
"description":"TODO",
"$ref":"../../../molang/1.8.0/number.json"
},
"bones":{
"title":"Bones",
"description":"Defines how the bones in an animation move or transform",
"type":"object",
"additionalProperties":{
"title":"Bone transformation",
"description":"The bone definition that declare how it transforms during animation",
"type":"object",
"additionalProperties":false,
"properties":{
"position":{
"title":"Position",
"description":"The Position transformation during this animation",
"oneOf":[
{
"$ref":"#/definitions/PositionV3"
},
{
"$ref":"../../../molang/1.8.0/arraynumber3.json"
},
{
"type":"object",
"propertyNames":{
"pattern":"^[\\d.]+$"
},
"additionalProperties":{
"title":"Timeline object",
"description":"A single point in time",
"additionalProperties":false,
"properties":{
"lerp_mode":{
"type":"string",
"title":"Lerp mode",
"description":"TODO",
"enum":["linear","catmullrom"]
},
"pre":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/PositionV3"
},
"post":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/PositionV3"
}
}
}
}
]
},
"rotation":{
"title":"Rotation",
"description":"The rotation transformation during this animation",
"oneOf":[
{
"$ref":"#/definitions/RotationV3"
},
{
"$ref":"../../../molang/1.8.0/arraynumber3.json"
},
{
"type":"object",
"propertyNames":{
"pattern":"^[\\d.]+$"
},
"additionalProperties":{
"title":"Timeline object",
"description":"A single point in time",
"additionalProperties":false,
"properties":{
"lerp_mode":{
"type":"string",
"title":"Lerp mode",
"description":"TODO",
"enum":["linear","catmullrom"]
},
"pre":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/RotationV3"
},
"post":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/RotationV3"
}
}
}
}
]
},
"relative_to":{
"title":"Relative to",
"description":"If set, makes the bone rotation relative to the entity instead of the bone's parent",
"properties":{
"rotation":{
"title":"Rotation",
"description":"If set, makes the bone rotation relative to the entity instead of the bone's parent",
"type":"string"
}
}
},
"scale":{
"title":"Scale",
"description":"TODO",
"oneOf":[
{
"$ref":"../../../molang/1.8.0/number.json"
},
{
"$ref":"#/definitions/ScaleV3"
},
{
"type":"object",
"propertyNames":{
"pattern":"^[\\d.]+$"
},
"additionalProperties":{
"title":"Timeline object",
"description":"A single point in time",
"additionalProperties":false,
"properties":{
"lerp_mode":{
"type":"string",
"title":"Lerp mode",
"description":"TODO",
"enum":["linear","catmullrom"]
},
"pre":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/ScaleV3"
},
"post":{
"title":"Pre",
"description":"TODO",
"$ref":"#/definitions/ScaleV3"
}
}
}
}
]
}
}
}
},
"loop":{
"title":"Loop",
"description":"Should this animation stop, loop, or stay on the last frame when finished (true, false, hold_on_last_frame)",
"oneOf":[
{
"type":"boolean"
},
{
"type":"string",
"enum":["hold_on_last_frame"]
}
]
},
"override_previous_animation":{
"title":"Override previous animation",
"description":"Reset bones in this animation to the default pose before applying this animation.",
"type":"boolean"
},
"particle_effects":{
"title":"Particle effects",
"description":"TODO",
"oneOf":[
{
"$ref":"#/definitions/ParticleEffect"
},
{
"type":"object",
"propertyNames":{
"pattern":"^[\\d.]+$"
},
"additionalProperties":{
"title":"Timeline object",
"description":"A single point in time",
"oneOf":[
{
"type":"object",
"$ref":"#/definitions/ParticleEffect"
},
{
"type":"array",
"items":{
"$ref":"#/definitions/ParticleEffect"
}
}
]
}
}
]
},
"start_delay":{
"title":"Start delay",
"description":"How long to wait in seconds before playing this animation. Note that this expression is evaluated once before playing, and only re-evaluated if asked to play from the beginning again. A looping animation should use 'loop_delay' if it wants a delay between loops.",