User:User-12316399/Technical changes

This page documents proposals for various minor to moderate technical changes to the Java Edition.

For very large change proposals see /Major changes.

Further flattening

 * Stop using numerical IDs for biomes, dimensions and status effects

World size expansion

 * Expand the default world size to x/z ±2,000,000,000, from ±30,000,000
 * This can easily be done.
 * The only issues with this is that certain bugs caused by the usage of 32-bit floating-point numbers may become exaggerated at such high distances (see this post). However, these can easily be fixed, and has been done with mods such as this Fabric mod.
 * The only other major issue with this is the fact that 1.14's lighting engine breaks down after x/z ±33,554,432. This could probably be fixed as well with minimal effort.

Loot tables

 * Certain things missing from vanilla:
 * Loot table for fire
 * Head drops from charged creepers should be added to loot tables
 * Experience drops should be added to loot tables
 * Mob spawning could potentially be added to loot tables, to some extent. Examples include:
 * Silverfish from corrupted blocks
 * Baby turtles from turtle eggs
 * Slimes from larger slimes
 * Magma cubes from larger magma cubes
 * Breeding
 * Loot tables for projectiles upon being destroyed due to a collision. Extrapolating from the above suggestions, bottle o' enchanting could draw its dropped experience from a loot table, chicken eggs their spawned baby chickens, ender pearls endermites and lingering potions their spawned area effect clouds.
 * Do loot tables detect if a block was destroyed by fire? If so, TNT destroyed this way could spawn a primed tnt entity through loot tables.


 * Data-driven enchanting?

Particles

 * Several cases of missing particles:
 * Falling blocks being broken (not an issue on Bedrock Edition)
 * Anvils breaking from falling or overuse
 * Blocks replaced by other blocks from a player or from a flowing fluid
 * Armor stands when not directly destroyed by a player
 * Certain blocks when support is removed
 * Particles from sprinting on or punching heads, banners and signs
 * Particles should use 64-bit floating point precision instead of 32-bit, as noted above.
 * Water-related particles should use biome colouring
 * Potion particles from thrown potions incorrectly snap to block corners, this should be fixed

Models and textures

 * Beds should revert to using block models for rendering instead of using an entity model, allowing for easier editing of the bed model, it not disappearing at distances, and the ability to cull unneeded faces.
 * Wall signs should use block models for rendering the wood instead of entity rendering. The text can still use entity rendering as normal.
 * Wall zombie and creeper heads and skeleton and wither skeleton skulls should use block models for rendering
 * Fix combining characters so that speakers of Hindi and other such languages can actually read the text.
 * Redstone wire should be visible from underneath
 * Numerous cullface arguments are missing from models, causing unneeded faces to be rendered
 * Water colour, fog colour, underwater fog colour, etc. should be made more easily configurable (per biome, altitude, etc.) as in Bedrock Edition
 * Customizable sky colours as well?
 * Make other plants with green sections such as flowers and mossy blocks use biome colouring

Recipes

 * Smelting and blasting recipes for the remaining tools which require iron to craft.
 * Attempt to remove as many NBT-based crafting recipes as possible:
 * Remove inventory crafting of damaged tools again. Instead, a button could be added that switches between a 2x2 crafting grid and a grindstone-like interface.
 * Port over cauldron-based dyeing from Bedrock Edition, and use this for leather dyeing instead of crafting.
 * Remove all inventory-based map crafting recipes (aside from those used to craft the map itself) - these should all be covered by the cartography table anyway
 * All firework-related crafting could be transferred to a dedicated block (as proposed by the devs)
 * Remove inventory crafting of tipped arrows - instead use cauldrons for it as in Bedrock Edition and port over their potion cauldron mechanics. Alternatively, if the potion split is done to a 100% complete degree, the tipped arrow recipe could be kept.
 * Remove banner cloning recipe - this should be moved to the loom instead, perhaps by putting the banner to be cloned in the banner pattern slot?
 * Applying banners to shields - could maybe be done on a loom, placing the banner into the pattern slot and the shield into the banner slot, or maybe could be done in an anvil
 * Remove suspicious stew recipe - brown mooshrooms can already be used to create all types of suspicious stew
 * This leaves bookcloning and shulkerboxcoloring - what to do with these?
 * Crafting tables, furnaces, blast furnaces and smokers should have a secondary output slot for buckets

Lighting

 * Stop lighting from breaking down after x/z ±33,554,432

Fluids

 * Finish splitting liquids from blocks
 * Allow for lavalogging, analogously with waterlogging
 * Allow flowing liquids to occupy other blocks as well
 * Allow bubble columns to occupy blocks
 * Remove the waterlogged block state

Controls

 * Allow for selecting between one key, two keys or a double pressing of one key for certain actions
 * A key to activate crawling
 * Maybe split some controls, for example allowing you to place blocks against chests without having to sneak
 * Make several controls rebindable that aren't currently:
 * Narrator (Ctrl+B) - intentionally coded into the game to not be rebindable, which is very annoying and gets in the way often for some players, but it's not too hard to make it changeable
 * Hide GUI (F1)
 * Show debug info (F3)
 * Pause (Esc)
 * Numerous multiple key commands involving F3
 * Sprinting from double pressing forward

Status effects

 * Being on fire should be handled as a status effect
 * Port fatal_poison to Java Edition
 * Allow for negative and 255+ levels