2020-11-01 17:22:42 +01:00
{
"$schema" : "http://json-schema.org/draft-07/schema" ,
"$id" : "blockception.minecraft.resource.1.8.0.actor_animation" ,
"additionalProperties" : false ,
"type" : "object" ,
"title" : "The minecraft resourcepack actor animation 1.8.0" ,
"description" : "TODO description" ,
"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" : "../../../molang/1.8.0/string.json"
} ,
"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)."
}
}
} ,
"PositionV3" : {
"title" : "Position array" ,
"description" : "An array of 3 items that describe the bones position" ,
"type" : "array" ,
"items" : [
{
"title" : "Position X" ,
"description" : "The position over the X-axis or forwards/backwards.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Position Y" ,
"description" : "The position over the Y-axis, or up/down.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Position Z" ,
"description" : "The position over the Z-axis, or left/right.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
}
]
} ,
"RotationV3" : {
"title" : "Rotation array" ,
"description" : "An array of 3 items that describe the bones rotation" ,
"type" : "array" ,
"items" : [
{
"title" : "Rotation X" ,
"description" : "The rotation over the X-axis, or up or down.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Rotation Y" ,
"description" : "The rotation over the Y-axis, or yaw.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Rotation Z" ,
"description" : "The rotation over the Z-axis, or roll.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
}
]
} ,
"ScaleV3" : {
"title" : "Scale array" ,
"description" : "An array of 3 items that describe the bones position" ,
"type" : "array" ,
"items" : [
{
"title" : "Position X" ,
"description" : "The position over the X-axis or forwards/backwards.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Position Y" ,
"description" : "The position over the Y-axis, or up/down.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
} ,
{
"title" : "Position Z" ,
"description" : "The position over the Z-axis, or left/right.\nCan be molang or a float" ,
"$ref" : "../../../molang/1.8.0/number.json"
}
]
} ,
"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."
}
}
}
} ,
"required" : [ "format_version" , "animations" ] ,
"properties" : {
"format_version" : {
2021-01-27 01:06:07 +01:00
"title" : "The 1.8.0 format version" ,
2020-11-01 17:22:42 +01:00
"type" : "string" ,
"const" : "1.8.0" ,
"description" : "A version that tells minecraft what type of data format can be expected when reading this file."
} ,
"animations" : {
"title" : "Animations schema" ,
"description" : "The animation 1.8.0 specification" ,
"propertyNames" : {
"pattern" : "^animation\\.[a-z\\.]+"
} ,
"type" : "object" ,
"additionalProperties" : {
"additionalProperties" : false ,
"type" : "object" ,
"title" : "Animation 1.8.0" ,
"description" : "The animation specification for 1.8.0" ,
"properties" : {
"anim_time_update" : {
2021-02-16 01:00:41 +01:00
"title" : "Anim time update" ,
2020-11-01 17:22:42 +01:00
"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" : [
2021-02-16 01:00:41 +01:00
{ "type" : "boolean" } ,
2020-11-01 17:22:42 +01:00
{
"type" : "string" ,
"enum" : [ "hold_on_last_frame" ]
}
]
} ,
2021-02-16 01:00:41 +01:00
"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" : "../../../molang/1.8.0/number.json"
} ,
2020-11-01 17:22:42 +01:00
"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" ,
2021-02-10 14:21:43 +01:00
"oneOf" : [
{ "$ref" : "#/definitions/ParticleEffect" } ,
{
"type" : "object" ,
"propertyNames" : { "pattern" : "^[\\d.]+$" , "examples" : [ "0.0" ] } ,
"additionalProperties" : {
"title" : "Timeline object" ,
"description" : "A single point in time" ,
"oneOf" : [
2021-02-14 14:51:02 +01:00
{ "type" : "object" , "$ref" : "#/definitions/ParticleEffect" } ,
{ "type" : "array" , "items" : { "$ref" : "#/definitions/ParticleEffect" } }
2021-02-10 14:21:43 +01:00
]
}
}
]
2020-11-01 17:22:42 +01:00
} ,
"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" : "../../../molang/1.8.0/number.json"
} ,
"sound_effects" : {
"title" : "Sound effect" ,
"description" : "TODO" ,
"type" : "object" ,
"propertyNames" : {
"pattern" : "^[\\d.]+$"
} ,
"additionalProperties" : {
"$ref" : "#/definitions/SoundEffect"
}
} ,
"timeline" : {
"title" : "Timeline" ,
2021-01-25 17:12:00 +01:00
"description" : "The time line" ,
"type" : "object" ,
"propertyNames" : {
"pattern" : "^(\\d+.\\d+|\\d+)$"
} ,
"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)\\..*=.*;$"
}
2020-11-01 17:22:42 +01:00
}
2021-01-25 17:12:00 +01:00
]
}
2020-11-01 17:22:42 +01:00
}
}
}
}
}
}