<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AJava_Edition_25w04a</id>
	<title>Minecraft:Java Edition 25w04a - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AJava_Edition_25w04a"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Java_Edition_25w04a&amp;action=history"/>
	<updated>2026-09-08T15:29:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Java_Edition_25w04a&amp;diff=158669&amp;oldid=prev</id>
		<title>SyncBot: Sync: new page from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Java_Edition_25w04a&amp;diff=158669&amp;oldid=prev"/>
		<updated>2026-07-01T11:13:40Z</updated>

		<summary type="html">&lt;p&gt;Sync: new page from Minecraft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox version&lt;br /&gt;
|title=Minecraft 25w04a&lt;br /&gt;
|image=25w04a.jpg&lt;br /&gt;
|image2=Java Edition 25w04a.png&lt;br /&gt;
|edition=Java&lt;br /&gt;
|type=Snapshot&lt;br /&gt;
|date=January 22, 2025&lt;br /&gt;
|jsonhash=f8cca683be215f9eb1742fb563dd04ca1285508c&lt;br /&gt;
|clienthash=6102118fc64fba5ac798225e1c3618c005e01a51&lt;br /&gt;
|clientmap=e39dc5a7ec18957a257fc41a7d49423a1ac7c5c1&lt;br /&gt;
|serverhash=28a9d30423b1c50da661b95e754be9d5f0c871d4&lt;br /&gt;
|servermap=663d1da3dff475eb79543d40ad2f18e4cb2c7708&lt;br /&gt;
|parent=1.21.5&lt;br /&gt;
|prevparent=1.21.4&lt;br /&gt;
|prev=25w03a&lt;br /&gt;
|next=25w05a&lt;br /&gt;
|nextparent=1.21.6&lt;br /&gt;
}}&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;25w04a&amp;#039;&amp;#039;&amp;#039; is the third [[Minecraft:snapshot]] for [[Minecraft:Java Edition 1.21.5]], released on January 22, 2025,&amp;lt;ref&amp;gt;{{snap|25w04a|January 22, 2025}}&amp;lt;/ref&amp;gt; which adds new [[Minecraft:Data component format|data components]] and fixes bugs.&lt;br /&gt;
&lt;br /&gt;
== Additions ==&lt;br /&gt;
=== General ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Data component format]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* {{cd|blocks_attacks}} component&lt;br /&gt;
** When present, this item can be used like a Shield to block attacks to the holding player.&lt;br /&gt;
** Format: object with fields&lt;br /&gt;
*** {{cd|block_delay_seconds}} &lt;br /&gt;
**** Non-negative float (default: {{cd|0}}).&lt;br /&gt;
**** The number of seconds that right-click must be held before successfully blocking attacks.&lt;br /&gt;
*** {{cd|disable_cooldown_scale}} &lt;br /&gt;
**** Non-negative float (default: {{cd|1}}).&lt;br /&gt;
**** Multiplier applied to the number of seconds that the item will be on cooldown for when attacked by a disabling attack ({{cd|disable_blocking_for_seconds}} on the {{cd|weapon}} component).&lt;br /&gt;
**** If {{cd|0}}, this item can never be disabled by attacks.&lt;br /&gt;
*** {{cd|damage_reductions}}&lt;br /&gt;
**** List of object with fields (optional)&lt;br /&gt;
**** Controls how much damage should be blocked in a given attack.&lt;br /&gt;
**** If not specified, all damage is blocked.&lt;br /&gt;
**** Each entry in the list contributes an amount of damage to be blocked, optionally filtered by damage type.&lt;br /&gt;
**** Each entry adds to blocked damage, determined by &amp;lt;code&amp;gt;clamp(base + factor * dealt_damage, 0, dealt_damage)&amp;lt;/code&amp;gt;.&lt;br /&gt;
**** The final damage applied in the attack to the entity is determined by &amp;lt;code&amp;gt;dealt_damage - clamp(blocked_damage, 0, dealt_damage)&amp;lt;/code&amp;gt;&lt;br /&gt;
**** Entry format:&lt;br /&gt;
***** {{cd|type}} - damage type id, list of damage type ids, or hash-prefixed damage type tag (optional).&lt;br /&gt;
****** This entry will only contribute to the blocked damage if the dealt damage type matches this field.&lt;br /&gt;
****** If not specified, any damage type will be accepted.&lt;br /&gt;
***** {{cd|base}} - float&lt;br /&gt;
****** Constant amount of damage to be blocked.&lt;br /&gt;
***** {{cd|factor}} - float&lt;br /&gt;
****** Fraction of the dealt damage that should be blocked.&lt;br /&gt;
*** {{cd|item_damage}}&lt;br /&gt;
**** Object with fields (optional)&lt;br /&gt;
**** Controls how much damage should be applied to the item from a given attack.&lt;br /&gt;
**** If not specified, a point of durability is removed for every point of damage dealt.&lt;br /&gt;
**** The final damage applied to the item is determined by: &amp;lt;math&amp;gt;floor(base + factor * dealt_damage)&amp;lt;/math&amp;gt;.&lt;br /&gt;
**** The final value may be negative, causing the item to be repaired.&lt;br /&gt;
**** Format:&lt;br /&gt;
***** {{cd|threshold}} - non-negative float&lt;br /&gt;
****** The minimum amount of damage dealt by the attack before item damage is applied to the item.&lt;br /&gt;
***** {{cd|base}} - float&lt;br /&gt;
****** Constant amount of damage applied to the item, if threshold is passed.&lt;br /&gt;
***** {{cd|factor}} - float&lt;br /&gt;
****** Fraction of the dealt damage that should be applied to the item, if threshold is passed.&lt;br /&gt;
*** {{cd|block_sound}}&lt;br /&gt;
**** Sound event (optional).&lt;br /&gt;
**** If specified, this sound will be played when an attack is successfully blocked.&lt;br /&gt;
*** {{cd|disable_sound}}&lt;br /&gt;
**** Sound event (optional).&lt;br /&gt;
**** If specified, this sound will be played when the item goes on its disabled cooldown due to an attack.&lt;br /&gt;
&lt;br /&gt;
* {{cd|break_sound}} component&lt;br /&gt;
** When present, this sound will be played when the item runs out of durability and breaks.&lt;br /&gt;
** If not present, no sound will be played on break.&lt;br /&gt;
** This component is present by default on every item type.&lt;br /&gt;
** Format: sound event&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;break_sound=&amp;#039;item.wolf_armor.break&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|provides_banner_patterns}} component&lt;br /&gt;
** When present, this item can be placed in the pattern slot of a Loom.&lt;br /&gt;
** Format: hash-prefixed banner pattern tag.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;provides_banner_patterns=&amp;#039;#minecraft:pattern_item/globe&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|provides_trim_material}} component&lt;br /&gt;
** When present, this item will provide the specified trim material when used in a trimming recipe.&lt;br /&gt;
*** Note that to be used in the built-in smithing recipes, the item must also be in the {{cd|#trim_material}} tag.&lt;br /&gt;
*** As such, the trim material registry definition no longer specifies an item.&lt;br /&gt;
** Format: trim material id&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;provides_trim_material=&amp;#039;minecraft:iron&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|tooltip_display}} component&lt;br /&gt;
** This component allows the tooltips provided specifically by any given item component to be surpressed.&lt;br /&gt;
** This replaces the previous {{cd|show_in_tooltip}} fields, {{cd|hide_additional_tooltip}} and {{cd|hide_tooltip}} components.&lt;br /&gt;
** Format: object with fields:&lt;br /&gt;
*** {{cd|hide_tooltip}} - boolean (default: {{cd|false}}).&lt;br /&gt;
**** If true, the item will have no tooltip when hovered.&lt;br /&gt;
*** {{cd|hidden_components}} - list of item component ids (default: {{cd|[]}}).&lt;br /&gt;
**** The tooltips provided by any component in this list will be hidden.&lt;br /&gt;
**** If that component provides no tooltip, it will have no effect.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Language]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Added support for [[Minecraft:w:Kyrgyz language|Kyrgyz]] language.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Tag]]s &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Added the {{cd|#can_wear_horse_armor}} entity tag.&lt;br /&gt;
** Contains entity that can hold horse armor in their body slot.&lt;br /&gt;
&lt;br /&gt;
== Changes ==&lt;br /&gt;
=== Items ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Crossbow]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Will now show all charged projectiles in their tooltip instead of just the first&lt;br /&gt;
&lt;br /&gt;
=== Command format ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:SNBT]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* SNBT (textual representation of NBT-like data) has been expanded to accept heterogenous lists, i.e. ones where elements are not of the same type.&lt;br /&gt;
* NBT format is not changed&lt;br /&gt;
** If SNBT command argument transforms value to NBT (like arguments of {{cmd|/data}} or {{cmd|/summon}}), lists might be transformed to bypass NBT constraints&lt;br /&gt;
*** Example transform: {{cd|[&amp;#039;a&amp;#039;, {&amp;#039;b&amp;#039;:3}]}} is stored as {{cd|[{&amp;#039;&amp;lt;nowiki/&amp;gt;&amp;#039;:&amp;#039;a&amp;#039;},{&amp;#039;b&amp;#039;:3}]}}&lt;br /&gt;
** This transform is not reversed by {{cmd|/data}}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Advancement definition]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The field {{cd|background}} no longer contains {{cd|textures/}} prefix and {{cd|.png}} suffix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Atlas]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* {{cd|minecraft:paletted_permutations}} sprite source&lt;br /&gt;
** New field:&lt;br /&gt;
*** {{cd|separator}}&lt;br /&gt;
**** Optional string (default: {{cd|_}}).&lt;br /&gt;
**** Value to be used when joining texture and permutation names to produce sprite name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Data component format]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*{{cd|hide_additional_tooltip}} component&lt;br /&gt;
** Has been removed and replaced by use of the {{cd|tooltip_display}} component and {{cd|hidden_components}} field.&lt;br /&gt;
*** The following components previously covered by the {{cd|hide_additional_tooltip}} component may need to be hidden:&lt;br /&gt;
**** {{cd|minecraft:banner_patterns}}&lt;br /&gt;
**** {{cd|minecraft:bees}}&lt;br /&gt;
**** {{cd|minecraft:block_entity_data}}&lt;br /&gt;
***** Specifically, Mob Spawner and Trial Spawner block entity data will display the configured mob.&lt;br /&gt;
**** {{cd|minecraft:block_state}}&lt;br /&gt;
***** Specifically, the {{cd|honey_level}} property will be displayed in the tooltip for any item with this specified.&lt;br /&gt;
**** {{cd|minecraft:bundle_contents}}&lt;br /&gt;
**** {{cd|minecraft:charged_projectiles}}&lt;br /&gt;
**** {{cd|minecraft:container}}&lt;br /&gt;
**** {{cd|minecraft:container_loot}}&lt;br /&gt;
**** {{cd|minecraft:firework_explosion}}&lt;br /&gt;
**** {{cd|minecraft:fireworks}}&lt;br /&gt;
**** {{cd|minecraft:instrument}}&lt;br /&gt;
**** {{cd|minecraft:map_id}}&lt;br /&gt;
**** {{cd|minecraft:painting/variant}}&lt;br /&gt;
**** {{cd|minecraft:pot_decorations}}&lt;br /&gt;
**** {{cd|minecraft:potion_contents}}&lt;br /&gt;
**** {{cd|minecraft:tropical_fish/pattern}}&lt;br /&gt;
**** {{cd|minecraft:written_book_content}}&lt;br /&gt;
*** This additionally means that tooltips from the above listed components are no longer restricted to specific item types.&lt;br /&gt;
**** Note: for existing items in a world with the {{cd|hide_additional_tooltip}} component, any of the above listed components also present on the same item will be added to the list to hide in {{cd|tooltip_display}}.&lt;br /&gt;
&lt;br /&gt;
* {{cd|hide_tooltip}} component&lt;br /&gt;
** Has been removed and replaced by use of the {{cd|tooltip_display}} component and {{cd|hide_tooltip}} field.&lt;br /&gt;
&lt;br /&gt;
* {{cd|attribute_modifiers}} component&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
** This component now always uses its simplified form, with the modifiers field inlined to top-level.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;attribute_modifiers={modifiers:[...]}]&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;attributes_modifiers=[...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|dyed_color}} component&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
** This component now always uses its simplified form, with the rgb field inlined to top-level.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;dyed_color={rgb:12345}]&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;dyed_color=12345]&amp;lt;/code&amp;gt;&lt;br /&gt;
** The specified color now supports the RGB array format.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;dyed_color=[0.5, 1.0, 0.2]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|can_place_on}} and {{cd|can_break}} components&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
** The predicates field has been inlined to top-level, and supports either a single element or list.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;can_place_on={predicates:[{blocks:&amp;#039;stone&amp;#039;},{blocks:&amp;#039;dirt&amp;#039;}]}]&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;can_place_on=[{blocks:&amp;#039;stone&amp;#039;},{blocks:&amp;#039;dirt&amp;#039;}]]&amp;lt;/code&amp;gt;&lt;br /&gt;
*** or: &amp;lt;code&amp;gt;can_place_on={predicates:[{blocks:&amp;#039;stone&amp;#039;}]}]&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;can_place_on={blocks:&amp;#039;stone&amp;#039;}]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|enchantments}} and {{cd|stored_enchantments}} components&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
** These components now always use their simplified form, with the levels field inlined to top-level.&lt;br /&gt;
*** e.g. &amp;lt;code&amp;gt;enchantments={levels:{sharpness:2}}]&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;enchantments={sharpness:2}]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cd|jukebox_playable}} component&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
&lt;br /&gt;
* {{cd|trim}} component&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
&lt;br /&gt;
* {{cd|unbreakable}} component&lt;br /&gt;
** Removed the {{cd|show_in_tooltip}} field, replaced by {{cd|tooltip_display}} component.&lt;br /&gt;
&lt;br /&gt;
* {{cd|weapon}} component&lt;br /&gt;
** {{cd|can_disable_blocking}} field was replaced with {{cd|disable_blocking_for_seconds}}.&lt;br /&gt;
** {{cd|disable_blocking_for_seconds}}&lt;br /&gt;
*** Non-negative float (default: {{cd|0}})&lt;br /&gt;
*** If non-zero, will disable a blocking Shield on successful attack for the specified amount of seconds.&lt;br /&gt;
&lt;br /&gt;
* Some existing components are now also transferred from spawning item to spawned entity:&lt;br /&gt;
** {{cd|minecraft:custom_name}} - any entity.&lt;br /&gt;
** {{cd|minecraft:potion_contents}} - Lingering Potion to Area Effect Cloud.&lt;br /&gt;
** {{cd|minecraft:potion_duration_scale}} - Lingering Potion to Area Effect Cloud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Data pack]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The [[Minecraft:pack format]] version is now {{cd|64}}.&lt;br /&gt;
* Trim pattern and trim material items are no longer specified in the trim registries, but instead in the recipes and items respectively.&lt;br /&gt;
* The {{cd|potion}} entity type has been split into {{cd|splash_potion}} and {{cd|lingering_potion}}&lt;br /&gt;
* Filled Maps without any {{cd|map_id}} component no longer show an &amp;#039;Unknown Map&amp;#039; tooltip (invalid IDs will still produce this tooltip)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Entity variant components &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Cat and Frog variants are now data-driven.&lt;br /&gt;
* Added uniform way to define variant selection rules.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Items model definition]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Select Property&lt;br /&gt;
** {{cd|minecraft:component}} &lt;br /&gt;
*** If the selected value comes from a registry and the current datapacks does not provide it, the entry will be silently ignored.&lt;br /&gt;
**** In previous snapshot, unrecognized elements caused the whole item model to be ignored.&lt;br /&gt;
&lt;br /&gt;
* Boolean Property&lt;br /&gt;
** {{cd|minecraft:component}}&lt;br /&gt;
*** New conditional model property has been added to condition item model: {{cd|component}}&lt;br /&gt;
*** Uses component predicates (like ones used in item predicates) to match item components.&lt;br /&gt;
**** However, instead of encoding them as a map of {{cd|&amp;lt;predicate type&amp;gt;:&amp;lt;predicate value&amp;gt;}}, a single predicate is encoded in two fields.&lt;br /&gt;
*** Fields:&lt;br /&gt;
**** {{cd|predicate}} - type of component predicate (member of {{cd|minecraft:data_component_predicate_type}} registry)&lt;br /&gt;
**** {{cd|value}} - predicate-specific value&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Loot Functions &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* {{cd|toggle_tooltips}}&lt;br /&gt;
** Now supports any component id in the toggles map.&lt;br /&gt;
** Any component specified will be toggled in the {{cd|tooltip_display}} component.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Particle format]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The particle type {{cd|tinted_leaves}} now has a parameter:&lt;br /&gt;
** {{cd|color}}&lt;br /&gt;
*** Tint color, specified either as packed int or list of 4 floats.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Recipe]]s &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* {{cd|smithing_transform}} recipe type&lt;br /&gt;
** The {{cd|base}} ingredient field is no longer optional&lt;br /&gt;
*** Previously, if no base ingredient was given, the recipe would parse but never be usable.&lt;br /&gt;
&lt;br /&gt;
* {{cd|smithing_trim}} recipe type&lt;br /&gt;
** The {{cd|base}}, {{cd|template}}, and {{cd|addition}} ingredient fields are no longer optional.&lt;br /&gt;
*** Previously, if these ingredients were not given, the recipe would parse but never be usable.&lt;br /&gt;
** Added new {{cd|pattern}} field, controlling which trim pattern will be applied in the recipe.&lt;br /&gt;
*** As such, the trim pattern registry definition no longer specifies the item.&lt;br /&gt;
*** Format: trim pattern id&lt;br /&gt;
**** e.g. &amp;lt;code&amp;gt;&amp;quot;pattern&amp;quot;: &amp;quot;minecraft:bolt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Resource pack]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The [[Minecraft:pack format]] version is now {{cd|49}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Reversion of bug fixes &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{{quote|After consideration, we have decided to revert both fixed bugs. While we do want to revisit these mechanics in the future, it&amp;#039;s clear that these recent fixes alone didn&amp;#039;t quite hit the mark and caused too many negative side-effects for parkour, speedbridging, and movement in general.|Developer&amp;#039;s Note}}&lt;br /&gt;
The reverted bug fixes include:&lt;br /&gt;
* {{bug|MC-152728||The player continues sprinting when performing actions that slow them down}}&lt;br /&gt;
* {{bug|MC-271065||Diagonal movement is not normalized when crouching or using certain items}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[Minecraft:Tags]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Renamed {{cd|#bypasses_shield}} damage type tag to {{cd|#bypasses_blocking}}.&lt;br /&gt;
* Removed {{cd|#default_spawns}} and {{cd|#full_moon_spawns}} cat variant tags.&lt;br /&gt;
* Added {{cd|test_block}}, and {{cd|test_instance_block}} to the {{cd|#dragon_immune}}, and {{cd|#wither_immune}} block tags.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Uniform variant selection &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Variants that have spawn rules now use uniform approach for selecting.&lt;br /&gt;
** Selection process:&lt;br /&gt;
*** Every variant field {{cd|spawn_conditions}} that contain a list of entries.&lt;br /&gt;
*** Every entry has a condition and an integer priority.&lt;br /&gt;
*** Conditions for all variants for given entity type are evaluated for position where entity is being spawned.&lt;br /&gt;
*** Entries with priority lower than maximum priority of remaining entries are removed.&lt;br /&gt;
*** The game randomly picks one entry out of remaining ones.&lt;br /&gt;
*** If no conditions are remaining, variant remains unchanged from default.&lt;br /&gt;
** Entry format:&lt;br /&gt;
*** {{cd|priority}} - integer&lt;br /&gt;
*** {{cd|condition}} - optional structure&lt;br /&gt;
**** Fields:&lt;br /&gt;
***** {{cd|type}}&lt;br /&gt;
***** Additional fields dependent on {{cd|type}}.&lt;br /&gt;
**** If field is not present, condition is always true.&lt;br /&gt;
&lt;br /&gt;
* Spawn conditions&lt;br /&gt;
** {{cd|minecraft:biome}}&lt;br /&gt;
*** Checks if entity is spawning in specific biomes.&lt;br /&gt;
*** Fields:&lt;br /&gt;
**** {{cd|biomes}} - single entry, list or a tag describing biomes.&lt;br /&gt;
** {{cd|minecraft:moon_brightness}}&lt;br /&gt;
*** Checks if current moon brightness is within certain range.&lt;br /&gt;
*** Fields:&lt;br /&gt;
**** {{cd|range}} - floating point range (a single number or an object like {&amp;quot;min&amp;quot;: 1, &amp;quot;max&amp;quot;: 2}).&lt;br /&gt;
** {{cd|minecraft:structure}}&lt;br /&gt;
*** Checks if entity is spawning in specific structures.&lt;br /&gt;
*** Fields:&lt;br /&gt;
**** {{cd|structures}} - single entry, list or a tag describing structures.&lt;br /&gt;
&lt;br /&gt;
* Wolf Variants&lt;br /&gt;
** The fields {{cd|angry_texture}}, {{cd|tame_texture}} and {{cd|wild_texture}} have been grouped in field {{cd|assets}} and renamed to {{cd|angry}}, {{cd|tame}} and {{cd|wild}}.&lt;br /&gt;
** Added the field {{cd|spawn_conditions}}.&lt;br /&gt;
&lt;br /&gt;
* Pig Variants&lt;br /&gt;
** {{cd|texture}} and {{cd|biome}} fields are replaced with {{cd|asset_id}} and {{cd|spawn_conditions}} respectively.&lt;br /&gt;
** Fields in file:&lt;br /&gt;
*** {{cd|asset_id}} - namespaced id for this variant asset, resolves to {{cd|assets/&amp;lt;namespace&amp;gt;/textures/&amp;lt;path&amp;gt;.png}}.&lt;br /&gt;
*** {{cd|spawn_conditions}} - field described in uniform variant selection above&lt;br /&gt;
&lt;br /&gt;
* Cat variants&lt;br /&gt;
** Cat variants can be data-driven by adding entries to {{cd|data/&amp;lt;namespace&amp;gt;/cat_variant/&amp;lt;id&amp;gt;.json}}.&lt;br /&gt;
** This feature is experimental.&lt;br /&gt;
** Fields in file:&lt;br /&gt;
*** {{cd|asset_id}} - namespaced id for this variant asset, resolves to {{cd|assets/&amp;lt;namespace&amp;gt;/textures/&amp;lt;path&amp;gt;.png}}.&lt;br /&gt;
*** {{cd|spawn_conditions}} - field described in uniform variant selection above&lt;br /&gt;
&lt;br /&gt;
* Frog variants&lt;br /&gt;
** Frog variants can be data-driven by adding entries to {{cd|data/&amp;lt;namespace&amp;gt;/frog_variant/&amp;lt;id&amp;gt;.json}}.&lt;br /&gt;
** This feature is experimental.&lt;br /&gt;
** Fields in file:&lt;br /&gt;
*** {{cd|asset_id}} - namespaced id for this variant asset, resolves to {{cd|assets/&amp;lt;namespace&amp;gt;/textures/&amp;lt;path&amp;gt;.png}}.&lt;br /&gt;
*** {{cd|spawn_conditions}} - field described in uniform variant selection above&lt;br /&gt;
&lt;br /&gt;
== Fixes ==&lt;br /&gt;
{{fixes|project=MC|fixedin=25w04a&lt;br /&gt;
|;From released versions before 1.21&lt;br /&gt;
|98271|The sound of blocking with a shield is only hearable by other players (not the person blocking).&lt;br /&gt;
|101556|Nether Portal teleport range is too large (equivalent to a full block).&lt;br /&gt;
|165421|Bubble columns have the opposite effect on wind charges.&lt;br /&gt;
|165461|Crossbow loading animation stops after loading, even when still holding down right click.&lt;br /&gt;
|176233|Crossbows no longer have a transition after loading.&lt;br /&gt;
|200311|Advancement background texture referencing is inconsistent with models.&lt;br /&gt;
|255756|When the shield is broken between players, the attacking side has no shield breaking sound.&lt;br /&gt;
|279646|Toggling fullscreen with F11 does not visually update the fullscreen option in the video settings menu.&lt;br /&gt;
|;From 1.21.1&lt;br /&gt;
|276061|Decorated pot sherds don&amp;#039;t visually update until relog when replacing with blank pot.&lt;br /&gt;
|;From 1.21.3&lt;br /&gt;
|278400|Arrows and tridents move after hitting a block in flowing lava.&lt;br /&gt;
|;From 1.21.4&lt;br /&gt;
|279653|Block Entity Data desynchronizes after subsequent setblock commands.&lt;br /&gt;
|;dev&lt;br /&gt;
|279217|Arrows and tridents constantly spin after hitting a block in flowing lava.&lt;br /&gt;
|279218|The {{cd|minecraft:enchant.thorns.hit}} sound does not play when mobs or players are killed by the Thorns enchantment.&lt;br /&gt;
|279225|Players jitter and land slightly too high up when landing on powder snow while wearing leather boots.&lt;br /&gt;
|279232|SNBT text components prevent mixing text styles in lists.&lt;br /&gt;
|279389|The {{cd|minecraft:entity.arrow.hit_player}} sound is played when player is hit by an arrow shot by himself.&lt;br /&gt;
|279454|{{cd|hide_additional_tooltip}} no longer hides author and generation on written books.&lt;br /&gt;
|;prev&lt;br /&gt;
|279480|The &amp;quot;{{cd|test_instance_block.reset_success}}&amp;quot; string incorrectly spells the word &amp;quot;succeeded&amp;quot; as &amp;quot;succeded&amp;quot;.&lt;br /&gt;
|279481|Leaf litter no longer generates in forests or wooded badlands.&lt;br /&gt;
|279482|Elements within the test block and test instance block menus are not selected in order when using the TAB key.&lt;br /&gt;
|279483|Test blocks set to start mode show the &amp;quot;Message:&amp;quot; text despite no text field being present.&lt;br /&gt;
|279485|Test block and test instance block menus have blurred backgrounds.&lt;br /&gt;
|279486|Some strings displayed within the test instance block interface are untranslatable.&lt;br /&gt;
|279487|The &amp;quot;Test Instance ID&amp;quot; and &amp;quot;Test Structure Size&amp;quot; text within the test instance block interface are positioned too far to the right.&lt;br /&gt;
|279488|Leaf litter generates very sparsely in Dark Forests.&lt;br /&gt;
|279489|An unexpected error occurs when attempting to create tests with large sizes.&lt;br /&gt;
|279490|No command feedback messages are displayed when attempting to reset tests that don&amp;#039;t exist.&lt;br /&gt;
|279491|The &amp;quot;{{cd|commands.test.no_tests}}&amp;quot; raw translation key is displayed when using &amp;quot;{{cmd|/test run...}}&amp;quot; commands in situations where no tests exist.&lt;br /&gt;
|279492|An unexpected error occurs when attempting to locate tests that don&amp;#039;t exist.&lt;br /&gt;
|279493|No command feedback messages are displayed when using the &amp;quot;{{cmd|/test create}}&amp;quot; command.&lt;br /&gt;
|279498|Test blocks and test instance blocks aren&amp;#039;t part of the &amp;quot;{{cd|#minecraft:dragon_immune}}&amp;quot; or &amp;quot;{{cd|#minecraft:wither_immune}}&amp;quot; tags.&lt;br /&gt;
|279502|Axolotl variants are no longer saved when bucketing.&lt;br /&gt;
|279504|&amp;quot;{{cd|minecraft:enchantments}}&amp;quot; component does not work on the select property of Item Models.&lt;br /&gt;
|279505|Horse-esque mobs that disallow horse armor still show a non-interactive slot.&lt;br /&gt;
|279511|Using &amp;quot;{{cd|minecraft:always_pass}}&amp;quot; while the player is inside the test zone breaks the world.&lt;br /&gt;
|279518|Test environment accepts {{cd|minecraft:raining}} instead of {{cd|minecraft:weather}}.&lt;br /&gt;
|279519|Some words within some test command strings are always pluralized.&lt;br /&gt;
|279522|GameTest entrypoint doesn&amp;#039;t load zip datapacks.&lt;br /&gt;
|279527|GameTest entrypoint doesn&amp;#039;t load custom tests from datapacks.&lt;br /&gt;
|279538|The key name of the test instances field that represents the namespaced ID of the test environment is different from the changelog.&lt;br /&gt;
|279539|Villager variant is not applied to spawned zombie villagers.&lt;br /&gt;
|279553|Players using items no longer turn their body in the moving direction while moving diagonally.&lt;br /&gt;
|279570|Some piston operations don&amp;#039;t send neighbor updates.&lt;br /&gt;
|279573|The &amp;quot;{{cd|test_instance_block.error.no_test}}&amp;quot; string is missing the word &amp;quot;no&amp;quot;.&lt;br /&gt;
|279588|Test instance field typo &amp;#039;{{cd|sky_accesss}}&amp;#039;.&lt;br /&gt;
|279599|{{cmd|/test pos}} is offset by one on the y and z axis.&lt;br /&gt;
|279601|&amp;quot;{{cd|test.error.expected_entity_at_pos}}&amp;quot; translation is missing.&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{{slicedlime|609GEn8kIP4|OcJ1rrUF4DU}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox Java Edition versions|1.2x}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:25w04a]]&lt;br /&gt;
[[Minecraft:es:Java Edition 25w04a]]&lt;br /&gt;
[[Minecraft:fr:Édition Java 25w04a]]&lt;br /&gt;
[[Minecraft:ja:Java Edition 25w04a]]&lt;br /&gt;
[[Minecraft:lzh:爪哇版二五週〇四甲]]&lt;br /&gt;
[[Minecraft:pt:Edição Java 25w04a]]&lt;br /&gt;
[[Minecraft:ru:25w04a (Java Edition)]]&lt;br /&gt;
[[Minecraft:uk:25w04a (Java Edition)]]&lt;br /&gt;
[[Minecraft:zh:Java版25w04a]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>