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
Values of block states are true unless otherwise stated.

Redstone rails have their power set to a range to fix an infinite rail powering bug: ; this could also allow for visual power level representation using an additional texture with tints, much like how redstone wire currently does.

Fluid IDs
See /Fluid changes

Entity IDs
Splitting wither skulls into separate entity IDs would fix in the process.

Biome IDs
Savanna plateau biomes currently only differ from regular savanna biomes in that they allow llama spawning and disallow village generation. These could simply be made height-based instead, like other mob spawning habits (preferably in a data-driven way).

Deep variants of oceans appear to only differ from their regular variants in that they allow ocean monument spawning. Ocean monument could also be changed to depend on height rather than biome, removing these redundant biomes as well.

Sound IDs
what to put here: split lever sound event into two, split normal and baby sound events for mobs, have sounds.json specify pitch changes for many remaining sounds instead of having them use stuff deep in the code, fix iron ordering

Blocks
New block entity for existing water_cauldron:


 * Block entity data
 * : Same format as dyed armor's Color. Used for dyeing leather armor (player types and horse armor). Used for the tint of the contained water if the dyed block state is true. If the dyed block state is set to false, cauldrons instead use the biome color for the tint, and item uses will clear dyes rather than apply color.
 * : Same format as dyed armor's Color. Used for dyeing leather armor (player types and horse armor). Used for the tint of the contained water if the dyed block state is true. If the dyed block state is set to false, cauldrons instead use the biome color for the tint, and item uses will clear dyes rather than apply color.

Block entity for the new potion_cauldron:


 * Block entity data

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, dark_oak_leaves, azalea_leaves and flowering_azalea_leaves could be made pushable by pistons instead of disappearing like the tree variants, and also be immune to ravagers.
 * Cacti, flowers, grass and ferns can now all be placed on dirt, coarse dirt, grass blocks, sand, red sand, clay and gravel. (move to tags page}
 * Logs should only be able to support their own species of leaves, so that incomplete deforestation looks less ugly. (May be worth splitting leaves even more, e.g. oak leaves and tall oak leaves?)

Other block state changes

 * waterlogged
 * Remove completely once fluids have been completely separated from blocks.
 * Could potentially be kept for beds, so that beds with this set to true cannot be slept in without the water breathing/conduit power effect, as it currently is on Bedrock Edition.