From b72fc1cce18938cb0a76c503df0555b06e03d71d Mon Sep 17 00:00:00 2001 From: Blockception Bot Date: Fri, 4 Feb 2022 21:56:33 +0000 Subject: [PATCH] auto: Generated Json Schemas --- behavior/animations/animations.json | 2 +- resource/animation_controllers/animation_controller.json | 2 +- resource/animations/actor_animation.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/behavior/animations/animations.json b/behavior/animations/animations.json index 7a1bd25d..c011f4f2 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.17.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.17.40","1.17.30","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"}}]}}}}}}} \ No newline at end of file +{"$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.17.40","1.17.30","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"}}]}}}}}}} \ No newline at end of file diff --git a/resource/animation_controllers/animation_controller.json b/resource/animation_controllers/animation_controller.json index 407e655d..6686ab16 100644 --- a/resource/animation_controllers/animation_controller.json +++ b/resource/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"","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.17.40","1.17.30","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,"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":"Mapping of time since the animation was canceled, to the blend value at that time. A default key of time=0 to a blend value of 1.0 is provided if any other key is set and a blend value at time=0 hasn't already been set."}}]},"blend_via_shortest_path":{"description":"When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value","type":"boolean","title":"Blend Via Shortest Path"},"particle_effects":{"description":"The effects to be emitted","type":"array","items":{"$ref":"#/definitions/particle_effect_spec","description":"UNDOCUMENTED: particle effects","title":"Particle Effects"},"title":"Particle Effects"},"sound_effects":{"type":"array","description":"Collection of sounds to trigger on entry to this animation state.","items":{"type":"object","additionalProperties":false,"required":["effect"],"properties":{"effect":{"description":"Valid sound effect names should be listed in the entity's resource_definition json file.","type":"string"}}}},"transitions":{"title":"Transition","description":"The transition definition for","minProperties":1,"type":"array","items":{"$ref":"#/definitions/animationspec","description":"The specification on when to transition to a new state","title":"Transitions"}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","type":"object","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"Sets molang on data on entry","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"Sets molang on data on exit","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"The state to start with, if not specified state at position 0 in the array is used","title":"Initial State"}}}}}} \ No newline at end of file +{"$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.17.40","1.17.30","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,"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":"Mapping of time since the animation was canceled, to the blend value at that time. A default key of time=0 to a blend value of 1.0 is provided if any other key is set and a blend value at time=0 hasn't already been set."}}]},"blend_via_shortest_path":{"description":"When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value","type":"boolean","title":"Blend Via Shortest Path"},"particle_effects":{"description":"The effects to be emitted","type":"array","items":{"$ref":"#/definitions/particle_effect_spec","description":"UNDOCUMENTED: particle effects","title":"Particle Effects"},"title":"Particle Effects"},"sound_effects":{"type":"array","description":"Collection of sounds to trigger on entry to this animation state.","items":{"type":"object","additionalProperties":false,"required":["effect"],"properties":{"effect":{"description":"Valid sound effect names should be listed in the entity's resource_definition json file.","type":"string"}}}},"transitions":{"title":"Transition","description":"The transition definition for","minProperties":1,"type":"array","items":{"$ref":"#/definitions/animationspec","description":"The specification on when to transition to a new state","title":"Transitions"}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","type":"object","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"Sets molang on data on entry","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"Sets molang on data on exit","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"The state to start with, if not specified state at position 0 in the array is used","title":"Initial State"}}}}}} \ No newline at end of file diff --git a/resource/animations/actor_animation.json b/resource/animations/actor_animation.json index 986a1c26..a87481f1 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.17.0","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]],"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]],"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]],"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","examples":["1.17.40","1.17.30","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|}"}]}},"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.18.0","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]],"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]],"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]],"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","examples":["1.17.40","1.17.30","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|}"}]}},"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