Files
Xterionix caef874bf8 1.21.90 (#350)
* - Added VV

* - Updated block culling

* - Added remove_in_peaceful

* - Added leashable_to

* - Updated leashable

* - Added body_rotation_always_follows_head

* - Added particle count to destruction_particles

* - Added uv_lock

* - Added liquid_settings to jigsaws

* - Added missing jigsaw fields

* - Added random_offset

* - Updated color grading description for one field

* - Added damaged_by_entity loot table condition

* - Added y offset to interact > spawn_items

* - Added is_riding_self filter

* - Added hides_player_location to wearable

* - Added henyey_greenstein_g to fog

* - Added block component movable

* - Removed internal markers for VV client biome components

* - Removed experimental marker for air controlled
2025-06-02 14:48:10 +02:00

114 lines
4.7 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" ]
}
}
},
"cull_against_full_and_opaque": {
"title": "Cull Against Full And Opaque",
"description": "Whether to cull against a full, opaque block.",
"type": "boolean",
"default": true
},
"condition": {
"title": "Condition",
"description": "It provides more control over which neighbor blocks will trigger a face or part to be culled.\n- \"default\" will pass the condition if the neighbor block is full and opaque. All conditions are an extension of \"default\", meaning a full and opaque neighbor will always be a passing condition, before the extended \"same_*\" condition is checked.\n- \"same_culling_layer\" will pass the condition if the neighbor block shares the same \"culling_layer\" as the block being occluded, defined in the geometry component. If either of the culling layers being compared is \"minecraft:culling_layer.undefined\", the condition will never pass.\n- \"same_block\" will pass the condition if the neighbor block has the same identifier.\n- \"same_block_permutation\" will pass the condition if the neighbor block has the same identifier and is the exact same permutation.",
"type": "string",
"enum": [ "same_culling_layer", "same_block", "same_block_permutation" ]
},
"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": ""
}
}
]
}
}
]
}