minecraft.wiki-mirror/wiki_backup/24w09a.txt
2024-12-24 10:56:43 -05:00

319 lines
22 KiB
Text

{{Infobox version
| title = Minecraft 24w09a
| image = 24w09a.jpg
| image2 = Java Edition 24w09a.png
| edition = Java
| type = Snapshot
| date = February 28, 2024
| jsonhash = dc6fd93b4a4856000343557281a47c27192cdd3b
| clienthash = 4544bfaa1bc97e8aa7aeefc7fba7ecd1d0bb030d
| clientmap = 6bd839e62ab30631f592d5179d42bc2a01f2c085
| serverhash = 7c70922198a2d18e0252c315b55623b822b4e910
| servermap = 0ab6bb5b2e77137e7a2caf4d0159b19d22f7c9f3
| parent = 1.20.5
| prevparent = 1.20.4
| prev = 24w07a
| next = 24w10a
| nextparent = 1.20.6
}}<onlyinclude>
'''24w09a''' is the tenth [[snapshot]] for [[Java Edition 1.20.5]], released on February 28, 2024,<ref>{{snap|24w09a|February 28, 2024}}</ref> 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 ===
; [[Item modifier]]s
* Added <code>minecraft:set_components</code> function.
** Adds or replaces the given component on the input item.
** <code>conditions</code>: list of conditions (default: <code>[]</code>):
*** Conditions to check before applying the function.
** <code>components</code>: map of component id to component value (format varied by id).
*** Components with a <code>!</code> prefix (e.g. <code>"!minecraft:damage": {}</code>) cause this component to be removed.
* Added <code>minecraft:copy_components</code> function.
** Copies components from a specified source onto an item.
** This is now used in the Vanilla pack in place of the <code>minecraft:copy_name</code> and <code>minecraft:copy_nbt</code> functions.
** <code>conditions</code>: list of conditions (default: <code>[]</code>):
*** Conditions to check before applying the function.
** <code>source</code>: source type to pull from.
*** Currently, can only and must be <code>"block_entity"</code>.
** <code>components</code>: list of component ids to copy.
=== General ===
; [[Options]]
* Added "Menu Background Blurriness" in accessibility settings.
** Defaults to 50%.
; [[Tag]]s
* Added the <code>#bypasses_wolf_armor</code> damage type tag: contains {{cd|d=and|#bypasses_invulnerability|cramming|drown|dry_out|freeze|in_wall|indirect_magic|magic|outside_border|starve|thorns|wither}}.
** Controls which damage types bypass [[wolf armor]].
== Changes ==
=== Items ===
; [[Wolf armor]]
[[File:All Dyes on Collars and Wolf Armor.png|thumb|Wolves wearing dyed wolf armor in all 16 basic colors]]
* 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 scute]]s 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 (<code>tag</code> field) 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 <code>minecraft:custom_data</code> component.
** 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. <code>minecraft:stick</code>) hold a set of default components on an item that individual item stacks can override.
* Commands such as <code>/give</code>, <code>/item</code>, <code>/loot</code>, and <code>/clear</code> have updated item syntax.
* Components can now be specified after the item name in square brackets.
** Components are assigned with an = (e.g. <code>wooden_pickaxe[damage=23]</code>).
** Components are comma-separated (e.g. <code>netherite_hoe[damage=5,repair_cost=2]</code>).
* 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. <code>/give @s wooden_pickaxe[damage=-34]</code> is not valid.
* The pre-existing NBT syntax (<code>{...}</code>) must now be specified with the <code>minecraft:custom_data</code> component.
** e.g. <code>/give @s stick{foo:'bar'}</code> is equivalent to <code>/give @s stick[custom_data={foo:'bar'}]</code>.
** If both <code>[...]</code> and <code>{...}</code> are specified, <code>[...]</code> must be ordered before <code>{...}</code>.
* Item predicate arguments (in <code>/clear</code>) 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. <code>damage=0</code> by default) automatically exist on the target item if not specified.
*** As such, <code>/clear @s diamond_pickaxe[damage=0]</code> matches only undamaged diamond pickaxes.
*** On the other hand, <code>/clear @s diamond_pickaxe</code> matches any diamond pickaxe, irrespective of damage.
** Exact matching of component values applies even for the <code>minecraft:custom_data</code> component.
** However, the <code>{...}</code> 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 <code>items.json</code> generated in <code>reports</code> directory.
* Block definitions are now added to <code>blocks.json</code> report (note: those definitions are not used yet and present only for informational purposes).
* The <code>ignoreTags</code> field on villager trades has been removed and replaced by a component predicate on damage.
* If the <code>key_item</code> field of a vault block is not present, the vault cannot be unlocked.
; [[Item modifier]]s
* <code>minecraft:set_nbt</code> and <code>minecraft:copy_nbt</code> functions have been renamed to <code>minecraft:set_custom_data</code> and <code>minecraft:copy_custom_data</code> respectively.
** These now apply to the <code>minecraft:custom_data</code> component of the target item.
* <code>minecraft:set_attributes</code> function has been updated.
** The modifier <code>slot</code> field now supports <code>any</code>, <code>armor</code>, and <code>hand</code> values.
** The modifier <code>operation</code> values have been renamed:
*** <code>addition</code> -> <code>add_value</code>
*** <code>multiply_base</code> -> <code>add_multiplied_base</code>
*** <code>multiply_total</code> -> <code>add_multiplied_total</code>
; 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 <code>id</code> (string) and <code>Count</code> (byte) fields have been replaced with <code>id</code> (namespaced string) and <code>count</code> (integer) fields.
** This format is additionally applied to the <code>icon</code> field in advancements, items in chat component hover events, and the <code>result</code> field in smelting recipes (<code>result</code> and <code>count</code> are no longer inlined).
* The <code>count</code> field is optional (defaults to <code>1</code>), and no longer stored if default.
** Stack size is now limited to the maximum stack size of the item.
* The <code>tag</code> field has been removed, and any remaining contents end up in the <code>minecraft:custom_data</code> component when upgrading.
* A new <code>components</code> field stores all components attached to an item.
** Format: map of component id to component value (varies by component id).
*** e.g. <code><nowiki>{..., components: {'minecraft:damage': 12</code></nowiki></code>.
*** Components with a <code>!</code> prefix (e.g. <code>"!minecraft:damage": {}</code>) cause this component to be removed.
** Components equal to their default value aren't stored.
* The item stack format no longer represents empty stacks (<code>air</code> item, or <code>count</code> 0).
** Instead, in places that support it, the field should be ommitted.
** In some cases, such as lists of stacks (e.g. <code>HandItems</code> in living entities), an empty map (<code>{}</code>) is used to represent empty stacks.
; Predicate format
* Item predicate format has been updated:
** <code>tag</code> field has been removed.
** <code>items</code> field now supports a single entry, hash-prefixed item tag, or list of items.
** <code>potion</code> -> <code>potions</code>, and supports a single entry, hash-prefixed potion tag, or list of potions.
** <code>nbt</code> predicate has been renamed to <code>custom_data</code> and now matches <code>minecraft:custom_data</code> component.
** A new optional <code>components</code> field 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. <code>"components": { "minecraft:damage": 0 }</code> matches only undamaged items.
* Block predicate format has been updated:
** <code>tag</code> field has been removed.
** <code>blocks</code> field now supports a single entry, hash-prefixed block tag, or list of blocks.
* Fluid predicate format has been updated:
** <code>tag</code> field has been removed.
** <code>fluid</code> -> <code>fluids</code>, and supports a single entry, hash-prefixed fluid tag, or list of fluids.
* Entity predicate format has been updated:
** <code>type</code> field now supports a single entry, hash-prefixed entity type tag, or list of entity types.
* Location predicate format has been updated:
** <code>biome</code> -> <code>biomes</code>, and supports a single entry, hash-prefixed biome tag, or list of biomes.
** <code>structure</code> -> <code>structures</code>, 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 <code>item</code>.
* Area effect clouds now store potions in the same format as the <code>minecraft:potion_contents</code> component in a <code>potion_contents</code> field:
** <code>Potion</code> -> <code>potion_contents.potion</code>
** <code>Color</code> -> <code>potion_contents.custom_color</code>
** <code>effects</code> -> <code>potion_contents.custom_effects</code>
* Banners now store applied patterns in the same format as the <code>minecraft:banner_patterns</code> component in a <code>patterns</code> field:
** <code>Patterns[].Pattern</code> (string short id) -> <code>patterns[].pattern</code> (string pattern registry id)
** <code>Patterns[].Color</code> (integer dye id) -> <code>patterns[].color</code> (string dye name)
* Beehive format has also been updated:
** <code>Bees[].EntityData</code> -> <code>bees[].entity_data</code>
** <code>Bees[].TicksInHive</code> -> <code>bees[].ticks_in_hive</code>
** <code>Bees[].MinOccupationTicks</code> -> <code>bees[].min_ticks_in_hive</code>
** <code>FlowerPos</code> -> <code>flower_pos</code>
* Villager trades can be configured to accept only undamaged items by selecting for <code>'minecraft:damage': 0</code>
** By default, if no components are specified, any item is accepted (similar to <code>components</code> field in item predicates).
; {{cmd|attribute}}
* Modifier operations have been renamed:
** <code>add</code> -> <code>add_value</code>
** <code>multiply_base</code> -> <code>add_multiplied_base</code>
** <code>multiply</code> -> <code>add_multiplied_total</code>
; {{cmd|playsound}}
* Can now be used without specifying the player (assuming <code>@s</code>) and without specifying the mixer (assuming <code>master</code>).
=== Gameplay ===
; [[Creative]] mode
* {{key|Ctrl}}+{{control|pick blocking}} a renamed block (such as a chest) in Creative mode now gives a renamed item.
; [[Enchantment]]s
* 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 <code>enchantable/*</code> tags.
=== General ===
; [[Data pack]]
* The data pack version is now 33.
* [[Loot table]] entry with id loot_table now also accepts inline loot tables.
** Loot table entry <code>loot_table</code> (which returns all items from provided nested loot table) now has the following syntax: <code>value</code> - can be either:
*** namespaced id - reference to another named loot table.
*** full loot table (same format as in standalone file).
; [[Resource pack]]
* 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:
** <code>textures/entity/wolf/wolf_armor_overlay.png</code>
** <code>textures/item/wolf_armor_overlay.png</code>
* Wolf armor item texture, <code>textures/item/wolf_armor.png</code>, 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:
** <code>textures/entity/wolf/wolf_armor_crackiness_low.png</code>
** <code>textures/entity/wolf/wolf_armor_crackiness_medium.png</code>
** <code>textures/entity/wolf/wolf_armor_crackiness_high.png</code>
* The <code>options_background</code> and the <code>light_dirt_background</code> textures have been removed.
** Instead, <code>menu_background</code> is used as the background of screens, while <code>menu_list_background</code> is used for the background of lists.
* Lists now use the <code>header_separator</code> and <code>footer_separator</code> textures at the top and bottom, respectively.
* The following textures have been updated: <code>footer_separator</code>, <code>header_separator</code>.
* The following sprites have been updated: <code>widget\tab</code>, <code>widget\tab_highlighted</code>, <code>widget\tab_selected</code>, <code>widget\tab_selected_highlighted</code>.
* The <code>widget\scroller_background</code> sprite has been added.
* The following textures in Realms have been removed: <code>changes</code>, <code>changes_highlighted</code>, <code>restore</code>, <code>restore_highlighted</code>, <code>make_operator_highlighted</code>, <code>remove_operator_highlighted</code>, <code>remove_player_highlighted</code>.
; [[Tag]]s
* Added <code>wolf_armor</code> to the <code>#dyeable</code> item tag.
; UI
[[File:Game 24w09a.png|thumb|The enhanced UI as seen in the "Create World" menu]]
* 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 ===
; [[Vault]]
* [[File:Vault JE3 BE3.png|32px]] [[File:Vault (active) JE3 BE3.png|32px]] Additional changes to the texture to even further distinguish it from [[trial spawner]]s.
; [[Bogged]]
* Now drop 2 [[mushroom]]s (either both red/brown or one of each) when [[shear]]ed.
* [[File:Bogged JE2 BE2.png|32px]] Updated texture and model.
; [[Wind charge]]
* Removed randomness from the radius of wind charged shot by both breezes and players.
== Fixes ==
{{fixes|fixedin=24w09a
|;From released versions before 1.20
|19893|{{samp|options_background.png}} is incorrectly displayed upside down in the credits after beating the dragon.
|96609|Pick block on player head does not use {{cd|BlockEntityTag}}.
|100016|Singleplayer world selection screen is shown incorrectly when {{samp|light_dirt_background.png}} and/or {{samp|options_background.png}} are transparent.
|109286|Default dirt page background not aligned properly.
|117977|Advancement GUI doesn't have a close button.
|118890|Tipped arrows stuck in the ground never lose their effect.
|121621|Pick block on shulker boxes doesn't find placed and mined shulker boxes in inventory.
|140565|Patrol leaders with banners can drop two different types of banners which don't stack.
|142372|{{key|Ctrl}} + pick block on a campfire with food cooking updates the nbt during cook time.
|143614|Campfire item with "cooking" NBT heavily shakes in hand/off-screen, when {{key|Ctrl}}+pick-blocked.
|147710|Some long mob names are occluded by the scroll bar in the Statistics page.
|148480|Putting two identical enchanted books in a grindstone will output one book.
|151793|Various ominous banner stacking issues.
|153879|Raiders ignore ominous banners that were saved in the Saved Toolbars from a different version.
|175437|Fullscreen resolution isn't applied when exiting Video Settings with {{key|Esc}}.
|189211|"Water Taken from Cauldron" statistic is slightly covered by the bottom of the screen's overlay.
|189484|Statistics screen tab selection is not centered.
|195572|The fog from lava is much denser when having the Fire Resistance effect active compared to Bedrock Edition.
|201722|{{cmd|Summon}} command ignores stacking restrictions.
|204947|{{key|Ctrl}} + pick block on placed ominous banners is not the same as pick block.
|206854|Multiplayer warning and Chat Preview warning are off center.
|213104|Statistics tab resets when resizing the Minecraft window.
|224343|Books don't stack after being placed on a lectern.
|226775|Extinguishing candle shows inaccurate subtitle.
|234406|The dirt background changes its position when interacting with the "Players" button in the Realms menu.
|234558|There is no title in the "Invite player" Realms menu.
|248076|Specific type of firework rockets won't stack with each other after use.
|251042|Third-party warning buttons are not positioned well in non-English languages.
|251509|Patterned banners not stacking properly / banner loses "banner" ID when mined.
|260867|Cannot focus entries on the pack selection screen using the mouse.
|268580|Chiseled bookshelf model is not deterministic in data generation.<!-- This issue was introduced when chiseled bookshelves were added -->
|;From 1.20
|262503|{{samp|light_dirt_background.png}} and {{samp|header_separator.png}} does not match {{samp|options_background.png}}.
|;From 1.20.1
|263872|The "Scanning for games on your local network" element in the Multiplayer menu cannot be selected via the mouse cursor.
|263874|Elements in lists within the statistics menu cannot be selected via the mouse cursor.
|;From 1.20.2
|265661|Dirt background appears to overlap back button on experimental feature requirements data pack screen for some window sizes.
|;From 1.20.4
|267451|Items named with an anvil on 1.20.4 don't stack with items named prior.
|267500|Attribute modifier on an item with the first and/or last 2 integers of the UUID being 0 are non-functional.
|267742|Opening a written book makes it unstackable with identical unopened books.
|267975|The Realms player list is rendered larger than its visual size.
|267976|The scroll bar in the Realms player list can no longer be dragged using the mouse cursor.
|268011|Hoppers leak the last world they sucked item on.
|268022|Elements within the list in the "Experimental feature requirements" menu cannot be selected via the mouse cursor.
|268236|Search field in the social interactions menu not focused by default.
|;dev
|267956|Attack indicator is not displayed when holding a diamond or netherite hoe.
|268345|Changing the value of "Japanese Glyph Variants" causes tooltip to flash.
|268350|Wind Charges never despawn.
|268509|The tooltip in the Saved Hotbars disappears in 24w06a.
|;previous
|268710|The fall damage reduction for the wind charge is not working.
|268778|Baby armadillos drop scutes when brushed.
}}</onlyinclude>
== Video ==
{{slicedlime|9MOSnNIYwEA|iY9OHAd4Aco|PyEebTAal6k}}
== 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.<ref>{{Bug|MC-268800||All tools have 4 attack damage, and 1.6 attack speed|Fixed}}</ref>
== References ==
{{reflist}}
== Navigation ==
{{Navbox Java Edition versions|1.2x}}
[[de:24w09a]]
[[es:Java Edition 24w09a]]
[[fr:Version Java 24w09a]]
[[ja:Java Edition 24w09a]]
[[pt:Edição Java 24w09a]]
[[ru:24w09a (Java Edition)]]
[[uk:24w09a (Java Edition)]]
[[zh:24w09a]]