2021-03-11 16:07:04 +01:00
{
"$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" ,
"examples" : [ "namespace:entity_name" ] ,
"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
}
}
}