234 lines
10 KiB
JSON
234 lines
10 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "blockception.minecraft.behaviour.animation_controller",
|
|
"examples": [
|
|
{
|
|
"format_version": "1.10.0",
|
|
"animation_controllers": {
|
|
"controller.animation.example": { "initial_state": "default", "states": { "default": { "transitions": [{ "state_1": "query.is_baby" }] }, "state_1": {} } }
|
|
}
|
|
}
|
|
],
|
|
"allOf": [
|
|
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.8.0" } } }, "then": { "$ref": "#/definitions/A" } },
|
|
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.10.0" } } }, "then": { "$ref": "#/definitions/C" } }
|
|
],
|
|
"definitions": {
|
|
"A_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/B" }
|
|
}
|
|
]
|
|
},
|
|
"A_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)."
|
|
},
|
|
"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" }
|
|
}
|
|
},
|
|
"A_commands": {
|
|
"type": "string",
|
|
"description": "The event or commands to execute",
|
|
"oneOf": [
|
|
{ "pattern": "^@s .+$", "title": "Event" },
|
|
{ "pattern": "^/.+$", "title": "Command" },
|
|
{ "pattern": "^.+;$", "title": "Molang" }
|
|
]
|
|
},
|
|
"B": { "type": "string", "title": "Molang / string definition", "description": "Molang definition", "format": "molang" },
|
|
"A": {
|
|
"type": "object",
|
|
"title": "The minecraft behaviourpack animation controller 1.8.0",
|
|
"description": "TODO description",
|
|
"required": ["format_version", "animation_controllers"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"format_version": {
|
|
"title": "The 1.8.0 format version",
|
|
"type": "string",
|
|
"pattern": "^1.8.0$",
|
|
"description": "A version that tells minecraft what type of data format can be expected when reading this file."
|
|
},
|
|
"animation_controllers": {
|
|
"type": "object",
|
|
"title": "The animation controllers schema",
|
|
"description": "The animation controllers schema for 1.8.0",
|
|
"propertyNames": { "pattern": "^controller\\.animation\\.[a-z\\.]+" },
|
|
"additionalProperties": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"title": "A animation controller",
|
|
"description": "A single animation controller 1.8.0",
|
|
"required": ["states"],
|
|
"minProperties": 1,
|
|
"properties": {
|
|
"states": {
|
|
"title": "The states definition",
|
|
"description": "The states of this animation controller",
|
|
"propertyNames": { "pattern": "[a-z\\.]+" },
|
|
"minProperties": 1,
|
|
"additionalProperties": {
|
|
"additionalProperties": false,
|
|
"title": "Animation state",
|
|
"description": "Animation state",
|
|
"type": "object",
|
|
"properties": {
|
|
"animations": {
|
|
"title": "Animations definition",
|
|
"description": "The animations definition for 1.8.0",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/A_animationspec", "description": "TODO description: animations", "title": "Animations" }
|
|
},
|
|
"on_entry": { "type": "array", "description": "Events, commands or transitions to preform", "items": { "$ref": "#/definitions/A_commands" } },
|
|
"on_exit": { "type": "array", "description": "Events, commands or transitions to preform", "items": { "$ref": "#/definitions/A_commands" } },
|
|
"transitions": {
|
|
"title": "Transition definition",
|
|
"description": "The transition definition for 1.8.0",
|
|
"minProperties": 1,
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/A_animationspec", "description": "TODO description: transitions", "title": "Transitions" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initial_state": { "type": "string", "description": "TODO description: initial state", "title": "Initial State" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"C_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/B" }
|
|
}
|
|
]
|
|
},
|
|
"C_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)."
|
|
},
|
|
"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" }
|
|
}
|
|
},
|
|
"C_commands": {
|
|
"type": "string",
|
|
"description": "The event or commands to execute",
|
|
"examples": ["@s example:event"],
|
|
"oneOf": [
|
|
{ "pattern": "^@s .+$", "title": "Event" },
|
|
{ "pattern": "^/.+$", "title": "Command" },
|
|
{ "pattern": "^.+;$", "title": "Molang" }
|
|
]
|
|
},
|
|
"C": {
|
|
"type": "object",
|
|
"title": "The minecraft behaviourpack animation controller 1.10.0",
|
|
"description": "TODO description",
|
|
"required": ["format_version", "animation_controllers"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"format_version": {
|
|
"title": "The 1.10.0 format version",
|
|
"type": "string",
|
|
"pattern": "^1.10.0$",
|
|
"description": "A version that tells minecraft what type of data format can be expected when reading this file."
|
|
},
|
|
"animation_controllers": {
|
|
"type": "object",
|
|
"title": "The animation controllers schema",
|
|
"description": "The animation controllers schema for 1.10.0",
|
|
"propertyNames": { "pattern": "^controller\\.animation\\.[a-z\\.]+" },
|
|
"additionalProperties": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"title": "A animation controller",
|
|
"description": "A single animation controller 1.10.0",
|
|
"required": ["states"],
|
|
"minProperties": 1,
|
|
"properties": {
|
|
"states": {
|
|
"title": "The states definition",
|
|
"description": "The states of this animation controller",
|
|
"propertyNames": { "pattern": "[a-z\\.]+" },
|
|
"minProperties": 1,
|
|
"additionalProperties": {
|
|
"additionalProperties": false,
|
|
"title": "Animation state",
|
|
"description": "Animation state",
|
|
"type": "object",
|
|
"properties": {
|
|
"animations": {
|
|
"title": "Animations definition",
|
|
"description": "The animations definition for 1.10.0",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/C_animationspec", "description": "TODO description: animations", "title": "Animations" }
|
|
},
|
|
"on_entry": {
|
|
"type": "array",
|
|
"description": "Events, commands or transitions to preform on entry of this state",
|
|
"title": "On entry",
|
|
"items": { "$ref": "#/definitions/C_commands" }
|
|
},
|
|
"on_exit": {
|
|
"type": "array",
|
|
"description": "Events, commands or transitions to preform on exit of this state",
|
|
"title": "On exit",
|
|
"items": { "$ref": "#/definitions/C_commands" }
|
|
},
|
|
"transitions": {
|
|
"title": "Transition",
|
|
"description": "The transition definition for 1.10.0",
|
|
"minProperties": 1,
|
|
"type": "array",
|
|
"items": {
|
|
"title": "Transitions",
|
|
"description": "A object specification on how to transition",
|
|
"type": "object",
|
|
"maxProperties": 1,
|
|
"minProperties": 1,
|
|
"additionalProperties": { "$ref": "#/definitions/B" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initial_state": { "type": "string", "description": "TODO description: initial state", "title": "Initial State" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|