User:User-12316399/Technical changes/Further flattening

This page documents a theoretical extension to the flattening of 1.13 which aims to further split up and rename blocks, items, entities and the like. This flattening helps for multiple reasons; it eliminates some potentially redundant or illegal block state combinations as well as removing outright unneccesary block states and NBT tags, allows certain blocks, items and entities to show correctly within the Statistics page instead of being lumped under one unintuitive entry, makes certain IDs more intuitive, and splits up skin variants of mobs into separate entity IDs analogously to how texture variants of blocks were split up into separate block IDs. Also listed within this page are some blocks and items existent within 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.

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).

Splitting potions
It may be worth splitting up potions into separate item IDs for each different potion. While this would result in an absolutely disgusting amount of new item IDs (over 170), it would also alleviate the problem with unique potions not showing up within the Statistics screen. Potions would as a result be able to be individually textured as well. A custom potion of each type which still uses NBT data to define effects, colours and the like would be kept, for use in mapmaking and other purposes.

If this extent of flattening is deemed unacceptable, then instead it may be possible to simply flatten by effect, and then use NBT data to dictate the strength and duration.

Mob skin variants
Numerous skin variants which require NBT data to fully define should be completely split out into different entity IDs, 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).

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



Boat wood types
As every single other object which comes in all different wood variants has been separated into different IDs for each wood type, boats should obviously follow suit.

Names
The nominal ID remains unchanged in these cases.

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.
 * bedrock would no longer check its dimension for whether fire on it burns infinitely; rather, flammable_bedrock burns infinitely while bedrock does not.

Other block state changes

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