<?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_25w03a</id>
	<title>Minecraft:Java Edition 25w03a - 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_25w03a"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Java_Edition_25w03a&amp;action=history"/>
	<updated>2026-04-11T18:03:45Z</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_25w03a&amp;diff=88654&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_25w03a&amp;diff=88654&amp;oldid=prev"/>
		<updated>2026-04-11T11:14:58Z</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 25w03a&lt;br /&gt;
|image=25w03a.jpg&lt;br /&gt;
|image2=Java Edition 25w03a.png&lt;br /&gt;
|edition=Java&lt;br /&gt;
|type=Snapshot&lt;br /&gt;
|date=January 15, 2025&lt;br /&gt;
|jsonhash=355a00a8bd037d18e80110a4536d0e8b0ea73270&lt;br /&gt;
|clienthash=9acca901e3564a91250b941cd2c55a55d0b71bca&lt;br /&gt;
|clientmap=94b753018a4683ec7c25a33c9048d46fbf9a5db0&lt;br /&gt;
|serverhash=e003d151668a0eff64c1191972707655e341f8f5&lt;br /&gt;
|servermap=ad7bb6cf9bdb85fd561981e2c4634a9d3292592d&lt;br /&gt;
|parent=1.21.5&lt;br /&gt;
|prevparent=1.21.4&lt;br /&gt;
|prev=25w02a&lt;br /&gt;
|next=25w04a&lt;br /&gt;
|nextparent=1.21.6&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&amp;#039;&amp;#039;&amp;#039;25w03a&amp;#039;&amp;#039;&amp;#039; is the second [[Minecraft:snapshot]] for [[Minecraft:Java Edition 1.21.5]] released on January 15, 2025,&amp;lt;ref&amp;gt;{{snap|25w03a|id=a|January 15, 2025}}&amp;lt;/ref&amp;gt; which adds [[Minecraft:test block]], [[Minecraft:test instance block]], and fixes bugs.&lt;br /&gt;
&lt;br /&gt;
== Additions ==&lt;br /&gt;
=== Blocks ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;{{animate|Test Block start JE1.png;Test Block log JE1.png;Test Block fail JE1.png;Test Block accept JE1.png|32px}} [[Minecraft:Test block]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* A technical block used in game test.&lt;br /&gt;
* Can be obtained by {{cmd|setblock}}, {{cmd|fill}}, or {{cmd|give}} commands, or through the [[Minecraft:Operator Items Tab]].&lt;br /&gt;
* The test block is a block used for implementing block-based tests. It has four modes:&lt;br /&gt;
** {{cd|start}}: Triggers a redstone pulse when the test starts&lt;br /&gt;
** {{cd|log}}: Logs a message to the server log file when powered by redstone (prints twice, due to a bug&amp;lt;ref name=&amp;quot;youtube-6elLSg0y7X4&amp;quot;&amp;gt;{{Citation|url=https://www.youtube.com/watch?v=6elLSg0y7X4|title=Mojang just added some WEIRD new blocks. Here&amp;#039;s how they work.|author=Conure [@conure512]|website=YouTube|date=2025-01-15|archive-url=https://preservetube.com/watch?v=6elLSg0y7X4}}&amp;lt;/ref&amp;gt;&amp;lt;!-- 9:10 - 9:30 --&amp;gt;)&lt;br /&gt;
** {{cd|fail}}: Fails the test when powered by redstone&lt;br /&gt;
** {{cd|accept}}: Completes the test when powered by redstone&lt;br /&gt;
* Block-based tests are required to have at least one start block and one accept block in the structure.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[File:Test Instance Block JE1.png|32px]] [[Minecraft:Test instance block]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* A technical block used in game test.&lt;br /&gt;
* Can be obtained by {{cmd|setblock}}, {{cmd|fill}}, or {{cmd|give}} commands, or through the [[Minecraft:Operator Items Tab]].&lt;br /&gt;
* To run a test in a world, a test instance block is used. This type of block represents the test as placed in the world and is used to interact with that test, to save the structure, reset or run the test.&lt;br /&gt;
* Using the {{cmd|test}} command to run or create a test will also place a test instance block to control that test.&lt;br /&gt;
&lt;br /&gt;
=== Command format ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;{{cmd|test}}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* A new command used to create and run tests.&lt;br /&gt;
** Syntax:&lt;br /&gt;
*** {{cmd|test clearall [&amp;lt;radius&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test clearthat}}&lt;br /&gt;
*** {{cmd|test clearthese}}&lt;br /&gt;
*** {{cmd|test create &amp;lt;test&amp;gt; [&amp;lt;width&amp;gt;] [&amp;lt;height&amp;gt; &amp;lt;depth&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test locate &amp;lt;selector&amp;gt;}}&lt;br /&gt;
*** {{cmd|test resetclosest}}&lt;br /&gt;
*** {{cmd|test resetthese}}&lt;br /&gt;
*** {{cmd|test resetthat}}&lt;br /&gt;
*** {{cmd|test pos [&amp;lt;variable&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test run &amp;lt;selector&amp;gt; [&amp;lt;numberOfTimes&amp;gt;] [&amp;lt;untilFailed&amp;gt;] [&amp;lt;rotationSteps&amp;gt;] [&amp;lt;testsPerRow&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test runclosest [&amp;lt;numberOfTimes&amp;gt;] [&amp;lt;untilFailed&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test runfailed [&amp;lt;numberOfTimes&amp;gt;] [&amp;lt;untilFailed&amp;gt;] [&amp;lt;rotationSteps&amp;gt;] [&amp;lt;testsPerRow&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test runmultiple &amp;lt;selector&amp;gt; [&amp;lt;amount&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test runthat [&amp;lt;numberOfTimes&amp;gt;] [&amp;lt;untilFailed&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test runthese [&amp;lt;numberOfTimes&amp;gt;] [&amp;lt;untilFailed&amp;gt;]}}&lt;br /&gt;
*** {{cmd|test stop}}&lt;br /&gt;
*** {{cmd|test verify &amp;lt;tests&amp;gt;}}&lt;br /&gt;
** Parameters:&lt;br /&gt;
*** {{cd|radius}}:&lt;br /&gt;
**** The radius to clear tests within.&lt;br /&gt;
*** {{cd|test}}: &lt;br /&gt;
**** The namespaced ID of a test.&lt;br /&gt;
*** {{cd|selector}}: &lt;br /&gt;
**** A wildcard-enabled selector for test IDs&lt;br /&gt;
**** Supports * and ? for matching namespaced IDs&lt;br /&gt;
**** If namespace is not supplied, defaults to minecraft&lt;br /&gt;
**** Examples:&lt;br /&gt;
***** {{cd|*:*}} &lt;br /&gt;
****** Matches all IDs&lt;br /&gt;
***** {{cd|*}}&lt;br /&gt;
****** Matches everything in the minecraft namespace&lt;br /&gt;
***** {{cd|custom:folder/*_test_?}} &lt;br /&gt;
****** Matches IDs in the folder folder of the custom namespace, with a prefix followed by _test_ followed by a single valid character&lt;br /&gt;
*** {{cd|width}}: &lt;br /&gt;
**** The width of the test structure.&lt;br /&gt;
***** If omitted, {{cd|5}} is used.&lt;br /&gt;
*** {{cd|height}}: &lt;br /&gt;
**** The height of the test structure .&lt;br /&gt;
***** If omitted, the {{cd|width}} is used.&lt;br /&gt;
*** {{cd|depth}}: &lt;br /&gt;
**** The depth of the test structure.&lt;br /&gt;
***** If omitted, the {{cd|width}} is used.&lt;br /&gt;
*** {{cd|variable}}: &lt;br /&gt;
**** The variable name to include in the copied code snippet.&lt;br /&gt;
*** {{cd|numberOfTimes}}: &lt;br /&gt;
**** The number of times to repeat each test.&lt;br /&gt;
***** If omitted, {{cd|1}} is used.&lt;br /&gt;
*** {{cd|untilFailed}}: &lt;br /&gt;
**** Boolean (default false) noting that the test should be stopped as soon as one iteration fails.&lt;br /&gt;
*** {{cd|rotationSteps}}: &lt;br /&gt;
**** Number of extra 90 degree steps to apply to the test.&lt;br /&gt;
***** If omitted, {{cd|0}} is used.&lt;br /&gt;
*** {{cd|testsPerRow}}: &lt;br /&gt;
**** Number of tests to place per row in a grid layout.&lt;br /&gt;
***** If omitted, {{cd|8}} is used.&lt;br /&gt;
* {{cmd|test clear*}}&lt;br /&gt;
** These subcommands clear the structures and blocks associated with the selected tests.&lt;br /&gt;
* {{cmd|test create}}&lt;br /&gt;
** This subcommand creates a test setup in the current location for the given test, preparing for a structure of the given size. &lt;br /&gt;
** This gives a starting point for creating the structure for the test.&lt;br /&gt;
* {{cmd|test locate}}&lt;br /&gt;
** Attempts to locate the given test. &lt;br /&gt;
*** Note that only loaded chunks are searched.&lt;br /&gt;
* {{cmd|test reset*}}&lt;br /&gt;
** These subcommands reset the structures for the selected tests, removing any surrounding barriers and placing the structure in from scatch.&lt;br /&gt;
* {{cmd|test pos}}&lt;br /&gt;
** Shows the local coordinates to the block pointed at in the test. &lt;br /&gt;
** If the optional variable name is specified, this variable name is used in a code fragment obtained by clicking on the coordinates in the output message.&lt;br /&gt;
* {{cmd|test run*}}&lt;br /&gt;
** Runs one or more tests. &lt;br /&gt;
*** If multiple tests are run at once, they are placed in a grid and run in parallel, although only up to a certain limit. Beyond that limit, tests are run in rounds where each round completes before any tests from the next round are started.&lt;br /&gt;
*** For each test, loads the given structure and runs the associated test. Each test location will have a beacon beam showcasing the test status.&lt;br /&gt;
**** Gray beacon = in progress&lt;br /&gt;
**** Red = fail (required test)&lt;br /&gt;
**** Orange = fail (optional test)&lt;br /&gt;
**** Green = success&lt;br /&gt;
*** If a test fails, the error is shown on a lectern book and an overlay.&lt;br /&gt;
* {{cmd|test stop}}&lt;br /&gt;
** Stops all running tests. &lt;br /&gt;
*** Note that gameplay events triggered by tests may still remain.&lt;br /&gt;
* {{cmd|test verify*}}&lt;br /&gt;
** Verifies one or more tests by running multiple instances of the same test.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Block-based test]]s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Use [[Minecraft:test block]]s in the test structure to run the test and indicate success or failure.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Function test]]s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Rely on built-in functions to run a test and indicate success or failure. &lt;br /&gt;
** They have one additional field:&lt;br /&gt;
*** {{cd|function}}: &lt;br /&gt;
**** The namespaced ID of the Test Function to run.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Game tests]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The Game Tests system is a new integrated system for testing aspects of the game.&lt;br /&gt;
* Each test is an asset defining some parameters for how the test gets executed, combined with a saved structure file containing a base setup.&lt;br /&gt;
* Generally, the test framework expects to run tests in a separate superflat world.&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;
*** New data source has been added to select item model: {{cd|component}}.&lt;br /&gt;
*** Returns value of component on item, if any.&lt;br /&gt;
*** Fields:&lt;br /&gt;
**** {{cd|component}} - namespaced ID of component type.&lt;br /&gt;
*** Possible values: depends on component type.&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_equip_saddle}} entity tag.&lt;br /&gt;
** Contains entities that can be equipped with a saddle.&lt;br /&gt;
** This does not mean that the Saddle will function, just that it can be equipped into the saddle slot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Test environment definition|Test environments]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Test Environments are a way to group up tests and give them the right preconditions to run. &lt;br /&gt;
* A test environment is an asset in the {{cd|test_environment}} registry. &lt;br /&gt;
* Each test environment definition has a {{cd|type}} field that determines its setup:&lt;br /&gt;
** {{cd|all_of}} definitions &lt;br /&gt;
*** Apply the setup from several sub-definitions in the {{cd|definitions}} field.&lt;br /&gt;
** {{cd|function}} definitions &lt;br /&gt;
*** Use mcfunction files as setup and teardown.&lt;br /&gt;
*** {{cd|setup}}: &lt;br /&gt;
**** Optional namespaced ID of the mcfunction to use for setup, if any.&lt;br /&gt;
*** {{cd|teardown}}: &lt;br /&gt;
**** Optional namespaced ID of the mcfunction to use for teardown, if any.&lt;br /&gt;
** {{cd|game_rules}}: definitions &lt;br /&gt;
*** Set any number of game rules.&lt;br /&gt;
*** {{cd|bool_rules}}: &lt;br /&gt;
**** A list of boolean game rules to set and the value to set.&lt;br /&gt;
*** {{cd|int_rules}}: &lt;br /&gt;
**** A list of integer game rules to set and the value to set.&lt;br /&gt;
*** Each rule is an object with two fields:&lt;br /&gt;
**** {{cd|rule}}: &lt;br /&gt;
***** The exact name of the rule to set.&lt;br /&gt;
**** {{cd|value}}: &lt;br /&gt;
***** The value to set&lt;br /&gt;
*** Game rules are reset to their default values after the test environment has completed.&lt;br /&gt;
** {{cd|weather}} definitions (not working in this snapshot&amp;lt;ref name=&amp;quot;youtube-6elLSg0y7X4&amp;quot; /&amp;gt;&amp;lt;!-- 7:45 - 8:00 --&amp;gt;)&lt;br /&gt;
*** Sets the weather state&lt;br /&gt;
*** {{cd|weather}}: &lt;br /&gt;
**** The weather to set.&lt;br /&gt;
**** One of {{cd|clear}}, {{cd|rain}} and {{cd|thunder}}.&lt;br /&gt;
** {{cd|time_of_day}} definitions &lt;br /&gt;
*** Set a given time of day.&lt;br /&gt;
*** {{cd|time}}: &lt;br /&gt;
**** The time of day to set in number of ticks, as a non-negative integer.&lt;br /&gt;
* The game provides a single, empty test environment by default: {{cd|minecraft:default}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Test instance definition|Test instances]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Test instances are defined in the registry {{cd|test_instance}}. &lt;br /&gt;
** They&amp;#039;re small assets defining a test to run.&lt;br /&gt;
** Fields:&lt;br /&gt;
*** {{cd|batch}} (wrongly called &amp;lt;s&amp;gt;{{cd|environment}}&amp;lt;/s&amp;gt; in the changelog&amp;lt;ref name=&amp;quot;youtube-6elLSg0y7X4&amp;quot; /&amp;gt;&amp;lt;!-- 5:40 - 6:20 --&amp;gt;):&lt;br /&gt;
**** Namespaced ID of the test environment to run this test as part of.&lt;br /&gt;
*** {{cd|structure}}: &lt;br /&gt;
**** Namespaced ID of the structure to use for the test.&lt;br /&gt;
*** {{cd|max_ticks}}:&lt;br /&gt;
**** A positive integer representing the maximum number of ticks allowed to pass before the test is considered timed out.&lt;br /&gt;
*** {{cd|setup_ticks}}: &lt;br /&gt;
**** Optional non-negative integer.&lt;br /&gt;
**** Default: {{cd|0}}&lt;br /&gt;
**** Represents a number of ticks to wait after placing the structure before starting the test.&lt;br /&gt;
*** {{cd|required}}: &lt;br /&gt;
**** Optional boolean.&lt;br /&gt;
**** Default {{cd|true}}&lt;br /&gt;
**** Whether the test is considered required to pass for the full test suite to pass.&lt;br /&gt;
*** {{cd|rotation}}: &lt;br /&gt;
**** Optional rotation to apply to the test structure.&lt;br /&gt;
**** One of {{cd|none}} (default), {{cd|clockwise_90}}, {{cd|180}} and {{cd|counterclockwise_90}}.&lt;br /&gt;
*** {{cd|manual_only}}:&lt;br /&gt;
**** Optional boolean.&lt;br /&gt;
**** Default {{cd|false}}&lt;br /&gt;
**** Set to {{cd|true}} for tests that are not included as part of automated test runs.&lt;br /&gt;
*** {{cd|sky_access}}: &lt;br /&gt;
**** Whether the test needs clear access to the sky.&lt;br /&gt;
**** Default: {{cd|false}}&lt;br /&gt;
**** Tests are enclosed in barrier blocks.&lt;br /&gt;
**** If set to {{cd|true}}, the top is left open.&lt;br /&gt;
*** {{cd|max_attempts}}: &lt;br /&gt;
**** Number of attempts to run the test.&lt;br /&gt;
**** Default: {{cd|1}}&lt;br /&gt;
*** {{cd|required_successes}}: &lt;br /&gt;
**** Number of attempts that must succeed for the test to be considered successful .&lt;br /&gt;
**** Default: {{cd|1}}&lt;br /&gt;
*** {{cd|type}}: &lt;br /&gt;
**** The type of test.&lt;br /&gt;
**** One of {{cd|block_based}} and {{cd|function}}.&lt;br /&gt;
&lt;br /&gt;
== Changes ==&lt;br /&gt;
=== Blocks ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Leaf litter]] &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Can be used in a [[Minecraft:composter]].&lt;br /&gt;
&lt;br /&gt;
=== Items ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Saddle]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Saddles equipped onto [[Minecraft:pig]]s or [[Minecraft:strider]]s will now maintain properties such as custom name when dropped.&lt;br /&gt;
* Saddles equipped onto [[Minecraft:camel]]s and equines ([[Minecraft:horse]]s, [[Minecraft:donkey]]s, [[Minecraft:mule]]s) now remain visible if the mob equipped with them is inflicted with [[Minecraft:Invisibility]].&lt;br /&gt;
* Saddles equipped onto camels and equines no longer turn red when the mob wearing it takes damage.&lt;br /&gt;
* When enchanted now show the [[Minecraft:enchantment]] glint on mobs wearing it.&lt;br /&gt;
* [[Minecraft:Thorns]] and [[Minecraft:Curse of Binding]] enchantments now work on mobs that are wearing it.&lt;br /&gt;
&lt;br /&gt;
=== Command format ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Item slots&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The {{cd|horse.saddle}} item slot has been renamed to {{cd|saddle}}, and now supports any entity that can equip a Saddle.&lt;br /&gt;
** Driven by the {{cd|equippable}} component.&lt;br /&gt;
** Only mobs that normally support saddles will support riding and rendering of the saddle.&lt;br /&gt;
** Items in the {{cd|saddle}} slot can apply attribute modifiers as with other equipment.&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:End portal]] and [[Minecraft:exit portal]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* When changing state, any blocks that are in its radius will be dropped as items and also make breaking sounds, rather than outright overwritten.&amp;lt;ref&amp;gt;{{Citation|url=https://cdn.skye.lol/diffs/25w02a_to_25w03a.html|title=25w02a to 25w03a|website=cdn.skye.lol|archive-url=https://web.archive.org/web/20250116170725/https://cdn.skye.lol/diffs/25w02a_to_25w03a.html|section=&amp;lt;code&amp;gt;EndPodiumFeature&amp;lt;/code&amp;gt;}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&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|weapon}} component&lt;br /&gt;
** {{cd|damage_per_attack}} field was renamed to {{cd|item_damage_per_attack}}&lt;br /&gt;
&lt;br /&gt;
* {{cd|equippable}} component&lt;br /&gt;
** Can now apply to saddle slot.&lt;br /&gt;
** Any mob can now have equipment added in the {{cd|body}} slot as long as the component allows it ({{cd|allowed_entities}}).&lt;br /&gt;
** Added new optional field: {{cd|equip_on_interact}} (boolean).&lt;br /&gt;
*** If {{cd|true}}, players can equip this item onto a target mob by right-clicking it (as long as this item can be equipped on the target at all).&lt;br /&gt;
*** The item will not be equipped if the target already has an item in the relevant slot.&lt;br /&gt;
*** If not specified, defaults to {{cd|false}}.&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|63}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Entity format]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The {{cd|ArmorItems}}, {{cd|HandItems}}, and {{cd|body_armor_item}} fields have been merged into an {{cd|equipment}} field.&lt;br /&gt;
** Format: &lt;br /&gt;
*** Map between equipment slot type and item stack.&lt;br /&gt;
**** Valid equipment slots: {{cd|head}}, {{cd|chest}}, {{cd|legs}}, {{cd|feet}}, {{cd|mainhand}}, {{cd|offhand}}, {{cd|body}}, {{cd|saddle}}.&lt;br /&gt;
*** If not specified or removed, the entity will have no equipment.&lt;br /&gt;
*** e.g. {{cd|equipment:{chest:{id:&amp;#039;minecraft:diamond_chestplate&amp;#039;}}}}.&lt;br /&gt;
*** This affects all mobs and armor stands, but players are unaffected.&lt;br /&gt;
** The data format of saddles has been unified between mobs such as horses and pigs, becoming a new kind of equipment slot (and stored in the {{cd|equipment.saddle}} field)&lt;br /&gt;
*** This also replaces the boolean {{cd|Saddle}} flag from pigs and striders.&lt;br /&gt;
*** The Saddle dropping on death is now affected by the {{cd|drop_chances}} field, as with other equipment slots.&lt;br /&gt;
** The {{cd|FallDistance}} field has been changed from float to double and is now called {{cd|fall_distance}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Entity variant components&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Entities now have a set of components for configuring variants and other aspects of apperance.&lt;br /&gt;
* If those components are present on spawning item (like spawn eggs, mob buckets, minecraft:painting, minecraft:item_frame), they will be applied to new entity&lt;br /&gt;
* Components are currently not restored when spawn egg is picked from existing entity&lt;br /&gt;
* Added components:&lt;br /&gt;
** {{cd|villager/variant}} - one of {{cd|desert}}, {{cd|jungle}}, {{cd|plains}}, {{cd|savanna}}, {{cd|snow}}, {{cd|swamp}}, {{cd|taiga}}&lt;br /&gt;
** {{cd|wolf/variant}} - namespaced id from {{cd|wolf_variant}} registry&lt;br /&gt;
** {{cd|wolf/collar}} - one of 16 dye colors&lt;br /&gt;
** {{cd|fox/variant}} - one of {{cd|red}}, {{cd|snow}}&lt;br /&gt;
** {{cd|salmon/size}} - one of {{cd|small}}, {{cd|medium}}, {{cd|large}}&lt;br /&gt;
** {{cd|parrot/variant}} - one of {{cd|red_blue}}, {{cd|blue}}, {{cd|green}}, {{cd|yellow_blue}}, {{cd|gray}}&lt;br /&gt;
** {{cd|tropical_fish/pattern}} - one of {{cd|kob}}, {{cd|sunstreak}}, {{cd|snooper}}, {{cd|dasher}}, {{cd|brinely}}, {{cd|spotty}}, {{cd|flopper}}, {{cd|stripey}}, {{cd|glitter}}, {{cd|blockfish}}, {{cd|betty}}, {{cd|clayfish}}&lt;br /&gt;
** {{cd|tropical_fish/base_color}} - one of 16 dye colors&lt;br /&gt;
** {{cd|tropical_fish/pattern_color}} - one of 16 dye colors&lt;br /&gt;
** {{cd|mooshroom/variant}} - one of {{cd|red}}, {{cd|brown}}&lt;br /&gt;
** {{cd|rabbit/variant}} - one of brown, {{cd|white}}, {{cd|black}}, {{cd|white_splotched}}, {{cd|gold}}, {{cd|salt}}, {{cd|evil}}&lt;br /&gt;
** {{cd|pig/variant}} - namespaced id from {{cd|pig_variant}} registry&lt;br /&gt;
** {{cd|frog/variant}} - namespaced id from {{cd|frog_variant}} registry&lt;br /&gt;
** {{cd|horse/variant}} - one of {{cd|white}}, {{cd|creamy}}, {{cd|chestnut}}, {{cd|brown}}, {{cd|black}}, {{cd|gray}}, {{cd|dark_brown}}&lt;br /&gt;
** {{cd|painting/variant}} - namespaced id from {{cd|painting_variant}} registry&lt;br /&gt;
** {{cd|llama/variant}} - one of {{cd|creamy}}, {{cd|white}}, {{cd|brown}}, {{cd|gray}}&lt;br /&gt;
** {{cd|axolotl/variant}} - one of {{cd|lucy}}, {{cd|wild}}, {{cd|gold}}, {{cd|cyan}}, {{cd|blue}}&lt;br /&gt;
** {{cd|cat/variant}} - namespaced id from {{cd|cat_variant}} registry&lt;br /&gt;
** {{cd|cat/collar}} - one of 16 dye colors&lt;br /&gt;
** {{cd|sheep/color}} - one of 16 dye colors&lt;br /&gt;
** {{cd|shulker/color}} - one of 16 dye colors&lt;br /&gt;
* Mob buckets and paintings available in creative menu will now use new variants instead of {{cd|minecraft:entity_data}} component.&lt;br /&gt;
* Custom tooltips for [[Minecraft:bucket of tropical fish]] and [[Minecraft:painting]] items are now based on new components instead of {{cd|minecraft:bucket_entity_data}} and {{cd|minecraft:entity_data}}.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment assets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Equipment assets may now define new layer types:&lt;br /&gt;
** {{cd|pig_saddle}} - equipment layer for Pig saddles&lt;br /&gt;
** {{cd|strider_saddle}} - equipment layer for Strider saddles&lt;br /&gt;
** {{cd|camel_saddle}} - equipment layer for Camel saddles&lt;br /&gt;
** {{cd|horse_saddle}} - equipment layer for Horse saddles&lt;br /&gt;
** {{cd|donkey_saddle}} - equipment layer for Donkey saddles&lt;br /&gt;
** {{cd|mule_saddle}} - equipment layer for Mule saddles&lt;br /&gt;
** {{cd|skeleton_horse_saddle}} - equipment layer for Skeleton Horse saddles&lt;br /&gt;
** {{cd|zombie_horse_saddle}} - equipment layer for Zombie Horse saddles&lt;br /&gt;
* The following textures have been moved to support the use of equipment assets for saddles:&lt;br /&gt;
** {{cd|entity/pig/pig_saddle.png}} -&amp;gt; {{cd|entity/equipment/pig_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/strider/strider_saddle.png}} -&amp;gt; {{cd|entity/equipment/strider_saddle/saddle.png}}&lt;br /&gt;
* The following textures have been split from their base entity texture to support the use of equipment assets for saddles:&lt;br /&gt;
** {{cd|entity/camel/camel.png}} -&amp;gt; {{cd|entity/equipment/camel_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/horse/horse_&amp;lt;variant&amp;gt;.png}} -&amp;gt; {{cd|entity/equipment/horse_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/horse/donkey.png}} -&amp;gt; {{cd|entity/equipment/donkey_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/horse/mule.png}} -&amp;gt; {{cd|entity/equipment/mule_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/horse/horse_skeleton.png}} -&amp;gt; {{cd|entity/equipment/skeleton_horse_saddle/saddle.png}}&lt;br /&gt;
** {{cd|entity/horse/horse_zombie.png}} -&amp;gt; {{cd|entity/equipment/zombie_horse_saddle/saddle.png}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Predicate]]s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Entity predicates&lt;br /&gt;
** A new optional field was added to entity predicate: {{cd|components}}.&lt;br /&gt;
*** When present, predicate will match contents of entity components.&lt;br /&gt;
*** Format: &lt;br /&gt;
**** Map of component type key to matching component values.&lt;br /&gt;
** The following entity sub-predicates have been removed and replaced with combination of {{cd|components}} predicate and variant entity components:&lt;br /&gt;
*** {{cd|minecraft:axolotl}}&lt;br /&gt;
*** {{cd|minecraft:fox}}&lt;br /&gt;
*** {{cd|minecraft:mooshroom}}&lt;br /&gt;
*** {{cd|minecraft:rabbit}}&lt;br /&gt;
*** {{cd|minecraft:horse}}&lt;br /&gt;
*** {{cd|minecraft:llama}}&lt;br /&gt;
*** {{cd|minecraft:villager}}&lt;br /&gt;
*** {{cd|minecraft:parrot}}&lt;br /&gt;
*** {{cd|minecraft:salmon}}&lt;br /&gt;
*** {{cd|minecraft:tropical_fish}}&lt;br /&gt;
*** {{cd|minecraft:painting}}&lt;br /&gt;
*** {{cd|minecraft:cat}}&lt;br /&gt;
*** {{cd|minecraft:frog}}&lt;br /&gt;
*** {{cd|minecraft:wolf}}&lt;br /&gt;
*** {{cd|minecraft:pig}}&lt;br /&gt;
** The field {{cd|color}} has been removed from {{cd|minecraft:sheep}} sub-predicate.&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|48}}.&lt;br /&gt;
* Added new equipment asset layer type for Pigs and Striders, and moved saddle textures.&lt;br /&gt;
* Changed the size of {{cd|pig_saddle}} texture.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Server.jar]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Added the entry point {{cd|net.minecraft.gametest.Main}}.&lt;br /&gt;
** Automatically starts a server, runs all available game tests and then exits.&lt;br /&gt;
** Options:&lt;br /&gt;
*** {{cd|--help}} - Shows usage information&lt;br /&gt;
*** {{cd|--packs &amp;lt;path&amp;gt;}} - Set a folder of datapacks to include in the world&lt;br /&gt;
**** Any zip file or folder with a {{cd|pack.mcmeta}} file is included&lt;br /&gt;
*** {{cd|--report &amp;lt;path&amp;gt;}} - Exports results in a junit-like XML report at the given path&lt;br /&gt;
*** {{cd|--tests &amp;lt;selection&amp;gt;}} - Specify which tests to run with a selection - a wildcard expression matching namespace test instance IDs&lt;br /&gt;
**** If omitted, or used with an empty ID, runs all tests&lt;br /&gt;
*** {{cd|--universe &amp;lt;path&amp;gt;}} - The path to where the test server world will be created&lt;br /&gt;
**** Any existing folder will be replaced&lt;br /&gt;
**** Default: {{cd|gametestserver}}&lt;br /&gt;
*** {{cd|--verify &amp;lt;boolean&amp;gt;}} - Enables test verification&lt;br /&gt;
**** Runs the tests specified with {{cd|test}} or {{cd|testNamespace}} 100 times for each 90 degree rotation step&lt;br /&gt;
**** Default: {{cd|false}}&lt;br /&gt;
** Example usage: {{cd|java -DbundlerMainClass{{=}}&amp;quot;net.minecraft.gametest.Main&amp;quot; -jar server.jar --packs mytestpacks}}&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 {{cd|leaf_litter}} to the {{cd|#replaceable_by_mushrooms}} block tag.&lt;br /&gt;
* Fixed the {{cd|#is_overworld}}, and {{cd|#has_structure/trial_chambers}} biome tags to contain all required biomes.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Minecraft:Text component format]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Hover Events&lt;br /&gt;
** {{cd|show_text}} action:&lt;br /&gt;
*** The {{cd|text}} field has been renamed to {{cd|value}}.&lt;br /&gt;
&lt;br /&gt;
== Fixes ==&lt;br /&gt;
{{fixes|project=MC|fixedin=25w03a&lt;br /&gt;
|;From released versions before 1.21&lt;br /&gt;
|13738|Invisible saddle when using invisibility potion on a horse, donkey or mule.&lt;br /&gt;
|80243|Saddles don&amp;#039;t apply attribute modifiers when worn by entities.&lt;br /&gt;
|189525|Armored entities from pre-1.9 worlds upgrade to dual wielding armor.&lt;br /&gt;
|190000|Saddles equipped on horses cannot be replaced without removing them first.&lt;br /&gt;
|227097|End portals delete blocks that are inside of the portal.&lt;br /&gt;
|256469|Invisible camels don&amp;#039;t show their saddles.&lt;br /&gt;
|266912|Saddle equipping sounds aren&amp;#039;t played when saddles are equipped on horses, donkeys, mules, or camels shortly after the said entity is summoned.&lt;br /&gt;
|269637|Horses can wear multiple saddles but not multiple horse armor.&lt;br /&gt;
|270192|The saddles of some entities stay visible through their death animation.&lt;br /&gt;
|270197|The saddle on pigs and striders stays visible through their death animation.&lt;br /&gt;
|272100|Unused palette pixels in horse textures ({{cd|horse_[brown/chestnut/creamy/white].png}}).&lt;br /&gt;
|272790|Shulker boxes and other blocks in the end exit portal when it changes state are not dropped as items.&lt;br /&gt;
|;From 1.21&lt;br /&gt;
|274258|All horse textures contain an unused chest bag texture.&lt;br /&gt;
|;From 1.21.2&lt;br /&gt;
|279340|Baby polar bears are too small.&lt;br /&gt;
|;From 1.21.4&lt;br /&gt;
|278673|The x-rotation of {{cmd|teleport}} is limited to ±90 degrees relative to the entity&amp;#039;s original angle.&lt;br /&gt;
|;prev&lt;br /&gt;
|279206|Leaf Litter cannot be composted.&lt;br /&gt;
|279208|Players can no longer begin sprinting when pressing a sideways movement key first.&lt;br /&gt;
|279211|Shulker boxes both keep and drop their contents upon being broken via certain methods causing item duplication.&lt;br /&gt;
|279213|Mushroom Blocks can&amp;#039;t replace Leaf Litter.&lt;br /&gt;
|279221|Leaf Litter replaces leaves in world gen.&lt;br /&gt;
|279224|Using bone meal in meadows doesn&amp;#039;t generate wildflowers.&lt;br /&gt;
|279226|Experience orbs of any value all render as the smallest value.&lt;br /&gt;
|279233|Shulker boxes drop their contents when broken.&lt;br /&gt;
|279234|The {{cd|minecraft:entity.generic.extinguish_fire}} sound does not play when the fire on an entity is extinguished.&lt;br /&gt;
|279238|Dying to a minecart with TNT ignited by a blaze fireball doesn&amp;#039;t count as the blaze&amp;#039;s kill.&lt;br /&gt;
|279239|The motion of primed TNT is choppy and jittery.&lt;br /&gt;
|279245|Most hostile mobs aren&amp;#039;t spawning even under the right conditions.&lt;br /&gt;
|279248|Lava collision is too high.&lt;br /&gt;
|279281|Fall damage occurs from jumping from 2 blocks up.&lt;br /&gt;
|279282|Parrots with non-player owner UUID cause crash upon spawning.&lt;br /&gt;
|279301|Player dies by falling from 22.00001 blocks instead of 23 blocks.&lt;br /&gt;
|279313|The motion of item entities is choppy and jittery under certain circumstances.&lt;br /&gt;
|279314|Projectiles twitch up and down slightly while flying through the air.&lt;br /&gt;
|279316|The motion of fishing bobbers is choppy and jittery.&lt;br /&gt;
|279326|Lit observers no longer send block updates when moved by a piston.&lt;br /&gt;
|279339|Update order for sloped rails is incorrect.&lt;br /&gt;
|279345|Pink petals and Wildflowers can no longer be grown by bone meal.&lt;br /&gt;
|279357|Player can fall off edges while sneaking.&lt;br /&gt;
|279459|{{cmd|setblock}} and other fills don&amp;#039;t properly update block entities.&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{{Slicedlime|v6f1AEBrJHI|J-jM1Zw3_R0}}&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:25w03a]]&lt;br /&gt;
[[Minecraft:es:Java Edition 25w03a]]&lt;br /&gt;
[[Minecraft:fr:Édition Java 25w03a]]&lt;br /&gt;
[[Minecraft:ja:Java Edition 25w03a]]&lt;br /&gt;
[[Minecraft:lzh:二五週〇三甲]]&lt;br /&gt;
[[Minecraft:pt:Edição Java 25w03a]]&lt;br /&gt;
[[Minecraft:ru:25w03a (Java Edition)]]&lt;br /&gt;
[[Minecraft:uk:25w03a (Java Edition)]]&lt;br /&gt;
[[Minecraft:zh:Java版25w03a]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>