Files
Xterionix c9449c75d6 Updated for 1.21.70 along with other improvements (#337)
* Update vscode-settings.json

* - Updated map color

* - Added replaceable block component

* - Effect durations can be set to infinite now

* - Added support for entity sound variants

* - Fix description for renders_when_invisible entity component

* - Added is_collidable component

* - Updated entity_sensor

* - Added body_rotation_axis_aligned

* - Updated projectile > on_hit

* - Set min and max for collision_box

* - Added locator field to sounds in animation controllers and animations

* - Added new event response

* - Removed peak_factor from mountain_parameters component

* - Added isotropic field to material_instances

* - Added tint field to material_instances

* - Added input_air_controlled entity component

* - Added use_beta_features property to entity.json

* - Added missing match_tool property

* - Added use_home_position_restriction to float_wander goal

* - Added deferred client biome components

* - Added dry_foliage_color client biome component

* - Added destruction_particles

* - Marked biome tinting as experimental

* - Fix property_inheritance under breedable

* - Fix inconsistency with scatter feature

* - Update rideable description

* - Allowed event.add/remove to be strings

* - Added missing property in move_around_target behavior

* - Made features accept block references

* - Allowed repairable to use item descriptors

* - Fix typo
2025-03-03 08:44:05 +01:00

374 lines
17 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.resource.actor_animation",
"defaultSnippets": [
{
"label": "New animation",
"body": {
"format_version": "${1:1.10.0}",
"animations": {
"animation.${2:${TM_FILENAME/[\\.].*//}}": "^{$3}"
}
}
}
],
"examples": [ { "format_version": "1.10.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": "../../molang/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).",
"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": "../../molang/number.json" },
{ "title": "Position Y", "description": "The position over the Y-axis, or up/down.\nCan be molang or a float", "$ref": "../../molang/number.json" },
{ "title": "Position Z", "description": "The position over the Z-axis, or left/right.\nCan be molang or a float", "$ref": "../../molang/number.json" }
]
},
"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": "../../molang/number.json" },
{ "title": "Rotation Y", "description": "The rotation over the Y-axis, or yaw.\nCan be molang or a float", "$ref": "../../molang/number.json" },
{ "title": "Rotation Z", "description": "The rotation over the Z-axis, or roll.\nCan be molang or a float", "$ref": "../../molang/number.json" }
]
},
"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": "../../molang/number.json" },
{ "title": "Scale Y", "description": "The scale over the Y-axis, or up/down.\nCan be molang or a float", "$ref": "../../molang/number.json" },
{ "title": "Scale Z", "description": "The scale over the Z-axis, or left/right.\nCan be molang or a float", "$ref": "../../molang/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."
},
"locator": {
"type": "string",
"title": "Locator",
"description":
"The name of a locator on the actor where the effect should be located."
}
}
}
},
"required": [ "format_version", "animations" ],
"properties": {
"format_version": { "type": "string", "enum": [ "1.8.0", "1.10.0" ] },
"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": "../../molang/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": "The weight of the animation when blending with other animations. Defaults to 1.",
"$comment": "UNDOCUMENTED",
"$ref": "../../molang/number.json"
},
"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": "../../molang/number.json", "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": "../../molang/number.json", "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": "../../molang/number.json", "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": "../../molang/number.json", "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": "../../molang/number.json"
},
"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": "../../molang/number.json"
},
"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)\\..*=.*;$" }
}
]
}
}
}
}
}
}
}