Skip to content

📦 Block Entity Occlusion Culling (Minecraft 26.3) ​

Block entities (chests, ender chests, signs, banners, skulls, decorated pots, bells, and beacons) are dynamic rendering elements. Because they bypass vanilla chunk mesh compiling, they submit individual draw calls every frame. In storage rooms or automated sorting facilities with hundreds of chests, this produces significant GPU bottlenecks.


📋 Block Entity Culling Infobox ​

PropertyValue
Target PipelineBlockEntityRenderDispatcher.tryExtractRenderState(...)
Enclosure DetectionChecks all 6 neighboring faces: up, down, north, south, east, west
Conservative ModeEnclosed-only check on LOW profile
Aggressive ModeFull raycast sightline verification on MEDIUM, HIGH, SUPER
ResultReturns null RenderState to skip render submit

🔍 Enclosure & Sightline Verification Architecture ​

text
               [UP]
                │
   [WEST] ── [CHEST] ── [EAST]
                │
              [DOWN]

1. 6-Sided Solid Enclosure Fast-Pass ​

Before running any raycast math, Camera Culling queries the neighboring block states:

java
BlockState up = level.getBlockState(pos.above());
BlockState down = level.getBlockState(pos.below());
BlockState north = level.getBlockState(pos.north());
BlockState south = level.getBlockState(pos.south());
BlockState east = level.getBlockState(pos.east());
BlockState west = level.getBlockState(pos.west());

if (up.isSolidRender() && down.isSolidRender() && north.isSolidRender()
    && south.isSolidRender() && east.isSolidRender() && west.isSolidRender()) {
    return true; // 100% Occluded — skip rendering
}

Chests embedded behind walls or enclosed in solid basement foundations are unrendered with near-zero CPU calculation ($< 0.0001\mu\text{s}$).

2. Line-of-Sight Raycast Check ​

On MEDIUM, HIGH, and SUPER profiles (cullAllBlockEntities = true), Camera Culling projects a ray from the player's camera position to the block entity center $(X + 0.5, Y + 0.5, Z + 0.5)$:

  • If the raycast strikes an occluding solid block prior to reaching the target block entity, the render state is dropped.
  • If a clear sightline exists, the block entity is rendered with full visual fidelity.

Official documentation & web portal for Dasik Igaijinn mods.