The bug
cave_air
is meant to be used during world generation only and should afterwards be replaced by normal air, however for most features this is not the case, leaving cave_air
behind.
Related issues
is duplicated by
Comments


Affects 18w22c

Affects 1.13-pre4

Affects 1.13-pre6

Affects 1.13-pre8

Affects 18w31a, see also MC-125138.

Still in 18w50a.

Why is this an issue ? cave_air acts exactly as normal air

Duplicates of this bug report claim that /fill and /setblock cannot replace air in caves. cave_air and air are technically different block ids.
Confirmed for 19w09a (by using the fill command in caves)

Still an issue in 20w10a

Could a "minecraft:airs" block tag be added to contain air, cave_air, and void_air? That would easily allow commands to test for air blocks while still allowing a distinction to be made when trying to detect where a player is.

Why is this won't fix? this issue breaks a lot of commands and a simple fix would be to add an #air block tag

This is actually useful. It's a very easy way to define caves from everything else. Of all things this shouldn't be considered a bug in the first place.
Checking for cave air to determine whether an area is underground isn't very reliable, since it turns back to regular air whenever a block is mined

Should this be reopened given changes to cave generation in 1.17 and 1.18?

I also don't see the valid reasoning behind this. I would use it in world generation only anyways. It's an easy way to check against air, that is not part of the surface. Now that its gone, I have to apply various new checks in its place, which unnecessarily bloats code.
Still an issue in 18w20a