Java Edition 23w03a

23w03a is the first snapshot for Java Edition 1.19.4, released on January 18, 2023, which adds the command and new menu screen interaction methods, makes technical changes, and fixes bugs.

Command format

 * Game rule
 * Added, defaults to.
 * Controls the maximum number of blocks changed in one execution of, , and commands.


 * A new command to allow entities to start or stop riding other entities, syntaxes:
 * : makes a single target mount a single vehicle, will fail if:
 * is a player;
 * is already riding a vehicle;
 * and are the same entity;
 * is already a passenger (direct or indirect) of.
 * : dismounts from any vehicle it is riding, will fail if  is not riding anything.
 * : dismounts from any vehicle it is riding, will fail if  is not riding anything.

General

 * Menu screen
 * Added an accessibility onboarding screen for players launching the game for the first time.
 * Added arrow key navigation.
 * Menu screens can now be navigated by using the arrow keys.
 * When navigating with arrow keys, sliders need to be activated by pressing or  to start changing the value.


 * Options
 * Added a new "Notification Display Time" accessibility option, to change how long the notifications such as unlocked recipes, advancements, subtitles and selected item names are visible.


 * Protocol
 * Added a network protocol feature for forcing bundle of packets to be processed within same client tick.
 * Added new delimiter packet to clientbound game protocol.
 * All packets between two delimiters are guaranteed to be processed within same tick.
 * For security reasons this feature is not supported in serverbound direction.


 * Tag
 * Added following biome tags:
 * : contains.
 * Fire will burn out faster in these defined biomes.
 * : contains.
 * Snow golems will melt in these defined biomes.
 * : contains.
 * Snow foxes will spawn in these defined biomes.
 * : contains.
 * White rabbits will spawn in these defined biomes.

Mobs

 * Donkey, Mule, Skeleton Horse, and Zombie Horse
 * Changed their textures.


 * Vex
 * Now use a separate charging animation when empty-handed.

Non-mob entities

 * Armor Stand
 * Now preserve custom names when placed and broken.

Command format

 * Chat component
 * Added an optional field to  text components.
 * The new field is a string that will be used in place of translation if it is missing.
 * If is missing, the old behavior (i.e. using the key itself as the translation) is preserved.
 * Out-of-bound arguments in formats are no longer silently ignored.


 * Now supports specifying the source and target dimensions, new syntax:
 * : ID of dimension to clone from.
 * : ID of dimension to clone to.
 * : ID of dimension to clone from.
 * : ID of dimension to clone to.


 * New source available, to read a value as text and resulting in a string value, syntax:
 * : index of first character to include at the start of the string.
 * : index of the first character to exclude at the end of the string.
 * : index of first character to include at the start of the string.
 * : index of the first character to exclude at the end of the string.


 * On, new conditions available:
 * : checks if the position given is fully loaded (in regard to both blocks and entities).
 * : block position to check.
 * : checks if the execution is in a matching dimension.
 * : a dimension ID.
 * New sub-command:, for selecting entities based on relation to the current executing entity, syntax:
 * : last entity that damaged the executing entity in the previous 5 seconds.
 * : entity that is controlling the executing entity (for example: first passenger in a boat).
 * : entity leading the executing entity with a leash (might be a leash knot in case of being attached to a fence).
 * : owner of the executing entity, if it is a tameable animal (like cats, wolves or parrots).
 * : all entities directly riding the executing entity (no sub-passengers).
 * : attack target for the executing entity.
 * : entity that the executing entity is riding.
 * If the relation is not applicable to the executing entity or there are no entities matching it, selector returns zero elements.
 * : entity that the executing entity is riding.
 * If the relation is not applicable to the executing entity or there are no entities matching it, selector returns zero elements.


 * All time arguments to are now time durations and work with  suffixes.
 * All time arguments to are now time durations and work with  suffixes.


 * The duration of the weather change now matches the game's regular weather cycle if not specified.
 * The parameter is now a time duration in ticks and works with  suffixes.
 * To retain existing functionality, you need to add an suffix to pre-existing commands.
 * To retain existing functionality, you need to add an suffix to pre-existing commands.

General

 * Data pack
 * The version is now.
 * Custom biome
 * Removed precipitation type field.
 * Added boolean field.


 * Menu screen
 * The resource pack screen is now keyboard-navigatable.


 * Options
 * Auto-Jump is now off by default.


 * Protocol
 * Clients now reset their secure chat session state when receiving the login packet.


 * Tag
 * Added to the  block tag.
 * Renamed biome tag to the.


 * UI
 * Slightly moved the search icon on the recipe book UI.

General

 * Tag
 * Added following item tag:
 * : contains.

Blocks

 * Head
 * They can be placed on top of note blocks without sneaking now.

Video
Video made by slicedlime: