Java Edition 24w09a
Minecraft 24w09a


| Edition | |||||||
|---|---|---|---|---|---|---|---|
| Release date |
February 28, 2024 | ||||||
| Type | |||||||
| Snapshot for | |||||||
| Downloads | |||||||
| Obfuscation maps | |||||||
| Protocol version |
dec: 1073742002 | ||||||
| Data version |
3819 | ||||||
| Resource pack format |
28 | ||||||
| Data pack format |
33 | ||||||
| Minimum Java version | |||||||
| |||||||
{
"title": "Minecraft 24w09a",
"images": [
"24w09a.jpg",
"Java Edition 24w09a.png"
],
"rows": [
{
"field": "''(link to Java Edition article, displayed as Java Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "February 28, 2024",
"label": "Release date"
},
{
"field": "(link to Snapshot article, displayed as Snapshot)",
"label": "(link to Version types article, displayed as Type)"
},
{
"field": "(link to Java Edition 1.20.5 article, displayed as 1.20.5)",
"label": "Snapshot for"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/4544bfaa1bc97e8aa7aeefc7fba7ecd1d0bb030d/client.jar Client] ([https://piston-meta.mojang.com/v1/packages/dc6fd93b4a4856000343557281a47c27192cdd3b/24w09a.json .json])<br />[https://piston-data.mojang.com/v1/objects/7c70922198a2d18e0252c315b55623b822b4e910/server.jar Server]",
"label": "(link to Tutorial:Installing a snapshot#Manual version installation article, displayed as Downloads)"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/6bd839e62ab30631f592d5179d42bc2a01f2c085/client.txt Client]<br />[https://piston-data.mojang.com/v1/objects/0ab6bb5b2e77137e7a2caf4d0159b19d22f7c9f3/server.txt Server]",
"label": "(link to Obfuscation map article, displayed as Obfuscation maps)"
},
{
"field": " <span style=\"font-size:smaller\"><abbr title=\"decimal\">dec</abbr>: </span>1073742002<br /> <span style=\"font-size:smaller\"><abbr title=\"hexadecimal\">hex</abbr>: </span>400000B2",
"label": "(link to Protocol version article, displayed as Protocol version)"
},
{
"field": "3819",
"label": "(link to Data version article, displayed as Data version)"
},
{
"field": "28",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of resource pack formats article, displayed as Resource pack format)</span>"
},
{
"field": "33",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of data pack formats article, displayed as Data pack format)</span>"
},
{
"field": "<span class=\"plainlinks\">[https://en.wikipedia.org/wiki/Java_version_history#Java_SE_17 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.20.4|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.20.4]]</td>\n<td style=\"padding: 0.4em\">'''[[Java Edition 1.20.5|1.20.5]]'''</td>\n<td style=\"padding: 0.4em\" >[[Java Edition 1.20.6| 1.20.6 <span style=\"margin-right:-0.35em\">►</span>►]]</td>\n</tr>\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\">\n[[Java Edition 24w07a|◄ 24w07a]]\n</td>\n<td style=\"padding: 0.4em\">''' 24w09a'''</td>\n<td style=\"padding: 0.4em\">\n[[Java Edition 24w10a| 24w10a ►]]\n</td>\n</tr>\n</table>"
}
24w09a is the tenth snapshot for Java Edition 1.20.5, released on February 28, 2024,[1] which is slightly larger than a typical snapshot with many technical changes, improvements to wolf armor and the UI, tweaks to experimental features, and bug fixes.
Additions
Command format
- Added
minecraft:set_componentsfunction.- Adds or replaces the given component on the input item.
conditions: list of conditions (default:[]):- Conditions to check before applying the function.
components: map of component id to component value (format varied by id).- Components with a
!prefix (e.g."!minecraft:damage": {}) cause this component to be removed.
- Components with a
- Added
minecraft:copy_componentsfunction.- Copies components from a specified source onto an item.
- This is now used in the Vanilla pack in place of the
minecraft:copy_nameandminecraft:copy_nbtfunctions. conditions: list of conditions (default:[]):- Conditions to check before applying the function.
source: source type to pull from.- Currently, can only and must be
"block_entity".
- Currently, can only and must be
components: list of component ids to copy.
General
- Added "Menu Background Blurriness" in accessibility settings.
- Defaults to 50%.
- Added the
#bypasses_wolf_armordamage type tag: contains#bypasses_invulnerability,cramming,drown,dry_out,freeze,in_wall,indirect_magic,magic,outside_border,starve,thorns, andwither.- Controls which damage types bypass wolf armor.
Changes
Items

- Wolf armor protects the wolf from most damage sources until the armor loses all durability and breaks.
- Shows signs of increased breakage as durability goes down.
- The wolf's owner can repair the armor with armadillo scutes while it is equipped on the wolf.
- Wolf armor can be dyed in similar fashion to leather armor.
Command format
General
- Unstructured NBT data attached to stacks of items (
tagfield) has been replaced with structured 'components'.- This data is parsed and validated when the item is loaded.
- This should improve performance in certain scenarios (e.g. armor trim rendering) when item data was frequently compared or requested and parsed.
- Custom data can still be stored in the
minecraft:custom_datacomponent. - This change has been made in order to:
- Improve performance in cases where the game needs to frequently look up some property of an item (e.g. armor trims rendering every frame).
- Validate item properties at load time, enabling easier identification of invalid data in commands and data packs.
- This should avoid any 'silent' breakages in commands specifying custom item data for any potential future format changes.
- Continue to evolve the game to enable the creation of dynamic content.
- Item types (e.g.
minecraft:stick) hold a set of default components on an item that individual item stacks can override. - Commands such as
/give,/item,/loot, and/clearhave updated item syntax. - Components can now be specified after the item name in square brackets.
- Components are assigned with an = (e.g.
wooden_pickaxe[damage=23]). - Components are comma-separated (e.g.
netherite_hoe[damage=5,repair_cost=2]).
- Components are assigned with an = (e.g.
- Component types are autocompleted, but values themselves are not.
- Values however are validated, and the command fails to parse if the component is improperly specified.
- e.g.
/give @s wooden_pickaxe[damage=-34]is not valid.
- e.g.
- The pre-existing NBT syntax (
{...}) must now be specified with theminecraft:custom_datacomponent.- e.g.
/give @s stick{foo:'bar'}is equivalent to/give @s stick[custom_data={foo:'bar'}]. - If both
[...]and{...}are specified,[...]must be ordered before{...}.
- e.g.
- Item predicate arguments (in
/clear) have new semantics with respect to matching components and custom data.- Each specified component must be present on the target item, and have an exactly equal parsed value.
- Components with default values (e.g.
damage=0by default) automatically exist on the target item if not specified.- As such,
/clear @s diamond_pickaxe[damage=0]matches only undamaged diamond pickaxes. - On the other hand,
/clear @s diamond_pickaxematches any diamond pickaxe, irrespective of damage.
- As such,
- Exact matching of component values applies even for the
minecraft:custom_datacomponent. - However, the
{...}syntax for custom data still uses the pre-existing partial matching behavior for NBT.- This means that all tags specified in the predicate must be present on the target item, but additional tags on the target item are ignored.
- Lists in the target must contain all list-items specified in the predicate, but additional list-items are ignored.
- The format of serialized items and items in data packs has been updated for consistency and to support components.
- When advanced tooltips are enabled (F3+H), the number of components is displayed instead of number of tags.
- Default component values for items are now listed in
items.jsongenerated inreportsdirectory. - Block definitions are now added to
blocks.jsonreport (note: those definitions are not used yet and present only for informational purposes). - The
ignoreTagsfield on villager trades has been removed and replaced by a component predicate on damage. - If the
key_itemfield of a vault block is not present, the vault cannot be unlocked.
minecraft:set_nbtandminecraft:copy_nbtfunctions have been renamed tominecraft:set_custom_dataandminecraft:copy_custom_datarespectively.- These now apply to the
minecraft:custom_datacomponent of the target item.
- These now apply to the
minecraft:set_attributesfunction has been updated.- The modifier
slotfield now supportsany,armor, andhandvalues. - The modifier
operationvalues have been renamed:addition->add_valuemultiply_base->add_multiplied_basemultiply_total->add_multiplied_total
- The modifier
Item stack format
- Along with format changes due to components, the structures of item stacks on disk and in data packs have been updated for consistency.
- Previous
id(string) andCount(byte) fields have been replaced withid(namespaced string) andcount(integer) fields.- This format is additionally applied to the
iconfield in advancements, items in chat component hover events, and theresultfield in smelting recipes (resultandcountare no longer inlined).
- This format is additionally applied to the
- The
countfield is optional (defaults to1), and no longer stored if default.- Stack size is now limited to the maximum stack size of the item.
- The
tagfield has been removed, and any remaining contents end up in theminecraft:custom_datacomponent when upgrading. - A new
componentsfield stores all components attached to an item.- Format: map of component id to component value (varies by component id).
- e.g.
{..., components: {'minecraft:damage': 12</code>. - Components with a
!prefix (e.g."!minecraft:damage": {}) cause this component to be removed.
- e.g.
- Components equal to their default value aren't stored.
- Format: map of component id to component value (varies by component id).
- The item stack format no longer represents empty stacks (
airitem, orcount0).- Instead, in places that support it, the field should be ommitted.
- In some cases, such as lists of stacks (e.g.
HandItemsin living entities), an empty map ({}) is used to represent empty stacks.
Predicate format
- Item predicate format has been updated:
tagfield has been removed.itemsfield now supports a single entry, hash-prefixed item tag, or list of items.potion->potions, and supports a single entry, hash-prefixed potion tag, or list of potions.nbtpredicate has been renamed tocustom_dataand now matchesminecraft:custom_datacomponent.- A new optional
componentsfield matches exact components.- All specified components must be present an exactly equal on the target item, but additional components may be ignored.
- Components with defaults are assumed to exist on the target item if not specified.
- Format: map of component id to component value (varies by component id).
- e.g.
"components": { "minecraft:damage": 0 }matches only undamaged items.
- e.g.
- Block predicate format has been updated:
tagfield has been removed.blocksfield now supports a single entry, hash-prefixed block tag, or list of blocks.
- Fluid predicate format has been updated:
tagfield has been removed.fluid->fluids, and supports a single entry, hash-prefixed fluid tag, or list of fluids.
- Entity predicate format has been updated:
typefield now supports a single entry, hash-prefixed entity type tag, or list of entity types.
- Location predicate format has been updated:
biome->biomes, and supports a single entry, hash-prefixed biome tag, or list of biomes.structure->structures, and supports a single entry, hash-prefixed structure tag, or list of structures.
Other format changes
- Tipped arrows no longer store their applied potion effects.
- This is instead fetched from their held
item.
- This is instead fetched from their held
- Area effect clouds now store potions in the same format as the
minecraft:potion_contentscomponent in apotion_contentsfield:Potion->potion_contents.potionColor->potion_contents.custom_coloreffects->potion_contents.custom_effects
- Banners now store applied patterns in the same format as the
minecraft:banner_patternscomponent in apatternsfield:Patterns[].Pattern(string short id) ->patterns[].pattern(string pattern registry id)Patterns[].Color(integer dye id) ->patterns[].color(string dye name)
- Beehive format has also been updated:
Bees[].EntityData->bees[].entity_dataBees[].TicksInHive->bees[].ticks_in_hiveBees[].MinOccupationTicks->bees[].min_ticks_in_hiveFlowerPos->flower_pos
- Villager trades can be configured to accept only undamaged items by selecting for
'minecraft:damage': 0- By default, if no components are specified, any item is accepted (similar to
componentsfield in item predicates).
- By default, if no components are specified, any item is accepted (similar to
- Modifier operations have been renamed:
add->add_valuemultiply_base->add_multiplied_basemultiply->add_multiplied_total
- Can now be used without specifying the player (assuming
@s) and without specifying the mixer (assumingmaster).
Gameplay
Creative mode
- Ctrl+pick blocking a renamed block (such as a chest) in Creative mode now gives a renamed item.
- The projectile weapon enchantments Infinity, Flame, Multishot, Piercing, Power, and Punch now work on both crossbows and bows, if placed onto the alternative weapon using data manipulation or a change to the
enchantable/*tags.
General
- The data pack version is now 33.
- Loot table entry with id loot_table now also accepts inline loot tables.
- Loot table entry
loot_table(which returns all items from provided nested loot table) now has the following syntax:value- can be either:- namespaced id - reference to another named loot table.
- full loot table (same format as in standalone file).
- Loot table entry
- The resource pack version is now 28.
- Added additional textures to support colored layers of wolf armor for the wolf model and wolf armor item:
textures/entity/wolf/wolf_armor_overlay.pngtextures/item/wolf_armor_overlay.png
- Wolf armor item texture,
textures/item/wolf_armor.png, has been raise by 2px to create space for the durability bar - Added three semi-transparent textures for the cracks to show on the wolf armor layer:
textures/entity/wolf/wolf_armor_crackiness_low.pngtextures/entity/wolf/wolf_armor_crackiness_medium.pngtextures/entity/wolf/wolf_armor_crackiness_high.png
- The
options_backgroundand thelight_dirt_backgroundtextures have been removed.- Instead,
menu_backgroundis used as the background of screens, whilemenu_list_backgroundis used for the background of lists.
- Instead,
- Lists now use the
header_separatorandfooter_separatortextures at the top and bottom, respectively. - The following textures have been updated:
footer_separator,header_separator. - The following sprites have been updated:
widget\tab,widget\tab_highlighted,widget\tab_selected,widget\tab_selected_highlighted. - The
widget\scroller_backgroundsprite has been added. - The following textures in Realms have been removed:
changes,changes_highlighted,restore,restore_highlighted,make_operator_highlighted,remove_operator_highlighted,remove_player_highlighted.
- Added
wolf_armorto the#dyeableitem tag.
UI

- Updated to sport a fresher look and to be more consistent when it comes to the layout of different UI elements, all while retaining the essence and feel of the old screens.
- The menu background dirt texture has been replaced by a darkened background.
- The dirt texture has been moved to the Programmer Art resource pack.
- Outside the game, the menu panorama is displayed across all screen.
- In the game, the world is visible across all screens.
- Paired with the darkened background is a blur.
- The strength of the blur can be configured in accessibility settings.
- In-game screens such as containers and books are not affected by these changes.
- Screen elements such as titles and buttons are positioned more consistently across different screens.
- The "Player" and "World Backups" screens in Realms have been updated.
- Lists now have clearer borders at the top and bottom.
- After defeating the ender dragon and entering the end portal, the End Poem and credits are now displayed with a background based on the animated end portal effect.
Other
- In singleplayer, when errors occur during loading or saving of chunks a warning is shown in a toast.
- Trying to join a singleplayer world with less than 64 MB free disk space shows a warning screen.
- Additionally, a warning toast is shown periodically while in game.
Experimental
Changes
Additional changes to the texture to even further distinguish it from trial spawners.
- Now drop 2 mushrooms (either both red/brown or one of each) when sheared.
Updated texture and model.
- Removed randomness from the radius of wind charged shot by both breezes and players.
Fixes
From released versions before 1.20
- MC-19893 – options_background.png is incorrectly displayed upside down in the credits after beating the dragon.
- MC-96609 – Pick block on player head does not use
BlockEntityTag. - MC-100016 – Singleplayer world selection screen is shown incorrectly when light_dirt_background.png and/or options_background.png are transparent.
- MC-109286 – Default dirt page background not aligned properly.
- MC-117977 – Advancement GUI doesn't have a close button.
- MC-118890 – Tipped arrows stuck in the ground never lose their effect.
- MC-121621 – Pick block on shulker boxes doesn't find placed and mined shulker boxes in inventory.
- MC-140565 – Patrol leaders with banners can drop two different types of banners which don't stack.
- MC-142372 – Ctrl + pick block on a campfire with food cooking updates the nbt during cook time.
- MC-143614 – Campfire item with "cooking" NBT heavily shakes in hand/off-screen, when Ctrl+pick-blocked.
- MC-147710 – Some long mob names are occluded by the scroll bar in the Statistics page.
- MC-148480 – Putting two identical enchanted books in a grindstone will output one book.
- MC-151793 – Various ominous banner stacking issues.
- MC-153879 – Raiders ignore ominous banners that were saved in the Saved Toolbars from a different version.
- MC-175437 – Fullscreen resolution isn't applied when exiting Video Settings with Esc.
- MC-189211 – "Water Taken from Cauldron" statistic is slightly covered by the bottom of the screen's overlay.
- MC-189484 – Statistics screen tab selection is not centered.
- MC-195572 – The fog from lava is much denser when having the Fire Resistance effect active compared to Bedrock Edition.
- MC-201722 –
/summoncommand ignores stacking restrictions. - MC-204947 – Ctrl + pick block on placed ominous banners is not the same as pick block.
- MC-206854 – Multiplayer warning and Chat Preview warning are off center.
- MC-213104 – Statistics tab resets when resizing the Minecraft window.
- MC-224343 – Books don't stack after being placed on a lectern.
- MC-226775 – Extinguishing candle shows inaccurate subtitle.
- MC-234406 – The dirt background changes its position when interacting with the "Players" button in the Realms menu.
- MC-234558 – There is no title in the "Invite player" Realms menu.
- MC-248076 – Specific type of firework rockets won't stack with each other after use.
- MC-251042 – Third-party warning buttons are not positioned well in non-English languages.
- MC-251509 – Patterned banners not stacking properly / banner loses "banner" ID when mined.
- MC-260867 – Cannot focus entries on the pack selection screen using the mouse.
- MC-268580 – Chiseled bookshelf model is not deterministic in data generation.
From 1.20
- MC-262503 – light_dirt_background.png and header_separator.png does not match options_background.png.
From 1.20.1
- MC-263872 – The "Scanning for games on your local network" element in the Multiplayer menu cannot be selected via the mouse cursor.
- MC-263874 – Elements in lists within the statistics menu cannot be selected via the mouse cursor.
From 1.20.2
- MC-265661 – Dirt background appears to overlap back button on experimental feature requirements data pack screen for some window sizes.
From 1.20.4
- MC-267451 – Items named with an anvil on 1.20.4 don't stack with items named prior.
- MC-267500 – Attribute modifier on an item with the first and/or last 2 integers of the UUID being 0 are non-functional.
- MC-267742 – Opening a written book makes it unstackable with identical unopened books.
- MC-267975 – The Realms player list is rendered larger than its visual size.
- MC-267976 – The scroll bar in the Realms player list can no longer be dragged using the mouse cursor.
- MC-268011 – Hoppers leak the last world they sucked item on.
- MC-268022 – Elements within the list in the "Experimental feature requirements" menu cannot be selected via the mouse cursor.
- MC-268236 – Search field in the social interactions menu not focused by default.
From the 1.20.5 development versions
- MC-267956 – Attack indicator is not displayed when holding a diamond or netherite hoe.
- MC-268345 – Changing the value of "Japanese Glyph Variants" causes tooltip to flash.
- MC-268350 – Wind Charges never despawn.
- MC-268509 – The tooltip in the Saved Hotbars disappears in 24w06a.
From the previous development version
- MC-268710 – The fall damage reduction for the wind charge is not working.
- MC-268778 – Baby armadillos drop scutes when brushed.
Video
Videos made by Slicedlime:
Trivia
- Due to a bug, the damage of every tool was changed to 4, and the attack speed of every tool was changed to 1.6.[2]
References
- ↑ "Minecraft Snapshot 24w09a" – Minecraft.net, February 28, 2024.
- ↑ MC-268800 — All tools have 4 attack damage, and 1.6 attack speed — resolved as "Fixed".