* - 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
114 lines
4.7 KiB
JSON
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": ""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|