diff --git a/behavior/animations/animations.json b/behavior/animations/animations.json index d6f6e6dd..fec83ebf 100644 --- a/behavior/animations/animations.json +++ b/behavior/animations/animations.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.20.41","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","default":"1.20.41","examples":["1.20.41","1.19.0","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,19,20|}.${3|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"}}]}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.20.41","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","default":"1.20.41","examples":["1.20.41","1.19.0","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,19,20|}.${3|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"}]}},"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"}}]}},"anim_time_update":{"title":"Animation Time Update","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/C"}}}}}} \ No newline at end of file diff --git a/resource/animations/actor_animation.json b/resource/animations/actor_animation.json index 2a459411..33bd9dca 100644 --- a/resource/animations/actor_animation.json +++ b/resource/animations/actor_animation.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.20.41","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"additionalProperties":false,"type":"object","title":"Actor Animation","description":"The RP animation that changes an actors models, or molang data.","$comment":"UNDOCUMENTED","definitions":{"ParticleEffect":{"type":"object","title":"Particle Effect","additionalProperties":false,"required":["effect"],"properties":{"effect":{"type":"string","title":"Particle Id","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":{"title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized.","$ref":"#/definitions/A"},"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}}},"PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/B"}]},"ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones scale.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Scale X","description":"The scale over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Y","description":"The scale over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Z","description":"The scale over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"SoundEffect":{"title":"Sound Effect","type":"object","additionalProperties":false,"properties":{"effect":{"title":"Effect","type":"string","description":"Valid sound effect names should be listed in the entity's resource_definition json file."}}},"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":"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"}]},"C":{"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.41","examples":["1.20.41","1.19.0","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,19,20|}.${3|2|0|}"}]}},"required":["format_version","animations"],"properties":{"format_version":{"$ref":"#/definitions/C"},"animations":{"title":"Animations Schema","description":"The animation specification.","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation","description":"The animation specification.","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":"#/definitions/B"},"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":"The weight of the animation when blending with other animations. Defaults to 1.","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"bones":{"title":"Bones","description":"Defines how the bones in an animation move or transform.","propertyNames":{"examples":["leftArm"]},"type":"object","minProperties":1,"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":[{"type":"array","$ref":"#/definitions/PositionV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform position."},{"type":"array","$ref":"#/definitions/PositionV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"}}}]}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation.","oneOf":[{"type":"array","$ref":"#/definitions/RotationV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$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":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Uniform scale."},{"$ref":"#/definitions/ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$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"]}]},"loop_delay":{"title":"Loop Delay","description":"How long to wait in seconds before looping this animation. Note that this expression is evaluated after each loop and on looping animation only.","$ref":"#/definitions/B"},"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":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"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.","$ref":"#/definitions/B"},"sound_effects":{"title":"Sound Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"type":"object","$ref":"#/definitions/SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"oneOf":[{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"},{"type":"array","title":"Collection Timelime Items","items":{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"}}]}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.20.41","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"additionalProperties":false,"type":"object","title":"Actor Animation","description":"The RP animation that changes an actors models, or molang data.","$comment":"UNDOCUMENTED","definitions":{"ParticleEffect":{"type":"object","title":"Particle Effect","additionalProperties":false,"required":["effect"],"properties":{"effect":{"type":"string","title":"Particle Id","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":{"title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized.","$ref":"#/definitions/A"},"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}}},"PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/B"}]},"ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones scale.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Scale X","description":"The scale over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Y","description":"The scale over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Z","description":"The scale over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"SoundEffect":{"title":"Sound Effect","type":"object","additionalProperties":false,"properties":{"effect":{"title":"Effect","type":"string","description":"Valid sound effect names should be listed in the entity's resource_definition json file."}}},"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":"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"}]},"C":{"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.41","examples":["1.20.41","1.19.0","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,19,20|}.${3|2|0|}"}]}},"required":["format_version","animations"],"properties":{"format_version":{"$ref":"#/definitions/C"},"animations":{"title":"Animations Schema","description":"The animation specification.","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation","description":"The animation specification.","properties":{"anim_time_update":{"title":"Animation Time Update","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/B"},"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":"The weight of the animation when blending with other animations. Defaults to 1.","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"bones":{"title":"Bones","description":"Defines how the bones in an animation move or transform.","propertyNames":{"examples":["leftArm"]},"type":"object","minProperties":1,"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":[{"type":"array","$ref":"#/definitions/PositionV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform position."},{"type":"array","$ref":"#/definitions/PositionV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"}}}]}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation.","oneOf":[{"type":"array","$ref":"#/definitions/RotationV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$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":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Uniform scale."},{"$ref":"#/definitions/ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$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"]}]},"loop_delay":{"title":"Loop Delay","description":"How long to wait in seconds before looping this animation. Note that this expression is evaluated after each loop and on looping animation only.","$ref":"#/definitions/B"},"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":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"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.","$ref":"#/definitions/B"},"sound_effects":{"title":"Sound Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"type":"object","$ref":"#/definitions/SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"oneOf":[{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"},{"type":"array","title":"Collection Timelime Items","items":{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"}}]}}}}}}} \ No newline at end of file