- Block culling rules (#251)
This commit is contained in:
9
source/general/block_culling/identifier.json
Normal file
9
source/general/block_culling/identifier.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.block_culling.identifier",
|
||||
"description": "The minecraft block culling rule identifier.",
|
||||
"examples": ["namespace:rule"],
|
||||
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$",
|
||||
"title": "Block Culling Rule Identifier",
|
||||
"type": "string",
|
||||
"defaultSnippets": [{ "label": "New Identifier", "body": "$1:$2" }]
|
||||
}
|
||||
101
source/resource/block_culling/block_culling.json
Normal file
101
source/resource/block_culling/block_culling.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"$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": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user