102 lines
3.4 KiB
JSON
102 lines
3.4 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "blockception.minecraft.resource.block_culling",
|
|
"title": "Block Culling",
|
|
"description": "A resource pack file that helps the system determine how to change the appearance of this block.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"format_version": { "$ref": "../../general/format_version.json" },
|
|
"minecraft:block_culling_rules": {
|
|
"title": "Block Culling Rules",
|
|
"description": "JSON container used for descriptions, especially the identifier for the name of the culled version of the block.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"description": {
|
|
"title": "Description",
|
|
"description": "Contains the identifier used by minecraft:geometry block components to refer to this culling data",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"identifier": {
|
|
"$ref": "../../general/block_culling/identifier.json",
|
|
"description": "Sets the identifier for this rule's description.",
|
|
"title": "Identifier"
|
|
}
|
|
}
|
|
},
|
|
"rules": {
|
|
"title": "Rules",
|
|
"description": "List of all components used to identify geometry parts used in culling.",
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/definitions/rule"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"rule": {
|
|
"title": "Rule",
|
|
"description": "The rules that specifies a \"geometry_part\" and \"direction\"",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"geometry_part": {
|
|
"title": "Geometry Part",
|
|
"description": "Specifies the bone, cube, and face that the block will be culled. The cube and face fields are optional to allow culling a specific face. Omitting these fields will cull the whole bone.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"bone": {
|
|
"title": "Bone",
|
|
"description": "The bone within the geometry part",
|
|
"type": "string"
|
|
},
|
|
"cube": {
|
|
"title": "Cube",
|
|
"description": "The cube within the geometry part",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"face": {
|
|
"title": "Face",
|
|
"description": "The face within the geometry part",
|
|
"type": "string",
|
|
"enum": ["up", "down", "north", "south", "east", "west"]
|
|
}
|
|
}
|
|
},
|
|
"direction": {
|
|
"title": "Direction",
|
|
"description": "Specifies the direction of the neighbor block to check for culling. This direction rotates with a block's Transform component.",
|
|
"type": "string",
|
|
"enum": ["up", "down", "north", "south", "east", "west"] //TODO: Check if "side" and "all" work here too
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"format_version": "1.20.60",
|
|
"minecraft:block_culling_rules": {
|
|
"description": {
|
|
"identifier": ":"
|
|
},
|
|
"rules": [
|
|
{
|
|
"part": {
|
|
"bone": "",
|
|
"cube": 0,
|
|
"face": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|