Mojira Archive
MCM-1733

Custom full blocks using the minecraft:geometry.full_block geometry have faces that are not culled while facing certain vanilla full cube blocks

Partner Rank: 3 (Normal)

Partner Team Reporting: Oreville Studios

Verification builds: 1.20.60.24_RC0 (Windows 10, Partner Build 20801993)

Summary:

Custom blocks using the minecraft:geometry.full_block geometry introduced in the R20U6 previews and an opaque render method that are placed directly next to certain vanilla full cube blocks will not have face culling on the face exposed to the vanilla block. A non-comprehensive list of vanilla blocks that cause this behavior include:

  • minecraft:beehive
  • minecraft:warped_stem
  • minecraft:observer
  • All logs (minecraft:acacia_log, minecraft:birch_log, minecraft:cherry_log, etc…)
  • All stripped logs (minecraft:stripped_acacia_log, minecraft:stripped_birch_log, minecraft:stripped_cherry_log, etc…)
  • All glazed terracotta (minecraft:black_glazed_terracotta, minecraft:blue_glazed_terracotta, minecraft:brown_glazed_terracotta, etc…)
  • minecraft:purpur_block
  • minecraft:polished_basalt
  • minecraft:basalt

Impact:

There is no large impact as this block geometry is still in beta and preview versions of the game, meaning no content uses this geometry identifier yet. Culling block faces that are exposed to other full blocks benefits game performance, but if certain blocks prevent faces from being culled, client performance may be negatively impacted particularly if many custom full blocks are placed next to vanilla blocks.

Repro Steps:

  1. Download the attached world with the repro behavior pack and resource pack applied.
  2. Enter the world.
  3. In the world, there will be two custom blocks that are placed on top of the list of blocks specified above. The red custom blocks use the minecraft:geometry.full_block identifier, while the blue custom blocks are simple blocks.json blocks without a geometry or material instances (the blue block is used here as a control to compare the red custom block against). Enter spectator mode or no-clip mode to view the bottom faces of both custom blocks from in the ground.

 

Observed Results:

The red block bottom faces (the blocks using minecraft:geometry.full_block) are not culled. The blue block bottom faces (simple blocks.json blocks) are culled.

Expected Results:

The red block bottom faces (the blocks using minecraft:geometry.full_block) are culled. The blue block bottom faces (simple blocks.json blocks) are culled.

Screenshots:

Custom blocks using minecraft:geometry.full_block when viewed from below. Face culling on the faces exposed to the vanilla blocks are not working as intended.

 

Simple blocks.json blocks when viewed from below. Face culling works as intended.

Unresolved

Lukas Voigts

2024-01-07, 07:59 PM

2024-01-17, 12:13 AM

1

2

Future Release

-