Files
minecraft-bedrock-json-schemas/source/behavior/animation_controllers/animation_controller.json
2022-03-24 13:10:07 +01:00

172 lines
6.1 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.animation_controller",
"examples": [
{
"format_version": "1.17.0",
"animation_controllers": {
"controller.animation.example": {
"initial_state": "default",
"states": { "default": { "transitions": [{ "state_1": "query.is_baby" }] }, "state_1": {} }
}
}
}
],
"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 when to animate",
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": {
"$ref": "../../molang/string.json"
}
}
]
},
"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"
}
}
},
"commands": {
"type": "string",
"description": "The event or commands to execute",
"title": "Commands",
"oneOf": [
{ "pattern": "^@s .+$", "title": "Event" },
{ "pattern": "^/.+$", "title": "Command" },
{ "pattern": "^.+;$", "title": "Molang" }
]
}
},
"type": "object",
"title": "Animation Controller",
"description": "Animation controller for behaviors",
"required": ["format_version", "animation_controllers"],
"additionalProperties": false,
"properties": {
"format_version": { "$ref": "../../general/format_version.json" },
"animation_controllers": {
"type": "object",
"title": "Animation Controllers",
"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": "Animation Controller",
"description": "A single animation controller",
"required": ["states"],
"minProperties": 1,
"properties": {
"states": {
"title": "States",
"description": "The states of this animation controller",
"propertyNames": { "pattern": "[a-z\\.]+" },
"minProperties": 1,
"type": "object",
"additionalProperties": {
"additionalProperties": false,
"title": "Animation State",
"description": "Animation state",
"type": "object",
"examples": [
{
"animations": ["anim.idle"],
"transitions": [{ "example": "query.is_sheared" }]
}
],
"properties": {
"animations": {
"title": "Animations",
"description": "The animations definition for",
"type": "array",
"items": {
"$ref": "#/definitions/animationspec",
"description": "The key definition of an animation to play, defined in the entity",
"title": "Animations"
}
},
"on_entry": {
"type": "array",
"description": "Events, commands or transitions to preform on entry of this state",
"title": "On Entry",
"items": {
"$ref": "#/definitions/commands"
}
},
"on_exit": {
"type": "array",
"description": "Events, commands or transitions to preform on exit of this state",
"title": "On Exit",
"items": {
"$ref": "#/definitions/commands"
}
},
"transitions": {
"title": "Transition",
"description": "The transition definition for",
"minProperties": 1,
"type": "array",
"items": {
"title": "Transition",
"description": "A transition to another state",
"type": "object",
"maxProperties": 1,
"minProperties": 1,
"examples": [{ "default": "query.is_chested" }],
"additionalProperties": {
"$ref": "../../molang/string.json"
}
}
}
}
}
},
"initial_state": {
"title": "Initial State",
"description": "The state to start with, if not specified state at position 0 in the array is used",
"type": "string",
"examples": ["default"]
}
}
}
}
}
}