Minecraft Blogs / Article

Minecraft 1.19 | Technical Changes

  • 2,076 views, 2 today
  • 11
  • 4
  • 3
Bertiecrafter's Avatar Bertiecrafter
Site Moderator
Level 70 : Legendary Engineer
Oh yes, It's back again! This technical changelog features all the nerdy bits that nobody else bothers mentioning for data pack creators, map creators and the alike. It's only slightly late, but better late than never I suppose.


  • The darkness status effect is a cool visual effect. Main difference with blindness is that there is no circle of visibility around the player at all.
  • There is this funky Allay mob thing.
    • It follows players within a 64 block radius.
    • It tries to pick up items in a 32 block radius around a player.
    • It holds 1 stack of items at a time.
    • It seems to only distinguish based on item id, not item tag data.
    • If it hears a note-block, it will drop items there instead of at the player for 30 seconds.
    • If it hears a jukebox, it will start to dance and if then given an amethyst shard, the mob will duplicate! (1.19.1)
    • It seems like the item drop target can be changed using commands, but the 30 second cap seems hardcoded.
    • Note to Mojang: Giving more mobs this ever-bright skin like glow squids, doesn't make it any better. Give us actually glowing entities!
  • Boats with chests supporting loot tables! (Might surprise you, but was to be expected since we had chest minecarts with loot tables already)
  • doWardenSpawning gamerule. It does what it says.
  • /locate can now also find structures and other points of interest.
  • /place command can generate features, structures (world generation style), "templates" (= structure block files) and jigsaws (= like the "template" option, but also activates other jigsaw blocks within the generated structures recursively (≈ repeatedly), like mineshafts and villages)
  • New advancement triggers: allay_drop_item_on_block, avoid_vibration, kill_mob_near_sculk_catalyst, thrown_item_picked_up_by_player
  • Swift Sneak enchantment does exactly what you'd expect it to do.
  • Pretty much all chat is now encrypted during transmission. For all those times you're sharing your passwords and other sensitive information with people you've never met before. (Yeah.... Why did we need this instead of actually glowing entities?)
  • Servers can define their own chat formats (beyond the standard <Player> Message format)
  • Chat Preview, which is a privacy leak :D
    • Needs both the server and the client to enable this feature. Disable it now in the chat settings for the reasons below.
    • Since chat formatting is located on the server, your work-in-progress messages are being sent to the server as you type to create a preview which is sent back to the client. This is a problem, because it's only a matter of time until somebody writes a plugin to log this or show a live feed to moderators. (And if you never erased an unsent inappropriate message, because you had second thoughts, you're lying xD)
    • While on the topic, remember that admins and moderators can already spy on non-public messages sent with /msg, /tell, /t, etc.
  • New server settings: enforce-secure-profile (enforce encrypted chat), max-chained-neighbor-updates (no good description was given), previews-chat (see above)
  • Data pack and resource pack.mcmeta files now have a filter section that can disable files in any of the packs loaded "underneath". This allows you to e.g. disable some vanilla files (like recipes or sounds) without providing alternatives. This might create a bunch of errors if the filtered file is referenced by something.
  • World presets list can now be controlled by data packs!
  • There is now a new "Space" font type, which allows you to map "code points" to various width spaces without having to create a font image (bitmap) for it. There is only 1 use case for this: to make a resource pack that just contains various spaces.
  • Added the set_instrument item modifier function.
  • There should be proper 3D audio now (including other directions than just left/right), which needs to be enabled in the settings manually. Requires HRTF compatible audio hardware, which apparently can also be found in some headphones.
  • New particles: sculk_soul, shriek, sculk_charge_pops, sculk_charge, sonic_boom
  • Added LastDeathLocation tag to player NBT.
  • Added a whole bunch of item/block tags (the data pack list kind of tag, like #minecraft:mangrove_logs
  • Loot tables for slimes and magma cubes can now be dynamic based on their size, using new predicates.


  • Data pack format is now 10 and resource pack format is now 9.
  • Endermen, Skeletons and Wither Skeletons now spawn between lightlevels 0 and 11.
  • Custom dimension types now specify 2 more fields: monster_spawn_block_light_limit (minimum block light level to prevent spawning hostiles) and monster_spawn_light_level (overall light limit for monster spawning).
  • The H for "humidity"' on the F3 debug screen has been replaced with a V for "vegetation".
  • The integer "CatType" tag in the Cat NBT has been replaced with a string "variant" tag.
  • Renamed some game events (the events that are picked up by sculk sensors and allays), refer to the changelog for more info.
  • Predicates: "feature" field in location predicates has been replaced by "structure" field.
  • Prediates: player, fishing_hook, lightning_bolt, catType fields have been replaced by type_specific, which has a "type" field to define the type and the original fields that already existed for each of the types. (although catType now has a variant identifier instead of a texture file path). Also supports new frog (with variant field) and slime types (with size field)
  • Server setting level-type now supports setting specific world presets.
  • A whole bunch of item/block tags changed their contents. (And a handful changed their name too!)


  • Removed /placefeature in favor of /place structure
  • Removed /locatebiome in favor of /locate biome
  • The "dimension" folder is no longer present in the vanilla data folder (in the version .jar) for reference, but still works as normal for data packs.
  • Custom dimensions no longer have the Seed field. This means that data pack creators cannot set their own seed, it will always be matching the world seed (which allows for random dimension creation if the world uses a random seed).
  • Removed field "location" from advancement triggers location, slept_in_bed, hero_of_the_village, voluntary_exile in favor of the player.location field (that is: { player: { location: { ... }}}).
  • Removed rendering distance cycling hotkey F3 + F
  • The /particle command, when used with the vibration particle, no longer has extra source position parameters. Instead the regular position of the particle is used as source.
  • Removed "unemployed" and "nitwit" point_of_interest_types.
  • Removed Herobrine


  • Edits to entity data of paintings using commands should be visible immediately.
  • Caps lock key can now be used as a keybind (in the Controls settings page).
  • Server resource packs are now loaded before the player joins.
  • Multiple bossbars with notches now render correctly.
  • CTRL + Backspace can now delete entire words at once in the edit sign/book GUIs.
  • CTRL + Arrow keys can now jump across entire words in edit sign/book GUIs.
  • Connecting to Servers with SRV DNS records on a non-default port should now work.

Minecraft 1.19 | Technical Changes
Minecraft 1.19 | Technical Changes

Create an account or sign in to comment.

07/07/2022 8:31 am
Level 1 : New Miner
sobblepokemon's Avatar
07/05/2022 8:48 am
Level 84 : Elite Jarl
Aspirin60's Avatar
This is real work! Thanks for it! (c:
06/26/2022 2:12 pm
Level 67 : High Grandmaster Bear
Silabear's Avatar
Chat preview? Interesting…
Planet Minecraft


© 2010 - 2024