399 lines
20 KiB
JSON
399 lines
20 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "blockception.minecraft.resource.entity",
|
|
"examples": [
|
|
{
|
|
"format_version": "1.10.0",
|
|
"minecraft:client_entity": {
|
|
"description": {
|
|
"identifier": "minecraft:entity",
|
|
"materials": { "default": "entity_custom" },
|
|
"textures": { "default": "textures/entity/custom/entity" },
|
|
"geometry": { "default": "geometry.entity" },
|
|
"animations": {},
|
|
"particle_effects": {},
|
|
"scripts": {},
|
|
"render_controllers": ["controller.render.entity"],
|
|
"spawn_egg": { "base_color": "#288483", "overlay_color": "#2B7135" }
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"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/D" } }
|
|
],
|
|
"definitions": {
|
|
"B": {
|
|
"type": "string",
|
|
"title": "The minecraft entity identifier 1.8.0",
|
|
"description": "The minecraft entity identifier",
|
|
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$"
|
|
},
|
|
"C": {
|
|
"title": "Molang number",
|
|
"description": "The minecraft molang definition that results in a float",
|
|
"anyOf": [{ "type": "string", "minLength": 0, "format": "molang" }, { "type": "number" }]
|
|
},
|
|
"A": {
|
|
"type": "object",
|
|
"title": "The minecraft resourcepack actor animation 1.8.0",
|
|
"description": "TODO description",
|
|
"additionalProperties": false,
|
|
"required": ["format_version", "minecraft:client_entity"],
|
|
"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."
|
|
},
|
|
"minecraft:client_entity": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"title": "Client entity",
|
|
"description": "The definition of an entity's models, materials, textures, and animations",
|
|
"properties": {
|
|
"description": {
|
|
"additionalProperties": false,
|
|
"title": "Description definition",
|
|
"description": "TODO description: description",
|
|
"type": "object",
|
|
"required": ["identifier"],
|
|
"properties": {
|
|
"animations": {
|
|
"description": "The connecting of animations in animations controllers with the actuall animations, names should corosponds",
|
|
"title": "The animations schema",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }
|
|
},
|
|
"animation_controllers": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"description": "TODO description: animation controllers",
|
|
"title": "Animation Controllers",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: animation controllers",
|
|
"title": "Animation Controllers"
|
|
}
|
|
},
|
|
"enable_attachables": { "type": "boolean", "description": "TODO description: enable attachables", "title": "Enable Attachables" },
|
|
"geometry": {
|
|
"title": "Geometry definition",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: geometry"
|
|
},
|
|
"identifier": { "type": "string", "description": "TODO description: identifier", "title": "Identifier", "$ref": "#/definitions/B" },
|
|
"materials": {
|
|
"type": "object",
|
|
"description": "TODO description: materials",
|
|
"title": "Materials",
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }
|
|
},
|
|
"min_engine_version": {
|
|
"type": "string",
|
|
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
|
|
"description": "TODO description: min engine version",
|
|
"title": "Min Engine Version"
|
|
},
|
|
"particle_effects": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: particle effects",
|
|
"title": "Particle Effects"
|
|
},
|
|
"particle_emitters": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: particle emitters",
|
|
"title": "Particle Emitters"
|
|
},
|
|
"render_controllers": {
|
|
"type": "array",
|
|
"description": "TODO description: render controllers",
|
|
"title": "Render Controllers",
|
|
"minItems": 1,
|
|
"items": { "type": "string", "description": "TODO description: render controllers", "title": "Render Controllers" }
|
|
},
|
|
"sound_effects": {
|
|
"title": "Sound Effects",
|
|
"description": "TODO description: sound effects",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" }
|
|
},
|
|
"spawn_egg": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "TODO description: spawn egg",
|
|
"title": "Spawn Egg",
|
|
"dependencies": { "texture_index": ["texture"], "base_colour": ["overlay_color"], "overlay_color": ["base_color"] },
|
|
"properties": {
|
|
"base_color": { "type": "string", "description": "TODO description: base color", "title": "Base Color", "format": "color-hex" },
|
|
"overlay_color": {
|
|
"type": "string",
|
|
"description": "TODO description: overlay color",
|
|
"title": "Overlay Color",
|
|
"format": "color-hex"
|
|
},
|
|
"texture": { "type": "string", "description": "TODO description: texture", "title": "Texture" },
|
|
"texture_index": { "type": "integer", "description": "TODO description: texture index", "title": "Texture Index" }
|
|
}
|
|
},
|
|
"scripts": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "TODO description: scripts",
|
|
"title": "Scripts",
|
|
"properties": {
|
|
"pre_animation": {
|
|
"type": "array",
|
|
"description": "TODO description: pre aninamtion",
|
|
"title": "Pre Animation",
|
|
"items": {
|
|
"pattern": ";$",
|
|
"$ref": "#/definitions/C",
|
|
"description": "TODO description: pre aninamtion",
|
|
"title": "Pre Animation"
|
|
}
|
|
},
|
|
"parent_setup": { "$ref": "#/definitions/C" },
|
|
"scale": { "type": "string", "description": "TODO description: scale", "title": "Scale" },
|
|
"scalex": { "$ref": "#/definitions/C", "title": "Scale X" },
|
|
"scaley": { "$ref": "#/definitions/C", "title": "Scale Y" },
|
|
"scalez": { "$ref": "#/definitions/C", "title": "Scale Z" }
|
|
}
|
|
},
|
|
"textures": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: textures",
|
|
"title": "Textures"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"E": {
|
|
"type": "string",
|
|
"title": "The minecraft item identifier 1.8.0",
|
|
"description": "The minecraft item identifier",
|
|
"pattern": "^[0-9a-zA-Z:_\\-\\.]+$"
|
|
},
|
|
"F": { "type": "string", "title": "Molang / string definition", "description": "Molang definition", "format": "molang" },
|
|
"D": {
|
|
"type": "object",
|
|
"title": "The minecraft resourcepack actor animation 1.10.0",
|
|
"description": "TODO description",
|
|
"required": ["format_version", "minecraft:client_entity"],
|
|
"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."
|
|
},
|
|
"minecraft:client_entity": {
|
|
"type": "object",
|
|
"title": "The client entity",
|
|
"description": "The client entity definition",
|
|
"required": ["description"],
|
|
"properties": {
|
|
"description": {
|
|
"title": "Description definition",
|
|
"type": "object",
|
|
"required": ["identifier"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"animations": {
|
|
"description": "The collection of animations and animations controllers",
|
|
"title": "Animations",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"description": "A reference to an animation or animation controller",
|
|
"title": "Animation reference",
|
|
"examples": [{ "basic": "controller.generic.basic" }]
|
|
}
|
|
},
|
|
"enable_attachables": { "type": "boolean", "description": "TODO description: enable attachables", "title": "Enable Attachables" },
|
|
"geometry": {
|
|
"title": "Geometry definition",
|
|
"description": "The reference to defined geometries in '<resource pack>/models/'",
|
|
"type": "object",
|
|
"propertyNames": { "pattern": "[a-zA-Z0-9_\\.\\-]+" },
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "The reference to the geometry", "title": "Geometry reference" }
|
|
},
|
|
"identifier": { "type": "string", "description": "TODO description: identifier", "title": "Identifier", "$ref": "#/definitions/E" },
|
|
"materials": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: materials",
|
|
"title": "Materials"
|
|
},
|
|
"min_engine_version": {
|
|
"type": "string",
|
|
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
|
|
"description": "TODO description: min engine version",
|
|
"title": "Min Engine Version"
|
|
},
|
|
"particle_effects": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: particle effects",
|
|
"title": "Particle Effects"
|
|
},
|
|
"particle_emitters": {
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: particle emitters",
|
|
"title": "Particle Emitters"
|
|
},
|
|
"render_controllers": {
|
|
"type": "array",
|
|
"description": "TODO description: render controllers",
|
|
"title": "Render Controllers",
|
|
"minItems": 1,
|
|
"items": {
|
|
"oneOf": [
|
|
{ "type": "string" },
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string", "description": "A render controller", "title": "Render controller" }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"scripts": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "TODO description: scripts",
|
|
"title": "Scripts",
|
|
"properties": {
|
|
"animate": {
|
|
"type": "array",
|
|
"title": "Animate schema",
|
|
"minItems": 1,
|
|
"items": {
|
|
"oneOf": [
|
|
{ "type": "string", "description": "TODO description: oneOf[0]", "title": "TODO title" },
|
|
{
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: oneOf[1]",
|
|
"title": "TODO title"
|
|
}
|
|
],
|
|
"description": "TODO description: animate",
|
|
"title": "Animate"
|
|
},
|
|
"description": "TODO description: animate"
|
|
},
|
|
"initialize": {
|
|
"type": "array",
|
|
"description": "TODO description: initialize",
|
|
"title": "Initialize",
|
|
"items": { "pattern": ";$", "$ref": "#/definitions/F", "description": "TODO description: initialize", "title": "Initialize" }
|
|
},
|
|
"pre_animation": {
|
|
"type": "array",
|
|
"description": "TODO description: pre aninamtion",
|
|
"title": "Pre Animation",
|
|
"items": {
|
|
"pattern": ";$",
|
|
"$ref": "#/definitions/F",
|
|
"description": "TODO description: pre aninamtion",
|
|
"title": "Pre Animation"
|
|
}
|
|
},
|
|
"parent_setup": {
|
|
"type": "string",
|
|
"description": "TODO description: parent setup",
|
|
"title": "Parent Setup",
|
|
"$ref": "#/definitions/C"
|
|
},
|
|
"scale": { "type": "string", "description": "TODO description: scale", "title": "Scale", "$ref": "#/definitions/C" },
|
|
"scalex": { "$ref": "#/definitions/C", "title": "Scale X" },
|
|
"scaley": { "$ref": "#/definitions/C", "title": "Scale Y" },
|
|
"scalez": { "$ref": "#/definitions/C", "title": "Scale Z" },
|
|
"should_update_bones_and_effects_offscreen": {
|
|
"title": "Should update bones and effects offscreen",
|
|
"description": "Bones and effects will still be updated if the entity is off screen if this expression returns anything other than 0.0.",
|
|
"$ref": "#/definitions/F"
|
|
},
|
|
"should_update_effects_offscreen": {
|
|
"title": "Should update effects offscreen",
|
|
"description": "Effects will still be updated if the entity is off screen if this expression or `should_update_bones_and_effects_offscreen` returns anything other than 0.0.",
|
|
"$ref": "#/definitions/F"
|
|
},
|
|
"variables": {
|
|
"title": "Variables",
|
|
"description": " A list of variables that need certain settings applied to them. Currently, for the client, only \"public\" is supported.",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"propertyNames": { "pattern": "variable.[a-zA-Z_][a-zA-Z0-9_]*" },
|
|
"additionalProperties": {
|
|
"title": "Variable definition",
|
|
"description": " If a variable is public, it can be read by other mobs. See the molang `->` operator for details.",
|
|
"type": "string",
|
|
"enum": ["public"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"sound_effects": {
|
|
"title": "Sound Effects",
|
|
"description": "TODO description: sound effects",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "Sound effect" }
|
|
},
|
|
"spawn_egg": {
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"description": "TODO description: spawn egg",
|
|
"title": "Spawn Egg",
|
|
"dependencies": { "texture_index": ["texture"], "base_colour": ["overlay_color"], "overlay_color": ["base_color"] },
|
|
"properties": {
|
|
"base_color": { "type": "string", "description": "TODO description: base color", "title": "Base Color", "format": "color-hex" },
|
|
"overlay_color": {
|
|
"type": "string",
|
|
"description": "TODO description: overlay color",
|
|
"title": "Overlay Color",
|
|
"format": "color-hex"
|
|
},
|
|
"texture": { "type": "string", "description": "TODO description: texture", "title": "Texture" },
|
|
"texture_index": { "type": "integer", "description": "TODO description: texture index", "title": "Texture Index" }
|
|
}
|
|
},
|
|
"textures": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string", "description": "TODO description: additionalProperties", "title": "TODO" },
|
|
"description": "TODO description: textures",
|
|
"title": "Textures"
|
|
}
|
|
},
|
|
"description": "TODO description: description"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|