User:User-12316399/Technical changes/Further flattening

This page documents a proposed further flattening of Java Edition block IDs and block states similar to that of 1.13. This flattening will help to get rid of some potentially redundant and/or illegal block state combinations, as well as remove and merge just plain unneccesary block states, and in some cases also allow these blocks to show up in Statistics and potentially the creative inventory. Also listed are a few objects from Bedrock Edition which could be ported to Java Edition in parity interests.

This proposal deals with Java Edition, but much of this information could also apply to a theoretical Bedrock Edition flattening as well.

For a more extensive flattening proposal detailing the flattening of objects highly reliant on NBT data see /NBT flattening.

Block states
The cauldron change is to allow for cauldrons to remain pushable if Bedrock Edition cauldron mechanics are ported to Java Edition, as water cauldrons will likely require NBT data to define dyed water and potions. Potion cauldrons and lava cauldrons would have their own separate block IDs as well (the latter likely being pushable and usable for redstone contraptions).

Entity IDs
Numerous skin variants which require NBT data to fully define should be completely split out into different entity IDs (or partially, in the case of horses and tropical fish), analogously to how trivial "skin variants" of blocks were split in 1.13's flattening (such as the variants of planks or igneous stones and their polished variants receiving unique IDs). As there are 35 variants of horse, they are split according to the colour, which has 7 possible values.

As there are 3000+ variants of tropical fish, they are split according to the name of the fish, which is a combination of the shape and pattern, which has 12 possible values.

Pandas use a gene-based format that may be far more difficult to successfully separate, and are best left as-is.

Names
The nominal ID remains unchanged in these cases. wip

Other notes

 * unstable_tnt could be added to the Creative inventory.
 * oak_leaves, birch_leaves, spruce_leaves, jungle_leaves, acacia_leaves and dark_oak_leaves could be made pushable by pistons instead of disappearing like the tree variants, and also be immune to ravagers.

Other block state changes

 * waterlogged
 * Remove completely once fluids have been completely separated from blocks.