User:User-12316399/Needed changes list

This is a list of a number of changes, mostly internal, that should be made. This list is only my opinion, nothing official.

Missing blocks and items
Some blocks should logically exist in other forms as well
 * stairs
 * slabs
 * fences
 * walls

Proper resource locations

 * Make dimension resource locations proper
 * Move world/region to world/dimensions/minecraft/overworld/region.
 * Move world/DIM1/region to world/dimensions/minecraft/the_end/region.
 * world/dimensions/minecraft/end/region
 * Move world/DIM-1/region to world/dimensions/minecraft/the_nether/region.
 * world/dimensions/minecraft/nether/region
 * Remove the unused world/DIM1/players folder.
 * Remove the unused world/DIM-1/players folder.
 * Move world/data/villages.dat to world/dimensions/minecraft/overworld/data/villages.dat.
 * Move world/data/villages_end.dat to world/dimensions/minecraft/the_end/data/villages.dat.
 * world/dimensions/minecraft/end/data/villages.dat
 * Move world/data/villages_nether.dat to world/dimensions/minecraft/the_nether/data/villages.dat.
 * world/dimensions/minecraft/nether/data/villages.dat
 * Change entity's Dimension integer to a string.
 * Rename level.dat's DimensionData's 1:{...} to minecraft:{the_end:{...}} |undefined or "minecraft:the_end":{...}.
 * minecraft:{end:{...}} |undefined or "minecraft:end":{...}
 * Make biome resource locations proper.
 * Change the chunk format to use the string IDs.
 * Use a pallete like with blocks.
 * Make effect resource locations proper.
 * Change effects in all NBT string IDs.
 * Mobs: ActiveEffects[].Id
 * Area effect clouds: Effects[].Id
 * Potions: CustomPotionEffects[].Id

States

 * Split leaves another time, as they have useless states:.
 * Split flowing fluids another time, as they have useless states: and.
 * Remove the unused fluid states: false for water and lava.

Lowercasing commands

 * Command arguments
 * NBT:

Splitting for statistics

 * Split potions another time, so that they are displayed separately in statistics (and allow different textures per potion).

Splitting for behavior

 * A number of entities should not use NBT data to determine which behavior is used. Split into separate entities.

Corrections

 * EntityTag should work on all entity-creating items.
 * NoAI
 * Should not ignore Motion and gravity (like in 1.10).
 * add a NoMotion tag
 * Should not make ender dragon flap wings (like DragonPhase:10)
 * should keep ender dragons damage-able.
 * Should make Boss bars update.
 * NoGravity should work on fishing bobbers.
 * results should be corrected.
 * IsBaby:0b should make zombies adult (splitting zombies would "fix" this).
 * Editing a skeleton or illusioner should not reset bow drawback.
 * Editing motion of player-ridden entities should be applied.
 * Editing a villager should not duplicates it's inventory.
 * Editing item frame rotation should update the redstone signal.
 * Editing riding mobs should not freeze them in place.
 * Client should be informed about arrow data being changed.
 * Editing a falling block's block should update the client.
 * Editing id should change what entity it is.
 * Editing killer rabbits to normal rabits should make them passive (splitting rabbits would "fix" this).
 * Editing container names should update already opened guis.
 * Mounting a mob, while it's edited, should not move you to 0 0 0.
 * Editing rotation on wither skulls/fireballs should change it.
 * Setting Age of items should not cause ghost items from /give.
 * Editing arrows should not make potion particles appear.
 * Editing HurtByTimestamp should change it.
 * Editing ender dragon should not have the chance to cause crashes.
 * Editing ActiveEffects should update rendering (like invisibility).
 * Editing a tamable mob’s owner should make it change who it listens to.
 * There should be a different error message when clickEvent run_command is too long. (Should return something like "Failed to run command: command too long".)
 * Scoreboard
 * Scores and teams should be saved by UUID so they don't get lost upon name changing.
 * Should track the data version so it can be upgraded with an upgrade path.
 * Teleporting to unloaded chunks is horribly broken and should be fixed.
 * Worldborder moves based on real time instead of game time and should stop when game is paused.
 * Some commands should allow multiple target entities:
 * Translation strings should have septate strings for plural.
 * Translation strings should have septate strings for gender.
 * Translation strings should have septate strings for plural.
 * Translation strings should have septate strings for gender.

Remaining JSON text components

 * Remaining plain text should be updated to allow json strings, so they can be colored and alike:
 * Splashes.
 * End poem.
 * Credits.
 * Book Author.
 * Book Title.
 * Subtitles.
 * Currently it's just a translation string rather than a json text component.
 * Resource pack Description.
 * Mainly for colors.
 * Data pack Description.
 * Mainly for colors.
 * Server motd=.

Attributes

 * A number of things are still hardcoded and should be controlled via attributes:
 * Mining speed.
 * Jump strength.
 * Damage reduction. (Resistance)
 * Swim speed.
 * Bow drawback speed.
 * Max passengers (on use/collision).
 * Fly speed (already exists but should be applied to dragons, bats, etc.).
 * Movement speed (already exists but should be applied to minecarts).
 * Attack Reach (affecting mobs and players).
 * Block Reach (affecting players placing/moving blocks (attribute modifier for creative mode)).

Redstone

 * Quasi connectivity should be removed, to make it consistent across platforms.
 * Redstone dust:
 * Top piece of staircase redstone dust should power blocks on the same height in the direction it is powered just like when it's connected to something on the other side.
 * Redstone dust unpowering is horribly laggy and should not be. (Maybe set the level to 2 if there are no neighbors that are higher and if there are, power again.)
 * Redstone components should not give block updates to non-solid blocks.
 * Sticky pistons should not leave the block if depowered too quickly, to make it consistent across platforms. (|"Allows tricking sticky pistons into dropping blocks (note that this behavior is technically a bug and not future proof anyway)")
 * Piston should only try to push upon powering, non-extended powered pistons should have to get repowered to extend. (Add powered state to pistons.)
 * Golden/iron pressure plates should be re-evaluated because of entity cramming. (See this comment.)
 * Block entities should become movable.

Structures

 * All old structures should be changed to structure and jigsaw blocks. (github)
 * A large hidden basement room and small hidden second floor room should be added to the woodland mansions. (These are the only room types it currently does not have.) (Maybe with illusioners? :) )

Changing to resource locations

 * Generated structures should be changed to resource location
 * Map icons should be changed to resource location
 * Gamerules should be changed to resource location

Other

 * Items in chests/inventories etc. should not snap to the mouse and then return to their slot. (Already done with "Curse of Binding")
 * Models:
 * Entity block models (chests, shulker boxes, skulls, etc.) should be remodel-able.
 * Villagers can equip armor in survival, but armor is invisible, should either not be possible or render.
 * Textures:
 * World border, enchantment glint and particle texture should be changed to the animated texture standard.
 * Particles, paintings and map icons should be split into 1 file per texture.