{"$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":"#/definitions/A"},"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":"#/definitions/B","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"]}}},"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B":{"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"}]}},"examples":[{"format_version":"1.20.60","minecraft:block_culling_rules":{"description":{"identifier":":"},"rules":[{"part":{"bone":"","cube":0,"face":""}}]}}]}