Block Culling

This section shows how to specify particular faces and/or bones in a geometry file for culling checks.

Note that face culling and bone culling can both exist in the same culling file.

A face or bone culls (is not visible) if the neighbor in the "direction" direction is full and opaque (a full cube, and drawing using the "opaque" render-method in the minecraft:material_instances component).

Note that if a minecraft:transform component rotates the block, the directions rotate as well

Definition Properties

These properties are part of Block Culling used within block JSON files. This helps the system determine how to change the appearance of this block.

NameTypeDescription
format_versionStringSpecifies the version of the game this entity was made in. If the version is lower than the current version, any changes made to the entity in the vanilla version will be applied to it.
minecraft:block_culling_rulesJSON ObjectJSON container used for descriptions, especially the identifier for the name of the culled version of the block..
rulesListList of all components used to identify geometry parts used in culling.

Description

NameTypeDescription
identifierStringThe identifier for this block culling. The name must include a namespace and must not use the Minecraft namespace.

Rules

NameTypeDescription
geometry_partJSON ObjectSpecifies 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.
directionStringSpecifies the direction of the neighbor block to check for culling. This direction rotates with a block's Transform component.

Geometry Part

NameTypeDescription
boneStringThe name of the bone to cull
cubeIntegerThe index in the models cubes
faceStringThe cubes face to disable

Code Example

RP/block_culling/example.jsonCopy
json
{
  "format_version": "1.20.60",
  "minecraft:block_culling_rules": {
    "description": {
       "identifier": "test:sushi_cull"
    },
    "rules": [
      {
       "geometry_part": { 
          "bone": "bb_main",
          "cube": 0, 
          "face": "north" 
        },
        "direction": "north"
      },
      {
        "geometry_part": { 
          "bone": "bb_main", 
          "cube": 0, 
          "face": "south" 
        },
        "direction": "south"
      },
      {
        "geometry_part": { 
          "bone": "bb_main"
        },
        "direction": "east"
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

Contributors