{
"title": "Minecraft 1.19.4",
"images": [
"1.19.4 banner.jpg",
"Java Edition 1.19.4.png"
],
"rows": [
{
"field": "''(link to Java Edition article, displayed as Java Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "March 14, 2023",
"label": "Release date"
},
{
"field": "<div class=\"hlist\"><span style=\"white-space:nowrap;\">(link to :Category:Java Edition 1.19.4 snapshots article, displayed as '''Snapshots''') (5) </span><br/><span style=\"white-space:nowrap;\">(link to :Category:Java Edition 1.19.4 pre-releases article, displayed as '''Pre-releases''') (4) </span><br/><span style=\"white-space:nowrap;\">(link to :Category:Java Edition 1.19.4 release candidates article, displayed as '''Release candidates''') (3) </span><br/>((link to Java Edition 1.19.4/Development versions article, displayed as View all))</div>",
"label": "<span style=\"white-space: normal;\">Development versions</span>"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/958928a560c9167687bea0cefeb7375da1e552a8/client.jar Client] ([https://piston-meta.mojang.com/v1/packages/84b7afa1277e39f0e7b2653673c741d5acac07b6/1.19.4.json .json])<br />[https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar Server]",
"label": "(link to Tutorial:Installing a version#Manual version installation article, displayed as Downloads)"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/f14771b764f943c154d3a6fcb47694477e328148/client.txt Client]<br />[https://piston-data.mojang.com/v1/objects/73c8bb982e420b33aad9632b482608c5c33e2d13/server.txt Server]",
"label": "(link to Obfuscation map article, displayed as Obfuscation maps)"
},
{
"field": "762",
"label": "(link to Protocol version article, displayed as Protocol version)"
},
{
"field": "3337",
"label": "(link to Data version article, displayed as Data version)"
},
{
"field": "13",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of pack formats article, displayed as Resource pack format)</span>"
},
{
"field": "12",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of pack formats article, displayed as Data pack format)</span>"
},
{
"field": "<span class=\"plainlinks\">[https://en.wikipedia.org/wiki/Java_version_history#Java_SE_17_.28LTS.29 Java SE 17]</span>",
"label": "<span style=\"white-space: normal;\">Minimum Java version</span>"
}
],
"invimages": [],
"footer": "<table style=\"margin: auto; word-break: break-word;\">\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\" >[[Java Edition 1.19|<span style=\"margin-right:-0.35em\">β</span>β 1.19]]</td>\n<td rowspan=\"2\" style=\"padding: 0.4em\">'''1.19.4'''</td>\n<td style=\"padding: 0.4em\" rowspan=\"2\">[[Java Edition 1.20| 1.20 <span style=\"margin-right:-0.35em\">βΊ</span>βΊ]]</td>\n</tr>\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\">\n[[Java Edition 1.19.3|β 1.19.3]]\n</td>\n</tr>\n</table>"
}
1.19.4 is a minor update to Java Edition released on March 14, 2023,[1] which adds the /ride and /damage commands, makes technical changes, and fixes bugs.[2]
Aside from the aforementioned changes, this version also released more features for 1.20 under an "Experimental" toggle. This is the first version released in 2023.
Including block display, item display, and text display (block_display, item_display, and text_display), for flexible display of blocks, items and text.
Like marker (marker), don't tick and have no collisions or physics.
Models render at entity position, with normal rotation around X and Y axis (so it can be controlled by teleport commands), but also with additional arbitrary model transform.
2 new data types added, each of them has 2 forms, but only one for saving, as following:
rotation
Quaternion form (used for saving): array of 4 numbers, describing components (x, y, z, w).
Axis-angle form: object with following fields:
axis: 3D vector.
angle: Angle in radians.
transformation: Arbitrary affine transform, composed as following fields and following order:
Matrix form: array of 16 numbers, describing row-major matrix.
Decomposed form (used for saving): object with following fields:
translation: 3D vector.
left_rotation: rotation object.
scale: 3D vector.
right_rotation: rotation object.
Some properties of display entites can be interpolated, to create gradual changes over time for clients, instead of instantenous jumps.
Display entities keep track of current and previous values of interpolated values:
All properties marked as "interpolated" are part of a single interpolation set.
Any update to interpolated property causes all values of interpolation set to be saved as "current".
Data command executions that do not change value of property (even if it's present in NBT) do not count as updates.
Updates are synchronized to clients at most once per tick, so multiple updates within command still count as single update.
Previous current values are saved as "previous".
If interpolation is enabled, entity transitions between "previous" and "current" values over time.
Start of interpolation (entity fully in "previous" state) is defined by field interpolation_start (game time, in ticks).
Set to -1 to load current game time instead.
When a new interpolation is started, it starts from the current state.
Interpolation always starts at the beginning on client tick.
Field interpolation_start is replaced with start_interpolation, with a different meaning.
start_interpolation describes amount of ticks from the start of next client tick after receiving an update to start of interpolation.
For example, value 0 means that interpolation starts at the beginning of next client tick after receiving the update.
start_interpolation is not stored in entity data.
When using /data commands, if interpolated value is updated, but start_interpolation is not present in modified tag, interpolation continues from the time of previous update, but with new values.
End of interpolation (entity fully in "current" state) is defined as interpolation_start + interpolation_duration (in ticks).
Every entity in family has the following fields:
transformation: transformation applied to model (after normal entity orientation). Defaults to identity. Interpolated.
billboard: option to control if entity should pivot to face player when rendered:
fixed: No rotation (default).
vertical Entity can pivot around vertical axis.
horizontal Entity can pivot around horizontal axis.
center Entity can pivot around center point.
brightness: If present, overrides light values used for rendering. Omited by default (which means rendering uses values from entity position). Object has two fields:
sky: Value of skylight, from 0 to 15.
block: Value of block light, from 0 to 15.
view_range: Maximum view range of this entity. Actual distance depends on client-side render distance and entity distance scalling. Default value 1.0 (roughly the same as fireball).
shadow_radius: Size of shadow. Defaults to 0 (no shadow). Interpolated.
shadow_strength: Strength of the shadow. Controls the opacity of the shadow as a function of distance to block below. Defaults to 1. Interpolated.
width, height: Describe size of culling bounding box. Bounding box spans vertically y to y+height and horizontally width/2 in all directions from entity position. If either field is set to 0, culling is disabled. Both default to 0.
glow_color_override: Override glow border color. Defaults to 0 (use team color).
Besides common fields, these entity types also have some exclusive fields for their different usages:
Item display (item_display): Displays a single item stack (stack can be changed with commands by setting slot inventory.0).
item: Item stack to display. Same format as in inventory.
Example: {id: "minecraft:dirt", Count: 1}
item_display: Describes item model transform applied to item (as defined in display section in model JSON)
Block display (block_display): Displays a block state, does not display block entities, even if they would normally be created on block placement (like chest).
block_state: Block state to display. Same format as item held by endermen.
Example: {Name:"minecraft:dirt"} .
Text display (text_display): Displays a text component (backgrounds uses new shader types rendertype_text_background, and rendertype_text_background_see_through).
text: Text to display. Components are resolved with the context of the display entity.
line_width: Line width used to split lines (note: new line can be also addded with \n characters). Defaults to 200.
text_opacity: Opacity (alpha component) of rendered text. Defaults to 255. Interpolated.
background: Color of background. Includes alpha channel. Defaults to 0x40000000. Interpolated.
default_background: If true, rendering uses default text background color (same as in chat). Defaults to false.
shadow: Should text be displayed with shadow. Defaults to false.
see_through: Should text be visible through blocks. Defaults to false.
Added an accessibility onboarding screen for players launching the game for the first time, which allows players to turn on the narrator and change accessibility settings if needed.
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 their value.
Added a new "Notification Time" accessibility option, to change how long the notifications such as unlocked recipes, advancements, subtitles and selected item names are visible.
Added "Glint Speed" and "Glint Strength" accessibility/video options for adjusting the speed and transparency of enchantment glints.
Added "Damage Tilt" accessibility option, for controlling the amount of camera shake when being hurt.
Added tooltips in the Key Binds options screen that specifies which key binds are conflicting.
Added "High Contrast" accessibility option, which enhances the contrast of UI elements.
Added "Credits & Attribution" button in the options menu.
... loaded <pos>: checks if the position given is fully loaded (in regard to both blocks and entities).
pos: block position to check.
... dimension <dimension>: checks if the execution is in a matching dimension.
dimension: a dimension ID.
New sub-command: on, for selecting entities based on relation to the current executing entity, syntax:
... on (attacker|controller|leasher|owner|passengers|target|vehicle) -> execute
attacker: last entity that damaged the executing entity in the previous 5 seconds.
controller: entity that is controlling the executing entity (for example: first passenger in a boat).
leasher: entity leading the executing entity with a leash (might be a leash knot in case of being attached to a fence).
owner: owner of the executing entity, if it is a tameable animal (like cats, wolves or parrots).
passengers: all entities directly riding the executing entity (no sub-passengers).
target: attack target for the executing entity.
vehicle: 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.
New sub-command: summon, with the following syntax:
... summon <entity> -> execute
This sub-command is for summoning new entity and binding context (@s) to it. Meant to simplify entity setup and reduce need for raw NBT editing.
New sub-command: positioned over, for finding positions on top of a heightmap. Changes the height of the execution position to be on top of the given heightmap. Syntax:
... positioned over <heightmap> -> execute
<heightmap>: A heightmap records the highest position in a column of blocks according to some criteria. Available options:
world_surface: Any non-air block.
motion_blocking: Any motion blocking material (e.g. ignores flowers and grass).
motion_blocking_no_leaves: Any non-leaf motion blocking material.
ocean_floor: Any non-fluid motion blocking material.
Added a new relation origin for /execute on, which can select:
When breeding horses and the like, the babies' speed, jump height and health are no longer biased toward the average, and are instead a variation of the average of the parents' statistics.
This change is intended to make horse breeding a viable way of getting great horses, if a player starts with good parents and puts in enough time and golden carrots.
Removed is_projectile, is_explosion, bypasses_armor, bypasses_invulnerability, bypasses_magic, is_fire, is_magic, and is_lightning fields from damage type predicates.
A new tags array has been added. Each entry has two fields:
id: The ID of a damage type tag.
expected: Whether the damage is expected to have or not have the tag for the predicate to match.
Protocol
Clients now reset their secure chat session state when receiving the login packet.
Can be crafted with any 4 pottery shards or brick items, in a rhombic crafting configuration.
The type of crafting material decides which picture displays on its respective side of the decorated pot (e.g. an "arms up" pottery shard in the top slot displays on the back).
The brick item doesn't have a picture, and is instead blank.
Very fragile and easy to break.
Break apart into its crafting materials when broken using any block-breaking tool.
Drop itself when broken using an empty hand or a block-breaking tool with Silk Touch, or when moved by pistons.
Added registry trim_pattern and trim_material, which defines trim patterns and materials respectively, to allow add them via data packs.
These are synchronized to clients when they join the server, but the accompanying resource pack is required on client to make them visible.
The paths to these textures are inferred based on the filename of the pattern json, and try to find the textures within the same namespace as the trim pattern's name field.
trim_pattern defines following data:
asset_id: a namespaced ID used to infer texture locations and localization.
template_item: the ID of the smithing template item used to apply the trim pattern.
description: a text component used for displaying the pattern name of an armor trim when hovering an armor item stack.
trim_material defines following data:
asset_name: a string used as a suffix for armor trim texture locations.
ingredient: the ID of the ingredient item used to apply the trim material.
item_model_index: a float number which defines the item model override each armor item model should target to change their visuals for this material.
description: a text component used for displaying the material name of an armor trim when hovering an armor itemstack.
The style defined in this description is applied to the armor trim pattern description as well.
override_armor_materials: an optional map of armor material to overriden color palette.
Map key is the armor material that this trim material wants to override with a different color palette.
Map value is the name of the color palette that is used when this trim material is applied to an armor piece with the corresponding armor material.
Added paletted_permutations, which is a new type of atlas configuration source used to dynamically generate new textures in memory based on a set of color palettes.
Color palettes allows to swap out the colors of a texture without having to supply all files for the variants of a texture in a resource pack.
This is useful for things like armor trims. It can change the their color directly without create a new texture for each color.
The paletted_permutations source has a set of required parameters:
textures: a list of namespaced locations of base textures.
These textures are used to generate variants of them that have been modified by color palettes.
palette_key: a namespaced location of a color palette key file.
A color palette key is used to define the set of key pixel colors we want to swap out with the color palettes defined below.
permutations: a map of permutations from suffix to a namespaced location of a color palette file.
The suffix is appended at the beginning to the resource location of the output variant textures, with a _ character separating the suffix and the base texture name.
The color palette is a texture file with a set of pixels that are used for replacing pixels that match the color palette key in each base texture.
The number of pixels in each color palette must be the same as that of the palette_key defined for this source.
Key matching is done by comparing the RGB values of each pixel in the palette_key to the RGB values of each pixel in the color palette.
Alpha channel is ignored for key matching, but in the resulting texture the alpha channel is multiplied with the color palette's alpha channel.
Pixels that do not match the palette_key are copied over to the resulting texture as-is.
After defining a paletted_permutations source, those namespaced output textures can be referenced in other resources in resource pack.
For example, if the following paletted_permutations source exists:
Redesigned: it is now a workstation for physical equipment upgrades and modifications.
Added a slot used by smithing templates to the left of the old 2 slots.
Smithing templates define what type of upgrade will be made to the equipment.
It specifies both what type of items that can upgrade, and which ingredients are valid to customize the upgrade.
Netherite equipment crafting now also requires a netherite upgrade smithing template.
Two menu types:
Old menu without the smithing template slot has been renamed to legacy_smithing, and will be removed when armor trims are no longer an experimental feature.
New menu with smithing template slot was added, called smithing.
MC-209622 β Sculk sensors do not detect item frame / glow item frame interactions.
MC-209896 β Sculk sensors are not activated upon placing glowstone into respawn anchors.
MC-209907 β Sculk sensors are not activated upon attaching or removing leads from fences.
MC-209929 β Sculk sensors are not activated upon filling composters.
MC-210276 β Sculk sensors are not activated upon trampling farmland.
MC-210294 β Sculk sensors are not activated upon mounting or dismounting any non-biological entities.
MC-210334 β Sculk sensors are not activated upon sheep being dyed.
MC-210707 β Sculk sensors are not activated upon closing chest boats, chest rafts, or chest minecarts.
MC-210715 β Sculk sensors are not activated upon attaching or removing leads from entities.
MC-210816 β Sculk sensors are not activated upon breaking shulker bullets.
MC-211071 β Some words within /spreadplayers command feedback messages are always pluralized.
MC-211194 β Debug worlds are shown as being created in the incorrect game mode.
MC-212501 β Sculk sensors are not activated upon collecting books from lecterns.
MC-213803 β Sculk sensors are not activated upon harvesting glow berries from cave vines.
MC-215767 β Sculk sensors do not detect turtles laying an egg.
MC-216270 β It's not possible to replace armor by right clicking while holding the armor item.
MC-222518 β Skeleton/Zombie Horse's & Donkey/Mule's saddles and chests are outdated/have errors.
MC-224960 β The /spectate command does not work between dimensions.
MC-226729 β Memory leakage problem in native operations.
MC-229293 β Casting issue: Broken blocks drop items in the wrong position at high distances.
MC-230678 β Cauldron fills with powder snow in frozen ocean biome while it's visually raining.
MC-233893 β Burning mobs won't get extinguished by rain in warm patches of Frozen Ocean biome.
MC-233972 β Text can appear outside of buttons in the key binds menu when assigning keys to functions or when multiple functions are assigned to the same key.
MC-235260 β Hopper minecart at (0, 0, 0) transfers items slower than normal.
MC-236988 β Sculk sensors are not activated upon using shears on cave/twisting/weeping vines or kelp.
MC-237450 β The "Simulation Distance" text can appear outside of its slider.
MC-237879 β Sculk sensors are not activated upon villagers working with composters.
MC-238920 β Soul campfire recipe unlocks when obtaining a stick.
MC-247836 β Riptide doesn't work in rain within a frozen ocean biome.
MC-248249 β minecraft:forest_rock feature does not work correctly when used with /place.
MC-249878 β Text can appear outside of the "Device" button within the music and sound options menu.
MC-254132 β Wolves do not get wet when raining in Frozen Oceans.
MC-257082 β Sprinting whilst riding an entity or flying with elytra changes your field of view.
From 1.19
MC-250486 β Error saving GUI scale option when toggling fullscreen while fullscreen resolution is changed.
MC-251917 β No gear equipping sound or subtitle when a shield is placed into the offhand slot.
MC-251934 β Sculk sensors are not activated upon frogs laying frogspawn.
MC-252434 β Sculk sensors are activated when interacting with fences while holding leads.
MC-252461 β Goat not shown in extended death message.
MC-252625 β Frogs play a running animation after the NoAI NBT is applied.
MC-252773 β Goat Horn without instrument NBT and with other NBT data (such as text) does not play.
MC-253210 β Goats will panic when receiving fall damage.
MC-253211 β Frogs will panic when receiving fall damage.
MC-254074 β Frogs don't play their walking animation when they take damage.
MC-254615 β First-person fire renders behind water.
From 1.19.2
MC-255060 β Some words within /function and /schedule command feedback messages are always pluralized.
MC-255087 β Some words within /worldborder command feedback messages are always pluralized.
MC-255545 β Magma Cube shadows do not change with size.
MC-255811 β Level#isRainingAt(BlockPos) always returns false for snowy and frozen biomes, even when it is raining.
MC-256270 β Some words within some multiplayer command feedback messages are always pluralized.
MC-256292 β Goats don't spawn on grass after initial world generation.
MC-256650 β Frogs don't have smooth transitions to their idle states when they stop moving.
MC-257028 β Eating chorus fruit and looking down in a boat desynchronizes player position.
MC-257464 β Axolotl walking animation stutters when moving slowly.
MC-257558 β Sculk sensors are activated upon interacting with minecarts with hoppers.
MC-257755 β Elements within the Realms menu are not selected in order when using the key if you're not currently a member of any realm.
MC-257784 β Some words within some realms strings are always pluralized.
MC-257873 β Swapping an armor piece with an armor piece of the same type doesn't play its equipping sound.
MC-258156 β The Warden does not deal the same amount of damage to the player and entities in difficult mode.
MC-258242 β Checkerboard biome sources using biome tags do not generate features, and structures cannot be located.
From 1.19.3
MC-256465 β Baby camels can enter boats despite adult camels not being able to.
MC-256479 β Camels don't play their walking animations when they are damaged.
MC-256484 β Sitting camels don't stand up and begin following players that are tempting them with their favorite food.
MC-256489 β Sitting camels that are in love don't attempt to stand up and approach one another to breed.
MC-256493 β Camels don't have smooth transitions to their idle states when they stop moving.
MC-256530 β The camel's AI is slower to find its way after being hurt than other creatures.
MC-256555 β Camel sits down for a split second when spawned.
MC-256576 β Players become the controlling passengers of unsaddled camels when mounting them while other players are already riding them.
MC-256664 β Camels play their walking animations after the NoAI NBT tag is applied to them.
MC-256731 β The sounds of camels recovering aren't controlled by the "Friendly Creatures" sound slider.
MC-256838 β The facing direction of the camel doesn't match.
MC-256861 β Camels panic when receiving fall damage.
MC-257009 β When creating a Debug Mode world, there is no Data Packs option.
MC-257282 β Allays sometimes have a several-second delay before deciding to follow the player.
MC-257346 β Vexes with empty hand make obscene gesture.
MC-257418 β Camels sometimes sit down for a split second when receiving damage.
MC-257875 β Fire charges aren't consumed when igniting creepers using them in survival or adventure mode.
MC-258163 β ClientboundSectionBlocksUpdatePacket serialization breaks after 2^19 block states.
MC-258173 β Entering an End Portal whilst sleeping causes the bed to be occupied permanently.
MC-258246 β "Telemetry Data" button is missing an ellipsis.
MC-258295 β Villager AI broken when workstation is nearby.
MC-258430 β Camels with large LastPoseTime values offset the player view model strangely.
MC-258457 β Resource Pack won't load if it contains reference to non-existing particles.
MC-258459 β Invalid forced resource pack can cause infinite reload loop on client.
MC-258561 β Endermen teleport away instead of taking damage from end crystal, TNT and wither skull explosions.
MC-258580 β Player is kicked from a server for flying in death screen when dying on a Horse or Camel.
MC-258592 β You can select multiple text fields inside the gamerules menu.
MC-258622 β Fire charge isn't in the Ingredients tab in creative inventory.
MC-258624 β The Title Screen Warning menu doesn't disappear after the player respawns.
MC-258625 β Client-side death messages disappear as soon as the "Respawn" button is pressed even if the player remains on the death screen due to lag.
MC-258669 β Warning Menu when import generation data for a new world does not react when click "Yes".
MC-258697 β Invalid translation of translationKey=narration.suggestion in command block GUI.
MC-258902 β Opening a lectern on Adventure mode and closing it causes inventory desyncs.
MC-258907 β Advancement trigger player_interacted_with_entity doesn't work with area_effect_cloud entity when used glass_bottle item on it.
MC-258953 β Out of memory screen has raw message in the title.
MC-259107 β Opening the crafting recipe book selects the recipe that appears under the mouse cursor.
MC-259241 β Turtles can spawn inside each other causing them to get stuck and play constant sounds.
MC-259666 β Reloading a resource pack that has a custom texture atlas for a second time causes severe FPS lag on the client.
MC-259702 β The death.attack.hotFloor.player string is missing an article before the word "danger".
MC-259714 β Death messages relating to dragons' breath aren't possessive.
MC-259715 β The death.attack.message_too_long string is missing an article before the word "message".
MC-259797 β Z-fighting occurs on the bottom of boots.
MC-259920 β The ITEM_INTERACT_FINISH game event overrides other game events causing several actions to not produce their intended vibration frequency.
MC-260764 β Right-clicking will focus text fields.
MC-260765 β Right-clicking will move packs in the pack edit screen.
MC-260774 β Players are kicked from server environments due to chat message validation failures when attempting to type in chat after having previously altered chat settings.