Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Java Edition 26.3: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: updated from Minecraft
SyncBot (talk | contribs)
Sync: updated from Minecraft
Line 295: Line 295:


=== Command format ===
=== Command format ===
'''{{cmd|compute}}'''
* Evaluates {{cd|minecraft:number_provider}} in various contexts.
* In all contexts {{cd|origin}} is set to current command context position, while {{cd|this}} entity is set to {{cd|@s}}.
* Syntax:
** {{cd|/compute <target> <provider> [<scale>{{!}}integer]}}, where:
*** {{cd|<target>}} — one of:
**** {{cd|default}} — runs provider in {{cd|minecraft:command_compute_default}} context, where only common arguments (position and {{cd|this}} entity) are available.
**** {{cd|block <pos>}} — runs provider in {{cd|minecraft:command_compute_position}} context, where block state and block position are set based on block at position {{cd|<pos>}}.
**** {{cd|entity <entity selector>}} — runs provider in {{cd|minecraft:command_compute_entity}} context, where {{cd|target_entity}} is set to selector result.
*** {{cd|<provider>}} — either an element of {{cd|minecraft:number_provider}} registry or inline value.
*** {{cd|<scale>}} — optional scale value, defaults to {{cd|1.0}}.
**** Final result will be multiplied by {{cd|<scale>}} and rounded towards negative infinity.
*** {{cd|integer}} — optional marker to use integer mode.
**** Due to truncation between intermediate steps this mode is not equivalent to float mode even if scale is {{cd|1.0}}.
'''{{cmd|posteffect}}'''
'''{{cmd|posteffect}}'''
* Allows adding or removing [[Minecraft:post effect]]s to players.
* Allows adding or removing [[Minecraft:post effect]]s to players.
Line 319: Line 334:
** Format: object with fields:
** Format: object with fields:
*** {{cd|type}} – swing animation type, one of {{cd|whack}} or {{cd|stab}}.
*** {{cd|type}} – swing animation type, one of {{cd|whack}} or {{cd|stab}}.
*** {{cd|duration}} – positive integer, the length of the animation in ticks.
*** {{cd|duration}} – non-negative integer, the length of the animation in ticks.
 
* Added {{cd|minecraft:interact_animation}}
** The animation to play when the item is being used to interact with something.
** Format: same as {{cd|minecraft:attack_animation}}


* Added {{cd|minecraft:block_transformer}}
* Added {{cd|minecraft:block_transformer}}
Line 375: Line 386:
** [[Minecraft:Armor stand]], [[Minecraft:Item#Items that directly correspond to blocks|block items]] (included [[Minecraft:powder snow bucket]]), [[Minecraft:bone meal]], [[Minecraft:brush]], debug stick, [[Minecraft:end crystal]], ender eye, [[Minecraft:fire charge]], [[Minecraft:firework rocket]], [[Minecraft:flint and steel]], all hanging entity items ([[Minecraft:painting]], ([[Minecraft:Glow Item Frame|glow]]) [[Minecraft:item frame]]), [[Minecraft:honeycomb]], [[Minecraft:lead]], all [[Minecraft:minecart]]s, all potions, and all [[Minecraft:spawn egg]]s has hardcoded effects when interacting with blocks, whereas this data component has no effect whatsoever.
** [[Minecraft:Armor stand]], [[Minecraft:Item#Items that directly correspond to blocks|block items]] (included [[Minecraft:powder snow bucket]]), [[Minecraft:bone meal]], [[Minecraft:brush]], debug stick, [[Minecraft:end crystal]], ender eye, [[Minecraft:fire charge]], [[Minecraft:firework rocket]], [[Minecraft:flint and steel]], all hanging entity items ([[Minecraft:painting]], ([[Minecraft:Glow Item Frame|glow]]) [[Minecraft:item frame]]), [[Minecraft:honeycomb]], [[Minecraft:lead]], all [[Minecraft:minecart]]s, all potions, and all [[Minecraft:spawn egg]]s has hardcoded effects when interacting with blocks, whereas this data component has no effect whatsoever.
*** [[Minecraft:Compass]], [[Minecraft:map]], and shears has hardcoded effects when interacting with an item, but attempts to transform the blocks according to this component if that fails.
*** [[Minecraft:Compass]], [[Minecraft:map]], and shears has hardcoded effects when interacting with an item, but attempts to transform the blocks according to this component if that fails.
** Contents are in a separate registry.
** Component must always refer to {{cd|minecraft:block_transformer}} registry - existing inline components are removed.
* Added {{cd|minecraft:brewing_fuel}}
** Describes an item that can be used as fuel for a [[Minecraft:brewing stand]].
** Format: object with fields
*** {{cd|uses}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the number of times this fuel will brew before being consumed.
*** {{cd|speed_multiplier}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the speed of the brewing.
*** {{cd|uses}} and {{cd|speed_multiplier}} can additionally be defined by an inline number.
** Note: the #{{cd|brewing_fuel}} item tag has been removed and will no longer function to register new brewing fuels.


* Added {{DCL|minecraft:compostable}}
* Added {{DCL|minecraft:compostable}}
Line 381: Line 402:
*** {{cd|layers}} – namespaced ID pointing to an element of the {{cd|[[Minecraft:number_provider|minecraft:number_provider]]}} registry.
*** {{cd|layers}} – namespaced ID pointing to an element of the {{cd|[[Minecraft:number_provider|minecraft:number_provider]]}} registry.
*** {{cd|layers}} can additionally be defined by an inline number.
*** {{cd|layers}} can additionally be defined by an inline number.
* Added {{DCL|minecraft:provides_pottery_pattern}} data component
** Describes the pottery pattern stored on a stack.
** Format:
*** namespaced ID pointing to an element of {{cd|[[Minecraft:Decorated pot pattern definition|minecraft:decorated_pot_pattern]]}} registry.


* Added {{cd|minecraft:cooking_fuel}}
* Added {{cd|minecraft:cooking_fuel}}
Line 394: Line 410:
*** {{cd|burn_time}} and {{cd|speed_multiplier}} can additionally be defined by an inline number.
*** {{cd|burn_time}} and {{cd|speed_multiplier}} can additionally be defined by an inline number.


* Added {{cd|minecraft:brewing_fuel}}
* Added {{cd|minecraft:cushion/color}}
** Describes an item that can be used as fuel for a [[Minecraft:brewing stand]].
** Applied to [[Minecraft:cushion]] entities when they get placed using an item.
** Format: object with fields
** Format: one of 16 dye colors
*** {{cd|uses}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the number of times this fuel will brew before being consumed.
 
*** {{cd|speed_multiplier}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the speed of the brewing.
* Added {{cd|minecraft:interact_animation}}
*** {{cd|uses}} and {{cd|speed_multiplier}} can additionally be defined by an inline number.
** The animation to play when the item is being used to interact with something.
** Note: the #{{cd|brewing_fuel}} item tag has been removed and will no longer function to register new brewing fuels.
** Format: same as {{cd|minecraft:attack_animation}}


* Added {{cd|minecraft:sign_text_front}} and {{cd|minecraft:sign_text_back}}
* Added {{cd|minecraft:mob_visibility}}
** Represents the visibility percentage provided by an item with the appropriate {{cd|minecraft:equippable}} component, modifying the range at which mobs are able to detect an entity.
** Format: object with fields
*** {{cd|targeting_entity}} – an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to match.
*** {{cd|visibility}} – float (between {{cd|0.0}} and {{cd|10.0}}), with 0.0 reducing the range at which mobs detects the entity to 2 blocks while 10.0 increases the detection range tenfold.
**** While multiple items with this component stack, the maximum vision will still never exceed 10.0.
 
* Added {{DCL|minecraft:provides_pottery_pattern}} data component
** Describes the pottery pattern stored on a stack.
** Format:
*** namespaced ID pointing to an element of {{cd|[[Minecraft:Decorated pot pattern definition|minecraft:decorated_pot_pattern]]}} registry.
 
* Added {{cd|minecraft:sign_text_front}} and {{cd|minecraft:sign_text_back}}
** Two identical components that represent text in front and back of a sign.
** Two identical components that represent text in front and back of a sign.
** Contents will be displayed in item tooltip.
** Contents will be displayed in item tooltip.
Line 411: Line 439:
*** {{cd|color}} – optional dye color, default: {{cd|black}}
*** {{cd|color}} – optional dye color, default: {{cd|black}}
*** {{cd|has_glowing_text}} – optional boolean, default: {{cd|false}}
*** {{cd|has_glowing_text}} – optional boolean, default: {{cd|false}}
* Added {{cd|minecraft:waxed}}
** A marker for blocks with contents that are waxed.
** No fields
* Added {{cd|minecraft:cushion/color}}
** Applied to [[Minecraft:cushion]] entities when they get placed using an item.
** Format: one of 16 dye colors


* Added {{cd|minecraft:villager_food}}
* Added {{cd|minecraft:villager_food}}
Line 425: Line 445:
*** {{cd|nutrition}} – positive integer, how much hunger the item satiates in the villager once eaten.
*** {{cd|nutrition}} – positive integer, how much hunger the item satiates in the villager once eaten.


* Added {{cd|minecraft:mob_visibility}}
* Added {{cd|minecraft:waxed}}
** Represents the visibility percentage provided by an item with the appropriate {{cd|minecraft:equippable}} component, modifying the range at which mobs are able to detect an entity.
** A marker for blocks with contents that are waxed.
** Format: object with fields
** No fields
*** {{cd|targeting_entity}} – an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to match.
*** {{cd|visibility}} – float (between {{cd|0.0}} and {{cd|10.0}}), with 0.0 reducing the range at which mobs detects the entity to 2 blocks while 10.0 increases the detection range tenfold.
**** While multiple items with this component stack, the maximum vision will still never exceed 10.0.


'''[[Minecraft:Entity data]]'''
'''[[Minecraft:Entity data]]'''
Line 492: Line 509:
'''[[Minecraft:Key codes]]'''
'''[[Minecraft:Key codes]]'''
* Added new key codes for the following keys:
* Added new key codes for the following keys:
{| class="wikitable sortable" data-description="Keyboard key and multimedia button IDs" style="text-align:center"
{| class="wikitable sortable collapsible" data-description="Keyboard key and multimedia button IDs" style="margin-left:0; margin-right:auto; text-align: center"
! ID
! ID
! Displayed name
! Displayed name
Line 578: Line 595:
| {{code|key.keyboard.again}}
| {{code|key.keyboard.again}}
|-
|-
! {{code|key.keyboard.new}}
! {{code|key.keyboard.ac.new}}
| {{btn|New}}
| {{btn|New}}
| colspan="2" | {{key|Application New}}
| colspan="2" | {{key|Application New}}
| {{code|key.keyboard.new}}
| {{code|key.keyboard.ac.new}}
|-
|-
! {{code|key.keyboard.save}}
! {{code|key.keyboard.ac.save}}
| {{btn|Save}}
| {{btn|Save}}
| colspan="2" | {{key|Application Save}}
| colspan="2" | {{key|Application Save}}
| {{code|key.keyboard.save}}
| {{code|key.keyboard.ac.save}}
|-
|-
! {{code|key.keyboard.help}}
! {{code|key.keyboard.help}}
Line 952: Line 969:
|}
|}


Added the following key codes for keys that do not actually exist:{{note|All SDL3 key codes were added - these are simply not associated with any key code on Windows, macOS or Linux. Many represent mobile phone or calculator buttons, others represent reserved code points.}}
* Added the following key codes for keys that aren’t available on PC:{{note|All SDL3 key codes were added - these are simply not associated with any key code on Windows, macOS or Linux. Many represent mobile phone or calculator buttons, others represent reserved code points.}}
{| class="wikitable sortable" data-description="IDs of unused keys" style="text-align: center"
{| class="wikitable sortable collapsible" data-description="IDs of unused keys" style="margin-left:0; margin-right:auto; text-align: center"
! ID / translation key
! ID / translation key
! Displayed name
! Displayed name
Line 1,211: Line 1,228:
** Fields:
** Fields:
*** {{cd|operands}} – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:number_provider}} type.
*** {{cd|operands}} – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:number_provider}} type.
** Returns the minimum value of the operands.
** Returns the maximum value of the operands.
** Requires at least one operand.
** Requires at least one operand.


Line 1,250: Line 1,267:
** Can be accessed in the [[Minecraft:Options#Controls|Controls]] section.
** Can be accessed in the [[Minecraft:Options#Controls|Controls]] section.
** Allows keyboard shortcuts that close the game, such as {{key|Alt+F4}} on Windows and {{key|Command+Q}} on macOS.
** Allows keyboard shortcuts that close the game, such as {{key|Alt+F4}} on Windows and {{key|Command+Q}} on macOS.
** Disabled by default.{{Needs testing|Did this change in Snapshot 7?}}
** Enabled by default.


'''[[Minecraft:Particles]]'''
'''[[Minecraft:Particles]]'''
Line 1,271: Line 1,288:
** Expiration of the invite code can be configured.
** Expiration of the invite code can be configured.
* Players can now join Realms by entering an invite code in the new "Join Realm" screen.
* Players can now join Realms by entering an invite code in the new "Join Realm" screen.
* Added render distance and simulation distance sliders to Realm configuration settings.
* Added a new Realms introduction screen showcasing Realms key features.
** Accessible from the "Add Realm" button.
** Automatically shown when entering Realms if a trial is available.
[[File:JE 26.3 snap10 new Realms introduction UI.png|thumb|New Realms introduction screen]]


'''[[Minecraft:Statistics]]'''
'''[[Minecraft:Statistics]]'''
Line 1,326: Line 1,348:
** Added {{Tag link|block|concrete_stairs}}
** Added {{Tag link|block|concrete_stairs}}
*** Contains all concrete stair blocks.
*** Contains all concrete stair blocks.
** Added {{Tag link|block|conduit_effect_block}}
*** Blocks that can be used to build a Conduit.
** Added {{Tag link|block|consumable_does_not_teleport_to}}
** Added {{Tag link|block|consumable_does_not_teleport_to}}
*** Contains blocks that entities do not teleport to when they consume food that teleports randomly when eaten.
*** Contains blocks that entities do not teleport to when they consume food that teleports randomly when eaten.
Line 1,341: Line 1,365:
** Added {{Tag link|block|ice_melts_when_destroyed_above}}
** Added {{Tag link|block|ice_melts_when_destroyed_above}}
*** Contains all blocks that causes ice to melt into water if the ice is destroyed when placed above them.
*** Contains all blocks that causes ice to melt into water if the ice is destroyed when placed above them.
** Added {{Tag link|block|nether_portal_frame}}
*** Blocks that can be used to create a Nether Portal.
** Added {{Tag link|block|ores}}
** Added {{Tag link|block|ores}}
*** Collection tag containing all types of ores.
*** Collection tag containing all types of ores.
Line 1,379: Line 1,405:
** Added {{Tag link|entity_type|cannot_be_dismounted_by_item_usage}}
** Added {{Tag link|entity_type|cannot_be_dismounted_by_item_usage}}
*** Contains all entities which cannot be dismounted by items.
*** Contains all entities which cannot be dismounted by items.
* Fluid Tags
** Added {{Tag link|fluid|axolotl_try_find_liquid}}
*** For all liquids Axolotls are trying to find.
** Added {{Tag link|fluid|dolphin_try_find_liquid}}
*** For all liquids Dolphins are trying to find.
** Added {{Tag link|fluid|frog_try_find_land_near_liquid}}
*** For all liquids Frogs are trying to find land near to.
** Added {{Tag link|fluid|entity_floatable}}
*** For all fluids that make entities float.


* Item Tags
* Item Tags
Line 1,441: Line 1,477:


=== Items ===
=== Items ===
'''[[Minecraft:Chorus fruit]]'''
* After it has teleported the player randomly, it now shows particles in the direction of the teleportation.
'''[[Minecraft:Explorer Map]]s'''
'''[[Minecraft:Explorer Map]]s'''
* Renamed the following explorer maps:
** Jungle Explorer Map → Jungle Pyramid Map
** Ocean Explorer Map → Ocean Monument Map
** Swamp Explorer Map → Swamp Hut Map
** Trial Explorer Map → Buried Trial Chambers Map
** Woodland Explorer Map → Woodland Mansion Map
* Updated existing explorer maps' inventory icon textures:
* Updated existing explorer maps' inventory icon textures:
{| class="wikitable collapsible" style="text-align: center;"
{| class="wikitable collapsible" style="text-align: center;"
Line 1,554: Line 1,600:
'''[[Minecraft:Armadillo]]s'''
'''[[Minecraft:Armadillo]]s'''
* No longer try to roll up when submerged in liquids.
* No longer try to roll up when submerged in liquids.
'''[[Minecraft:Drowned]]'''
* Drowned with [[Minecraft:trident]]s will now use a melee attack if the player is within 3 blocks of them to match {{BE}}.
** This attack deals a base attack damage of 11.


'''[[Minecraft:Endermen]]'''
'''[[Minecraft:Endermen]]'''
Line 1,577: Line 1,619:
* Paintings with custom names now also show those names when the player looks at them in the world.
* Paintings with custom names now also show those names when the player looks at them in the world.


=== Command format ===
=== World generation ===
'''General'''
'''[[Minecraft:Density function]]s'''
* Commands like {{cmd|give}}, {{cmd|unpublish}}, and {{cmd|tick}} should now properly signal errors.
* Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
** This affects all intermediate steps, not just the final result.


'''{{cmd|execute}}'''
'''[[Minecraft:Features]]'''
* Added new {{cd|slots}} condition sub-command.
* The {{cd|worldgen/configured_feature}} registry has moved to {{cd|worldgen/feature}} and configuration is now done inline in the root object rather than separated into a config field.
** Counts the number of slots from the slot source that are present on the targeted block or entity.
* Removed the following feature types:
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
** {{cd|minecraft:coral_mushroom}}
** Syntax:
** {{cd|minecraft:kelp}}
*** {{cmd|execute if|unless slots block <pos> <slot source>}}
** {{cd|minecraft:nether_forest_vegetation}}
*** {{cmd|execute if|unless slots entity <targets> <slot source>}}
** {{cd|minecraft:seagrass}}
* The items condition sub-command now takes a slot source as argument instead of a slot.
** {{cd|minecraft:sea_pickle}}
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
** {{cd|minecraft:twisting_vines}}
** Syntax:
** {{cd|minecraft:weeping_vines}}
*** {{cmd|execute if|unless items block <pos> <slot source> <item predicate>}}
** {{cd|minecraft:desert_well}}
*** {{cmd|execute if|unless items entity <targets> <slot source> <item predicate>}}
*** The [[Minecraft:desert well]] feature now uses the type {{cd|minecraft:template}}.<ref>[https://github.com/misode/mcmeta/blob/26.3-snapshot-8-diff/data/minecraft/worldgen/feature/desert_well.json worldgen/feature/desert_well.json] – misode.mcmeta</ref>
* Removed the {{cd|extra_rare_growths}} and {{cd|catalyst_chance}} fields from {{cd|minecraft:sculk_patch}}.


'''{{cmd|give}}'''
** Changed {{cd|minecraft:template}}
* When the amount of items passed to the give command is above limit, the command will now signal an error instead of just printing an error message and returning {{cd|0}}.
*** Added the field {{cd|processors}} – namespaced ID or inline definition of a structure processor list to apply to the template.


'''{{cmd|item}}'''
* {{cd|minecraft:tree}} feature type
* Now takes a slot source as argument in place of anywhere a slot was previously used.
** Added {{cd|shelf_mushroom}} tree decorator type.
** It will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** Places [[Minecraft:shelf mushroom]]s on logs with the specified probability.
** Can be a slot source in either inline or reference form.
*** Format: object with fields:
** Can be a slot source targeting multiple slots.
**** {{cd|probability}} - float (between {{cd|0}} and {{cd|1}}), the probability that any shelf mushrooms will be placed for a given feature.
** The {{cd|replace}} sub-command has new semantics:
** Added {{cd|poplar_foliage_placer}} foliage placer type
*** One by one in the order they are provided by the slot source, the contents of each destination slot are replaced with the corresponding source item.
*** Places leaves blocks for [[Minecraft:poplar]] trees in a rhombus shape in one of two possible directions
*** When there are more destination slots than there are source items, the remaining slots are ignored.
*** Format: object with fields:
**** Example: {{cd|replace [12345] with (ABC) -> [ABC45]}}
**** {{cd|height}} - int provider (between {{cd|5}} and {{cd|16}}), the height of the foliage.
*** When there are fewer destination slots than there are source items, the remaining items are ignored.
**** {{cd|side_hole_chance}} - float (between {{cd|0.0}} and {{cd|1.0}}), the chance for blocks to be randomly removed at the edge of the foliage.
**** Example: {{cd|replace [123] with (ABCDE) -> [ABC]}}
** Added {{cd|poplar_trunk_placer}} trunk placer type
** String notation slot ranges in the form {{cd|<slot_type>}} or {{cd|<slot_type>.<slot_number>}} are still permitted.
*** Places log blocks for poplar trees in a straight shape with branches by the start of the foliage.
*** Can be a single slot, such as {{cd|armor.chest}}
*** Format:
*** Can be multiple slots, such as {{cd|container.*}}
**** {{cd|trunk_height_above_branches}} - int provider (between {{cd|0}} and {{cd|8}}), the height of the trunk above the branches.
*** Acts as shorthand for a <code>minecraft:slot_range slot</code> source using that slot range.
**** {{cd|branch_amount}} - int provider (between {{cd|1}} and {{cd|4}}), the amount of branches to create by the foliage.
**** Example: {{cd|hotbar.4}} is the same as {{cd|{type:"minecraft:slot_range",slots:"hotbar.4"}}}
 
* The entity argument in the {{cd|from entity}} item source can now be a selector targeting multiple entities.
* Changed the {{cd|minecraft:random_neighbor_spread}} feature type
** When more than a single entity is targeted, the slots sourced from each are concatenated.
** Renamed from {{cd|minecraft:glowstone_blob}}.
* Added new {{cd|fill}} and {{cd|override}} sub-commands, each with syntax identical to {{cmd|item replace}}.
*** Now exposes more control over the feature.  
** {{cmd|item fill}}
*** Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
*** Fills each destination slot with a source item.
** Format changes:
*** When there are more destination slots than there are source items, the items repeat until every slot is filled.
*** Added field {{cd|block}}: Block state provider for which block to place.
**** Example: {{cd|fill [12345] with (ABC) -> [ABCAB]}}
*** Added field {{cd|accepted_neighbors}}: Block ID, list of block IDs or hash-prefixed block tag for which blocks count as a valid neighbor.
**{{cmd|item override}}
*** Added field {{cd|can_replace}}: Block predicate for which blocks to replace.
*** Overrides the contents of each destination slot with the corresponding source item.
*** Added field {{cd|attempts}}: Int provider between {{cd|1}} and {{cd|3000}} for how many placements attempts to make.
*** When there are more destination slots than there are source items, the remaining slots are cleared.
*** Added field {{cd|xy_offset}}{{note|Named {{cd|xz_offset}} in the official changelog.}}: Int provider between {{cd|-16}} and {{cd|16}} for what offsets to try along the x and z axes.
**** Example: {{cd|override [12345] with (ABC) -> [ABC__]}} (where {{cd|_}} represents an empty slot).
*** Added field {{cd|y_offset}}: Int provider between {{cd|-16}} and {{cd|16}} for what offsets to try along the y axis.


'''{{cmd|place}}'''
* Changed the {{cd|minecraft:single_block_pillar}} feature type
* The {{cd|feature}} sub-command now allows in-line definition of the [[Minecraft:feature]].
** Renamed from {{cd|minecraft:basalt_pillar}}.
*** Now exposes more control over the feature functionality.
** Format changes:
*** Added field {{cd|block}}: Block state provider for which block to place.
*** Added field {{cd|can_replace}}: Block predicate for which blocks to replace.
*** Added field {{cd|direction}}: Vertical direction of the pillar - one of {{cd|up}} and {{cd|down}}.
*** Added field {{cd|chance_to_continue}}: Optional probability between {{cd|0}} and {{cd|1}} (default: {{cd|1}}) that the pillar continues another block (assuming {{cd|can_replace}} matches)
*** Added field {{cd|cap_feature}}: Optional placed feature placed at the end of the pillar.


'''{{cmd|publish}}'''
* Changed the {{cd|minecraft:stepped_column_cluster}} feature type
* The {{cd|gamemode}} argument has been removed.
** Renamed from {{cd|minecraft:basalt_columns}}.
** Instead, the default game mode of the world should be set using the {{cmd|defaultgamemode}} command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the {{cmd|gamemode}} command.
*** Now exposes more control over the feature functionality.
 
** Format changes:
'''{{cmd|spreadplayers}}'''
*** Added the field {{cd|block}}: Block state provider for which block to place.
* Whether a block is safe to spread a player to is now controlled by the {{cd|#entities_can_teleport_to}} block tag.
*** Added the field {{cd|can_replace}}: Block predicate for which blocks can be replaced by the column.
*** Added the field {{cd|continue_through}}: Block predicate for which pre-existing blocks to accept as part of a column.
*** Added the field {{cd|cannot_place_on}}: Block ID, list of block IDs or hash-prefixed block tag ID representing which blocks are avoided when starting placement.
*** Renamed the field {{cd|reach}} to {{cd|column_reach}}
*** Added the field {{cd|column_count}}: int provider (between {{cd|1}} and {{cd|150}}) - the number of columns to generate.
*** Added the field {{cd|cluster_reach}}: int provider (between {{cd|0}} and {{cd|13}}) - the size of the square to attempt to generate columns in.
**** The effective reach is also limited by {{cd|height}}.


'''{{cmd|swing}}'''
* {{cd|minecraft:coral_claw}} and {{cd|minecraft:coral_tree}}
* When used on a player, the player's attack strength will no longer be reset.
** Added the field {{cd|feature}} – a placed feature that is used to place at every desired block position.
* Added a new optional argument to set the swing animation to play.
** Allowed values: {{cd|whack}}, {{cd|stab}}
** If omitted, defaults to {{cd|whack}}
* Added a new argument to set the duration of the swing animation, if provided.
** Format: positive time value (by default in ticks).
** If omitted, defaults to {{cd|6t}}.


'''{{cmd|team}}'''
'''[[Minecraft:Noise settings]]'''
* The result of {{cmd|team join}} and {{cmd|team leave}} subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed).
* The {{cd|surface_rule}} field has been renamed to {{cd|material_rule}}
 
** Format: inline Material Rule or Material Rule ID reference.
'''{{cmd|tellraw}}'''
* The {{cd|final_density}} field no longer has the {{cd|beardifier}} density function implicitly added to the final result.
* The {{cd|nbt}} component in a raw chat message will only be resolved up to 64k times.
* The {{cd|aquifers_enabled}} field has been replaced by an optional {{cd|aquifers}} object:
 
** If not present, no aquifers will be generated.
'''{{cmd|tick}}'''
** Fields:
* The following subcommands will now signal an error instead of just printing an error message and returning {{cd|0}}:
*** {{cd|barrier}} - Density Function, moved from {{cd|noise_router.barrier}}
** {{cmd|tick step}}
*** {{cd|fluid_level_floodedness}} - Density Function, moved from {{cd|noise_router.fluid_level_floodedness}}
** {{cmd|tick step stop}}
*** {{cd|fluid_level_spread}} - Density Function, moved from {{cd|noise_router.fluid_level_spread}}
** {{cmd|tick sprint stop}}
*** {{cd|lava}} - Density Function, moved from {{cd|noise_router.lava}}
*** {{cd|surface_level}} - Density Function, duplicated from {{cd|noise_router.preliminary_surface_level}}
*** {{cd|exclusion}} - Density Function, any aquifer cell where this value is positive will have no fluid.
* The {{cd|ore_veins_enabled}} field has been replaced by an optional list of {{cd|ore_veins}} objects:
** If not present, no ore veins will be generated
** Fields:
*** {{cd|ore_block}} - Block State, the ore block to place
*** {{cd|raw_ore_block}} - Block State, the raw ore block to place.
*** {{cd|filler_block}} - Block State, the filler block to place.
*** raw_ore_chance - float between {{cd|0}} and {{cd|1}}, the probability for a {{cd|raw_ore_block}} to be placed instead of an {{cd|ore_block}}.
*** density - Density Function, the probability between {{cd|0}} and {{cd|1}} for the ore vein to replace a block.
**** If {{cd|0}} or lower, no block will be replaced
*** richness - Density Function, the probability between 0 and 1 for {{cd|ore_block}} or {{cd|raw_ore_block}} to be placed (as opposed to {{cd|filler_block}}).
**** If {{cd|0}} or lower, all blocks will be {{cd|filler_block}}.
**** If {{cd|1}} or greater, no blocks will be {{cd|filler_block}}.
*** {{cd|filler_gap}} - Density Function, acts as an override to richness: if positive, {{cd|filler_block}} will always be placed.
* The following fields from {{cd|noise_router}} have been moved:
** barrier, fluid_level_floodedness, {{cd|fluid_level_spread}}, {{cd|lava}} - moved into {{cd|aquifers}} field.
** {{cd|vein_toggle}}, {{cd|vein_ridged}}, {{cd|vein_gap}} - moved into {{cd|ore_veins}} field.
* Renamed {{cd|preliminary_surface_level}} to {{cd|chunk_surface_level}}
** This Density Function is no longer implicitly interpolated across the entire chunk.
* The {{cd|ore_veins_enabled}} field has been removed, and replaced by the {{cd|minecraft:ore_vein}} Material Rule.
* Removed {{cd|noise.size_horizontal}} and {{cd|noise.size_vertical}} fields, these are now specified in the {{cd|interpolated}} density function.
* Added optional {{cd|debug_functions}} field - list of objects with fields, Density Function values to show in the {{cd|chunk_generation_stats}} debug entry.
** Fields:
*** {{cd|label}} - string, label to identify this Density Function.
*** {{cd|function}} - Density Function, the Density Function to compute and show at the player position.
** If not specified, no density function values will be shown.


=== Gameplay ===
* Spawn Target
'''[[Minecraft:Advancements]]'''
** The {{cd|spawn_target}} field has been updated to allow use of any density function, instead of just a subset of those defined within the {{cd|noise_router}} field.
* Visiting the dappled forest is now required for the "Adventuring Time" advancement.
** The suitability of a candidate spawn position is determined by evaluating, in some arbitrary n-dimensional space, the squared Euclidean distance to a set of target hypercubes.
* Visible root advancements (i.e. ones that have {{cd|display}} field, but no {{cd|parent}} field) must always declare {{cd|background}} field in {{cd|display}} structure.
** For example, one axis might be temperature and the second erosion - and suitability determined by distance to the square between {{cd|temperature{{=}}0.1}}, {{cd|erosion{{=}}0.2}} and {{cd|temperature{{=}}0.3}}, {{cd|erosion{{=}}0.5}}. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.
* Only root advancements can have {{cd|background}} field in {{cd|display}} structure.
** Format: list of target hypercubes
 
*** Target format: map between Density Function ID and a range on that axis:
'''[[Minecraft:Creative inventory]]'''
**** Range is specified as one of:
* Rearranged mineral items and blocks in the inventory.
***** Float, an exact target value.
* They are now sorted to have non-tiered ingredients first, followed by tiered ingredients that craft into equipment last.
***** Array of 2 floats, a range of target values in form {{cd|[min, max]}}.
* Affects the ingredients and building blocks tabs.
***** An object with fields:
** Ingredients
****** {{cd|min}} - float, the minimum value of the target range.
*** Non-tiered minerals
****** {{cd|max}} - float, the maximum value of the target range.
*** Unrefined tiered minerals
*** Refined tiered minerals
**** Nuggets
**** Ingots
** Building Blocks
*** Non-tiered mineral blocks and variants
*** Refined tiered mineral blocks and variants
*** Copper block family
** Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content.
* Improved ordering of Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld -> Nether -> End to stay consistent with other tabs.


'''[[Minecraft:Spectator]]'''
'''[[Minecraft:World generation|Terrain generator]]'''
* Players in Spectator mode can now interact with portals to teleport.
* Improved the [[Minecraft:chunk]]s generation performance, as such terrain now generates faster.<ref>{{Tweet|gegybeans|2092251363593830896|Chunk generation should be a bit faster in the latest snapshot! Of course, your mileage may vary :)|August 25, 2026
}}</ref>


'''[[Minecraft:Trading]]'''
'''Other'''
* New villager trades, unlocked from a villager leveling up their profession, will now update even if the player has the trading UI open.
* [[Minecraft:Cave air]] is no longer generated in Nether caves.


=== General ===
* Biomes
'''[[Minecraft:Advancement definition]]'''
** Removed the {{cd|spawners}}, {{cd|spawn_costs}}, and {{cd|creature_spawn_probability}} fields.
* Rewards
*** These values have been moved to the new environment attributes.
** The {{cd|loot}} sub-field in the {{cd|rewards}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.


* Triggers
* Block predicates
** Multiple fields that accepted a list of loot conditions (AKA predicates) are now stricter:
** Added {{cd|minecraft:volume_match}}
*** A list of predicates is no longer accepted as a shorthand for a {{cd|minecraft:all_of}} condition containing that list.
*** Checks that every block in a volume matches a given Block Predicate.
*** Additionally, the {{cd|condition}} field of predicates has been renamed to {{cd|type}} and is now mandatory (previously it defaulted to {{cd|minecraft:entity_properties}}).
*** Format:
** Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a {{cd|minecraft:predicate}}
**** {{cd|min}} – list of 3 integers in range -16 to 16 specifying the lower corner of the volume as an offset from the test position.
** The {{cd|player}} field, available on all triggers except {{cd|minecraft:impossible}}, now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|max}} – list of 3 integers in range -16 to 16 specifying the upper corner of the volume as an offset from the test position.
*** To avoid duplication, this field is not mentioned in entries below.
**** {{cd|match}} – block predicate to test on each position.


* Changed {{cd|minecraft:any_block_use}} trigger
* Block state providers
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Updated {{cd|minecraft:copy_properties_provider}}
*** Renamed field {{cd|source_block_state_provider}} to {{cd|source}}
** Added {{cd|minecraft:random_block_provider}}
*** Returns the default block state for a randomly chosen block.
*** Format:
**** {{cd|blocks}}: block ID, list of block IDs or hash-prefixed block tag, specifying the set of blocks to randomly pick from.
** Changed {{cd|minecraft:rotated_block_provider}}
*** Now works on any block with axis or facing properties.
*** Format:
**** Changed the field {{cd|state}}: Now a block state provider.
**** Added the field {{cd|direction}}: Optional field describing the direction to set.
***** If omitted, a random direction is chosen.


* Changed {{cd|minecraft:bee_nest_destroyed}}
* Carvers
** The block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type. However, it still only actually triggers for block types using the {{cd|BeehiveBlock}} class (i.e. a [[Minecraft:bee nest]] or [[Minecraft:beehive]]).
** The {{cd|worldgen/configured_carver}} registry has been renamed to {{cd|worldgen/carver}}
** Added field {{cd|state}} that matches block state properties (same format as {{cd|minecraft:enter_block}}).
** Updated {{cd|minecraft:cave}} carver type
 
*** All fields previously under the config field have been inlined to the top-level.
* Changed {{cd|minecraft:bred_animals}} trigger
*** Added the {{cd|count}} field - non-negative Int Provider, the number of cave tunnels to create from a seed chunk.
** {{cd|child}}, {{cd|parent}}, and {{cd|partner}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Renamed {{cd|yScale}} to {{cd|room_vertical_radius_multiplier}}
*** Added optional {{cd|start_vertical_radius_multiplier}} field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnel.
**** If not specified, defaults to {{cd|1.0}}
*** Added the {{cd|thickness}} field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels.
*** Added optional {{cd|weird_thickness_bias}} field - Boolean
**** If {{cd|true}}, thickness will be multiplied by, with a 10% chance: <math>random(0, 1) * random(0, 3) + 1</math>
**** If not specified, defaults to {{cd|false}}
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
*** Removed the {{cd|debug_settings}} field.
** Updated {{cd|minecraft:canyon}} carver type
*** All fields previously under the config field have been inlined to the top-level.
*** Renamed and moved {{cd|yScale}} to {{cd|shape.y_scale}}
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
*** Removed the {{cd|debug_settings}} field.
** Removed {{cd|minecraft:nether_cave}} carver type
*** Replaced by the {{cd|minecraft:cave}} carver type


* Changed {{cd|minecraft:brewed_potion}} trigger
* [[Minecraft:Density function]]s
** The {{cd|potion}} field now accepts {{cd|minecraft:potion_contents}} data component predicate.
** Updated {{cd|constant}}
 
*** {{cd|argument}} has been renamed to {{cd|value}}
* Changed {{cd|minecraft:channeled_lightning}} trigger
** Updated {{cd|add}}, {{cd|mul}}, {{cd|min}}, and {{cd|max}}
** Entries in the {{cd|victims}} field can no longer be an entity predicate nor a list of predicates; the entries can now be either inline values or namespaced IDs of a {{cd|minecraft:predicate}} type.
*** {{cd|argument1}} has been renamed to {{cd|left}}.
 
*** {{cd|argument2}} has been renamed to {{cd|right}}.
* Changed {{cd|minecraft:cured_zombie_villager}} trigger
** Updated {{cd|abs}}, {{cd|square}}, {{cd|cube}}, {{cd|half_negative}}, {{cd|quarter_negative}}, {{cd|squeeze}}, {{cd|interpolated}}, {{cd|flat_cache}}, {{cd|cache_2d}}, {{cd|cache_once}}, {{cd|cache_all_in_cell}}, and {{cd|blend_density}} density functions
** {{cd|villager}} and {{cd|zombie}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|argument}} has been renamed to {{cd|input}}.
 
** Updated {{cd|shift_a}}, {{cd|shift_b}}, and {{cd|shift}}
* Changed {{cd|minecraft:default_block_use}} trigger
*** {{cd|argument}} has been renamed to {{cd|noise}}
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added {{cd|sub}}
 
*** Performs subtraction between two arguments.
* Changed {{cd|minecraft:effects_changed}} trigger
*** Format: object with fields:
** The {{cd|source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|left}} - Density Function, the left-hand side of the operation
 
**** {{cd|right}} - Density Function, the right-hand side of the operation
* Changed {{cd|minecraft:enter_block}}
** Added {{cd|div}}
** The {{cd|block}} field has been renamed to {{cd|blocks}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type.
*** Performs division between two arguments.
 
*** Format: object with fields:
* Changed {{cd|minecraft:fall_after_explosion}} trigger
**** {{cd|left}} - Density Function, the left-hand side of the operation.
** The {{cd|cause}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|right}} - Density Function, the right-hand side of the operation.
 
** Updated {{cd|reciprocal}}
* Changed {{cd|minecraft:fishing_rod_hooked}} trigger
*** Renamed from {{cd|invert}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added {{cd|negate}}
 
*** Negates the input.  
* Changed {{cd|minecraft:placed_block}} trigger
*** Format: object with fields:
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|input}} - Density Function, the function to negate.
 
** Added {{cd|lerp}}
* Changed {{cd|minecraft:item_used_on_block}} trigger
*** Performs (unclamped) linear interpolation between two arguments based on an alpha.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Format: object with fields:
 
**** {{cd|alpha}} - Density Function, the interpolation factor (0=first, 1=second)
* Changed {{cd|minecraft:allay_drop_item_on_block}} trigger
***** Any value outside of {{cd|[0; 1]}} will extrapolate
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|first}} - Density Function, the value at {{cd|alpha{{=}}0}}
 
**** {{cd|second}} - Density Function, the value at {{cd|alpha{{=}}1}}
* Changed {{cd|minecraft:player_killed_entity}} trigger
** Added {{cd|floor}}, {{cd|round}}, {{cd|ceil}}, and {{cd|truncate}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Rounds the input value to an integer multiple of a given function in a type-dependent direction:
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
**** {{cd|floor}}: rounds towards negative infinity.
 
**** {{cd|round}}: rounds towards the nearest integer (ties round up).
* Changed {{cd|minecraft:entity_killed_player}} trigger
**** {{cd|ceil}}: rounds towards positive infinity.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|truncate}}: rounds towards 0.
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
*** Format: object with fields:
 
**** {{cd|input}} - Density Function, the input to round.
* Changed {{cd|minecraft:kill_mob_near_sculk_catalyst}} trigger
**** {{cd|multiple}} - Density Function, the output will be rounded to an integer multiple of this value.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
***** If not specified, defaults to constant {{cd|1}} (i.e. rounding to integer).
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
** Added {{cd|beardifier}}
 
*** Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.
* Changed {{cd|minecraft:lightning_strike}} trigger
*** Format: no fields
** {{cd|bystander}} and {{cd|lightning}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type
** Added {{cd|pow}}
 
*** Raises the given base value to an exponent.
* Changed {{cd|minecraft:player_generates_container_loot}} trigger
*** Format: object with fields:
** The {{cd|loot_table}} field has been renamed to {{cd|loot_tables}} and now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.
**** {{cd|base}} – density function, the base value.
*** If a tag or a list is used, trigger will run when any listed loot table is generated.
**** {{cd|exponent}} – density function, the exponent.
 
** Added {{cd|sqrt}}
* Changed {{cd|minecraft:thrown_item_picked_up_by_player}} trigger
*** Computes the square root of the given input.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Format: object with fields:
 
**** {{cd|input}} – density function, the value for which to compute the square root.
* Changed {{cd|minecraft:thrown_item_picked_up_by_entity}} trigger
** Added {{cd|log}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Computes the natural logarithm of the given input.
 
*** Format: object with fields:
* Changed {{cd|minecraft:player_hurt_entity}} trigger
**** {{cd|input}} – density function, the value for which to compute the natural logarithm.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added {{cd|sign}}
** The {{cd|damage.type.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
*** Computes the sign of the input:
 
**** If the input is positive, returns {{cd|1}}
* Changed {{cd|minecraft:entity_hurt_player}} trigger
**** If the input is 0, returns {{cd|0}}
** The {{cd|damage.type.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
**** If input is negative, returns {{cd|-1}}
*** Format: object with fields:
**** {{cd|input}} – density function, the value of which to compute the sign.
** Added {{cd|distance_to_point}}
*** Computes the distance to a fixed point using the specified distance function.
*** Format: object with fields:
**** {{cd|point}} – array of 3 integers in form {{cd|[x, y, z]}}, the point to compute distance to.
**** {{cd|metric}} – one of:
***** {{cd|euclidean}} – i.e. <math>sqrt(dx^2 + dy^2 + dz^2)</math>
***** {{cd|euclidean_squared}} – i.e. <math>dx^2 + dy^2 + dz^2</math>
***** {{cd|manhattan}} – i.e. <math>abs(dx) + abs(dy) + abs(dz)</math>
***** {{cd|chebyshev}} – i.e. <math>max(abs(dx), abs(dy), abs(dz))</math>
** Updated {{cd|gradient}} (renamed from {{cd|y_clamped_gradient}})
*** Format: object with fields:
**** {{cd|axis}} – {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis over which to define this gradient.
**** {{cd|tiling}} – one of:
***** {{cd|clamp_to_edge}} – outside the gradient boundaries, the value at the nearest boundary will be used.
***** {{cd|repeat}} – the gradient will be repeated outside its boundaries.
***** {{cd|mirrored_repeat}} – the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions.
**** {{cd|from_coordinate}} – int, the coordinate at which the gradient starts.
**** {{cd|to_coordinate}} – int, the coordinate at which the gradient ends.
***** Must not be equal to {{cd|from_coordinate}}
**** {{cd|from_value}} – float, the value at which the gradient starts.
**** {{cd|to_value}} – float, the value at which the gradient ends.
** Added {{cd|slice}}
*** Removes a dimension from the input domain by taking a "slice" along an axis with a specific coordinate. For example, with {{cd|axis{{=}}y}} and {{cd|coordinate{{=}}0}}, a slice will be taken along the XZ plane, with all values sampled at {{cd|y{{=}}0}}.
*** Format: object with fields:
**** {{cd|axis}} – {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis to remove.
**** coordinate – int, the fixed coordinate to be passed to the input function.
**** input – density function, the input function.
** Changed {{cd|end_outer_islands}}
*** Renamed from {{cd|end_islands}}. No longer computes the density of the main island.


* Changed {{cd|minecraft:player_interacted_with_entity}} trigger
* Int Providers
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added {{cd|minecraft:very_biased_to_bottom}} Int provider type
*** Picks a random value in the provided range, with a quadratic bias towards the minimum value.
*** Format: object with fields:
**** {{cd|min_inclusive}} - Integer, the minimum selected value (inclusive).
**** {{cd|max_inclusive}} - Integer, the maximum selected value (inclusive).


* Changed {{cd|minecraft:player_sheared_equipment}} trigger
* Material Condition Registry
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_condition/<id>.json</samp>.
** Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
** The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
*** Material Conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.


* Changed {{cd|minecraft:crafter_recipe_crafted}} trigger
* Material Rule Registry
** The {{cd|recipe_id}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_rule/<id>.json</samp>.
*** If a tag or a list is used, trigger will run when any listed recipe is used.
** Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
** The format is identical to that which was formerly written in the {{cd|surface_rule}} field within noise settings files, with the following extensions:
*** Material rules can now be specified either inline (as previously), or as an ID reference to an element in the {{cd|worldgen/material_rule}} registry.
*** Material conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.


* Changed {{cd|minecraft:recipe_crafted}} trigger
* Material rules:
** The {{cd|recipe_id}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
** Added {{cd|minecraft:ore_vein}}
*** If a tag or a list is used, trigger will run when any listed recipe is used.
*** Format object with the following fields:
**** {{cd|ore_block}} - Block State, the ore block to place.
**** {{cd|raw_ore_block}} - Block State, the raw ore block to place.
**** {{cd|filler_block}} - Block State, the filler block to place.
**** {{cd|raw_ore_chance}} - float between 0 and 1, the probability for a {{cd|raw_ore_block}} to be placed instead of an {{cd|ore_block}}.
**** {{cd|density}} - Density Function, the probability between 0 and 1 for the ore vein to replace a block.
***** If {{cd|0}} or lower, no block will be replaced.
**** {{cd|richness}} - Density Function, the probability between {{cd|0}} and {{cd|1}} for {{cd|ore_block}} or {{cd|raw_ore_block to be placed}} (as opposed to {{cd|filler_block}}).
***** If {{cd|0}} or lower, all blocks will be {{cd|filler_block}}.
***** If {{cd|1}} or greater, no blocks will be {{cd|filler_block}}.
***** {{cd|filler_gap}} - Density Function, acts as an override to {{cd|richness}}.
****** If positive, {{cd|filler_block}} will be always placed.
** Changed {{cd|minecraft:noise}}
*** The following fields have been introduced:
**** {{cd|shift_x}} - optional Density Function, a domain warp to apply on x
*****If not specified, no warping will be applied (equivalent to {{cd|0}})
**** {{cd|shift_y}} - optional Density Function, a domain warp to apply on y
*****If not specified, no warping will be applied (equivalent to {{cd|0}})
**** {{cd|shift_z}} - optional Density Function, a domain warp to apply on z
*****If not specified, no warping will be applied (equivalent to {{cd|0}})
** Removed {{cd|minecraft:shifted_noise}}.
*** Is replaced by {{Cd|minecraft:noise}}.
** Updated {{cd|minecraft:interpolated}}
*** Added fields:
**** {{cd|cell_size_xz}} - positive int, size in blocks of the interpolation grid cells on the XZ axes.
**** {{cd|cell_size_y}} - positive int, size in blocks of the interpolation grid cells on the Y axis.
** Updated {{cd|minecraft:cache}}
*** Renamed from {{cd|minecraft:cache_once}}.
*** No format change at all.
** Removed {{cd|minecraft:cache_2d}}, {{cd|minecraft:cache_all_in_cell}}, and {{cd|minecraft:flat_cache}}.
*** May be replaced with {{cd|minecraft:cache}}.
*** {{cd|minecraft:slice}} may be used to always pick <span style="color: purple;">Y=0</span>, as formerly handled by {{cd|minecraft:flat_cache}}.


* Changed {{cd|minecraft:recipe_unlocked}} trigger
* [[Minecraft:Noise]]s
** The {{cd|recipe}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
** The format of noises (defined in the <samp>worldgen/noise</samp> registry, or inline in noise-based block state providers) has been updated.
*** If a tag or a list is used, trigger will run when any listed recipe is unlocked
** Noises define a fractal brownian motion configuration with the following properties:
 
*** Produces output values (approximately) fitting a normal distribution.
* Changed {{cd|minecraft:slide_down_block}}
*** Unless otherwise specified, fits the output amplitude to {{cd|[-1; 1]}}
** The {{cd|block}} field has been renamed to {{cd|blocks}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type.
**** Due to the normal distribution, in practice this means that 99.7% of all samples will fit in that range – but values may still be encountered outside of this range.
*** Parameterized by {{cd|persistence{{=}}0.5}}, {{cd|lacunarity{{=}}2.0}}
**** i.e. between each octave, the amplitude is halved and the frequency doubled.
*** Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
*** Renamed {{cd|firstOctave}} to {{cd|base_octave}}.
*** Added {{cd|base_amplitude}} – non-negative float, a scale factor to apply to the noise output.
**** If not specified, defaults to {{cd|1.0}}.
*** Added {{cd|octave_count}} – integer between {{cd|1}} and {{cd|32}}, the number of octaves to sample.
*** Added normalize – boolean, or {{cd|"legacy"}}, controls how the output amplitude should be normalized.
**** If {{cd|true}}, {{cd|base_amplitude}} is the expected amplitude of the output (i.e. 99.7% of all samples in {{cd|[-base_amplitude; base_amplitude]}})
**** If {{cd|false}}, {{cd|base_amplitude}} is the amplitude of the first octave.
**** If {{cd|"legacy"}}, inherits the same normalization behavior as expressed by the previous format.
***** This would generally fit to a range smaller than expected.
**** If not specified, defaults to {{cd|true}}.
**** Note: normalization is not affected by the {{cd|amplitude_modifiers}} field – as such, modifying the amplitude of a single octave will not affect the amplitude of others.
*** Renamed {{cd|amplitudes}} to {{cd|amplitude_modifiers}} – list of floats, a scaling factor to apply to each octave.
**** The number of elements in this list must match {{cd|octave_count}}.
**** As described above, this scaling factor bypasses normalization and will affect the output amplitude.
**** This field is no longer required – if not specified, defaults to all {{cd|1.0}}.


* Changed {{cd|minecraft:summoned_entity}} trigger
* Placement Modifiers
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Changed {{cd|minecraft:offset}} placement modifier
 
*** Renamed from {{cd|random_offset}}.
* Changed {{cd|minecraft:tame_animal}} trigger
*** Format:
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** Removed the fields {{cd|xz_spread}} and {{cd|y_spread}}.
 
**** Added the fields {{cd|x}}, {{cd|y}}, {{cd|z}}: Integer providers between -16 and {{cd|16}} specifiying the axis-specific offset.
* Changed {{cd|minecraft:target_hit}} trigger
** Added {{cd|minecraft:cuboid}}
** The {{cd|projectile}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Repeats a feature in a cuboid shape.
*** Added fields:
**** {{cd|xz_size}}: int provider between {{cd|1}} and {{cd|16}} representing the size of the cuboid along {{cd|x}} and {{cd|z}} axes.
**** {{cd|y_size}}: int provider between {{cd|1}} and {{cd|16}} representing the size of the cuboid along the {{cd|y}} axis.
**** {{cd|include_interior}}: optional boolean (default {{cd|true}}) for whether to place interior blocks of the cuboid.
**** {{cd|include_edges}}: optional boolean (default {{cd|true}}) for whether to place edge blocks of the cuboid.
***** Setting this to {{cd|false}} generates a somewhat "rounded" cuboid.
** Added {{cd|minecraft:random_chance}}
*** Gates the feature being placed behind a random chance.
*** Format:
**** {{cd|chance}}: float value between {{cd|0}} and {{cd|1}} representing the chance that the feature gets placed.
** Added {{cd|minecraft:randomly_selected}}
*** Randomly selects a placement modifier from a list and delegates placement to it.
*** Format:
**** {{cd|placements}} – non-empty list of Placement Modifiers to pick from.


* Changed {{cd|minecraft:villager_trade}} trigger
* Rule Tests
** The {{cd|villager}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** These are the predicates used by ore features ({{cd|targets[].target}}) and rule structure processors ({{cd|rules[].input_predicate}} and {{cd|rules[].location_predicate}}).
** Added rule test type {{cd|minecraft:height_match}}
*** Checks the y-level of a block, returning {{cd|true}} only if it is greater than or equal to {{cd|min_inclusive}} and less than or equal to {{cd|max_inclusive}}.
*** Format: object with fields:
**** {{cd|min_inclusive}} – int, the minimum y value of allowed blocks (inclusive).
**** {{cd|max_inclusive}} – int, the maximum y value of allowed blocks (inclusive).
** Added rule test type {{cd|minecraft:all_of}}
*** This checks a list of Rule Tests for whether all of them return true for the same block.
*** Format: object with fields:
**** {{cd|rules}} - list of Rule Tests, the rules to test the block against.
** Added {{cd|minecraft:any_of}}
*** This checks a list of rule tests for whether any of them returns true for the same block.
*** Format: object with fields:
**** {{cd|rules}} – list of rule tests, the rules to test the block against.
** Added {{cd|minecraft:not}}
*** This checks a rule test for whether it returns false for a given block.
*** Format: object with fields:
**** {{cd|rule}} – rule test, the rule to test the block against.


'''[[Minecraft:Block entity data]]'''
* Structure Placements
* {{cd|minecraft:sign}} and {{cd|minecraft:hanging_sign}}
** Added {{cd|minecraft:dimension_origin}}
** By default, commands and other click events contained in sign text are no longer executed when the block is clicked.
** New structure placement that places a single instance of the structure at the dimension origin.
*** Additionally, text components on newly placed signs are no longer resolved by default.
*** The dimension origin is defined as the {{cd|spawn_target}} for noise settings based dimensions, otherwise Chunk (0, 0).
*** New boolean field called {{cd|allow_op_features}} (defaults to {{cd|false}}) has been added to restore previous behavior.
** No additional fields.
*** Placed signs and items with the {{cd|minecraft:block_entity_data}} component containing sign data stored in worlds saved before this version will have {{cd|allow_op_features}} set to {{cd|true}}
 
*** Any newly created sign will need to have that field set explicitly.
* [[Minecraft:Template pool|Structure pool element]]s
** Changed the rules for opening the sign edit screen after a block is placed:
** Changed {{cd|minecraft:feature_pool_element}}
*** Previously, the screen would open unless {{cd|minecraft:block_entity_data}} was applied successfully.
*** Can now connect to jigsaw blocks with any target name, instead of just {{cd|minecraft:bottom}}.
**** Now, the screen will open only if it could be opened normally by clicking the block (i.e. it's not waxed and only has editable text on the front side).
** Signs will now accept and return the {{cd|minecraft:sign_text_front}}, {{cd|minecraft:sign_text_back}} and {{cd|minecraft:waxed}} components.


* {{cd|minecraft:brewing_stand}}
* Vertical Anchors
** The following fields are now stored as integers rather than shorts:
** Added a new option for vertical Anchors: {{cd|relative_to_sea_level}}
*** Changed the {{cd|BrewTime}} field from a short to an integer, this is the amount of time that the current brewing process has taken so far.
*** Specifies an offset to the sea level of the dimension.
*** Changed the {{cd|Fuel}} field from a byte to an integer, this is the amount of fuel remaining.
** The following new fields have been added:
*** Added the {{cd|total_brew_time}} integer field, this is the total amount of time the current brewing process will take.
*** Added the {{cd|total_fuel}} integer field, this represents the amount of fuel that was added in the last refuel.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next brewing process.


* {{cd|minecraft:furnace}}, {{cd|minecraft:smoker}} and {{cd|minecraft:blast_furnace}}
=== Command format ===
** The following fields are now stored as integers rather than shorts:
'''General'''
*** Changed the {{cd|cooking_time_spent}} field from a short to an integer, this is the amount of time that the current cooking process has taken so far.
* Commands like {{cmd|give}}, {{cmd|unpublish}}, and {{cmd|tick}} should now properly signal errors.
*** Changed the {{cd|cooking_total_time}} field from a short to an integer, this is the total amount of time the current cooking process will take.
 
*** Changed the {{cd|lit_time_remaining}} field from a short to an integer, this is the amount of burn time remaining.
'''{{cmd|data}}'''
*** Changed the {{cd|lit_total_time}} field from a short to an integer, this is the total amount of burn time that was added in the last refuel.
* Added new source to {{cd|/data modify ... append{{!}}insert{{!}}merge{{!}}prepend{{!}}set}} called {{cd|compute}}
** The following new fields have been added:
* New source will evaluate a {{cd|minecraft:number_provider}} and then provide the result either as an integer or a float tag
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next cooking process.
* Syntax: {{cd|compute <target> <provider> [integer]}}, where the syntax of {{cd|target}}, {{cd|provider}} and {{cd|integer}} is the same as in {{cd|/compute}} function
* Example: {{cd|/data modify storage foo bar set compute entity @n[type{{=}}minecraft:armor_stand] {type:score,target:{type:context,target:target_entity},score:baz}|}}


'''[[Minecraft:Block entity format]]'''
'''{{cmd|execute}}'''
* {{cd|minecraft:decorated_pot}}
* Added new {{cd|slots}} condition sub-command.
** Field {{cd|sherds}} no longer stores a list of 4 item IDs. Instead, the new format is an object with 4 optional item stack fields named:
** Counts the number of slots from the slot source that are present on the targeted block or entity.
*** {{cd|back}}
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** {{cd|left}}
** Syntax:
*** {{cd|right}}
*** {{cmd|execute if|unless slots block <pos> <slot source>}}
*** {{cd|front}}
*** {{cmd|execute if|unless slots entity <targets> <slot source>}}
* The items condition sub-command now takes a slot source as argument instead of a slot.
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
** Syntax:
*** {{cmd|execute if|unless items block <pos> <slot source> <item predicate>}}
*** {{cmd|execute if|unless items entity <targets> <slot source> <item predicate>}}


'''[[Minecraft:Block states]]'''
'''{{cmd|give}}'''
* The following block state fields have been renamed.
* When the amount of items passed to the give command is above limit, the command will now signal an error instead of just printing an error message and returning {{cd|0}}.
** {{cd|Name}} is now {{cd|id}}
** {{cd|Properties}} is now {{cd|properties}}
* The default block state of a block can now be referred to in a compact form directly by the block ID.


'''[[Minecraft:Controls]]'''
'''{{cmd|item}}'''
* The numeric keypad plus-or-minus key, opening bracket key and closing bracket key now display their associated glyph in the Key Binds menu.
* Now takes a slot source as argument in place of anywhere a slot was previously used.
** Proper IDs for each of these have not yet been added, however.
** It will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
* Up to 40 more mouse buttons are available for binding game controls to on Linux (buttons 8 to 48), and up to 24 more on macOS (buttons 8 to 32).
** Can be a slot source in either inline or reference form.
** The [[Minecraft:key codes]] for these existed previously, but could only be accessed by changing [[Minecraft:options.txt]] and would not result in button presses actually being recognised.
** Can be a slot source targeting multiple slots.
** These buttons are still not accessible on Windows.
** The {{cd|replace}} sub-command has new semantics:
* Renamed some key code display names:
*** One by one in the order they are provided by the slot source, the contents of each destination slot are replaced with the corresponding source item.
** {{cd|key.keyboard.left.win}}: "Left Win" → "Left Meta"
*** When there are more destination slots than there are source items, the remaining slots are ignored.
** {{cd|key.keyboard.right.win}}: "Right Win" → "Right Meta"
**** Example: {{cd|replace [12345] with (ABC) -> [ABC45]}}
*** When there are fewer destination slots than there are source items, the remaining items are ignored.
**** Example: {{cd|replace [123] with (ABCDE) -> [ABC]}}
** String notation slot ranges in the form {{cd|<slot_type>}} or {{cd|<slot_type>.<slot_number>}} are still permitted.
*** Can be a single slot, such as {{cd|armor.chest}}
*** Can be multiple slots, such as {{cd|container.*}}
*** Acts as shorthand for a <code>minecraft:slot_range slot</code> source using that slot range.
**** Example: {{cd|hotbar.4}} is the same as {{cd|{type:"minecraft:slot_range",slots:"hotbar.4"}}}
* The entity argument in the {{cd|from entity}} item source can now be a selector targeting multiple entities.
** When more than a single entity is targeted, the slots sourced from each are concatenated.
* Added new {{cd|fill}} and {{cd|override}} sub-commands, each with syntax identical to {{cmd|item replace}}.
** {{cmd|item fill}}
*** Fills each destination slot with a source item.
*** When there are more destination slots than there are source items, the items repeat until every slot is filled.
**** Example: {{cd|fill [12345] with (ABC) -> [ABCAB]}}
**{{cmd|item override}}
*** Overrides the contents of each destination slot with the corresponding source item.
*** When there are more destination slots than there are source items, the remaining slots are cleared.
**** Example: {{cd|override [12345] with (ABC) -> [ABC__]}} (where {{cd|_}} represents an empty slot).
 
'''{{cmd|locate}}'''
* Improved the performance when trying to locate [[Minecraft:structure]]s.


'''[[Minecraft:Data component format]]'''
'''{{cmd|place}}'''
* {{cd|minecraft:pot_decorations}}
* The {{cd|feature}} sub-command now allows in-line definition of the [[Minecraft:feature]].
** Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
*** {{cd|back}}
*** {{cd|left}}
*** {{cd|right}}
*** {{cd|front}}


* {{cd|minecraft:trim_material}}
'''{{cmd|publish}}'''
** The format of inline material definitions has been updated
* The {{cd|gamemode}} argument has been removed.
** Trim Materials
** Instead, the default game mode of the world should be set using the {{cmd|defaultgamemode}} command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the {{cmd|gamemode}} command.
*** The format of elements in the {{cd|trim_material}} registry has been updated:
**** {{cd|asset_name}} has been replaced with {{cd|palette_id}} - Palette Texture ID to be used for this material.
**** {{cd|override_armor_assets}} has been removed, overrides are now defined in the Resource Pack Equipment Asset.


* Removed {{cd|minecraft:swing_animation}}
'''{{cmd|spreadplayers}}'''
** This has been replaced by {{cd|minecraft:attack_animation}} and {{cd|minecraft:interact_animation}}.
* Whether a block is safe to spread a player to is now controlled by the {{cd|#entities_can_teleport_to}} block tag.
*** The {{cd|none}} swing animation type has been removed.
*** Existing items in the world will be migrated to using the default {{cd|whack}}.
*** Setting both of these new components to the same value will be functionally identical to the old component, except for:
**** The {{cmd|swing}} command – animation type now specified by the command.
**** Items being dropped by entities.


* Removed {{cd|minecraft:map_color}}
'''{{cmd|swing}}'''
** Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to.
* When used on a player, the player's attack strength will no longer be reset.
** Existing maps have the component stripped on load.
* Added a new optional argument to set the swing animation to play.
** Allowed values: {{cd|whack}}, {{cd|stab}}
** If omitted, defaults to {{cd|whack}}
* Added a new argument to set the duration of the swing animation, if provided.
** Format: positive time value (by default in ticks).
** If omitted, defaults to {{cd|6t}}.


'''[[Minecraft:Data pack]]'''
'''{{cmd|team}}'''
* The [[Minecraft:pack format]] version is now {{cd|117.0}}.
* The result of {{cmd|team join}} and {{cmd|team leave}} subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed).
* The {{cd|definition}} field from the {{cd|blocks.json}} data generation report has been removed
* Codec for element lists/tags now allows mixing inline values and references.
** For example, item modifiers like {{cd|[{type:set_count, ...}, "minecraft:some_modifier"]}} are now allowed.


'''[[Minecraft:Debug screen]]'''
'''{{cmd|tellraw}}'''
* The debug overlay now supports a separate GUI scale than the rest of the game.
* The {{cd|nbt}} component in a raw chat message will only be resolved up to 64k times.
** This is customizable through the Debug Options screen, F3 + F6.
** The default scale is "Auto", which tries to stay at a higher resolution than normal.
** Another option is "Unchanged", which matches the regular GUI scale.
** The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly.
* Added a "player_speed" debug entry that displays the speed of the player in blocks per tick.
* The debug overlay now shows the display refresh rate.


'''[[Minecraft:Density function]]s'''
'''{{cmd|tick}}'''
* Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
* The following subcommands will now signal an error instead of just printing an error message and returning {{cd|0}}:
** This affects all intermediate steps, not just the final result.
** {{cmd|tick step}}
** {{cmd|tick step stop}}
** {{cmd|tick sprint stop}}


'''[[Minecraft:Environment attribute]]'''
=== Gameplay ===
* {{cd|minecraft:gameplay/bed_rule}}
'''[[Minecraft:Advancements]]'''
** Field {{cd|explodes}} has been renamed to {{cd|destroy_on_use}}
* Visiting the dappled forest is now required for the "Adventuring Time" advancement.
** Added {{cd|destroy_on_leave}} – optional boolean; if set to {{cd|true}}, the bed will be destroyed when leaving it.
* Visible root advancements (i.e. ones that have {{cd|display}} field, but no {{cd|parent}} field) must always declare {{cd|background}} field in {{cd|display}} structure.
*** If omitted, defaults to {{cd|false}}
* Only root advancements can have {{cd|background}} field in {{cd|display}} structure.


* {{cd|minecraft:visual/ambient_particles}}
'''[[Minecraft:Closed captions]]'''
** Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
* Now point to the most recent [[Minecraft:sound]] in range.
** Introduced support for new modifier: {{cd|append}}
*** Unlike {{cd|override}} which totally replaces the particle list, this modifier concatenates all elements with the layers below.


'''Equipment assets'''
'''[[Minecraft:Creative inventory]]'''
* The {{cd|trim_palette_replacements}} field has been replaced with {{cd|trim_overrides}}. This can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset, not just swap specific palettes.
* Rearranged mineral items and blocks in the inventory.
** Format: list of override entries with fields:
* They are now sorted to have non-tiered ingredients first, followed by tiered ingredients that craft into equipment last.
*** {{cd|when}} – object with fields, the material and/or pattern to match.
* Affects the ingredients and building blocks tabs.
**** {{cd|material}} – optional trim material ID, the material to match (if specified).
** Ingredients
**** {{cd|pattern}} – optional trim pattern ID, the pattern to match (if specified).
*** Non-tiered minerals
***** Note: this is not the palette ID, as {{cd|trim_palette_replacements}} used to be.
*** Unrefined tiered minerals
**** At least one of material or pattern must be specified.
*** Refined tiered minerals
**** If both are specified, both must match for the entry to be used.
**** Nuggets
*** {{cd|texture}} – optional trim pattern asset ID, a replacement texture to use if this entry matches.
**** Ingots
**** Textures are specified in the same format as {{cd|asset_id}}
** Building Blocks
**** If not specified, the default texture for the pattern will be used.
*** Non-tiered mineral blocks and variants
*** {{cd|palette}} – optional palette ID, a replacement palette to use if this entry matches.
*** Refined tiered mineral blocks and variants
**** If not specified, no palette remapping will be applied to the texture.
*** Copper block family
*** The first matching entry will always be selected.
** Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content.
*** At least one of texture or palette must be defined.
* Improved ordering of Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld -> Nether -> End to stay consistent with other tabs.
 
'''[[Minecraft:Enchantment]]s'''
* Now apply to items being damaged while protecting an [[Minecraft:undead mob]] from the sun.
 
'''[[Minecraft:Game mode switcher]]'''
* Changed the [[Minecraft:Adventure]] mode icon in the game mode switcher to show the [[Minecraft:buried treasure map]] item sprite, instead of [[Minecraft:empty map]].


'''[[Minecraft:Features]]'''
'''[[Minecraft:Spectator]]'''
* The {{cd|worldgen/configured_feature}} registry has moved to {{cd|worldgen/feature}} and configuration is now done inline in the root object rather than separated into a config field.
* Players in Spectator mode can now interact with portals to teleport.
* Removed the following feature types:
** {{cd|minecraft:coral_mushroom}}
** {{cd|minecraft:kelp}}
** {{cd|minecraft:nether_forest_vegetation}}
** {{cd|minecraft:seagrass}}
** {{cd|minecraft:sea_pickle}}
** {{cd|minecraft:twisting_vines}}
** {{cd|minecraft:weeping_vines}}
** {{cd|minecraft:desert_well}}
*** The [[Minecraft:desert well]] feature now uses the type {{cd|minecraft:template}}.<ref>[https://github.com/misode/mcmeta/blob/26.3-snapshot-8-diff/data/minecraft/worldgen/feature/desert_well.json worldgen/feature/desert_well.json] – misode.mcmeta</ref>
* Removed the {{cd|extra_rare_growths}} and {{cd|catalyst_chance}} fields from {{cd|minecraft:sculk_patch}}.


** Changed {{cd|minecraft:template}}
'''[[Minecraft:Trading]]'''
*** Added the field {{cd|processors}} – namespaced ID or inline definition of a structure processor list to apply to the template.
* New villager trades, unlocked from a villager leveling up their profession, will now update even if the player has the trading UI open.


* {{cd|minecraft:tree}} feature type
=== General ===
** Added {{cd|shelf_mushroom}} tree decorator type.
'''[[Minecraft:Advancement definition]]'''
*** Places [[Minecraft:shelf mushroom]]s on logs with the specified probability.
* Rewards
*** Format: object with fields:
** The {{cd|loot}} sub-field in the {{cd|rewards}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.
**** {{cd|probability}} - float (between {{cd|0}} and {{cd|1}}), the probability that any shelf mushrooms will be placed for a given feature.
** Added {{cd|poplar_foliage_placer}} foliage placer type
*** Places leaves blocks for [[Minecraft:poplar]] trees in a rhombus shape in one of two possible directions
*** Format: object with fields:
**** {{cd|height}} - int provider (between {{cd|5}} and {{cd|16}}), the height of the foliage.
**** {{cd|side_hole_chance}} - float (between {{cd|0.0}} and {{cd|1.0}}), the chance for blocks to be randomly removed at the edge of the foliage.
** Added {{cd|poplar_trunk_placer}} trunk placer type
*** Places log blocks for poplar trees in a straight shape with branches by the start of the foliage.
*** Format:
**** {{cd|trunk_height_above_branches}} - int provider (between {{cd|0}} and {{cd|8}}), the height of the trunk above the branches.
**** {{cd|branch_amount}} - int provider (between {{cd|1}} and {{cd|4}}), the amount of branches to create by the foliage.


* Changed the {{cd|minecraft:random_neighbor_spread}} feature type
* Triggers
** Renamed from {{cd|minecraft:glowstone_blob}}.
** Multiple fields that accepted a list of loot conditions (AKA predicates) are now stricter:
*** Now exposes more control over the feature.
*** A list of predicates is no longer accepted as a shorthand for a {{cd|minecraft:all_of}} condition containing that list.
*** Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
*** Additionally, the {{cd|condition}} field of predicates has been renamed to {{cd|type}} and is now mandatory (previously it defaulted to {{cd|minecraft:entity_properties}}).
** Format changes:
** Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a {{cd|minecraft:predicate}}
*** Added field {{cd|block}}: Block state provider for which block to place.
** The {{cd|player}} field, available on all triggers except {{cd|minecraft:impossible}}, now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Added field {{cd|accepted_neighbors}}: Block ID, list of block IDs or hash-prefixed block tag for which blocks count as a valid neighbor.
*** To avoid duplication, this field is not mentioned in entries below.
*** Added field {{cd|can_replace}}: Block predicate for which blocks to replace.
 
*** Added field {{cd|attempts}}: Int provider between {{cd|1}} and {{cd|3000}} for how many placements attempts to make.
* Changed {{cd|minecraft:any_block_use}} trigger
*** Added field {{cd|xy_offset}}{{note|Named {{cd|xz_offset}} in the official changelog.}}: Int provider between {{cd|-16}} and {{cd|16}} for what offsets to try along the x and z axes.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Added field {{cd|y_offset}}: Int provider between {{cd|-16}} and {{cd|16}} for what offsets to try along the y axis.


* Changed the {{cd|minecraft:single_block_pillar}} feature type
* Changed {{cd|minecraft:bee_nest_destroyed}}
** Renamed from {{cd|minecraft:basalt_pillar}}.  
** The block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type. However, it still only actually triggers for block types using the {{cd|BeehiveBlock}} class (i.e. a [[Minecraft:bee nest]] or [[Minecraft:beehive]]).
*** Now exposes more control over the feature functionality.
** Added field {{cd|state}} that matches block state properties (same format as {{cd|minecraft:enter_block}}).
** Format changes:
*** Added field {{cd|block}}: Block state provider for which block to place.
*** Added field {{cd|can_replace}}: Block predicate for which blocks to replace.
*** Added field {{cd|direction}}: Vertical direction of the pillar - one of {{cd|up}} and {{cd|down}}.
*** Added field {{cd|chance_to_continue}}: Optional probability between {{cd|0}} and {{cd|1}} (default: {{cd|1}}) that the pillar continues another block (assuming {{cd|can_replace}} matches)
*** Added field {{cd|cap_feature}}: Optional placed feature placed at the end of the pillar.


* Changed the {{cd|minecraft:stepped_column_cluster}} feature type
* Changed {{cd|minecraft:bred_animals}} trigger
** Renamed from {{cd|minecraft:basalt_columns}}.
** {{cd|child}}, {{cd|parent}}, and {{cd|partner}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Now exposes more control over the feature functionality.
 
** Format changes:
* Changed {{cd|minecraft:brewed_potion}} trigger
*** Added the field {{cd|block}}: Block state provider for which block to place.
** The {{cd|potion}} field now accepts {{cd|minecraft:potion_contents}} data component predicate.
*** Added the field {{cd|can_replace}}: Block predicate for which blocks can be replaced by the column.
*** Added the field {{cd|continue_through}}: Block predicate for which pre-existing blocks to accept as part of a column.
*** Added the field {{cd|cannot_place_on}}: Block ID, list of block IDs or hash-prefixed block tag ID representing which blocks are avoided when starting placement.
*** Renamed the field {{cd|reach}} to {{cd|column_reach}}
*** Added the field {{cd|column_count}}: int provider (between {{cd|1}} and {{cd|150}}) - the number of columns to generate.
*** Added the field {{cd|cluster_reach}}: int provider (between {{cd|0}} and {{cd|13}}) - the size of the square to attempt to generate columns in.
**** The effective reach is also limited by {{cd|height}}.


* {{cd|minecraft:coral_claw}} and {{cd|minecraft:coral_tree}}
* Changed {{cd|minecraft:channeled_lightning}} trigger
** Added the field {{cd|feature}} – a placed feature that is used to place at every desired block position.
** Entries in the {{cd|victims}} field can no longer be an entity predicate nor a list of predicates; the entries can now be either inline values or namespaced IDs of a {{cd|minecraft:predicate}} type.


'''Game window and input backend'''
* Changed {{cd|minecraft:cured_zombie_villager}} trigger
* The minimum window size is now 320&times;240 pixels.
** {{cd|villager}} and {{cd|zombie}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Minecraft now uses {{WP|SDL3}} instead of {{WP|GLFW}} for window management, input and platform integration.
* Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts.


'''[[Minecraft:GUI]]'''
* Changed {{cd|minecraft:default_block_use}} trigger
* The sub-headings and categories in different tabs of [[Minecraft:Options]] now use a boldface, underlined and centered format, and can now be focused.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


'''[[Minecraft:Instrument definition]]'''
* Changed {{cd|minecraft:effects_changed}} trigger
* The format of elements in the instrument registry have been updated:
** The {{cd|source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added the {{cd|durability_damage}} field - optional non-negative integer, amount of durability to consume on each use.
** Updated the {{cd|use_duration}} field - can now be {{cd|0}} for no cooldown.


'''[[Minecraft:Item model]]s'''
* Changed {{cd|minecraft:enter_block}}
* Added optional {{cd|shade_direction_override}} to block model elements.
** The {{cd|block}} field has been renamed to {{cd|blocks}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type.
** Accepted values are cardinal directions ({{cd|down}}, {{cd|up}}, {{cd|north}}, {{cd|south}}, {{cd|west}}, {{cd|east}})
** When set, this overrides directional shading for the element regardless of face orientation.
* Removed {{cd|shade}} from block model elements
** {{cd|shade_direction_override: "up"}} to get the previous {{cd|shade: false}} behavior.
* Tint source
** Removed {{cd|minecraft:map_color}}
*** The {{cd|minecraft:map_color}} component it read no longer exists.


'''[[Minecraft:Java_Edition_level_format#level.dat_format|level.dat]]'''
* Changed {{cd|minecraft:fall_after_explosion}} trigger
* {{cd|level.dat}} now contains a {{cd|version_history}} list with prior data versions of the file.
** The {{cd|cause}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


'''[[Minecraft:Loot function]]s'''
* Changed {{cd|minecraft:fishing_rod_hooked}} trigger
* The {{cd|conditions}} field is now available in all loot functions and has been renamed to {{cd|condition}}.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions.
*** Functionality of old condition list format can be achieved by explicitly using {{cd|minecraft:all_of}} loot condition type.
** The {{cd|function}} field (describing function type) has been renamed to {{cd|type}}.


* Changed {{cd|minecraft:sequence}}
* Changed {{cd|minecraft:placed_block}} trigger
** The {{cd|functions}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added optional condition field which accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Inline format of {{cd|minecraft:sequence}} (previously only a list of inline functions) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
*** This format is now consistenly available for all fields of loot function type, which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
** Can only use an inline definition in a top-level file.


* Changed {{cd|minecraft:modify_contents}}
* Changed {{cd|minecraft:item_used_on_block}} trigger
** The {{cd|modifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Changed {{cd|minecraft:set_attributes}}
** Number providers in {{cd|amount}} sub-fields of {{cd|modifiers}} list now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.


* Changed {{cd|minecraft:exploration_map}}
* Changed {{cd|minecraft:allay_drop_item_on_block}} trigger
** The {{cd|map_color}} field has now been removed.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** The function no longer changes the type of the item it is applied to – it now only adds map data to the existing item.
*** Previously it required a {{cd|minecraft:map}} and produced a {{cd|minecraft:filled_map}}
*** The item to produce is now chosen by the loot entry or villager trade itself, so a data pack that produced exploration maps has to change its item from {{cd|minecraft:map}} to {{cd|minecraft:filled_map}} (or one of the explorer map items)
*** If no matching structure is found, the item is left without a {{cd|minecraft:map_id}} – use {{cd|minecraft:filtered}} with {{cd|minecraft:discard_item}} to drop those, as the vanilla loot tables and villager trades now do.


* Changed {{cd|minecraft:enchanted_count_increase}}
* Changed {{cd|minecraft:player_killed_entity}} trigger
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Changed {{cd|minecraft:enchant_with_levels}}
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
** The {{cd|levels}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_custom_model_data}}
** Elements in {{cd|floats}} and {{cd|colors}} lists can now be an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_enchantments}}
** Values in {{cd|enchantments}} map can now be an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_count}}
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:limit_count}}
** The {{cd|min}} and {{cd|max}} fields inside {{cd|limit}} structure now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_damage}}
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_ominous_bottle_amplifier}}
** The {{cd|amplifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_random_dyes}}
** The {{cd|number_of_dyes}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_stew_effect}}
** The {{cd|duration}} field in elements of effects list now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:set_loot_table}}
** The {{cd|name}} field has been renamed to {{cd|tag}}
* Changed {{cd|minecraft:exploration_map}}
** The {{cd|destination}} field is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:structure}} type.
* Removed {{cd|minecraft:reference}}
** This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions.


'''[[Minecraft:Loot table]]s'''
* Changed {{cd|minecraft:entity_killed_player}} trigger
* Multiple block loot tables now reference predicates for checking if a tool has [[Minecraft:Silk Touch]] and is [[Minecraft:shears]] instead of inlining a copy of those checks.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* The {{cd|rolls}} and {{cd|bonus_rolls}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
* Loot table types that have a dedicated registry now support registry element and tag references.
 
** This means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID
* Changed {{cd|minecraft:kill_mob_near_sculk_catalyst}} trigger
** Affected types:
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|minecraft:advancement}}
** The {{cd|killing_blow.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
*** {{cd|minecraft:item_modifier}}
*** {{cd|minecraft:loot_table}}
*** {{cd|minecraft:number_provider}}
*** {{cd|minecraft:predicate}}
*** {{cd|minecraft:recipe}}
*** {{cd|minecraft:slot_source}}
** Existing {{cd|reference}} types for predicates, item modifiers and slot sources are now obsolete and have been removed


* Loot table types
* Changed {{cd|minecraft:lightning_strike}} trigger
** Added the {{cd|minecraft:container_process}} loot table type
** {{cd|bystander}} and {{cd|lightning}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type
*** Currently used to evaluate cooking and brewing fuel values.
*** It takes the following parameters:
**** {{cd|container}}, the container or inventory being evaluated.
**** {{cd|block_entity}}, the block entity being fueled.
**** {{cd|block_state}}, the current state of the block being fueled.
**** {{cd|origin}}, the location of the block being fueled.
** Changed {{cd|minecraft:advancement_location}}
*** Block entities are now available in context and can be matched by conditions like {{cd|minecraft:match_block}}
** Changed {{cd|minecraft:block_interact}}
*** {{cd|origin}} is now available in context, as the center of the block being interacted with.


* Loot pool entries
* Changed {{cd|minecraft:player_generates_container_loot}} trigger
** The {{cd|conditions}} field in loot pool entries has been renamed to condition and now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** The {{cd|loot_table}} field has been renamed to {{cd|loot_tables}} and now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.
** The {{cd|functions}} field in loot pool entries has been renamed to modifier and now accepts an inline value (including list as a short form of {{cd|minecraft:sequence}}) or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
*** If a tag or a list is used, trigger will run when any listed loot table is generated.
*** This field is now present on all loot entries, including previously omitted {{cd|minecraft:alternatives}}, {{cd|minecraft:sequence}} and {{cd|minecraft:group}}.
 
** Changed {{cd|minecraft:tag}} loot pool entry
* Changed {{cd|minecraft:thrown_item_picked_up_by_player}} trigger
*** The {{cd|name}} field has been renamed to {{cd|items}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:item}} type.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Changed {{cd|minecraft:loot_table}} loot pool entry
 
*** The {{cd|value}} field now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.
* Changed {{cd|minecraft:thrown_item_picked_up_by_entity}} trigger
*** Added {{cd|expand}} field, working the same as in {{cd|minecraft:tag}} pool entry:
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** If {{cd|true}}, each entry inside tag will be added to outer pool, with weights equal to weight of this entry.
 
**** If {{cd|false}}, this pool entry will operate as a single entry in outer pool. If this entry gets selected, it will return all items from all referenced loot tables.
* Changed {{cd|minecraft:player_hurt_entity}} trigger
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** The {{cd|damage.type.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.


'''[[Minecraft:Minecraft Server Management Protocol]] 3.1.0'''
* Changed {{cd|minecraft:entity_hurt_player}} trigger
* Added notifications indicating when the server performs a full world upgrade on startup.
** The {{cd|damage.type.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
** {{cd|minecraft:notification/world/upgrade_started}}
** {{cd|minecraft:notification/world/upgrade_progress}}
** {{cd|minecraft:notification/world/upgrade_finished}}
** {{cd|minecraft:notification/world/upgrade_failed}}


'''[[Minecraft:Noise settings]]'''
* Changed {{cd|minecraft:player_interacted_with_entity}} trigger
* The {{cd|surface_rule}} field has been renamed to {{cd|material_rule}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Format: inline Material Rule or Material Rule ID reference.
* The {{cd|final_density}} field no longer has the {{cd|beardifier}} density function implicitly added to the final result.
* The {{cd|aquifers_enabled}} field has been replaced by an optional {{cd|aquifers}} object:
** If not present, no aquifers will be generated.
** Fields:
*** {{cd|barrier}} - Density Function, moved from {{cd|noise_router.barrier}}
*** {{cd|fluid_level_floodedness}} - Density Function, moved from {{cd|noise_router.fluid_level_floodedness}}
*** {{cd|fluid_level_spread}} - Density Function, moved from {{cd|noise_router.fluid_level_spread}}
*** {{cd|lava}} - Density Function, moved from {{cd|noise_router.lava}}
*** {{cd|surface_level}} - Density Function, duplicated from {{cd|noise_router.preliminary_surface_level}}
*** {{cd|exclusion}} - Density Function, any aquifer cell where this value is positive will have no fluid.
* The {{cd|ore_veins_enabled}} field has been replaced by an optional list of {{cd|ore_veins}} objects:
** If not present, no ore veins will be generated
** Fields:
*** {{cd|ore_block}} - Block State, the ore block to place
*** {{cd|raw_ore_block}} - Block State, the raw ore block to place.
*** {{cd|filler_block}} - Block State, the filler block to place.
*** raw_ore_chance - float between {{cd|0}} and {{cd|1}}, the probability for a {{cd|raw_ore_block}} to be placed instead of an {{cd|ore_block}}.
*** density - Density Function, the probability between {{cd|0}} and {{cd|1}} for the ore vein to replace a block.
**** If {{cd|0}} or lower, no block will be replaced
*** richness - Density Function, the probability between 0 and 1 for {{cd|ore_block}} or {{cd|raw_ore_block}} to be placed (as opposed to {{cd|filler_block}}).
**** If {{cd|0}} or lower, all blocks will be {{cd|filler_block}}.
**** If {{cd|1}} or greater, no blocks will be {{cd|filler_block}}.
*** {{cd|filler_gap}} - Density Function, acts as an override to richness: if positive, {{cd|filler_block}} will always be placed.
* The following fields from {{cd|noise_router}} have been moved:
** barrier, fluid_level_floodedness, {{cd|fluid_level_spread}}, {{cd|lava}} - moved into {{cd|aquifers}} field.
** {{cd|vein_toggle}}, {{cd|vein_ridged}}, {{cd|vein_gap}} - moved into {{cd|ore_veins}} field.


* Spawn Target
* Changed {{cd|minecraft:player_sheared_equipment}} trigger
** The {{cd|spawn_target}} field has been updated to allow use of any density function, instead of just a subset of those defined within the {{cd|noise_router}} field.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** The suitability of a candidate spawn position is determined by evaluating, in some arbitrary n-dimensional space, the squared Euclidean distance to a set of target hypercubes.
** For example, one axis might be temperature and the second erosion - and suitability determined by distance to the square between {{cd|temperature{{=}}0.1}}, {{cd|erosion{{=}}0.2}} and {{cd|temperature{{=}}0.3}}, {{cd|erosion{{=}}0.5}}. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.
** Format: list of target hypercubes
*** Target format: map between Density Function ID and a range on that axis:
**** Range is specified as one of:
***** Float, an exact target value.
***** Array of 2 floats, a range of target values in form {{cd|[min, max]}}.
***** An object with fields:
****** {{cd|min}} - float, the minimum value of the target range.
****** {{cd|max}} - float, the maximum value of the target range.


'''[[Minecraft:Number provider]]s'''
* Changed {{cd|minecraft:crafter_recipe_crafted}} trigger
* The {{cd|type}} field always needs to be specified explicitly when using an inline number provider (it was previously defaulting to {{cd|minecraft:uniform}}).
** The {{cd|recipe_id}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
* Added vanilla number providers
*** If a tag or a list is used, trigger will run when any listed recipe is used.
** {{cd|minecraft:cooking/time_bamboo}}
 
*** Returns the burn time in ticks for bamboo and scaffolding.
* Changed {{cd|minecraft:recipe_crafted}} trigger
** {{cd|minecraft:cooking/time_blaze_rod}}
** The {{cd|recipe_id}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
*** Returns the burn time in ticks for blaze rods.
*** If a tag or a list is used, trigger will run when any listed recipe is used.
** {{cd|minecraft:cooking/time_boats}}
 
*** Returns the burn time in ticks for boats.
* Changed {{cd|minecraft:recipe_unlocked}} trigger
** {{cd|minecraft:cooking/time_coal}}
** The {{cd|recipe}} field has been renamed to {{cd|recipes}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:recipe}} type.
*** Returns the burn time in ticks for coal.
*** If a tag or a list is used, trigger will run when any listed recipe is unlocked
** {{cd|minecraft:cooking/time_coal_block}}
 
*** Returns the burn time in ticks for coal blocks.
* Changed {{cd|minecraft:slide_down_block}}
** {{cd|minecraft:cooking/time_dried_kelp_block}}
** The {{cd|block}} field has been renamed to {{cd|blocks}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:block}} type.
*** Returns the burn time in ticks for dried kelp blocks.
 
** {{cd|minecraft:cooking/time_dry_plants}}
* Changed {{cd|minecraft:summoned_entity}} trigger
*** Returns the burn time in ticks for various dry plants.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** {{cd|minecraft:cooking/time_hanging_signs}}
 
*** Returns the burn time in ticks for hanging signs.
* Changed {{cd|minecraft:tame_animal}} trigger
** {{cd|minecraft:cooking/time_lava_bucket}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Returns the burn time in ticks for lava buckets.
** {{cd|minecraft:cooking/time_roots}}
*** Returns the burn time in ticks for mangrove roots.
** {{cd|minecraft:cooking/time_wood_blocks}}
*** Returns the burn time in ticks for wood blocks.
** {{cd|minecraft:cooking/time_wood_items_extra_small}}
*** Returns the burn time in ticks for very small wood items such as buttons.
** {{cd|minecraft:cooking/time_wood_items_large}}
*** Returns the burn time in ticks for large wood items such as doors.
** {{cd|minecraft:cooking/time_wood_items_small}}
*** Returns the burn time in ticks for small wood items such as bows.
** {{cd|minecraft:cooking/time_wood_slabs}}
*** Returns the burn time in ticks for wood slabs.
** {{cd|minecraft:cooking/time_wool}}
*** Returns the burn time in ticks for most wool blocks.
** {{cd|minecraft:cooking/time_wool_carpets}}
*** Returns the burn time in ticks for wool carpets.
** {{cd|minecraft:cooking/time_wool_slabs}}
*** Returns the burn time in ticks for wool slabs and cushions.
** {{cd|minecraft:cooking/speed_default}}
*** Returns the default speed multiplier for cooking fuel.
** {{cd|minecraft:brewing/speed_default}}
*** Returns the default speed multiplier for brewing fuel.
** {{cd|minecraft:brewing/uses_default}}
*** Returns the default number of brews provided by brewing fuel.


* Changed {{cd|minecraft:number_dispatcher}}
* Changed {{cd|minecraft:target_hit}} trigger
** Fields:
** The {{cd|projectile}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|cases}} - a list of cases in the order that the dispatcher will try to execute them.
**** Fields:
***** {{cd|condition}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
***** {{cd|number_provider}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type which is executed if the condition is fulfilled.
*** {{cd|default}} - an optional inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
**** Defaults to a constant 0 if omitted.


* Changed {{cd|minecraft:conditional_value}}
* Changed {{cd|minecraft:villager_trade}} trigger
** Fields:
** The {{cd|villager}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|conditions}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|on_true}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type which is executed if its condition is fulfilled.
*** {{cd|on_false}} - an optional inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
**** Defaults to a constant 0 if omitted.


* Changed {{cd|minecraft:weighted_list}}
'''[[Minecraft:Block entity data]]'''
** Fields:
* {{cd|minecraft:sign}} and {{cd|minecraft:hanging_sign}}
*** {{cd|distribution}} - a list of objects with the following fields.
** By default, commands and other click events contained in sign text are no longer executed when the block is clicked.
**** Fields:
*** Additionally, text components on newly placed signs are no longer resolved by default.
***** {{cd|data}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** New boolean field called {{cd|allow_op_features}} (defaults to {{cd|false}}) has been added to restore previous behavior.
***** {{cd|weight}} - a positive integer
*** Placed signs and items with the {{cd|minecraft:block_entity_data}} component containing sign data stored in worlds saved before this version will have {{cd|allow_op_features}} set to {{cd|true}}
*** Any newly created sign will need to have that field set explicitly.
** Changed the rules for opening the sign edit screen after a block is placed:
*** Previously, the screen would open unless {{cd|minecraft:block_entity_data}} was applied successfully.
**** Now, the screen will open only if it could be opened normally by clicking the block (i.e. it's not waxed and only has editable text on the front side).
** Signs will now accept and return the {{cd|minecraft:sign_text_front}}, {{cd|minecraft:sign_text_back}} and {{cd|minecraft:waxed}} components.


* Changed {{cd|minecraft:uniform}}
* {{cd|minecraft:brewing_stand}}
** The {{cd|min}} and {{cd|max}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The following fields are now stored as integers rather than shorts:
*** Changed the {{cd|BrewTime}} field from a short to an integer, this is the amount of time that the current brewing process has taken so far.
*** Changed the {{cd|Fuel}} field from a byte to an integer, this is the amount of fuel remaining.
** The following new fields have been added:
*** Added the {{cd|total_brew_time}} integer field, this is the total amount of time the current brewing process will take.
*** Added the {{cd|total_fuel}} integer field, this represents the amount of fuel that was added in the last refuel.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next brewing process.


* Changed {{cd|minecraft:binomial}}
* {{cd|minecraft:furnace}}, {{cd|minecraft:smoker}} and {{cd|minecraft:blast_furnace}}
** The {{cd|n}} and {{cd|p}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The following fields are now stored as integers rather than shorts:
*** Changed the {{cd|cooking_time_spent}} field from a short to an integer, this is the amount of time that the current cooking process has taken so far.
*** Changed the {{cd|cooking_total_time}} field from a short to an integer, this is the total amount of time the current cooking process will take.
*** Changed the {{cd|lit_time_remaining}} field from a short to an integer, this is the amount of burn time remaining.
*** Changed the {{cd|lit_total_time}} field from a short to an integer, this is the total amount of burn time that was added in the last refuel.
** The following new fields have been added:
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next cooking process.


* Changed {{cd|minecraft:sum}}
'''[[Minecraft:Block entity format]]'''
** The {{cd|summands}} field was renamed to {{cd|operands}} and now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:number_provider}} type.
* {{cd|minecraft:decorated_pot}}
** Now requires at least one operand.
** Field {{cd|sherds}} no longer stores a list of 4 item IDs. Instead, the new format is an object with 4 optional item stack fields named:
** When used in integer mode, integer mode is used for intermediate steps as well.
*** {{cd|back}}
*** {{cd|left}}
*** {{cd|right}}
*** {{cd|front}}


'''[[Minecraft:Options]]'''
'''[[Minecraft:Block states]]'''
* The Online button used to access the Online Options screen will now always be shown in the Options menu.
* The following block state fields have been renamed.
** {{cd|Name}} is now {{cd|id}}
** {{cd|Properties}} is now {{cd|properties}}
* The default block state of a block can now be referred to in a compact form directly by the block ID.


'''[[Minecraft:Particles]]'''
'''[[Minecraft:Block transformer definition|Block transformers]]'''
* Falling leaves particles no longer appear for [[Minecraft:spruce leaves]].
* Added {{cd|minecraft:block_transformer}} registry containing rules for transforming a block into another block
* Format: list of objects with fields:
** {{cd|block_state_provider}} - Block State Provider, used to provide the state for the transformed block
*** If the Block State Provider returns no result (as by {{cd|rule_based_state_provider}}, for example), the next rule in the list will be attempted
*** The set of Block State Providers are the same as the Block State Providers used in World Generation
** {{cd|sound}} - optional field, Sound Event to play on interaction, e.g. {{cd|minecraft:item.axe.strip}}
*** If not present, defaults to play no Sound Event
** {{cd|particle}} - optional field, particles to play on interaction
*** If not present, defaults to {{cd|none}}
**** {{cd|none}}
**** {{cd|scrape}}
**** {{cd|wax_on}}
**** {{cd|wax_off}}
** {{cd|disallowed_faces}} - optional field, list of Directions specifying which faces on the clicked Block that cannot be interacted with
*** If a disallowed face is interacted with, the next rule in the list will be attempted
*** If not present, defaults to an empty list
*** Values:
**** {{cd|up}}
**** {{cd|down}}
**** {{cd|north}}
**** {{cd|south}}
**** {{cd|east}}
**** {{cd|west}}
** {{cd|loot}} - optional Loot Table, the Loot Table to use for dropping items on a successful transformation, e.g. {{cd|minecraft:till/rooted_dirt}}
*** If not present, defaults to using no Loot Table
** {{cd|drop_strategy}} - optional field, configures from where in the Block any loot should drop
*** If not present, defaults to {{cd|from_middle}}
*** Values:
**** {{cd|from_middle}} - from the middle of the Block
**** {{cd|clicked_face}} - from the face interacted with
** {{cd|update_from_neighbors}} - optional Boolean, if the transformed block should update based on neighboring blocks. This allows e.g. fences to connect
*** If not present, defaults to true
** {{cd|transform_type}} - optional field, configures how nearby blocks should be affected by the transformation
*** If not present, defaults to {{cd|single_block}}
*** Values:
**** {{cd|single_block}} - only affects the Block interacted with
**** {{cd|copper_chest}} - if input and output blocks are both copper chests of any weathering state, waxed or unwaxed, this transformation will affect both sides of a double chest
** {{cd|consume_on_use}} - optional Boolean, determines if the item should be consumed or not
*** Only applies to stackable items
*** If not present, defaults to {{cd|true}}
** {{cd|item_damage_per_use}} - optional Integer, determines how much damage the item takes with each use
*** Only applies to non-stackable items
*** If not present, defaults to {{cd|0}}
* Default values in vanilla:
** {{cd|minecraft:shovel}} - default value for shovels
** {{cd|minecraft:axe}} - default value for axes
** {{cd|minecraft:hoe}} - default value for hoes


'''[[Minecraft:Predicate]]'''
'''[[Minecraft:Controls]]'''
* The {{cd|condition}} field (describing predicate type) has been renamed to {{cd|type}}.
* The numeric keypad plus-or-minus key, opening bracket key and closing bracket key now display their associated glyph in the Key Binds menu.
 
** Proper IDs for each of these have not yet been added, however.
* Changed {{cd|minecraft:all_of}}
* Up to 40 more mouse buttons are available for binding game controls to on Linux (buttons 8 to 48), and up to 24 more on macOS (buttons 8 to 32).
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:predicate}} type.
** The [[Minecraft:key codes]] for these existed previously, but could only be accessed by changing [[Minecraft:options.txt]] and would not result in button presses actually being recognised.
** Note: values of this type can no longer be shortened to a single list, a full object with type {{cd|minecraft:all_of}} needs to be used explicitly.
** These buttons are still not accessible on Windows.
* Renamed some key code display names:
** {{cd|key.keyboard.left.win}}: "Left Win" → "Left Meta"
** {{cd|key.keyboard.right.win}}: "Right Win" → "Right Meta"


* Changed {{cd|minecraft:any_of}}
'''[[Minecraft:Data component format]]'''
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:predicate}} type.
* Changed {{cd|minecraft:consumable}}
* Changed {{cd|minecraft:inverted}}
** Added a new optional field to the {{cd|teleport_randomly}} consume effect:
** The {{cd|term}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|directional_particles}} - boolean, whether to show a particle trail into the direction of the teleportation
* Changed {{cd|minecraft:random_chance}}
**** If not present, defaults to {{cd|true}}
** The {{cd|chance}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:value_check}}
** The {{cd|value}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The {{cd|min}} and {{cd|max}} fields inside {{cd|range}} structure now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:time_check}}
** The {{cd|min}} and {{cd|max}} fields inside {{cd|value}} structure now accept an inline value or a namespaced ID of a minecraft:number_provider type.
* Changed {{cd|minecraft:entity_scores}}
** The {{cd|min}} and {{cd|max}} fields inside {{cd|values}} of scores map now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Changed {{cd|minecraft:damage_source_properties}}
** The {{cd|predicate.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
* Removed {{cd|minecraft:reference}}
** This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions.


* Added vanilla predicates
* Changed {{cd|minecraft:pot_decorations}}
** New entries added to previously empty-in-vanilla {{cd|predicate}} registry:
** Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
*** {{cd|minecraft:tool/can_silk_touch}}
*** {{cd|back}}
*** {{cd|minecraft:tool/can_shear}}
*** {{cd|left}}
*** {{cd|minecraft:block/fast_cooking}}
*** {{cd|right}}
*** {{cd|front}}
 
* Changed {{cd|minecraft:trim_material}}
** The format of inline material definitions has been updated
** Trim Materials
*** The format of elements in the {{cd|trim_material}} registry has been updated:
**** {{cd|asset_name}} has been replaced with {{cd|palette_id}} - Palette Texture ID to be used for this material.
**** {{cd|override_armor_assets}} has been removed, overrides are now defined in the Resource Pack Equipment Asset.
 
* Removed {{cd|minecraft:swing_animation}}
** This has been replaced by {{cd|minecraft:attack_animation}} and {{cd|minecraft:interact_animation}}.
*** Existing items in the world will be migrated to using the default {{cd|whack}}.
*** Setting both of these new components to the same value will be functionally identical to the old component, except for:
**** The {{cmd|swing}} command – animation type now specified by the command.
**** Items being dropped by entities.
 
* Removed {{cd|minecraft:map_color}}
** Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to.
** Existing maps have the component stripped on load.


* Potion predicates
'''[[Minecraft:Data pack]]'''
** The {{cd|minecraft:potion_contents}} data component predicate has been changed to allow matching on specific potion effects.
* The [[Minecraft:pack format]] version is now {{cd|118.0}}.
** The previous predicate format used a list of potion types, the new format allows for more refined matching.
* The {{cd|definition}} field from the {{cd|blocks.json}} data generation report has been removed
** The following fields can be used in any combination, all are optional:
* Codec for element lists/tags now allows mixing inline values and references.
*** {{cd|potions}} – A list of potion types or a potion tag to match.
** For example, item modifiers like {{cd|[{type:set_count, ...}, "minecraft:some_modifier"]}} are now allowed.
*** {{cd|effects}} – A collection predicate of {{cd|mob_effects}} predicates to match.
**** The collection predicate format is as follows:
***** {{cd|contains}} – A list of {{cd|mob_effects}} predicates to match.
***** {{cd|count}} – A list of options for matching a specific number of mob effect predicates, which follow the same format as {{cd|minecraft:effects}} entity sub-predicate.
****** {{cd|test}} – The {{cd|mob_effects}} predicate to match.
****** {{cd|count}} – The number of matches required, or with {{cd|min}} and {{cd|max}} will match a range of counts.
***** {{cd|size}} – Require the mob effects list to have a specific size, or with {{cd|min}} and {{cd|max}} will match a range of sizes.
** The {{cd|mob_effects}} predicate format is a mapping of effect types to properties of that effect. All fields are optional, only provided fields will be used for matching:
<syntaxhighlight lang="json">
    {
        "minecraft:<effect type>": {
          "duration": "<integer bounds representing a duration in ticks>",
          "amplifier": "<integer bounds>",
          "ambient": true/false,
          "visible": true/false
        }
    }
</syntaxhighlight>
* Example of matching on several different effects and criteria:
<syntaxhighlight lang="json">
      "effects": {
        "minecraft:jump_boost": {
          "duration": 3600,
          "amplifier": 5,
          "ambient": true,
          "visible": true
        },
        "minecraft:speed": {
          "duration": {
            "min": 360,
            "max": 3600
          },
          "amplifier": {
            "min": 2
          }
        },
        "minecraft:resistance": {}
      }
</syntaxhighlight>


* Added {{cd|minecraft:match_block}} condition type
'''[[Minecraft:Debug screen]]'''
** Matches block state and optionally block entity data and components (if present).
* The debug overlay now supports a separate GUI scale than the rest of the game.
** Fields (same as elements of {{cd|minecraft:can_place_on}} components):
** This is customizable through the Debug Options screen, F3 + F6.
*** {{cd|blocks}} – optional block id, list of namespaced block IDs, or hash-prefixed block tag to match.
** The default scale is "Auto", which tries to stay at a higher resolution than normal.
*** {{cd|state}}: optional map of block state property keys to values to match.
** Another option is "Unchanged", which matches the regular GUI scale.
*** {{cd|nbt}}: optional block entity NBT to match.
** The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly.
**** match will fail if this field is present, but block entity is not available in context.
* Added a "player_speed" debug entry that displays the speed of the player in blocks per tick.
*** {{cd|components}} – optional map of exact components to match.
* The debug overlay now shows the display refresh rate.
**** match will fail if this field is present, but block entity is not available in context.
*** {{cd|predicates}} – optional map of component predicates to match.
**** match will fail if this field is present, but block entity is not available in context.


* Removed {{cd|minecraft:block_state_property}} condition type
'''[[Minecraft:Environment attribute]]'''
** This has been fully replaced by {{cd|minecraft:match_block}}
* {{cd|minecraft:gameplay/bed_rule}}
** Field {{cd|explodes}} has been renamed to {{cd|destroy_on_use}}
** Added {{cd|destroy_on_leave}} – optional boolean; if set to {{cd|true}}, the bed will be destroyed when leaving it.
*** If omitted, defaults to {{cd|false}}


'''[[Minecraft:Realms]]'''
* {{cd|minecraft:visual/ambient_particles}}
* Added support for Realms to use additional server regions in Canada, Mexico, South Africa, and Arizona, USA if they become available in the future.
** Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
* Added render distance and simulation distance sliders to Realm configuration settings.
** Introduced support for new modifier: {{cd|append}}
*** Unlike {{cd|override}} which totally replaces the particle list, this modifier concatenates all elements with the layers below.


'''[[Minecraft:Recipe (Java Edition)|Recipes]]'''
'''Equipment assets'''
* The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts.
* The {{cd|trim_palette_replacements}} field has been replaced with {{cd|trim_overrides}}. This can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset, not just swap specific palettes.
** The cooking time speedup is now done through the {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.
** Format: list of override entries with fields:
 
*** {{cd|when}} – object with fields, the material and/or pattern to match.
* Potion brewing recipes
**** {{cd|material}} – optional trim material ID, the material to match (if specified).
** Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.  
**** {{cd|pattern}} – optional trim pattern ID, the pattern to match (if specified).
** Brewing recipes use the <code>minecraft:brewing</code> type.
***** Note: this is not the palette ID, as {{cd|trim_palette_replacements}} used to be.
** The main contents are:
**** At least one of material or pattern must be specified.
*** <code>input</code> – A potion ingredient with a required <code>item</code> field and an optional <code>potion_contents</code> field using a <code>minecraft:potion_contents</code> data component predicate.
**** If both are specified, both must match for the entry to be used.
*** <code>reagent</code> – A potion ingredient with a required <code>item</code> field and an optional <code>potion_contents</code> field using a <code>minecraft:potion_contents</code> data component predicate.
*** {{cd|texture}} – optional trim pattern asset ID, a replacement texture to use if this entry matches.
*** <code>output</code> – item stack, the resulting item.
**** Textures are specified in the same format as {{cd|asset_id}}
** Example of a vanilla recipe:
**** If not specified, the default texture for the pattern will be used.
<syntaxhighlight lang="json">
*** {{cd|palette}} – optional palette ID, a replacement palette to use if this entry matches.
{
**** If not specified, no palette remapping will be applied to the texture.
  "type": "minecraft:brewing",
*** The first matching entry will always be selected.
  "input": {
*** At least one of texture or palette must be defined.
    "item": "minecraft:potion",
 
    "potion_contents": {
'''Game window and input backend'''
      "potion": "minecraft:water"
* The minimum window size is now 320&times;240 pixels.
    }
* Minecraft now uses {{WP|SDL3}} instead of {{WP|GLFW}} for window management, input and platform integration.
  },
* Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts.
  "output": {
 
    "components": {
'''[[Minecraft:GUI]]'''
      "minecraft:potion_contents": {
* The sub-headings and categories in different tabs of [[Minecraft:Options]] now use a boldface, underlined and centered format, and can now be focused.
        "potion": "minecraft:awkward"
      }
    },
    "id": "minecraft:potion"
  },
  "reagent": {
    "item": "minecraft:nether_wart"
  }
}
</syntaxhighlight>
* Any items may be used in any of the 3 slots, e.g.:
<syntaxhighlight lang="json">
{
  "type": "minecraft:brewing",
  "input": { "item": "minecraft:bucket" },
  "output": { "id": "minecraft:sulfur_cube_bucket" },
  "reagent": { "item": "minecraft:potent_sulfur" }
}
</syntaxhighlight>


'''Rendering'''
'''[[Minecraft:Instrument definition]]'''
* Terrain blocks are now rendered with MultiDrawIndirect on supported devices.
* The format of elements in the instrument registry have been updated:
** Added the {{cd|durability_damage}} field - optional non-negative integer, amount of durability to consume on each use.
** Updated the {{cd|use_duration}} field - can now be {{cd|0}} for no cooldown.


'''[[Minecraft:Resource pack]]'''
'''[[Minecraft:Item model]]s'''
* The version is now {{cd|96.0}}.
* Added optional {{cd|shade_direction_override}} to block model elements.
 
** Accepted values are cardinal directions ({{cd|down}}, {{cd|up}}, {{cd|north}}, {{cd|south}}, {{cd|west}}, {{cd|east}})
'''[[Minecraft:Server]]s'''
** When set, this overrides directional shading for the element regardless of face orientation.
* Some log lines that server software might look out for have been removed.
* Removed {{cd|shade}} from block model elements
** The Minecraft Server Management Protocol can be used instead.
** {{cd|shade_direction_override: "up"}} to get the previous {{cd|shade: false}} behavior.
* Tint source
** Removed {{cd|minecraft:map_color}}
*** The {{cd|minecraft:map_color}} component it read no longer exists.
 
'''[[Minecraft:Java_Edition_level_format#level.dat_format|level.dat]]'''
* {{cd|level.dat}} now contains a {{cd|version_history}} list with prior data versions of the file.
 
'''[[Minecraft:Loot function]]s'''
* The {{cd|conditions}} field is now available in all loot functions and has been renamed to {{cd|condition}}.
** It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions.
*** Functionality of old condition list format can be achieved by explicitly using {{cd|minecraft:all_of}} loot condition type.
** The {{cd|function}} field (describing function type) has been renamed to {{cd|type}}.
 
* Changed {{cd|minecraft:enchant_with_levels}}
** The {{cd|levels}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.


'''[[Minecraft:Server properties]]'''
* Changed {{cd|minecraft:enchanted_count_increase}}
* The {{cd|white-list}} property is now {{cd|true}} by default.
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.


'''[[Minecraft:Shaders]]'''
* Changed {{cd|minecraft:exploration_map}}
* Replaced current "Improved Transparency" approach with a new Order-independent Transparency (OIT) algorithm which is expected to be much better at solving translucency issues.
** The {{cd|map_color}} field has now been removed.
** Added new shaders to support order-independent transparency:
** The function no longer changes the type of the item it is applied to – it now only adds map data to the existing item.
*** <samp>core/oit_composite.fsh</samp>
*** Previously it required a {{cd|minecraft:map}} and produced a {{cd|minecraft:filled_map}}
*** <samp>core/oit_depth_bounds_cull.fsh</samp>
*** The item to produce is now chosen by the loot entry or villager trade itself, so a data pack that produced exploration maps has to change its item from {{cd|minecraft:map}} to {{cd|minecraft:filled_map}} (or one of the explorer map items)
*** <samp>include/oit.glsl</samp>
*** If no matching structure is found, the item is left without a {{cd|minecraft:map_id}} – use {{cd|minecraft:filtered}} with {{cd|minecraft:discard_item}} to drop those, as the vanilla loot tables and villager trades now do.
*** <samp>include/oit_add_transmittance.glsl</samp>
** The {{cd|destination}} field is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:structure}} type.
*** <samp>include/oit_common.glsl</samp>
 
*** <samp>include/oit_depth_bounds.glsl</samp>
* Changed {{cd|minecraft:limit_count}}
*** <samp>include/oit_depth_sample.glsl</samp>
** The {{cd|min}} and {{cd|max}} fields inside {{cd|limit}} structure now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** <samp>include/oit_sample.glsl</samp>
 
** Extracted the texture sampling logic from <samp>core/terrain.fsh</samp> into <samp>include/texture_sampling.glsl</samp>
* Changed {{cd|minecraft:modify_contents}}
** Renamed the following core shaders:
** The {{cd|modifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
*** <samp>core/rendertype_clouds.vsh</samp> -> <samp>core/clouds.vsh</samp>
* Changed {{cd|minecraft:set_attributes}}
*** <samp>core/rendertype_clouds.fsh</samp> -> <samp>core/clouds.fsh</samp>
** Number providers in {{cd|amount}} sub-fields of {{cd|modifiers}} list now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** <samp>core/rendertype_world_border.vsh</samp> -> <samp>core/world_border.vsh</samp>
 
*** <samp>core/rendertype_world_border.fsh</samp> -> <samp>core/world_border.fsh</samp>
* Changed {{cd|minecraft:sequence}}
** Updated core shaders to support order-independent transparency
** The {{cd|functions}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
*** Introduced new defines:
** Added optional condition field which accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|OIT}} - A boolean indicating if OIT is enabled.
** Inline format of {{cd|minecraft:sequence}} (previously only a list of inline functions) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
**** {{cd|OIT_ALWAYS_WRITE_DEPTH}} - A boolean indicating that the OIT algorithm should always write depth for the executing pipeline during the depth bounds stag.
*** This format is now consistenly available for all fields of loot function type, which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:item_modifier}} type.
**** {{cd|OIT_DEPTH_BOUNDS}} - A boolean indicating if the depth bounds pass is being executed.
** Can only use an inline definition in a top-level file.
**** {{cd|OIT_TRANSMITTANCE}} - A boolean indicating if the transmittance pass is being executed.
**** {{cd|OIT_ACCUMULATE}} - A boolean indicating if the accumulate pass is being executed.
**** {{cd|OIT_ALPHA_ONLY}} - A boolean indicating if either the depth bounds or transmittance pass is being executed.
**** {{cd|OIT_ADDITIVE}} - A boolean indicating that the OIT algorithm should emulate additive blending for the executing pipeline.
**** {{cd|OIT_OPAQUE_PARTS_THRESHOLD}} - A float determining above which alpha threshold a fragment should be considered solid and not go through OIT.
**** {{cd|OIT_WAVELET_RANK}} - An integer internal to the OIT algorithm.
**** {{cd|OIT_COEFF_COUNT}} - An integer internal to the OIT algorithm.
**** {{cd|OIT_COEFF_ATTACHMENT_COUNT}} - An integer internal to the OIT algorithm.
**** {{cd|RENDERPEARL_IS_ZERO_TO_ONE}} - A boolean indicating if the current rendering backend uses the depth range of {{cd|[0, 1]}}, it is available globally to all shaders independently of the OIT setting.
**** {{cd|RENDERPEARL_EXPLICIT_DEPTH_INVARIANCE}} – if present, indicates that an OIT shader should explicitly output a depth value because a device it is running on can produce a slightly different implicit value.
**** Affected shaders:
***** <samp>core/block.fsh</samp>
***** <samp>core/block.vsh</samp>
***** <samp>core/clouds.fsh</samp>
***** <samp>core/clouds.vsh</samp>
***** <samp>core/entity.fsh</samp>
***** <samp>core/entity.vsh</samp>
***** <samp>core/item.fsh</samp>
***** <samp>core/item.vsh</samp>
***** <samp>core/particle.fsh</samp>
***** <samp>core/position_color.fsh</samp>
***** <samp>core/rendertype_beacon_beam.fsh</samp>
***** <samp>core/rendertype_clouds.fsh</samp>
***** <samp>core/rendertype_crumbling.fsh</samp>
***** <samp>core/rendertype_entity_shadow.fsh</samp>
***** <samp>core/rendertype_lightning.fsh</samp>
***** <samp>core/rendertype_lines.fsh</samp>
***** <samp>core/rendertype_world_border.fsh</samp>
***** <samp>core/terrain.fsh</samp>
***** <samp>core/terrain.vsh</samp>
***** <samp>core/text.fsh</samp>
***** <samp>core/text_background.fsh</samp>
***** <samp>core/world_border.fsh</samp>
***** <samp>core/world_border.vsh</samp>
** Removed the old transparency post chain:
*** <samp>post_effect/transparency.json</samp>
*** <samp>shaders/post/transparency.fsh</samp>
** <samp>core/integrate_depth.fsh</samp> was added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffer.
** There's a new debug keybind for toggling this functionality on and off, by default set to F3 + X.


* <samp>terrain.vsh</samp> and <samp>terrain.fsh</samp> shaders are refactored to support multi-draw.
* Changed {{cd|minecraft:set_count}}
* Some of the members in {{cd|Globals}} and {{cd|DynamicTransforms}} are shuffled to use less memory for those uniform blocks.
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Removed core shaders
 
** {{cd|core/text_background.fsh}} and {{cd|core/text_background.vsh}} were removed and text background in Text Display Entities is now rendered using the text shaders.
* Changed {{cd|minecraft:set_custom_model_data}}
** Elements in {{cd|floats}} and {{cd|colors}} lists can now be an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.


* Always-on Post Effect Support
* Changed {{cd|minecraft:set_damage}}
** A resource pack can now define a {{cd|minecraft:end_of_frame}} post effect.
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** It will be applied before other post effects, including the ones enabled by the new {{cd|posteffect}} command.
** This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the {{cd|posteffect}} command.
** As usual with resource pack resources, in case of multiple packs defining this effect, the one from the last resource pack in the list will apply.


* Shader compilation changes
* Changed {{cd|minecraft:set_enchantments}}
** Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan.
** Values in {{cd|enchantments}} map can now be an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Shader includes are now handled by ShaderC using {{cd|#include}} instead of {{cd|#moj_import}}
** Shader inputs and outputs must have a location specified in shader source.
*** Vertex input names must still match expected names.
*** Vertex outputs are matched to fragment inputs solely by location, name is now ignored.
** Introduced new define {{cd|RENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE}} – a boolean indicating if {{cd|gl_InstanceIndex}} follows Vulkan or OpenGL ({{cd|gl_InstanceID}}) semantics.


'''[[Minecraft:Slot sources]]'''
* Changed {{cd|minecraft:set_loot_table}}
* Slot sources can now be defined as files inside a datapack, within the {{cd|slot_source}} folder.
** The {{cd|name}} field has been renamed to {{cd|loot_table_id}}
** Can be used in commands which take slot sources as arguments.
** Removed unused field {{cd|type}}
** Can be used in inline slot sources using the {{cd|minecraft:reference}} type.
* {{cd|minecraft:contents}} is no longer restricted to only selecting non-empty slots.


* Added {{cd|minecraft:reference}}
* Changed {{cd|minecraft:set_ominous_bottle_amplifier}}
** Uses the referenced slot source.
** The {{cd|amplifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Fields:
*** {{cd|name}} - the namespaced id of the slot source.


* Changed {{cd|minecraft:slot_range}}
* Changed {{cd|minecraft:set_random_dyes}}
** The {{cd|source}} field has a new valid type container, which sources slots from a container or inventory provided through loot context.
** The {{cd|number_of_dyes}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** The {{cd|source}} field is now optional.
*** Defaults to the container source type when absent.


* Changed {{cd|minecraft:group}}
* Changed {{cd|minecraft:set_stew_effect}}
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:slot_source}} type.
** The {{cd|duration}} field in elements of effects list now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Inline format of {{cd|minecraft:group}} (previously only a list of inline slot source) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:slot_source}} type.
*** This format is now available consistently available for all fields of slot source.
** Can only use an inline definition in a top-level file.


* Changed {{cd|minecraft:filtered}}
* Removed {{cd|minecraft:reference}}
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
** This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions.


* Changed {{cd|minecraft:contents}}
'''[[Minecraft:Loot table]]s'''
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
* Multiple block loot tables now reference predicates for checking if a tool has [[Minecraft:Silk Touch]] and is [[Minecraft:shears]] instead of inlining a copy of those checks.
* The {{cd|rolls}} and {{cd|bonus_rolls}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Loot table types that have a dedicated registry now support registry element and tag references.
** This means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID
** Affected types:
*** {{cd|minecraft:advancement}}
*** {{cd|minecraft:item_modifier}}
*** {{cd|minecraft:loot_table}}
*** {{cd|minecraft:number_provider}}
*** {{cd|minecraft:predicate}}
*** {{cd|minecraft:recipe}}
*** {{cd|minecraft:slot_source}}
** Existing {{cd|reference}} types for predicates, item modifiers and slot sources are now obsolete and have been removed


* Changed {{cd|minecraft:limit_slots}}
* Loot table types
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
** Added {{cd|minecraft:command_compute_default}} loot table type
*** Currently used for {{cd|/compute default}} command
*** It takes the following parameters:
**** {{cd|origin}}, the position at which the command was executed
**** {{cd|this}} entity, the {{cd|@s}} entity of the command being executed (optional)


* Removed {{cd|minecraft:reference}}
** Added {{cd|minecraft:command_compute_entity}} loot table type
** This slot source has become obsolete, as any field that takes slot source now accepts (among other fields) a namespaced ID of a {{cd|minecraft:slot_source}} type.
*** Currently used for {{cd|/compute entity}} command
*** It takes the following parameters:
**** Everything included in {{cd|minecraft:command_compute_default}}
**** {{cd|target_entity}}, entity selected by the selector given in a command


'''[[Minecraft:Sounds]]'''
** Added {{cd|minecraft:command_compute_position}} loot table type
* Added new sound events:
*** Currently used for {{cd|/compute block}} command
** {{cd|block.poplar_leaves.ambient}}
*** It takes the following parameters:
** {{cd|block.poplar_leaves.break}}
**** Everything included in {{cd|minecraft:command_compute_default}}
** {{cd|block.poplar_leaves.fall}}
**** {{cd|block_entity}}, the block entity of the block at the position given in a command
** {{cd|block.poplar_leaves.place}}
**** {{cd|block_state}}, the current state of the block at the position given in a command
** {{cd|block.poplar_leaves.step}}
** {{cd|block.poplar_leaves.hit}}
** {{cd|block.red_shrub.break}}
** {{cd|block.red_shrub.place}}
** {{cd|block.shelf_mushroom.break}}
** {{cd|block.shelf_mushroom.fall}}
** {{cd|block.shelf_mushroom.place}}
** {{cd|block.shelf_mushroom.step}}
** {{cd|block.shelf_mushroom.bounce}}
** {{cd|block.straw_bed.break}}
** {{cd|block.straw_bed.break_leave}}
** {{cd|block.straw_bed.step}}
** {{cd|block.straw_bed.place}}
** {{cd|block.straw_bed.hit}}
** {{cd|block.straw_bed.fall}}
** {{cd|entity.cushion.break}}
** {{cd|entity.cushion.place}}
** {{cd|entity.cushion.get_up}}
** {{cd|entity.cushion.sit}}


'''[[Minecraft:Tag (Java Edition)|Tags]]'''
** Added {{cd|minecraft:container_process}} loot table type
* Biome Tags
*** Currently used to evaluate cooking and brewing fuel values.
** Added {{cd|dappled_forest}} to {{cd|d=and|#is_forest|#is_overworld|#spawns_cold_variant_farm_animals|#has_structure/trial_chambers}} tags.
*** It takes the following parameters:
 
**** {{cd|container}}, the container or inventory being evaluated.
* Block Tags
**** {{cd|block_entity}}, the block entity being fueled.
** Added {{cd|red_shrub}} to {{cd|d=and|#replaceable|#replaceable_by_mushrooms}} tags.
**** {{cd|block_state}}, the current state of the block being fueled.
** Added {{cd|d=and|red_poplar_leaves|orange_poplar_leaves|yellow_poplar_leaves}} to {{cd|#leaves}} tag.
**** {{cd|origin}}, the location of the block being fueled.
** Added {{cd|potted_poplar_sapling}} to {{cd|#flower_pots}} tag.
** Added {{cd|#poplar_logs}} to {{cd|#logs_that_burn}} tag.
** Added {{cd|poplar_log}} to {{cd|#overworld_natural_logs}} tag.
** Added {{cd|poplar_planks}} to {{cd|#planks}} tag.
** Added {{cd|poplar_sign}} to {{cd|#standing_signs}} tag.
** Added {{cd|poplar_hanging_sign}} to {{cd|#ceiling_hanging_signs}} tag.
** Added {{cd|poplar_wall_sign}} to {{cd|#wall_signs}} tag.
** Added {{cd|poplar_wall_hanging_sign}} to {{cd|#wall_hanging_signs}} tag.
** Added {{cd|poplar_button}} to {{cd|#wooden_buttons}} tag.
** Added {{cd|poplar_door}} to {{cd|#wooden_doors}} tag.
** Added {{cd|poplar_fence}} to {{cd|#wooden_fences}} tag.
** Added {{cd|poplar_fence_gate}} to {{cd|#fence_gates}} tag.
** Added {{cd|poplar_pressure_plate}} to {{cd|#wooden_pressure_plates}} tag.
** Added {{cd|poplar_sapling}} to {{cd|#saplings}} tag.
** Added {{cd|poplar_shelf}} to {{cd|#wooden_shelves}} tag.
** Added {{cd|poplar_slab}} to {{cd|#wooden_slabs}} tag.
** Added {{cd|poplar_stairs}} to {{cd|#wooden_stair}} tag.
** Added {{cd|poplar_trapdoor}} to {{cd|#wooden_trapdoors}} tag.
** Added {{cd|d=and|#wool_slabs|#concrete_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|d=and|#wool_stairs|#concrete_stairs}} to {{cd|#stairs}} tag.
** Added {{cd|d=and|#wool_slabs|#wool_stairs}} to {{cd|d=and|#dampens_vibrations|#shears_major_breaking_speed}} tags.
** Added 32 values to {{Tag link|block|mineable/pickaxe}} tag:
{{Collapse
|content=
::{{cd|d=and|white_concrete_stairs|orange_concrete_stairs|magenta_concrete_stairs|light_blue_concrete_stairs|yellow_concrete_stairs|lime_concrete_stairs|pink_concrete_stairs|gray_concrete_stairs|light_gray_concrete_stairs|cyan_concrete_stairs|purple_concrete_stairs|blue_concrete_stairs|brown_concrete_stairs|green_concrete_stairs|red_concrete_stairs|black_concrete_stairs|white_concrete_slab|orange_concrete_slab|magenta_concrete_slab|light_blue_concrete_slab|yellow_concrete_slab|lime_concrete_slab|pink_concrete_slab|gray_concrete_slab|light_gray_concrete_slab|cyan_concrete_slab|purple_concrete_slab|blue_concrete_slab|brown_concrete_slab|green_concrete_slab|red_concrete_slab|black_concrete_slab}}}}
** Renamed tag {{cd|#convertable_to_mud}} to {{cd|#convertible_to_mud}}.
** Removed {{cd|d=and|#nether_carver_replaceables|#overworld_carver_replaceables}} tags.
** Removed {{cd|tuff}} from {{cd|#deepslate_ore_replaceables}} tags.


* Entity Tags
** Changed {{cd|minecraft:advancement_location}} loot table type
** Added {{cd|poplar_boat}} to {{cd|#boat}} tag.
*** Block entities are now available in context and can be matched by conditions like {{cd|minecraft:match_block}}


* Item Tags
** Changed {{cd|minecraft:block_interact}} loot table type
** Added {{cd|d=and|red_poplar_leaves|orange_poplar_leaves|yellow_poplar_leaves}} to {{cd|#leaves}} tag.
*** {{cd|origin}} is now available in context, as the center of the block being interacted with.
** Added {{cd|#poplar_logs}} to {{cd|#logs_that_burn}} tag.
** Added {{cd|poplar_planks}} to {{cd|#planks}} tag.
** Added {{cd|poplar_sign}} to {{cd|#signs}} tag.
** Added {{cd|poplar_hanging_sign}} to {{cd|#hanging_signs}} tag.
** Added {{cd|poplar_button}} to {{cd|#wooden_buttons}} tag.
** Added {{cd|poplar_door}} to {{cd|#wooden_doors}} tag.
** Added {{cd|poplar_fence}} to {{cd|#wooden_fences}} tag.
** Added {{cd|poplar_fence_gate}} to {{cd|#fence_gates}} tag.
** Added {{cd|poplar_pressure_plate}} to {{cd|#wooden_pressure_plates}} tag.
** Added {{cd|poplar_sapling}} to {{cd|#saplings}} tag.
** Added {{cd|poplar_shelf}} to {{cd|#wooden_shelves}} tag.
** Added {{cd|poplar_slab}} to {{cd|#wooden_slabs}} tag.
** Added {{cd|poplar_stairs}} to {{cd|#wooden_stair}} tag.
** Added {{cd|poplar_trapdoor}} to {{cd|#wooden_trapdoors}} tag.
** Added {{cd|poplar_boat}} to {{cd|#boats}} tag.
** Added {{cd|poplar_chest_boat}} to {{cd|#chest_boats}} tag.
** Added {{cd|d=and|#wool_slabs|#concrete_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|d=and|#wool_stairs|#concrete_stairs}} to {{cd|#stairs}} tag.
** Added {{cd|d=and|#wool_slabs|#wool_stairs}} to {{cd|#dampens_vibrations}} tag.
** Removed {{cd|#brewing_fuel}} tag.
*** The {{cd|brewing_fuel}} item component is now used to identify brewing fuels.
** Eighteen tags no longer have the function of adding an item like fuel item, due to {{DCL|cooking_fuel}} components.
{{Collapse
|content=
::{{cd|d=and|#logs|#bamboo_blocks|#planks|#wooden_stairs|#wooden_slabs|#wooden_trapdoors|#wooden_pressure_plates|#wooden_shelves|#wooden_fences|#fence_gates|#banners|#signs|#hanging_signs|#boats|#wool|#wooden_buttons|#saplings|#wool_carpets}}}}
** The tag {{cd|#non_flammable_wood}} no longer prevents an item from being classified as fuel item.


'''[[Minecraft:Textures]]'''
* Loot pool entries
* Palette Textures
** The {{cd|conditions}} field in loot pool entries has been renamed to condition and now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** All armor trim palette textures have been moved from {{cd|textures/trim/color_palettes/}} to {{cd|textures/palettes/trim/}}
** The {{cd|functions}} field in loot pool entries has been renamed to modifier and now accepts an inline value (including list as a short form of {{cd|minecraft:sequence}}) or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
*** The base armor trim palette texture has instead been moved to {{cd|textures/palettes/trim_base.png}}
*** This field is now present on all loot entries, including previously omitted {{cd|minecraft:alternatives}}, {{cd|minecraft:sequence}} and {{cd|minecraft:group}}.
** Entity armor trim material textures are no longer generated into the {{cd|minecraft:trims}} atlas with {{cd|paletted_permutations}}, but rather generated on-demand
** Changed {{cd|minecraft:tag}} loot pool entry
*** The base palette id is now specified in a new {{cd|palette}} mcmeta section field
*** The {{cd|name}} field has been renamed to {{cd|items}} and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:item}} type.
*** This section has a single field: {{cd|base_palette}} - the base Palette Texture ID to remap from
** Changed {{cd|minecraft:loot_table}} loot pool entry
** Item armor trim material textures are still generated with {{cd|paletted_permutations}} as before
*** The {{cd|value}} field now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:loot_table}} type.
** Palette Texture locations in the {{cd|palette_key}} and {{cd|permutations}} fields have been replaced by Palette Texture IDs - i.e. {{cd|<namespace>:<path>}} now resolves to {{cd|<namespace>:textures/palettes/<path>.png}}
*** Added {{cd|expand}} field, working the same as in {{cd|minecraft:tag}} pool entry:
**** If {{cd|true}}, each entry inside tag will be added to outer pool, with weights equal to weight of this entry.
**** If {{cd|false}}, this pool entry will operate as a single entry in outer pool. If this entry gets selected, it will return all items from all referenced loot tables.


* Equipment Assets
'''[[Minecraft:Minecraft Server Management Protocol]] 3.1.0'''
** A new optional {{cd|trim_palette_replacements}} field controls which trim material palettes should be replaced for this equipment asset (formerly controlled by {{cd|override_armor_assets}} in the trim material)
* Added notifications indicating when the server performs a full world upgrade on startup.
*** Format: map from original Palette ID to a replacement Palette ID
** {{cd|minecraft:notification/world/upgrade_started}}
** {{cd|minecraft:notification/world/upgrade_progress}}
** {{cd|minecraft:notification/world/upgrade_finished}}
** {{cd|minecraft:notification/world/upgrade_failed}}


* Block Sprites
'''[[Minecraft:Number provider]]s'''
** Added new Block textures:
* The {{cd|type}} field always needs to be specified explicitly when using an inline number provider (it was previously defaulting to {{cd|minecraft:uniform}}).
*** {{cd|block/orange_poplar_leaves.png}}
* Added vanilla number providers
*** {{cd|block/red_poplar_leaves.png}}
** {{cd|minecraft:cooking/time_bamboo}}
*** {{cd|block/yellow_poplar_leaves.png}}
*** Returns the burn time in ticks for bamboo and scaffolding.
*** {{cd|block/poplar_door_bottom.png}}
** {{cd|minecraft:cooking/time_blaze_rod}}
*** {{cd|block/poplar_door_top.png}}
*** Returns the burn time in ticks for blaze rods.
*** {{cd|block/poplar_log_top.png}}
** {{cd|minecraft:cooking/time_boats}}
*** {{cd|block/poplar_log.png}}
*** Returns the burn time in ticks for boats.
*** {{cd|block/poplar_planks.png}}
** {{cd|minecraft:cooking/time_coal}}
*** {{cd|block/poplar_trapdoor.png}}
*** Returns the burn time in ticks for coal.
*** {{cd|block/stripped_poplar_log.png}}
** {{cd|minecraft:cooking/time_coal_block}}
*** {{cd|block/stripped_poplar_log_top.png}}
*** Returns the burn time in ticks for coal blocks.
*** {{cd|block/poplar_log.png}}
** {{cd|minecraft:cooking/time_dried_kelp_block}}
*** {{cd|block/shelf_mushroom_stage0.png}}
*** Returns the burn time in ticks for dried kelp blocks.
*** {{cd|block/shelf_mushroom_stage1.png}}
** {{cd|minecraft:cooking/time_dry_plants}}
*** {{cd|block/poplar_hanging_sign.png}}
*** Returns the burn time in ticks for various dry plants.
*** {{cd|block/poplar_sign.png}}
** {{cd|minecraft:cooking/time_hanging_signs}}
*** {{cd|block/poplar_sapling.png}}
*** Returns the burn time in ticks for hanging signs.
*** {{cd|block/poplar_shelf.png}}
** {{cd|minecraft:cooking/time_lava_bucket}}
*** {{cd|block/red_shrub.png}}
*** Returns the burn time in ticks for lava buckets.
*** {{cd|block/straw_bed.png}}
** {{cd|minecraft:cooking/time_roots}}
*** {{cd|block/straw_bed_particle.png}}
*** Returns the burn time in ticks for mangrove roots.
 
** {{cd|minecraft:cooking/time_wood_blocks}}
* Item Sprites
*** Returns the burn time in ticks for wood blocks.
** Added new Item textures:
** {{cd|minecraft:cooking/time_wood_items_extra_small}}
*** {{cd|item/poplar_door.png}}
*** Returns the burn time in ticks for very small wood items such as buttons.
*** {{cd|item/poplar_hanging_sign.png}}
** {{cd|minecraft:cooking/time_wood_items_large}}
*** {{cd|item/poplar_sign.png}}
*** Returns the burn time in ticks for large wood items such as doors.
*** {{cd|item/poplar_boat.png}}
** {{cd|minecraft:cooking/time_wood_items_small}}
*** {{cd|item/poplar_chest_boat.png}}
*** Returns the burn time in ticks for small wood items such as bows.
** Removed <samp>item/filled_map_markings.png</samp>
** {{cd|minecraft:cooking/time_wood_slabs}}
*** Returns the burn time in ticks for wood slabs.
** {{cd|minecraft:cooking/time_wool}}
*** Returns the burn time in ticks for most wool blocks.
** {{cd|minecraft:cooking/time_wool_carpets}}
*** Returns the burn time in ticks for wool carpets.
** {{cd|minecraft:cooking/time_wool_slabs}}
*** Returns the burn time in ticks for wool slabs and cushions.
** {{cd|minecraft:cooking/speed_default}}
*** Returns the default speed multiplier for cooking fuel.
** {{cd|minecraft:brewing/speed_default}}
*** Returns the default speed multiplier for brewing fuel.
** {{cd|minecraft:brewing/uses_default}}
*** Returns the default number of brews provided by brewing fuel.


* Map sprites
* Changed {{cd|minecraft:number_dispatcher}}
** Added new explorer map textures:
** Fields:
*** <samp>abandoned_campsite_map.png</samp>
*** {{cd|cases}} - a list of cases in the order that the dispatcher will try to execute them.
*** <samp>ancient_city_map.png</samp>
**** Fields:
*** <samp>desert_pyramid_map.png</samp>
***** {{cd|condition}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** <samp>mineshaft_map.png</samp>
***** {{cd|number_provider}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type which is executed if the condition is fulfilled.
*** <samp>warm_ocean_ruins_map.png</samp>
*** {{cd|default}} - an optional inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Updated the following map and explorer map textures:
**** Defaults to a constant 0 if omitted.
*** <samp>buried_treasure_map.png</samp>
*** <samp>filled_map.png</samp>
*** <samp>map.png</samp>
*** <samp>desert_village_map.png</samp>
*** <samp>plains_village_map.png</samp>
*** <samp>snowy_village_map.png</samp>
*** <samp>snowy_village_map.png</samp>
*** <samp>taiga_village_map.png</samp>
*** <samp>savanna_village_map.png</samp>
*** <samp>trial_chamber_map.png</samp>
*** <samp>woodland_mansion_map.png</samp>
*** <samp>ocean_monument_map.png</samp>
** Added new map decorations textures:
*** <samp>abandoned_camp.png</samp>
*** <samp>ancient_city.png</samp>
*** <samp>desert_pyramid.png</samp>
*** <samp>mineshaft.png</samp>
*** <samp>warm_ocean_ruins.png</samp>
** The following map decoration icons have been updated in order to show player rotation on the map:
*** <samp>/player.png</samp>
*** <samp>/player_off_limits.png</samp>
*** <samp>/player_off_map.png</samp>


* UI Sprites
* Changed {{cd|minecraft:conditional_value}}
** Added new UI textures:
** Fields:
*** {{cd|gui/hanging_signs/poplar.png}}
*** {{cd|conditions}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|gui/signs/poplar.png}}
*** {{cd|on_true}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type which is executed if its condition is fulfilled.
*** {{cd|on_false}} - an optional inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
**** Defaults to a constant 0 if omitted.
 
* Changed {{cd|minecraft:weighted_list}}
** Fields:
*** {{cd|distribution}} - a list of objects with the following fields.
**** Fields:
***** {{cd|data}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
***** {{cd|weight}} - a positive integer


* Entity Textures
* Changed {{cd|minecraft:uniform}}
** Added new Entity textures:
** The {{cd|min}} and {{cd|max}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** {{cd|entity/boat/poplar.png}}
*** {{cd|entity/chest_boat/poplar.png}}


* Particles
* Changed {{cd|minecraft:binomial}}
** Added new Particle textures:
** The {{cd|n}} and {{cd|p}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** {{cd|orange_poplar_1.png}}
*** {{cd|orange_poplar_2.png}}
*** {{cd|orange_poplar_3.png}}
*** {{cd|orange_poplar_4.png}}
*** {{cd|red_poplar_1.png}}
*** {{cd|red_poplar_2.png}}
*** {{cd|red_poplar_3.png}}
*** {{cd|red_poplar_4.png}}
*** {{cd|yellow_poplar_1.png}}
*** {{cd|yellow_poplar_2.png}}
*** {{cd|yellow_poplar_3.png}}
*** {{cd|yellow_poplar_4.png}}
*** {{cd|shelf_mushroom_particle.png}}


'''[[Minecraft:UI]]'''
* Changed {{cd|minecraft:sum}}
* Removed the Raw Input mouse setting.
** The {{cd|summands}} field was renamed to {{cd|operands}} and now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:number_provider}} type.
** Mouse input now always uses relative mouse mode while playing in-game.
** Now requires at least one operand.
* Key bindings now use physical keys instead of keyboard-layout-specific key codes.
** When used in integer mode, integer mode is used for intermediate steps as well.
* Borderless Fullscreen is now the default fullscreen mode.
* Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game.
* Exclusive fullscreen mode on macOS is no longer supported.
* The minimum window size is now 320 by 240 pixels.
* On macOS, holding a key while entering text now displays the native accent and candidate popup.
* On Linux systems, the game will now use and prefer Wayland natively if available.


'''[[Minecraft:Villager trade definition]]'''
'''[[Minecraft:Options]]'''
* The {{cd|given_item_modifiers}} field has been renamed to {{cd|given_item_modifier}}
* The Online button used to access the Online Options screen will now always be shown in the Options menu.
** Note: unlike other fields of type {{cd|minecraft:item_modifier}} this field does not support namespaced element or tag IDs.


'''[[Minecraft:World generation]]'''
'''[[Minecraft:Panorama]]'''
* [[Minecraft:Cave air]] is no longer generated in Nether caves.
* Updated the panorama to reflect the [[Minecraft:Third Drop 2026|third drop of 2026]], showing the new Dappled Forest biome with an Abandoned Camp.


* Biomes
'''[[Minecraft:Particles]]'''
** Removed the {{cd|spawners}}, {{cd|spawn_costs}}, and {{cd|creature_spawn_probability}} fields.
* Falling leaves particles no longer appear for [[Minecraft:spruce leaves]].
*** These values have been moved to the new environment attributes.


* Block predicates
'''[[Minecraft:Predicate]]'''
** Added {{cd|minecraft:volume_match}}
* The {{cd|condition}} field (describing predicate type) has been renamed to {{cd|type}}.
*** Checks that every block in a volume matches a given Block Predicate.
*** Format:
**** {{cd|min}} – list of 3 integers in range -16 to 16 specifying the lower corner of the volume as an offset from the test position.
**** {{cd|max}} – list of 3 integers in range -16 to 16 specifying the upper corner of the volume as an offset from the test position.
**** {{cd|match}} – block predicate to test on each position.


* Block state providers
* Changed {{cd|minecraft:all_of}}
** Updated {{cd|minecraft:copy_properties_provider}}
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:predicate}} type.
*** Renamed field {{cd|source_block_state_provider}} to {{cd|source}}
** Note: values of this type can no longer be shortened to a single list, a full object with type {{cd|minecraft:all_of}} needs to be used explicitly.
** Added {{cd|minecraft:random_block_provider}}
*** Returns the default block state for a randomly chosen block.
*** Format:
**** {{cd|blocks}}: block ID, list of block IDs or hash-prefixed block tag, specifying the set of blocks to randomly pick from.
** Changed {{cd|minecraft:rotated_block_provider}}
*** Now works on any block with axis or facing properties.
*** Format:
**** Changed the field {{cd|state}}: Now a block state provider.
**** Added the field {{cd|direction}}: Optional field describing the direction to set.
***** If omitted, a random direction is chosen.


* Carvers
* Changed {{cd|minecraft:any_of}}
** The {{cd|worldgen/configured_carver}} registry has been renamed to {{cd|worldgen/carver}}
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:predicate}} type.
** Updated {{cd|minecraft:cave}} carver type
* Changed {{cd|minecraft:inverted}}
*** All fields previously under the config field have been inlined to the top-level.
** The {{cd|term}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Added the {{cd|count}} field - non-negative Int Provider, the number of cave tunnels to create from a seed chunk.
* Changed {{cd|minecraft:random_chance}}
*** Renamed {{cd|yScale}} to {{cd|room_vertical_radius_multiplier}}
** The {{cd|chance}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** Added optional {{cd|start_vertical_radius_multiplier}} field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnel.
* Changed {{cd|minecraft:value_check}}
**** If not specified, defaults to {{cd|1.0}}
** The {{cd|value}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** Added the {{cd|thickness}} field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels.
** The {{cd|min}} and {{cd|max}} fields inside {{cd|range}} structure now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** Added optional {{cd|weird_thickness_bias}} field - Boolean
* Changed {{cd|minecraft:time_check}}
**** If {{cd|true}}, thickness will be multiplied by, with a 10% chance: <math>random(0, 1) * random(0, 3) + 1</math>
** The {{cd|min}} and {{cd|max}} fields inside {{cd|value}} structure now accept an inline value or a namespaced ID of a minecraft:number_provider type.
**** If not specified, defaults to {{cd|false}}
* Changed {{cd|minecraft:entity_scores}}
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
** The {{cd|min}} and {{cd|max}} fields inside {{cd|values}} of scores map now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
* Changed {{cd|minecraft:damage_source_properties}}
*** Removed the {{cd|debug_settings}} field.
** The {{cd|predicate.tags.id}} field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a {{cd|minecraft:damage_type}} type.
** Updated {{cd|minecraft:canyon}} carver type
* Removed {{cd|minecraft:reference}}
*** All fields previously under the config field have been inlined to the top-level.
** This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions.
*** Renamed and moved {{cd|yScale}} to {{cd|shape.y_scale}}
 
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
* Added vanilla predicates
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
** New entries added to previously empty-in-vanilla {{cd|predicate}} registry:
*** Removed the {{cd|debug_settings}} field.
*** {{cd|minecraft:tool/can_silk_touch}}
** Removed {{cd|minecraft:nether_cave}} carver type
*** {{cd|minecraft:tool/can_shear}}
*** Replaced by the {{cd|minecraft:cave}} carver type
*** {{cd|minecraft:block/fast_cooking}}


* [[Minecraft:Density function]]s
* Potion predicates
** Updated {{cd|constant}}
** The {{cd|minecraft:potion_contents}} data component predicate has been changed to allow matching on specific potion effects.
*** {{cd|argument}} has been renamed to {{cd|value}}
** The previous predicate format used a list of potion types, the new format allows for more refined matching.
** Updated {{cd|add}}, {{cd|mul}}, {{cd|min}}, and {{cd|max}}
** The following fields can be used in any combination, all are optional:
*** {{cd|argument1}} has been renamed to {{cd|left}}.
*** {{cd|potions}} – A list of potion types or a potion tag to match.
*** {{cd|argument2}} has been renamed to {{cd|right}}.
*** {{cd|effects}} – A collection predicate of {{cd|mob_effects}} predicates to match.
** Updated {{cd|abs}}, {{cd|square}}, {{cd|cube}}, {{cd|half_negative}}, {{cd|quarter_negative}}, {{cd|squeeze}}, {{cd|interpolated}}, {{cd|flat_cache}}, {{cd|cache_2d}}, {{cd|cache_once}}, {{cd|cache_all_in_cell}}, and {{cd|blend_density}} density functions
**** The collection predicate format is as follows:
*** {{cd|argument}} has been renamed to {{cd|input}}.
***** {{cd|contains}} – A list of {{cd|mob_effects}} predicates to match.
** Updated {{cd|shift_a}}, {{cd|shift_b}}, and {{cd|shift}}
***** {{cd|count}} – A list of options for matching a specific number of mob effect predicates, which follow the same format as {{cd|minecraft:effects}} entity sub-predicate.
*** {{cd|argument}} has been renamed to {{cd|noise}}
****** {{cd|test}} – The {{cd|mob_effects}} predicate to match.
** Added {{cd|sub}}
****** {{cd|count}} – The number of matches required, or with {{cd|min}} and {{cd|max}} will match a range of counts.
*** Performs subtraction between two arguments.
***** {{cd|size}} – Require the mob effects list to have a specific size, or with {{cd|min}} and {{cd|max}} will match a range of sizes.
*** Format: object with fields:
** The {{cd|mob_effects}} predicate format is a mapping of effect types to properties of that effect. All fields are optional, only provided fields will be used for matching:
**** {{cd|left}} - Density Function, the left-hand side of the operation
<syntaxhighlight lang="json">
**** {{cd|right}} - Density Function, the right-hand side of the operation
    {
** Added {{cd|div}}
        "minecraft:<effect type>": {
*** Performs division between two arguments.  
          "duration": "<integer bounds representing a duration in ticks>",
*** Format: object with fields:
          "amplifier": "<integer bounds>",
**** {{cd|left}} - Density Function, the left-hand side of the operation.
          "ambient": true/false,
**** {{cd|right}} - Density Function, the right-hand side of the operation.
          "visible": true/false
** Updated {{cd|reciprocal}}
        }
*** Renamed from {{cd|invert}}
    }
** Added {{cd|negate}}
</syntaxhighlight>
*** Negates the input.  
* Example of matching on several different effects and criteria:
*** Format: object with fields:
<syntaxhighlight lang="json">
**** {{cd|input}} - Density Function, the function to negate.
      "effects": {
** Added {{cd|lerp}}
        "minecraft:jump_boost": {
*** Performs (unclamped) linear interpolation between two arguments based on an alpha.
          "duration": 3600,
*** Format: object with fields:
          "amplifier": 5,
**** {{cd|alpha}} - Density Function, the interpolation factor (0=first, 1=second)
          "ambient": true,
***** Any value outside of {{cd|[0; 1]}} will extrapolate
          "visible": true
**** {{cd|first}} - Density Function, the value at {{cd|alpha{{=}}0}}
        },
**** {{cd|second}} - Density Function, the value at {{cd|alpha{{=}}1}}
        "minecraft:speed": {
** Added {{cd|floor}}, {{cd|round}}, {{cd|ceil}}, and {{cd|truncate}}
          "duration": {
*** Rounds the input value to an integer multiple of a given function in a type-dependent direction:
            "min": 360,
**** {{cd|floor}}: rounds towards negative infinity.
            "max": 3600
**** {{cd|round}}: rounds towards the nearest integer (ties round up).
          },
**** {{cd|ceil}}: rounds towards positive infinity.
          "amplifier": {
**** {{cd|truncate}}: rounds towards 0.
            "min": 2
*** Format: object with fields:
          }
**** {{cd|input}} - Density Function, the input to round.
        },
**** {{cd|multiple}} - Density Function, the output will be rounded to an integer multiple of this value.
        "minecraft:resistance": {}
***** If not specified, defaults to constant {{cd|1}} (i.e. rounding to integer).
      }
** Added {{cd|beardifier}}
</syntaxhighlight>
*** Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.
 
*** Format: no fields
* Added {{cd|minecraft:match_block}} condition type
** Added {{cd|pow}}
** Matches block state and optionally block entity data and components (if present).
*** Raises the given base value to an exponent.
** Fields (same as elements of {{cd|minecraft:can_place_on}} components):
*** Format: object with fields:
*** {{cd|blocks}} – optional block id, list of namespaced block IDs, or hash-prefixed block tag to match.
**** {{cd|base}} – density function, the base value.
*** {{cd|state}}: optional map of block state property keys to values to match.
**** {{cd|exponent}} – density function, the exponent.
*** {{cd|nbt}}: optional block entity NBT to match.
** Added {{cd|sqrt}}
**** match will fail if this field is present, but block entity is not available in context.
*** Computes the square root of the given input.
*** {{cd|components}} – optional map of exact components to match.
*** Format: object with fields:
**** match will fail if this field is present, but block entity is not available in context.
**** {{cd|input}} – density function, the value for which to compute the square root.
*** {{cd|predicates}} – optional map of component predicates to match.
** Added {{cd|log}}
**** match will fail if this field is present, but block entity is not available in context.
*** Computes the natural logarithm of the given input.
 
*** Format: object with fields:
* Removed {{cd|minecraft:block_state_property}} condition type
**** {{cd|input}} – density function, the value for which to compute the natural logarithm.
** This has been fully replaced by {{cd|minecraft:match_block}}
** Added {{cd|sign}}
 
*** Computes the sign of the input:
'''[[Minecraft:Realms]]'''
**** If the input is positive, returns {{cd|1}}
* Added support for Realms to use additional server regions in Canada, Mexico, South Africa, and Arizona, USA if they become available in the future.
**** If the input is 0, returns {{cd|0}}
**** If input is negative, returns {{cd|-1}}
*** Format: object with fields:
**** {{cd|input}} – density function, the value of which to compute the sign.
** Added {{cd|distance_to_point}}
*** Computes the distance to a fixed point using the specified distance function.
*** Format: object with fields:
**** {{cd|point}} – array of 3 integers in form {{cd|[x, y, z]}}, the point to compute distance to.
**** {{cd|metric}} – one of:
***** {{cd|euclidean}} – i.e. <math>sqrt(dx^2 + dy^2 + dz^2)</math>
***** {{cd|euclidean_squared}} – i.e. <math>dx^2 + dy^2 + dz^2</math>
***** {{cd|manhattan}} – i.e. <math>abs(dx) + abs(dy) + abs(dz)</math>
***** {{cd|chebyshev}} – i.e. <math>max(abs(dx), abs(dy), abs(dz))</math>
** Updated {{cd|gradient}} (renamed from {{cd|y_clamped_gradient}})
*** Format: object with fields:
**** {{cd|axis}} – {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis over which to define this gradient.
**** {{cd|tiling}} – one of:
***** {{cd|clamp_to_edge}} – outside the gradient boundaries, the value at the nearest boundary will be used.
***** {{cd|repeat}} – the gradient will be repeated outside its boundaries.
***** {{cd|mirrored_repeat}} – the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions.
**** {{cd|from_coordinate}} – int, the coordinate at which the gradient starts.
**** {{cd|to_coordinate}} – int, the coordinate at which the gradient ends.
***** Must not be equal to {{cd|from_coordinate}}
**** {{cd|from_value}} – float, the value at which the gradient starts.
**** {{cd|to_value}} – float, the value at which the gradient ends.
** Added {{cd|slice}}
*** Removes a dimension from the input domain by taking a "slice" along an axis with a specific coordinate. For example, with {{cd|axis{{=}}y}} and {{cd|coordinate{{=}}0}}, a slice will be taken along the XZ plane, with all values sampled at {{cd|y{{=}}0}}.
*** Format: object with fields:
**** {{cd|axis}} – {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis to remove.
**** coordinate – int, the fixed coordinate to be passed to the input function.
**** input – density function, the input function.
** Changed {{cd|end_outer_islands}}
*** Renamed from {{cd|end_islands}}. No longer computes the density of the main island.


* Int Providers
'''[[Minecraft:Recipe (Java Edition)|Recipes]]'''
** Added {{cd|minecraft:very_biased_to_bottom}} Int provider type
* The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts.
*** Picks a random value in the provided range, with a quadratic bias towards the minimum value.
** The cooking time speedup is now done through the {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.
*** Format: object with fields:
**** {{cd|min_inclusive}} - Integer, the minimum selected value (inclusive).
**** {{cd|max_inclusive}} - Integer, the maximum selected value (inclusive).


* Material Condition Registry
* Potion brewing recipes
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_condition/<id>.json</samp>.
** Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.
** Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
** Brewing recipes use the <code>minecraft:brewing</code> type.
** The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
** The main contents are:
*** Material Conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.
*** <code>input</code> – A potion ingredient with a required <code>item</code> field and an optional <code>potion_contents</code> field using a <code>minecraft:potion_contents</code> data component predicate.
 
*** <code>reagent</code> – A potion ingredient with a required <code>item</code> field and an optional <code>potion_contents</code> field using a <code>minecraft:potion_contents</code> data component predicate.
* Material Rule Registry
*** <code>output</code> – item stack, the resulting item.
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_rule/<id>.json</samp>.
** Example of a vanilla recipe:
** Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
<syntaxhighlight lang="json">
** The format is identical to that which was formerly written in the {{cd|surface_rule}} field within noise settings files, with the following extensions:
{
*** Material rules can now be specified either inline (as previously), or as an ID reference to an element in the {{cd|worldgen/material_rule}} registry.
  "type": "minecraft:brewing",
*** Material conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.
  "input": {
 
    "item": "minecraft:potion",
* [[Minecraft:Noise]]s
    "potion_contents": {
** The format of noises (defined in the <samp>worldgen/noise</samp> registry, or inline in noise-based block state providers) has been updated.
      "potion": "minecraft:water"
** Noises define a fractal brownian motion configuration with the following properties:
    }
*** Produces output values (approximately) fitting a normal distribution.
  },
*** Unless otherwise specified, fits the output amplitude to {{cd|[-1; 1]}}
  "output": {
**** Due to the normal distribution, in practice this means that 99.7% of all samples will fit in that range – but values may still be encountered outside of this range.
    "components": {
*** Parameterized by {{cd|persistence{{=}}0.5}}, {{cd|lacunarity{{=}}2.0}}
      "minecraft:potion_contents": {
**** i.e. between each octave, the amplitude is halved and the frequency doubled.
        "potion": "minecraft:awkward"
*** Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
      }
*** Renamed {{cd|firstOctave}} to {{cd|base_octave}}.
    },
*** Added {{cd|base_amplitude}} – non-negative float, a scale factor to apply to the noise output.
    "id": "minecraft:potion"
**** If not specified, defaults to {{cd|1.0}}.
  },
*** Added {{cd|octave_count}} – integer between {{cd|1}} and {{cd|32}}, the number of octaves to sample.
  "reagent": {
*** Added normalize – boolean, or {{cd|"legacy"}}, controls how the output amplitude should be normalized.
    "item": "minecraft:nether_wart"
**** If {{cd|true}}, {{cd|base_amplitude}} is the expected amplitude of the output (i.e. 99.7% of all samples in {{cd|[-base_amplitude; base_amplitude]}})
  }
**** If {{cd|false}}, {{cd|base_amplitude}} is the amplitude of the first octave.
}
**** If {{cd|"legacy"}}, inherits the same normalization behavior as expressed by the previous format.
</syntaxhighlight>
***** This would generally fit to a range smaller than expected.
* Any items may be used in any of the 3 slots, e.g.:
**** If not specified, defaults to {{cd|true}}.
<syntaxhighlight lang="json">
**** Note: normalization is not affected by the {{cd|amplitude_modifiers}} field – as such, modifying the amplitude of a single octave will not affect the amplitude of others.
{
*** Renamed {{cd|amplitudes}} to {{cd|amplitude_modifiers}} – list of floats, a scaling factor to apply to each octave.
  "type": "minecraft:brewing",
**** The number of elements in this list must match {{cd|octave_count}}.
  "input": { "item": "minecraft:bucket" },
**** As described above, this scaling factor bypasses normalization and will affect the output amplitude.
  "output": { "id": "minecraft:sulfur_cube_bucket" },
**** This field is no longer required – if not specified, defaults to all {{cd|1.0}}.
  "reagent": { "item": "minecraft:potent_sulfur" }
}
</syntaxhighlight>


* Placement Modifiers
'''Rendering'''
** Changed {{cd|minecraft:offset}} placement modifier
* Terrain blocks are now rendered with MultiDrawIndirect on supported devices.
*** Renamed from {{cd|random_offset}}.
*** Format:
**** Removed the fields {{cd|xz_spread}} and {{cd|y_spread}}.
**** Added the fields {{cd|x}}, {{cd|y}}, {{cd|z}}: Integer providers between -16 and {{cd|16}} specifiying the axis-specific offset.
** Added {{cd|minecraft:cuboid}}
*** Repeats a feature in a cuboid shape.
*** Added fields:
**** {{cd|xz_size}}: int provider between {{cd|1}} and {{cd|16}} representing the size of the cuboid along {{cd|x}} and {{cd|z}} axes.
**** {{cd|y_size}}: int provider between {{cd|1}} and {{cd|16}} representing the size of the cuboid along the {{cd|y}} axis.
**** {{cd|include_interior}}: optional boolean (default {{cd|true}}) for whether to place interior blocks of the cuboid.
**** {{cd|include_edges}}: optional boolean (default {{cd|true}}) for whether to place edge blocks of the cuboid.
***** Setting this to {{cd|false}} generates a somewhat "rounded" cuboid.
** Added {{cd|minecraft:random_chance}}
*** Gates the feature being placed behind a random chance.
*** Format:
**** {{cd|chance}}: float value between {{cd|0}} and {{cd|1}} representing the chance that the feature gets placed.
** Added {{cd|minecraft:randomly_selected}}
*** Randomly selects a placement modifier from a list and delegates placement to it.
*** Format:
**** {{cd|placements}} – non-empty list of Placement Modifiers to pick from.


* Rule Tests
'''[[Minecraft:Resource pack]]'''
** These are the predicates used by ore features ({{cd|targets[].target}}) and rule structure processors ({{cd|rules[].input_predicate}} and {{cd|rules[].location_predicate}}).
* The version is now {{cd|97.0}}.
** Added rule test type {{cd|minecraft:height_match}}
*** Checks the y-level of a block, returning {{cd|true}} only if it is greater than or equal to {{cd|min_inclusive}} and less than or equal to {{cd|max_inclusive}}.
*** Format: object with fields:
**** {{cd|min_inclusive}} – int, the minimum y value of allowed blocks (inclusive).
**** {{cd|max_inclusive}} – int, the maximum y value of allowed blocks (inclusive).
** Added rule test type {{cd|minecraft:all_of}}
*** This checks a list of Rule Tests for whether all of them return true for the same block.
*** Format: object with fields:
**** {{cd|rules}} - list of Rule Tests, the rules to test the block against.
** Added {{cd|minecraft:any_of}}
*** This checks a list of rule tests for whether any of them returns true for the same block.
*** Format: object with fields:
**** {{cd|rules}} – list of rule tests, the rules to test the block against.
** Added {{cd|minecraft:not}}
*** This checks a rule test for whether it returns false for a given block.
*** Format: object with fields:
**** {{cd|rule}} – rule test, the rule to test the block against.


* Structure Placements
'''[[Minecraft:Server]]s'''
** Added {{cd|minecraft:dimension_origin}}
* Some log lines that server software might look out for have been removed.
** New structure placement that places a single instance of the structure at the dimension origin.
** The Minecraft Server Management Protocol can be used instead.
*** The dimension origin is defined as the {{cd|spawn_target}} for noise settings based dimensions, otherwise Chunk (0, 0).
** No additional fields.


* [[Minecraft:Template pool|Structure pool element]]s
'''[[Minecraft:Server properties]]'''
** Changed {{cd|minecraft:feature_pool_element}}
* The {{cd|white-list}} property is now {{cd|true}} by default.
*** Can now connect to jigsaw blocks with any target name, instead of just {{cd|minecraft:bottom}}.


* Vertical Anchors
'''[[Minecraft:Shaders]]'''
** Added a new option for vertical Anchors: {{cd|relative_to_sea_level}}
* Replaced current "Improved Transparency" approach with a new Order-independent Transparency (OIT) algorithm which is expected to be much better at solving translucency issues.
*** Specifies an offset to the sea level of the dimension.
** Added new shaders to support order-independent transparency:
*** <samp>core/oit_composite.fsh</samp>
*** <samp>core/oit_depth_bounds_cull.fsh</samp>
*** <samp>include/oit.glsl</samp>
*** <samp>include/oit_add_transmittance.glsl</samp>
*** <samp>include/oit_common.glsl</samp>
*** <samp>include/oit_depth_bounds.glsl</samp>
*** <samp>include/oit_depth_sample.glsl</samp>
*** <samp>include/oit_sample.glsl</samp>
** Extracted the texture sampling logic from <samp>core/terrain.fsh</samp> into <samp>include/texture_sampling.glsl</samp>
** Renamed the following core shaders:
*** <samp>core/rendertype_clouds.vsh</samp> -> <samp>core/clouds.vsh</samp>
*** <samp>core/rendertype_clouds.fsh</samp> -> <samp>core/clouds.fsh</samp>
*** <samp>core/rendertype_world_border.vsh</samp> -> <samp>core/world_border.vsh</samp>
*** <samp>core/rendertype_world_border.fsh</samp> -> <samp>core/world_border.fsh</samp>
** Updated core shaders to support order-independent transparency
*** Introduced new defines:
**** {{cd|OIT}} - A boolean indicating if OIT is enabled.
**** {{cd|OIT_ALWAYS_WRITE_DEPTH}} - A boolean indicating that the OIT algorithm should always write depth for the executing pipeline during the depth bounds stag.
**** {{cd|OIT_DEPTH_BOUNDS}} - A boolean indicating if the depth bounds pass is being executed.
**** {{cd|OIT_TRANSMITTANCE}} - A boolean indicating if the transmittance pass is being executed.
**** {{cd|OIT_ACCUMULATE}} - A boolean indicating if the accumulate pass is being executed.
**** {{cd|OIT_ALPHA_ONLY}} - A boolean indicating if either the depth bounds or transmittance pass is being executed.
**** {{cd|OIT_ADDITIVE}} - A boolean indicating that the OIT algorithm should emulate additive blending for the executing pipeline.
**** {{cd|OIT_OPAQUE_PARTS_THRESHOLD}} - A float determining above which alpha threshold a fragment should be considered solid and not go through OIT.
**** {{cd|OIT_WAVELET_RANK}} - An integer internal to the OIT algorithm.
**** {{cd|OIT_COEFF_COUNT}} - An integer internal to the OIT algorithm.
**** {{cd|OIT_COEFF_ATTACHMENT_COUNT}} - An integer internal to the OIT algorithm.
**** {{cd|RENDERPEARL_IS_ZERO_TO_ONE}} - A boolean indicating if the current rendering backend uses the depth range of {{cd|[0, 1]}}, it is available globally to all shaders independently of the OIT setting.
**** {{cd|RENDERPEARL_EXPLICIT_DEPTH_INVARIANCE}} – if present, indicates that an OIT shader should explicitly output a depth value because a device it is running on can produce a slightly different implicit value.
**** Affected shaders:
***** <samp>core/block.fsh</samp>
***** <samp>core/block.vsh</samp>
***** <samp>core/clouds.fsh</samp>
***** <samp>core/clouds.vsh</samp>
***** <samp>core/entity.fsh</samp>
***** <samp>core/entity.vsh</samp>
***** <samp>core/item.fsh</samp>
***** <samp>core/item.vsh</samp>
***** <samp>core/particle.fsh</samp>
***** <samp>core/position_color.fsh</samp>
***** <samp>core/rendertype_beacon_beam.fsh</samp>
***** <samp>core/rendertype_clouds.fsh</samp>
***** <samp>core/rendertype_crumbling.fsh</samp>
***** <samp>core/rendertype_entity_shadow.fsh</samp>
***** <samp>core/rendertype_lightning.fsh</samp>
***** <samp>core/rendertype_lines.fsh</samp>
***** <samp>core/rendertype_world_border.fsh</samp>
***** <samp>core/terrain.fsh</samp>
***** <samp>core/terrain.vsh</samp>
***** <samp>core/text.fsh</samp>
***** <samp>core/text_background.fsh</samp>
***** <samp>core/world_border.fsh</samp>
***** <samp>core/world_border.vsh</samp>
** Removed the old transparency post chain:
*** <samp>post_effect/transparency.json</samp>
*** <samp>shaders/post/transparency.fsh</samp>
** <samp>core/integrate_depth.fsh</samp> was added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffer.
** There's a new debug keybind for toggling this functionality on and off, by default set to F3 + X.
 
* <samp>terrain.vsh</samp> and <samp>terrain.fsh</samp> shaders are refactored to support multi-draw.
* Some of the members in {{cd|Globals}} and {{cd|DynamicTransforms}} are shuffled to use less memory for those uniform blocks.
* Removed core shaders
** {{cd|core/text_background.fsh}} and {{cd|core/text_background.vsh}} were removed and text background in Text Display Entities is now rendered using the text shaders.
 
* Always-on Post Effect Support
** A resource pack can now define a {{cd|minecraft:end_of_frame}} post effect.
** It will be applied before other post effects, including the ones enabled by the new {{cd|posteffect}} command.
** This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the {{cd|posteffect}} command.
** As usual with resource pack resources, in case of multiple packs defining this effect, the one from the last resource pack in the list will apply.
 
* Shader compilation changes
** Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan.
** Shader includes are now handled by ShaderC using {{cd|#include}} instead of {{cd|#moj_import}}
** Shader inputs and outputs must have a location specified in shader source.
*** Vertex input names must still match expected names.
*** Vertex outputs are matched to fragment inputs solely by location, name is now ignored.
** Introduced new define {{cd|RENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE}} – a boolean indicating if {{cd|gl_InstanceIndex}} follows Vulkan or OpenGL ({{cd|gl_InstanceID}}) semantics.
 
'''[[Minecraft:Slot sources]]'''
* Slot sources can now be defined as files inside a datapack, within the {{cd|slot_source}} folder.
** Can be used in commands which take slot sources as arguments.
** Can be used in inline slot sources using the {{cd|minecraft:reference}} type.
* {{cd|minecraft:contents}} is no longer restricted to only selecting non-empty slots.
 
* Added {{cd|minecraft:reference}}
** Uses the referenced slot source.
** Fields:
*** {{cd|name}} - the namespaced id of the slot source.
 
* Changed {{cd|minecraft:slot_range}}
** The {{cd|source}} field has a new valid type container, which sources slots from a container or inventory provided through loot context.
** The {{cd|source}} field is now optional.
*** Defaults to the container source type when absent.
 
* Changed {{cd|minecraft:group}}
** The {{cd|terms}} field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:slot_source}} type.
** Inline format of {{cd|minecraft:group}} (previously only a list of inline slot source) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a {{cd|minecraft:slot_source}} type.
*** This format is now available consistently available for all fields of slot source.
** Can only use an inline definition in a top-level file.
 
* Changed {{cd|minecraft:filtered}}
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
 
* Changed {{cd|minecraft:contents}}
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
 
* Changed {{cd|minecraft:limit_slots}}
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
 
* Removed {{cd|minecraft:reference}}
** This slot source has become obsolete, as any field that takes slot source now accepts (among other fields) a namespaced ID of a {{cd|minecraft:slot_source}} type.
 
'''[[Minecraft:Sounds]]'''
* Added new sound events:
** {{cd|block.poplar_leaves.ambient}}
** {{cd|block.poplar_leaves.break}}
** {{cd|block.poplar_leaves.fall}}
** {{cd|block.poplar_leaves.place}}
** {{cd|block.poplar_leaves.step}}
** {{cd|block.poplar_leaves.hit}}
** {{cd|block.red_shrub.break}}
** {{cd|block.red_shrub.place}}
** {{cd|block.shelf_mushroom.break}}
** {{cd|block.shelf_mushroom.fall}}
** {{cd|block.shelf_mushroom.place}}
** {{cd|block.shelf_mushroom.step}}
** {{cd|block.shelf_mushroom.bounce}}
** {{cd|block.straw_bed.break}}
** {{cd|block.straw_bed.break_leave}}
** {{cd|block.straw_bed.step}}
** {{cd|block.straw_bed.place}}
** {{cd|block.straw_bed.hit}}
** {{cd|block.straw_bed.fall}}
** {{cd|entity.cushion.break}}
** {{cd|entity.cushion.place}}
** {{cd|entity.cushion.get_up}}
** {{cd|entity.cushion.sit}}
 
'''[[Minecraft:Tag (Java Edition)|Tags]]'''
* Biome Tags
** Added {{cd|dappled_forest}} to {{cd|d=and|#is_forest|#is_overworld|#spawns_cold_variant_farm_animals|#has_structure/trial_chambers}} tags.
 
* Block Tags
** Added {{cd|red_shrub}} to {{cd|d=and|#replaceable|#replaceable_by_mushrooms}} tags.
** Added {{cd|d=and|red_poplar_leaves|orange_poplar_leaves|yellow_poplar_leaves}} to {{cd|#leaves}} tag.
** Added {{cd|potted_poplar_sapling}} to {{cd|#flower_pots}} tag.
** Added {{cd|#poplar_logs}} to {{cd|#logs_that_burn}} tag.
** Added {{cd|poplar_log}} to {{cd|#overworld_natural_logs}} tag.
** Added {{cd|poplar_planks}} to {{cd|#planks}} tag.
** Added {{cd|poplar_sign}} to {{cd|#standing_signs}} tag.
** Added {{cd|poplar_hanging_sign}} to {{cd|#ceiling_hanging_signs}} tag.
** Added {{cd|poplar_wall_sign}} to {{cd|#wall_signs}} tag.
** Added {{cd|poplar_wall_hanging_sign}} to {{cd|#wall_hanging_signs}} tag.
** Added {{cd|poplar_button}} to {{cd|#wooden_buttons}} tag.
** Added {{cd|poplar_door}} to {{cd|#wooden_doors}} tag.
** Added {{cd|poplar_fence}} to {{cd|#wooden_fences}} tag.
** Added {{cd|poplar_fence_gate}} to {{cd|#fence_gates}} tag.
** Added {{cd|poplar_pressure_plate}} to {{cd|#wooden_pressure_plates}} tag.
** Added {{cd|poplar_sapling}} to {{cd|#saplings}} tag.
** Added {{cd|poplar_shelf}} to {{cd|#wooden_shelves}} tag.
** Added {{cd|poplar_slab}} to {{cd|#wooden_slabs}} tag.
** Added {{cd|poplar_stairs}} to {{cd|#wooden_stair}} tag.
** Added {{cd|poplar_trapdoor}} to {{cd|#wooden_trapdoors}} tag.
** Added {{cd|shelf_mushroom}} to {{cd|#replaceable_by_trees}} tag.
** Added {{cd|d=and|#wool_slabs|#concrete_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|d=and|#wool_stairs|#concrete_stairs}} to {{cd|#stairs}} tag.
** Added {{cd|d=and|#wool_slabs|#wool_stairs}} to {{cd|d=and|#dampens_vibrations|#shears_major_breaking_speed}} tags.
** Added 32 values to {{Tag link|block|mineable/pickaxe}} tag:
{{Collapse
|content=
::{{cd|d=and|white_concrete_stairs|orange_concrete_stairs|magenta_concrete_stairs|light_blue_concrete_stairs|yellow_concrete_stairs|lime_concrete_stairs|pink_concrete_stairs|gray_concrete_stairs|light_gray_concrete_stairs|cyan_concrete_stairs|purple_concrete_stairs|blue_concrete_stairs|brown_concrete_stairs|green_concrete_stairs|red_concrete_stairs|black_concrete_stairs|white_concrete_slab|orange_concrete_slab|magenta_concrete_slab|light_blue_concrete_slab|yellow_concrete_slab|lime_concrete_slab|pink_concrete_slab|gray_concrete_slab|light_gray_concrete_slab|cyan_concrete_slab|purple_concrete_slab|blue_concrete_slab|brown_concrete_slab|green_concrete_slab|red_concrete_slab|black_concrete_slab}}}}
** Renamed tag {{cd|#convertable_to_mud}} to {{cd|#convertible_to_mud}}.
** Removed {{cd|d=and|#nether_carver_replaceables|#overworld_carver_replaceables}} tags.
** Removed {{cd|tuff}} from {{cd|#deepslate_ore_replaceables}} tags.
 
* Entity Tags
** Added {{cd|poplar_boat}} to {{cd|#boat}} tag.
 
* Item Tags
** Added {{cd|d=and|red_poplar_leaves|orange_poplar_leaves|yellow_poplar_leaves}} to {{cd|#leaves}} tag.
** Added {{cd|#poplar_logs}} to {{cd|#logs_that_burn}} tag.
** Added {{cd|poplar_planks}} to {{cd|#planks}} tag.
** Added {{cd|poplar_sign}} to {{cd|#signs}} tag.
** Added {{cd|poplar_hanging_sign}} to {{cd|#hanging_signs}} tag.
** Added {{cd|poplar_button}} to {{cd|#wooden_buttons}} tag.
** Added {{cd|poplar_door}} to {{cd|#wooden_doors}} tag.
** Added {{cd|poplar_fence}} to {{cd|#wooden_fences}} tag.
** Added {{cd|poplar_fence_gate}} to {{cd|#fence_gates}} tag.
** Added {{cd|poplar_pressure_plate}} to {{cd|#wooden_pressure_plates}} tag.
** Added {{cd|poplar_sapling}} to {{cd|#saplings}} tag.
** Added {{cd|poplar_shelf}} to {{cd|#wooden_shelves}} tag.
** Added {{cd|poplar_slab}} to {{cd|#wooden_slabs}} tag.
** Added {{cd|poplar_stairs}} to {{cd|#wooden_stair}} tag.
** Added {{cd|poplar_trapdoor}} to {{cd|#wooden_trapdoors}} tag.
** Added {{cd|poplar_boat}} to {{cd|#boats}} tag.
** Added {{cd|poplar_chest_boat}} to {{cd|#chest_boats}} tag.
** Added {{cd|d=and|#wool_slabs|#concrete_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|d=and|#wool_stairs|#concrete_stairs}} to {{cd|#stairs}} tag.
** Added {{cd|d=and|#wool_slabs|#wool_stairs}} to {{cd|#dampens_vibrations}} tag.
** Removed {{cd|#brewing_fuel}} tag.
*** The {{cd|brewing_fuel}} item component is now used to identify brewing fuels.
** Eighteen tags no longer have the function of adding an item like fuel item, due to {{DCL|cooking_fuel}} components.
{{Collapse
|content=
::{{cd|d=and|#logs|#bamboo_blocks|#planks|#wooden_stairs|#wooden_slabs|#wooden_trapdoors|#wooden_pressure_plates|#wooden_shelves|#wooden_fences|#fence_gates|#banners|#signs|#hanging_signs|#boats|#wool|#wooden_buttons|#saplings|#wool_carpets}}}}
** The tag {{cd|#non_flammable_wood}} no longer prevents an item from being classified as fuel item.
 
* Structure tags
** Renamed {{cd|#on_woodland_explorer_maps}} to {{cd|#on_woodland_mansion_maps}}
** Renamed {{cd|#on_ocean_explorer_maps}} to {{cd|#on_ocean_monument_maps}}
** Renamed {{cd|#on_jungle_explorer_maps}} to {{cd|#on_jungle_pyramid_maps}}
** Renamed {{cd|#on_swamp_explorer_maps}} to {{cd|#on_swamp_hut_maps}}
** Renamed {{cd|#on_trial_explorer_map}} to {{cd|#on_buried_trial_chambers_map}}
 
'''[[Minecraft:Textures]]'''
* Block Sprites
** Added new Block textures:
*** {{cd|block/orange_poplar_leaves.png}}
*** {{cd|block/red_poplar_leaves.png}}
*** {{cd|block/yellow_poplar_leaves.png}}
*** {{cd|block/poplar_door_bottom.png}}
*** {{cd|block/poplar_door_top.png}}
*** {{cd|block/poplar_log_top.png}}
*** {{cd|block/poplar_log.png}}
*** {{cd|block/poplar_planks.png}}
*** {{cd|block/poplar_trapdoor.png}}
*** {{cd|block/stripped_poplar_log.png}}
*** {{cd|block/stripped_poplar_log_top.png}}
*** {{cd|block/poplar_log.png}}
*** {{cd|block/shelf_mushroom_stage0.png}}
*** {{cd|block/shelf_mushroom_stage1.png}}
*** {{cd|block/poplar_hanging_sign.png}}
*** {{cd|block/poplar_sign.png}}
*** {{cd|block/poplar_sapling.png}}
*** {{cd|block/poplar_shelf.png}}
*** {{cd|block/red_shrub.png}}
*** {{cd|block/straw_bed.png}}
*** {{cd|block/straw_bed_particle.png}}
 
* Entity Textures
** Added new Entity textures:
*** {{cd|entity/boat/poplar.png}}
*** {{cd|entity/chest_boat/poplar.png}}
 
* Equipment Assets
** A new optional {{cd|trim_palette_replacements}} field controls which trim material palettes should be replaced for this equipment asset (formerly controlled by {{cd|override_armor_assets}} in the trim material)
*** Format: map from original Palette ID to a replacement Palette ID
 
* GUI widget sprites
** Added the following:
*** <samp>widget\realms_button.png</samp>
*** <samp>widget\realms_button_disabled.png</samp>
*** <samp>widget\realms_button_highlighted.png</samp>
 
* Item Sprites
** Added new Item textures:
*** {{cd|item/poplar_door.png}}
*** {{cd|item/poplar_hanging_sign.png}}
*** {{cd|item/poplar_sign.png}}
*** {{cd|item/poplar_boat.png}}
*** {{cd|item/poplar_chest_boat.png}}
** Renamed <samp>item/trial_chamber_map.png</samp> to <samp>item/buried_trial_chambers_map.png</samp>
** Renamed <samp>item/jungle_temple_map.png</samp> to <samp>item/jungle_pyramid_map.png</samp>
** Removed <samp>item/filled_map_markings.png</samp>
 
* Map sprites
** Added new explorer map textures:
*** <samp>abandoned_campsite_map.png</samp>
*** <samp>ancient_city_map.png</samp>
*** <samp>desert_pyramid_map.png</samp>
*** <samp>mineshaft_map.png</samp>
*** <samp>warm_ocean_ruins_map.png</samp>
** Updated the following map and explorer map textures:
*** <samp>buried_treasure_map.png</samp>
*** <samp>filled_map.png</samp>
*** <samp>map.png</samp>
*** <samp>desert_village_map.png</samp>
*** <samp>plains_village_map.png</samp>
*** <samp>snowy_village_map.png</samp>
*** <samp>snowy_village_map.png</samp>
*** <samp>taiga_village_map.png</samp>
*** <samp>savanna_village_map.png</samp>
*** <samp>trial_chamber_map.png</samp>
*** <samp>woodland_mansion_map.png</samp>
*** <samp>ocean_monument_map.png</samp>
** Added new map decorations textures:
*** <samp>abandoned_camp.png</samp>
*** <samp>ancient_city.png</samp>
*** <samp>desert_pyramid.png</samp>
*** <samp>mineshaft.png</samp>
*** <samp>warm_ocean_ruins.png</samp>
** The following map decoration icons have been updated in order to show player rotation on the map:
*** <samp>/player.png</samp>
*** <samp>/player_off_limits.png</samp>
*** <samp>/player_off_map.png</samp>
 
* Palette Textures
** All armor trim palette textures have been moved from {{cd|textures/trim/color_palettes/}} to {{cd|textures/palettes/trim/}}
*** The base armor trim palette texture has instead been moved to {{cd|textures/palettes/trim_base.png}}
** Entity armor trim material textures are no longer generated into the {{cd|minecraft:trims}} atlas with {{cd|paletted_permutations}}, but rather generated on-demand
*** The base palette id is now specified in a new {{cd|palette}} mcmeta section field
*** This section has a single field: {{cd|base_palette}} - the base Palette Texture ID to remap from
** Item armor trim material textures are still generated with {{cd|paletted_permutations}} as before
** Palette Texture locations in the {{cd|palette_key}} and {{cd|permutations}} fields have been replaced by Palette Texture IDs - i.e. {{cd|<namespace>:<path>}} now resolves to {{cd|<namespace>:textures/palettes/<path>.png}}
 
* Particles
** Added new Particle textures:
*** {{cd|orange_poplar_1.png}}
*** {{cd|orange_poplar_2.png}}
*** {{cd|orange_poplar_3.png}}
*** {{cd|orange_poplar_4.png}}
*** {{cd|red_poplar_1.png}}
*** {{cd|red_poplar_2.png}}
*** {{cd|red_poplar_3.png}}
*** {{cd|red_poplar_4.png}}
*** {{cd|yellow_poplar_1.png}}
*** {{cd|yellow_poplar_2.png}}
*** {{cd|yellow_poplar_3.png}}
*** {{cd|yellow_poplar_4.png}}
*** {{cd|shelf_mushroom_particle.png}}
 
* UI Sprites
** Added new UI textures:
*** {{cd|gui/hanging_signs/poplar.png}}
*** {{cd|gui/signs/poplar.png}}
 
* UI illustrations sprites
** Added new textures:
*** <samp>gui/realms/friends.png</samp>
*** <samp>gui/realms/minigames.png</samp>
*** <samp>gui/realms/private_server.png</samp>
*** <samp>gui/sprites/widget/realms_button.png</samp>
*** <samp>gui/sprites/widget/realms_button_disabled.png</samp>
*** <samp>gui/sprites/widget/realms_button_highlighted.png</samp>
 
'''[[Minecraft:UI]]'''
* Removed the Raw Input mouse setting.
** Mouse input now always uses relative mouse mode while playing in-game.
* Key bindings now use physical keys instead of keyboard-layout-specific key codes.
* Borderless Fullscreen is now the default fullscreen mode.
* Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game.
* Exclusive fullscreen mode on macOS is no longer supported.
* The minimum window size is now 320 by 240 pixels.
* On macOS, holding a key while entering text now displays the native accent and candidate popup.
* On Linux systems, the game will now use and prefer Wayland natively if available.
 
'''[[Minecraft:Villager trade definition]]'''
* The {{cd|given_item_modifiers}} field has been renamed to {{cd|given_item_modifier}}
** Note: unlike other fields of type {{cd|minecraft:item_modifier}} this field does not support namespaced element or tag IDs.


'''[[Minecraft:World Options]]'''
'''[[Minecraft:World Options]]'''
Line 3,008: Line 3,229:


== Fixes ==
== Fixes ==
{{fixes|project=MC|fixedin=26.3 Snapshot 1,26.3 Snapshot 2,26.3 Snapshot 3,26.3 Snapshot 4,26.3 Snapshot 5,26.3 Snapshot 6,26.3 Snapshot 7,26.3 Snapshot 8,26.3 Snapshot 9
{{fixes|project=MC|fixedin=26.3 Snapshot 1,26.3 Snapshot 2,26.3 Snapshot 3,26.3 Snapshot 4,26.3 Snapshot 5,26.3 Snapshot 6,26.3 Snapshot 7,26.3 Snapshot 8,26.3 Snapshot 9,26.3 Snapshot 10
|;old
|;old
|4|Item drops sometimes appear at the wrong location.
|4|Item drops sometimes appear at the wrong location.
Line 3,023: Line 3,244:
|102732|Arrows can visually bounce off of entities that don't wear a shield.
|102732|Arrows can visually bounce off of entities that don't wear a shield.
|102836|Endermen and entities eating chorus fruit can teleport to some dangerous places.
|102836|Endermen and entities eating chorus fruit can teleport to some dangerous places.
|102881|Shulkers do not emit any particles when teleporting.
|106416|Endermen and entities eating chorus fruit can teleport outside the world border and into powder snow.
|106416|Endermen and entities eating chorus fruit can teleport outside the world border and into powder snow.
|110989|{{cmd|spreadplayers}} considers signs to be a valid block to be spread onto.
|110989|{{cmd|spreadplayers}} considers signs to be a valid block to be spread onto.
Line 3,068: Line 3,290:
|237679|The head rotations of passengers in boats are constantly forced to turn in certain directions if the rider were to dismount the boat while moving left or right.
|237679|The head rotations of passengers in boats are constantly forced to turn in certain directions if the rider were to dismount the boat while moving left or right.
|239401|{{cd|items/light.png}} never appears in-game; is pointlessly referenced by other game assets.
|239401|{{cd|items/light.png}} never appears in-game; is pointlessly referenced by other game assets.
|245030|The "Bee buzzes" closed caption only appears when a bee buzzes for the first time.
|249200|Several entities constantly deviate visually from their actual positions on the client when teleported.
|249200|Several entities constantly deviate visually from their actual positions on the client when teleported.
|252369|Data packs can fail to load due to a feature cycle when one does not exist.
|252369|Data packs can fail to load due to a feature cycle when one does not exist.
Line 3,073: Line 3,296:
|253023|Breaking paintings, item frames, glow item frames cannot trigger sculk shriekers.
|253023|Breaking paintings, item frames, glow item frames cannot trigger sculk shriekers.
|254353|A packet to remove the score is always broadcast when a score is reset.
|254353|A packet to remove the score is always broadcast when a score is reset.
|254547|Villagers do not level up when exiting the world immediately after filling their experience bar.
|254661|{{cmd|schedule clear}} requires a namespace in its function argument.
|254661|{{cmd|schedule clear}} requires a namespace in its function argument.
|256073|Miscolored pixel in {{cd|tab_inventory.png}}.
|256073|Miscolored pixel in {{cd|tab_inventory.png}}.
|256096|Some entities on a team can harm teammates that walk into them when friendly fire is disabled.
|256096|Some entities on a team can harm teammates that walk into them when friendly fire is disabled.
|256097|Some entities on a team can harm their teammates when they explode when friendly fire is disabled.
|256097|Some entities on a team can harm their teammates when they explode when friendly fire is disabled.
|258347|Endermen no longer create an extra trail of particles when teleporting.
|258579|The player's head does not rotate smoothly (with delay) in third person view while riding a vehicle.
|258579|The player's head does not rotate smoothly (with delay) in third person view while riding a vehicle.
|259512|Horizontal camera rotation lags when riding.
|259512|Horizontal camera rotation lags when riding.
Line 3,084: Line 3,309:
|263708|Keybinds menu renders Keypad keys the same as regular keys.
|263708|Keybinds menu renders Keypad keys the same as regular keys.
|264003|Boats carrying players sometimes stop abruptly when sliding along ice.
|264003|Boats carrying players sometimes stop abruptly when sliding along ice.
|265423|When villagers acquire enough experience to level up more than once, they only gain a single level.
|265584|TNT dispensed in bubble columns with soul sand right under visually moves through blocks above.
|265584|TNT dispensed in bubble columns with soul sand right under visually moves through blocks above.
|265743|Entities, block entities, clouds and semi-transparent blocks are always rendered in front of text displays with see_through enabled.
|265743|Entities, block entities, clouds and semi-transparent blocks are always rendered in front of text displays with see_through enabled.
|266429|Holding shift on macOS causes hotbar scroll direction to reverse (mouse only).
|266429|Holding shift on macOS causes hotbar scroll direction to reverse (mouse only).
|267902|The failure message of {{cmd|random}} when the specified range is too large states an incorrect maximum for the range.
|267902|The failure message of {{cmd|random}} when the specified range is too large states an incorrect maximum for the range.
|268145|{{cd|cache_once}} density functions don't work.
|268521|The game window doesn't have a minimal width and height.
|268521|The game window doesn't have a minimal width and height.
|269968|Can't scroll while holding shift on macOS (except in the hotbar) (mouse only).
|269968|Can't scroll while holding shift on macOS (except in the hotbar) (mouse only).
Line 3,102: Line 3,329:
|279185|The "{{cd|selectWorld.load_folder_access}}" string is missing an article before the word "folder".
|279185|The "{{cd|selectWorld.load_folder_access}}" string is missing an article before the word "folder".
|279395|Trees can generate floating over ruined portals.
|279395|Trees can generate floating over ruined portals.
|279586|Closed captions continue to fade when their sound plays again from farther away, causing visual delays in the overlay.
|279819|The mining speed factor of Mining Fatigue is inconsistent at level 3.
|279819|The mining speed factor of Mining Fatigue is inconsistent at level 3.
|280250|Projectiles sometimes desync when thrown/shot while moving.
|280250|Projectiles sometimes desync when thrown/shot while moving.
Line 3,109: Line 3,337:
|295756|Pistons desync on the client-side, causing players to be moved differently compared to other entities.
|295756|Pistons desync on the client-side, causing players to be moved differently compared to other entities.
|296006|Entities do not face the player correctly whilst in a boat.
|296006|Entities do not face the player correctly whilst in a boat.
|296368|The {{cd|entity.happy_ghast.riding}} sound event displays no closed caption.
|296773|Taken screenshots are rendered as a black image on Intel graphics of Gen7 and Gen7.5 architecture.
|296773|Taken screenshots are rendered as a black image on Intel graphics of Gen7 and Gen7.5 architecture.
|297741|Gravity-affected blocks in upwards bubble columns can clip through solid blocks above them (on the client).
|297741|Gravity-affected blocks in upwards bubble columns can clip through solid blocks above them (on the client).
Line 3,123: Line 3,352:
|302687|Throwing items out of your inventory while holding spears plays the spear jab animation.
|302687|Throwing items out of your inventory while holding spears plays the spear jab animation.
|302705|Having a spear in the main hand affects the hand animation speed for items held in the off hand.
|302705|Having a spear in the main hand affects the hand animation speed for items held in the off hand.
|303360|Flat-cached shifted noise density functions are recalculated for every Y level.
|303493|The {{cd|apply_impulse}} entity effect does not apply components of the impulse that would cause the affected entity to hit a solid block when used with a {{cd|tick}} or {{cd|location_changed}} advancement trigger.
|303493|The {{cd|apply_impulse}} entity effect does not apply components of the impulse that would cause the affected entity to hit a solid block when used with a {{cd|tick}} or {{cd|location_changed}} advancement trigger.
|303626|Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled.
|303626|Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled.
Line 3,134: Line 3,364:
|305535|Elytra are activated after only single tapping the "Jump" key when the player is in lava.
|305535|Elytra are activated after only single tapping the "Jump" key when the player is in lava.
|305707|{{cmd|time}} reports success when no changes are made.
|305707|{{cmd|time}} reports success when no changes are made.
|306012|Armadillos can escape fenced areas when at the edge of the simulation distance.
|306127|Block outlines are no longer visible behind translucent items.
|306127|Block outlines are no longer visible behind translucent items.
|306156|Breezes, slimes and players between translucent blocks or fluids appear behind them if "Improved Transparency" is enabled.
|306156|Breezes, slimes and players between translucent blocks or fluids appear behind them if "Improved Transparency" is enabled.
Line 3,140: Line 3,371:
|306619|Cannot jump while sneaking while using a Chinese input method.
|306619|Cannot jump while sneaking while using a Chinese input method.
|306628|TNT minecarts don't delete piercing arrows.
|306628|TNT minecarts don't delete piercing arrows.
|306778|The fog color no longer transitions smoothly when the weather changes at night while under the Night Vision effect.
|307206|{{cd|Std140Builder}} incorrectly pads {{cd|vec3s}} and {{cd|ivec3s}}.
|307206|{{cd|Std140Builder}} incorrectly pads {{cd|vec3s}} and {{cd|ivec3s}}.
|307285|Translucent blocks don't render behind sulfur cubes.
|307285|Translucent blocks don't render behind sulfur cubes.
Line 3,190: Line 3,422:
|309501|Dropped shelves rotate off-center.
|309501|Dropped shelves rotate off-center.
|309565|Block outlines are rendered behind translucent elements if the "High Contrast Block Outlines" option is enabled.
|309565|Block outlines are rendered behind translucent elements if the "High Contrast Block Outlines" option is enabled.
|309872|The system freezes when pressing the Windows key with the "Exclusive Fullscreen" option enabled.
|309875|New translations for the tooltip of the "Improved Transparency" option are wrongly backported.
|309875|New translations for the tooltip of the "Improved Transparency" option are wrongly backported.
|309891|The {{cd|chat_restriction.disabled_by_launcher}} string lacks a period, unlike similar strings.
|309891|The {{cd|chat_restriction.disabled_by_launcher}} string lacks a period, unlike similar strings.
Line 3,222: Line 3,455:
|310062|Armadillos do not follow players holding spider eyes.
|310062|Armadillos do not follow players holding spider eyes.
|310076|Mobs sometimes stop just far enough away from the player to be unable to attack them.
|310076|Mobs sometimes stop just far enough away from the player to be unable to attack them.
|310182|Some descriptive tooltip strings lack a period, unlike similar strings.
|310184|The {{cd|commands.bossbar.set.max.unchanged}} string abbreviates "maximum" to "max", unlike similar strings.
|310186|The {{cd|options.languageWarning}} string lacks a period, unlike similar strings.
|310187|The {{cd|commands.bossbar.get.visible.visible}} string uses "shown" instead of "visible", unlike similar strings.
|310188|Some {{cmd|tag list}} success strings always pluralize the word "tags".
|310233|Some strings that contain percentages have spaces before the percentage sign, unlike similar strings.
|310236|Some strings use an ampersand instead of the word "and", unlike similar strings.
|310337|The game log outputs the incorrect minimum format version requiring the {{code|pack_format}} field in {{code|pack.mcmeta}}.
|310337|The game log outputs the incorrect minimum format version requiring the {{code|pack_format}} field in {{code|pack.mcmeta}}.
|310372|Tripwires depowering breaks cross-chunk block tick processing order.
|310372|Tripwires depowering breaks cross-chunk block tick processing order.
|310476|Projectiles only collide outright with the world border when underwater.
|310476|Projectiles only collide outright with the world border when underwater.
|310595|The {{key|Option}} key on macOS is displayed as {{key|Alt}} in the key binds screen.
|310595|The {{key|Option}} key on macOS is displayed as {{key|Alt}} in the key binds screen.
|310676|The {{cd|savanna_lamp_post_01}} village structure contains a trailing closing square bracket in the jigsaw block's NBT.
|310787|Villagers do not level up until the trading window is closed for several seconds.
|310787|Villagers do not level up until the trading window is closed for several seconds.
|310962|The trading UI opens and immediately closes when interacting with a villager whose trades were altered with commands.
|310962|The trading UI opens and immediately closes when interacting with a villager whose trades were altered with commands.
|311064|Cows and Horses only Spawn in a unexplored chunk once.
|311094|Villager discounts do not apply until the trading window is closed and reopened.
|311235|Upgrading a world from the 1.21.11 world format can cause data from other worlds to get saved inside it.
}}
}}



Revision as of 11:10, 29 August 2026

Template:Infobox versionTemplate:Relevant guide

26.3, the release of the third game drop of 2026, is an upcoming Minecraft:game drop for Template:JE set to release in September 2026, which adds the Minecraft:dappled forest biome including the new poplars, Minecraft:red shrubs, Minecraft:shelf mushrooms, it also adds Minecraft:wool stairs and slabs, Minecraft:concrete stairs and slabs, Minecraft:straw beds, Minecraft:cushions, and a new Minecraft:structure called the Minecraft:abandoned camp.

Additions

Template:Additions table

Blocks

Template:AnimateTemplate:Animate Minecraft:Concrete stairs and slabs

Poplar wood set:

File:Red Shrub.png Minecraft:Red shrub

Template:Animate Minecraft:Shelf mushroom

  • A mushroom variant found on poplar trees and fallen poplar trees.
  • Comes in two sizes.
    • A small shelf mushroom can be grown into a large shelf mushroom with bone meal.
    • A large shelf mushroom drops two shelf mushroom items when broken.
  • Is bouncy when fallen on by entities, similar to a Minecraft:bed.
    • Shelf mushroom makes a bouncing sound when a living entity bounces on it.
  • Can be used to make Minecraft:mushroom stew and Minecraft:suspicious stew.
  • Can be sold by a Minecraft:wandering trader.
  • Can be used in the Minecraft:composter.

File:Straw Bed.png Minecraft:Straw bed

Template:Crafting

Template:AnimateTemplate:Animate Minecraft:Wool stairs and slabs

  • Comes in sixteen colors.
  • Crafted using Minecraft:wool.
  • Can be used to dampen sounds, like wool and Minecraft:carpets.
  • They are also not usable in other ways like wool.

Items

New Minecraft:Explorer Maps

Non-mob entities

Template:Animate Minecraft:Cushion

Template:Crafting

  • Can be placed on any flat surface.
    • Always aligns horizontally to the grid, but vertically sit on top of the supporting surface.
    • Breaks if the supporting block is removed.
  • Cushions are destroyed only when they are fully covered by blocks that cause suffocation.
  • Cannot be moved.
  • Does not have collision and can overlap with other objects except for other cushions.

Template:InvSpritewidth=32x32 Minecraft:Poplar boat and Template:InvSpritewidth=32x32 Minecraft:Poplar boat with chest

  • Boat variants that are crafted using poplar planks.

World generation

Biomes

Template:BiomeLink

Features

Template:Animate Minecraft:Poplar tree

  • A Minecraft:tree that generates in dappled forests.
  • Comes in three different colors of leaves, orange, red, and yellow, randomly chosen at generation.
  • Each variant of the tree has its own variant of falling leaf particles matching the color of the leaves.
  • Poplar leaves drop poplar saplings which will randomly grow into any of the three different variants.
  • Generate with Minecraft:leaf litter around or shelf mushrooms on them.
  • File:Poplar Fallen Log.png Fallen poplar trees have shelf mushrooms on them.
  • The trunk of the trees are made of poplar logs.
    • Poplar logs can be crafted into a new set of poplar wood blocks.

Structures

File:Abandoned Camp.png Minecraft:Abandoned camp

Command format

Template:Cmd

Template:Cmd

  • Allows adding or removing Minecraft:post effects to players.
    • These are post processing shaders that are applied to the player's screen, after the game has finished normal rendering.
  • Post effects exist on the client (in resource packs), not the server – the server cannot know if one will actually apply.
  • Post effects themselves were already part of the resource pack format, but only a few hardcoded ones were available to use.
  • Syntax:
    • Template:Cmd – adds the post effect to the player, if it does not already exist.
    • Template:Cmd – removes all post effects from the player, if any exist.
    • Template:Cmd – lists all post effects applied to the player, if any exist.
    • Template:Cmd – removes the post effect from the player, if it exists.

General

Minecraft:Block predicates

  • Added Template:Cd
    • Checks the height of the position against a given range.
    • Format:
      • Template:Cd: Vertical Anchor describing the minimum height required.
      • Template:Cd: Vertical Anchor describing the maximum height required.

Minecraft:Data component format

  • Added Template:Cd
    • Describes an item that can be used as fuel for a Minecraft:brewing stand.
    • Format: object with fields
      • Template:Cd – namespaced ID pointing to an element of Template:Cd registry representing the number of times this fuel will brew before being consumed.
      • Template:Cd – namespaced ID pointing to an element of Template:Cd registry representing the speed of the brewing.
      • Template:Cd and Template:Cd can additionally be defined by an inline number.
    • Note: the #Template:Cd item tag has been removed and will no longer function to register new brewing fuels.
  • Added Template:DCL
    • Represents the ability to compost an item and how it adds layers to the composter.
    • Format: object with fields
  • Added Template:Cd
    • The animation to play when the item is being used to interact with something.
    • Format: same as Template:Cd
  • Added Template:Cd
    • Represents the visibility percentage provided by an item with the appropriate Template:Cd component, modifying the range at which mobs are able to detect an entity.
    • Format: object with fields
      • Template:Cd – an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to match.
      • Template:Cd – float (between Template:Cd and Template:Cd), with 0.0 reducing the range at which mobs detects the entity to 2 blocks while 10.0 increases the detection range tenfold.
        • While multiple items with this component stack, the maximum vision will still never exceed 10.0.
  • Added Template:DCL data component
    • Describes the pottery pattern stored on a stack.
    • Format:
      • namespaced ID pointing to an element of Template:Cd registry.
  • Added Template:Cd
    • Represents items that Minecraft:villagers can eat. Villagers will pick up items with this component in addition to items in the Template:Cd tag.
    • Format: object with fields
      • Template:Cd – positive integer, how much hunger the item satiates in the villager once eaten.
  • Added Template:Cd
    • A marker for blocks with contents that are waxed.
    • No fields

Minecraft:Entity data

  • Added Template:Cd tag which makes a mob temporarily invulnerable for a specific number of ticks.

Minecraft:Environment attribute

  • Added Template:Cd
    • Defines mob spawns in an environment attribute source.
    • During worldgen placement, only dimensions and biomes will apply this environment attribute.
    • Format: object with fields:
      • Template:Cd – map of spawn category to weighted list of spawn data
        • Spawn data format: object with fields:
      • Template:Cd – map of entity type to object with fields:
        • Template:Cd – float, energy change allowed per spawn.
        • Template:Cd – float, how much existing mobs will attract or repulse other charged mobs.
    • Available attribute modifiers:
      • Template:Cd
        • For each mob category, overrides the lower layer's spawn settings with the higher layer's, unless the category is not included.
        • Merges each layer's spawn costs together, overriding the lower layer's spawn costs with the higher layer's if both define the same entity type.
    • Default: empty
  • Added Template:Cd
    • Sets the probability to run an iteration in which mobs defined to spawn in the creature mob category will spawn during world generation.
    • Only dimensions and biomes will apply this environment attribute.
    • Format: float with range Template:Cd
    • Default: Template:Cd

Minecraft:Features

  • Added the Template:Cd block state provider
    • Copies common Block State properties from the Block at the evaluated position to the resulting state. Format: object with fields:
      • Template:CdTemplate:Note: Block State Provider, provides the Block State which the copied properties are copied on top of.
        • Only properties common between both the source and the target blocks will be copied.
  • Added Template:Cd feature type
    • Places a set of features in the same location.
      • Note that as opposed to the Template:Cd feature type, all features are placed regardless of individual placement success.
    • Format:
      • Template:Cd: Placed Feature ID, non-empty list of Placed Feature IDs or hash-prefixed Placed Feature Tag for the features to place
  • Added Template:Cd feature type
    • Generates a square where each block is randomly placed or not placed with its probability based on the distance from the center of the square, with the center more likely to generate than the edges. Each placed block can be projected downwards if the appropriate conditions are met.
    • Format:
      • Template:Cd: Block state provider for which block to place
      • Template:Cd: Block Predicate for which blocks are considered "empty" and should be projected through
      • Template:Cd: Int provider between Template:Cd and Template:Cd that determines the size of the square as measured from the center to the edge
      • Template:Cd: Non-negative integer representing the maximum change in y level from the original height to the placement height for a block in the square

Minecraft:Key codes

  • Added new key codes for the following keys:
ID Displayed name Physical key or button Translation key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key<ref>Template:Bug</ref> Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key<ref>Template:Bug</ref> Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code<ref name="genericintl">Mojang have chosen to assign generic, non-descriptive titles to these keys, matching their internal SDL3 IDs rather than the actual real-life key names: Template:Bug</ref> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:KeyTemplate:Note Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key (JIS) / Template:Key (ABNT) Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="generic9800">Template:Bug</ref> Template:Btn<ref name="generic9800"/> Template:Key (PC-9800)Template:Note Template:Code<ref name="generic9800"/>
Template:Code Template:Btn Template:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
  • Template:Code, Template:Code, Template:Code, and Template:Code now have different display names depending on the user's operating system.
  • The following keycodes, which existed before but could only be set by file editing and would still not result in physical buttons being recognised, are now accessible via macOS (9-32) and Linux (9-48) systems, and can have controls bound to them properly:
ID Displayed name Description
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
  • Added the following key codes for keys that aren’t available on PC:Template:Note
ID / translation key Displayed name
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn

Minecraft:Languages

Minecraft:Loot functions

  • Added Template:Cd loot table type.
    • Currently used to evaluate slot sources with the Template:Cmd and Template:Cmd commands.
    • It takes the following parameters:
      • Template:Cd, the container or inventory being evaluated.
      • Template:Cd, the position at which the command was executed.
      • Template:Cd, the @s entity of the command being executed (optional).

Minecraft:Loot table

Minecraft:Number providers

  • Added Template:Cd
    • Fields:
      • Template:Cd – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Returns the product of the operands, multiplying them all together.
    • Requires at least one operand.
  • Added Template:Cd
    • Fields:
      • Template:Cd – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Returns the minimum value of the operands.
    • Requires at least one operand.
  • Added Template:Cd
    • Fields:
      • Template:Cd – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Returns the maximum value of the operands.
    • Requires at least one operand.
  • Added Template:Cd
    • Fields:
      • Template:Cd – a list of numbers as an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Returns the average value of the operands.
    • Requires at least one operand.

Minecraft:Options

  • Added Quit Shortcuts option.
    • Can be accessed in the Controls section.
    • Allows keyboard shortcuts that close the game, such as Template:Key on Windows and Template:Key on macOS.
    • Enabled by default.

Minecraft:Particles

  • Added Template:Cd
    • Falls from red poplar leaves blocks.
    • Has no fields.
  • Added Template:Cd
    • Falls from orange poplar leaves blocks.
    • Has no fields.
  • Added Template:Cd
    • Falls from yellow poplar leaves blocks.
    • Has no fields.

Minecraft:Realms

  • Realms owners can now create invite codes to their Realm.
    • Up to 5 invite codes are allowed.
    • They can be configured to be either active or inactive.
    • Expiration of the invite code can be configured.
  • Players can now join Realms by entering an invite code in the new "Join Realm" screen.
  • Added render distance and simulation distance sliders to Realm configuration settings.
  • Added a new Realms introduction screen showcasing Realms key features.
    • Accessible from the "Add Realm" button.
    • Automatically shown when entering Realms if a trial is available.
File:JE 26.3 snap10 new Realms introduction UI.png
New Realms introduction screen

Minecraft:Statistics

  • Added Times Slept in a Straw Bed statistic.

Tags

  • Damage Type Tags
    • Added Template:Tag link for all damage types that should not cause tamed wolves to attack their source in order to defend their owner.
  • Entity Tags

Minecraft:UI

Changes

Blocks

Minecraft:Decorated pot

  • Items (bricks and pottery sherds) dropped from breaking a decorated pot side will now preserve data.
  • Decorated pot can now have empty sides which causes it to not drop anything when broken unless it has an item in it.
    • In survival mode, this is accessible via naturally generated undecorated pots and by crafting using the Template:Cd recipe from the Minecraft:recipe book.
    • It is also accessible via the Creative inventory or through commands where at least one side is not defined in Template:Cd.
    • Previously, empty sides were treated as Minecraft:brick.

File:Hay Bale (UD) JE3.png Hay bale

Minecraft:Signs

  • Signs no longer automatically execute click events in custom text.

Items

Minecraft:Chorus fruit

  • After it has teleported the player randomly, it now shows particles in the direction of the teleportation.

Minecraft:Explorer Maps

  • Renamed the following explorer maps:
    • Jungle Explorer Map → Jungle Pyramid Map
    • Ocean Explorer Map → Ocean Monument Map
    • Swamp Explorer Map → Swamp Hut Map
    • Trial Explorer Map → Buried Trial Chambers Map
    • Woodland Explorer Map → Woodland Mansion Map
  • Updated existing explorer maps' inventory icon textures:
All texture changes
Structure Before After
Minecraft:Buried Treasure width=32 width=32
Minecraft:Desert Village width=32 width=32
Minecraft:Plains Village width=32 width=32
Minecraft:Savanna Village width=32 width=32
Minecraft:Snowy Village width=32 width=32
Minecraft:Taiga Village width=32 width=32
Minecraft:Jungle Pyramid width=32 width=32
Minecraft:Swamp Hut width=32 width=32
Minecraft:Ocean Monument width=32 width=32
Minecraft:Woodland Mansion width=32 width=32
Minecraft:Trial Chambers width=32 width=32
  • All explorer maps are now unique items; previously they used the same item ID as Minecraft:filled maps.
    • These items cannot be obtained from the Creative inventory.
    • Existing explorer maps in old worlds are converted to the matching new item on load.
    • Explorer maps can still be cloned in a Minecraft:crafting table, and the copies keep their own item type.
  • Explorer maps and buried treasure maps can no longer be zoomed out, neither in a Minecraft:crafting table nor in a Minecraft:cartography table.
    • Buried treasure maps could previously be zoomed out in both.
    • Explorer maps could previously be zoomed out in a cartography table.
    • Only maps in the Template:Cd tag can be zoomed out.

Minecraft:Map and Empty Map

Map decorations

  • The map icon of Minecraft:woodland mansion on filled maps is now consistent with the one on woodland explorer map item Minecraft:texture.
  • The map icons for players on maps and explorer maps has been updated to always show the direction the player is facing.
All texture changes
Name Before After
Player Locator width=32 width=32
Player Off Map width=32 width=32
Player Off Limits width=32 width=32

Minecraft:Pottery sherds

  • Pottery sherds are now data-driven.

Minecraft:Shield

  • When using a shield together with a Minecraft:hoe or a Minecraft:shovel, raising the shield will take precedence over tilling and pathmaking.
    • Crouching will allow tilling and pathmaking.

Minecraft:Suspicious stew and Minecraft:mushroom stew

  • Can now be crafted with 2 of any mushroom.

Mobs

General

  • Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs.

Minecraft:Armadillos

  • No longer try to roll up when submerged in liquids.

Minecraft:Endermen

Minecraft:Shulkers

  • Can no longer teleport onto bedrock.

Minecraft:Sulfur cubes

  • Changed the sounds of the "regular" sulfur cube archetype.

Minecraft:Wandering traders

Non-mob entities

Minecraft:Paintings

  • Paintings with custom names now also show those names when the player looks at them in the world.

World generation

Minecraft:Density functions

  • Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
    • This affects all intermediate steps, not just the final result.

Minecraft:Features

    • Changed Template:Cd
      • Added the field Template:Cd – namespaced ID or inline definition of a structure processor list to apply to the template.
  • Changed the Template:Cd feature type
    • Renamed from Template:Cd.
      • Now exposes more control over the feature.
      • Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
    • Format changes:
  • Changed the Template:Cd feature type
    • Renamed from Template:Cd.
      • Now exposes more control over the feature functionality.
    • Format changes:
      • Added the field Template:Cd: Block state provider for which block to place.
      • Added the field Template:Cd: Block predicate for which blocks can be replaced by the column.
      • Added the field Template:Cd: Block predicate for which pre-existing blocks to accept as part of a column.
      • Added the field Template:Cd: Block ID, list of block IDs or hash-prefixed block tag ID representing which blocks are avoided when starting placement.
      • Renamed the field Template:Cd to Template:Cd
      • Added the field Template:Cd: int provider (between Template:Cd and Template:Cd) - the number of columns to generate.
      • Added the field Template:Cd: int provider (between Template:Cd and Template:Cd) - the size of the square to attempt to generate columns in.

Minecraft:Noise settings

  • Spawn Target
    • The Template:Cd field has been updated to allow use of any density function, instead of just a subset of those defined within the Template:Cd field.
    • The suitability of a candidate spawn position is determined by evaluating, in some arbitrary n-dimensional space, the squared Euclidean distance to a set of target hypercubes.
    • For example, one axis might be temperature and the second erosion - and suitability determined by distance to the square between Template:Cd, Template:Cd and Template:Cd, Template:Cd. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.
    • Format: list of target hypercubes
      • Target format: map between Density Function ID and a range on that axis:
        • Range is specified as one of:
          • Float, an exact target value.
          • Array of 2 floats, a range of target values in form Template:Cd.
          • An object with fields:
            • Template:Cd - float, the minimum value of the target range.
            • Template:Cd - float, the maximum value of the target range.

Terrain generator

Other

  • Block predicates
    • Added Template:Cd
      • Checks that every block in a volume matches a given Block Predicate.
      • Format:
        • Template:Cd – list of 3 integers in range -16 to 16 specifying the lower corner of the volume as an offset from the test position.
        • Template:Cd – list of 3 integers in range -16 to 16 specifying the upper corner of the volume as an offset from the test position.
        • Template:Cd – block predicate to test on each position.
  • Block state providers
    • Updated Template:Cd
    • Added Template:Cd
      • Returns the default block state for a randomly chosen block.
      • Format:
        • Template:Cd: block ID, list of block IDs or hash-prefixed block tag, specifying the set of blocks to randomly pick from.
    • Changed Template:Cd
      • Now works on any block with axis or facing properties.
      • Format:
        • Changed the field Template:Cd: Now a block state provider.
        • Added the field Template:Cd: Optional field describing the direction to set.
          • If omitted, a random direction is chosen.
  • Carvers
    • The Template:Cd registry has been renamed to Template:Cd
    • Updated Template:Cd carver type
      • All fields previously under the config field have been inlined to the top-level.
      • Added the Template:Cd field - non-negative Int Provider, the number of cave tunnels to create from a seed chunk.
      • Renamed Template:Cd to Template:Cd
      • Added optional Template:Cd field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnel.
      • Added the Template:Cd field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels.
      • Added optional Template:Cd field - Boolean
        • If Template:Cd, thickness will be multiplied by, with a 10% chance: <math>random(0, 1) * random(0, 3) + 1</math>
        • If not specified, defaults to Template:Cd
      • Removed the Template:Cd field, carvers will replace any block (excluding features).
      • Removed the Template:Cd field, fluids are now always selected by the Template:Cd or Template:Cd configuration in the dimension.
      • Removed the Template:Cd field.
    • Updated Template:Cd carver type
    • Removed Template:Cd carver type
  • Int Providers
    • Added Template:Cd Int provider type
      • Picks a random value in the provided range, with a quadratic bias towards the minimum value.
      • Format: object with fields:
        • Template:Cd - Integer, the minimum selected value (inclusive).
        • Template:Cd - Integer, the maximum selected value (inclusive).
  • Material Condition Registry
    • A new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_condition/<id>.json.
    • Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
    • The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
      • Material Conditions can also now be specified as an ID reference to an element in the Template:Cd registry.
  • Material Rule Registry
    • A new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_rule/<id>.json.
    • Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
    • The format is identical to that which was formerly written in the Template:Cd field within noise settings files, with the following extensions:
      • Material rules can now be specified either inline (as previously), or as an ID reference to an element in the Template:Cd registry.
      • Material conditions can also now be specified as an ID reference to an element in the Template:Cd registry.
  • Minecraft:Noises
    • The format of noises (defined in the worldgen/noise registry, or inline in noise-based block state providers) has been updated.
    • Noises define a fractal brownian motion configuration with the following properties:
      • Produces output values (approximately) fitting a normal distribution.
      • Unless otherwise specified, fits the output amplitude to Template:Cd
        • Due to the normal distribution, in practice this means that 99.7% of all samples will fit in that range – but values may still be encountered outside of this range.
      • Parameterized by Template:Cd, Template:Cd
        • i.e. between each octave, the amplitude is halved and the frequency doubled.
      • Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
      • Renamed Template:Cd to Template:Cd.
      • Added Template:Cd – non-negative float, a scale factor to apply to the noise output.
      • Added Template:Cd – integer between Template:Cd and Template:Cd, the number of octaves to sample.
      • Added normalize – boolean, or Template:Cd, controls how the output amplitude should be normalized.
        • If Template:Cd, Template:Cd is the expected amplitude of the output (i.e. 99.7% of all samples in Template:Cd)
        • If Template:Cd, Template:Cd is the amplitude of the first octave.
        • If Template:Cd, inherits the same normalization behavior as expressed by the previous format.
          • This would generally fit to a range smaller than expected.
        • If not specified, defaults to Template:Cd.
        • Note: normalization is not affected by the Template:Cd field – as such, modifying the amplitude of a single octave will not affect the amplitude of others.
      • Renamed Template:Cd to Template:Cd – list of floats, a scaling factor to apply to each octave.
        • The number of elements in this list must match Template:Cd.
        • As described above, this scaling factor bypasses normalization and will affect the output amplitude.
        • This field is no longer required – if not specified, defaults to all Template:Cd.
  • Rule Tests
    • These are the predicates used by ore features (Template:Cd) and rule structure processors (Template:Cd and Template:Cd).
    • Added rule test type Template:Cd
      • Checks the y-level of a block, returning Template:Cd only if it is greater than or equal to Template:Cd and less than or equal to Template:Cd.
      • Format: object with fields:
        • Template:Cd – int, the minimum y value of allowed blocks (inclusive).
        • Template:Cd – int, the maximum y value of allowed blocks (inclusive).
    • Added rule test type Template:Cd
      • This checks a list of Rule Tests for whether all of them return true for the same block.
      • Format: object with fields:
        • Template:Cd - list of Rule Tests, the rules to test the block against.
    • Added Template:Cd
      • This checks a list of rule tests for whether any of them returns true for the same block.
      • Format: object with fields:
        • Template:Cd – list of rule tests, the rules to test the block against.
    • Added Template:Cd
      • This checks a rule test for whether it returns false for a given block.
      • Format: object with fields:
        • Template:Cd – rule test, the rule to test the block against.
  • Structure Placements
    • Added Template:Cd
    • New structure placement that places a single instance of the structure at the dimension origin.
      • The dimension origin is defined as the Template:Cd for noise settings based dimensions, otherwise Chunk (0, 0).
    • No additional fields.
  • Vertical Anchors
    • Added a new option for vertical Anchors: Template:Cd
      • Specifies an offset to the sea level of the dimension.

Command format

General

Template:Cmd

Template:Cmd

  • Added new Template:Cd condition sub-command.
    • Counts the number of slots from the slot source that are present on the targeted block or entity.
    • The slot source will be evaluated with the Template:Cd loot type.
    • Syntax:
  • The items condition sub-command now takes a slot source as argument instead of a slot.

Template:Cmd

  • When the amount of items passed to the give command is above limit, the command will now signal an error instead of just printing an error message and returning Template:Cd.

Template:Cmd

  • Now takes a slot source as argument in place of anywhere a slot was previously used.
    • It will be evaluated with the Template:Cd loot type.
    • Can be a slot source in either inline or reference form.
    • Can be a slot source targeting multiple slots.
    • The Template:Cd sub-command has new semantics:
      • One by one in the order they are provided by the slot source, the contents of each destination slot are replaced with the corresponding source item.
      • When there are more destination slots than there are source items, the remaining slots are ignored.
      • When there are fewer destination slots than there are source items, the remaining items are ignored.
    • String notation slot ranges in the form Template:Cd or Template:Cd are still permitted.
  • The entity argument in the Template:Cd item source can now be a selector targeting multiple entities.
    • When more than a single entity is targeted, the slots sourced from each are concatenated.
  • Added new Template:Cd and Template:Cd sub-commands, each with syntax identical to Template:Cmd.
    • Template:Cmd
      • Fills each destination slot with a source item.
      • When there are more destination slots than there are source items, the items repeat until every slot is filled.
    • Template:Cmd
      • Overrides the contents of each destination slot with the corresponding source item.
      • When there are more destination slots than there are source items, the remaining slots are cleared.

Template:Cmd

Template:Cmd

Template:Cmd

  • The Template:Cd argument has been removed.
    • Instead, the default game mode of the world should be set using the Template:Cmd command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the Template:Cmd command.

Template:Cmd

  • Whether a block is safe to spread a player to is now controlled by the Template:Cd block tag.

Template:Cmd

  • When used on a player, the player's attack strength will no longer be reset.
  • Added a new optional argument to set the swing animation to play.
  • Added a new argument to set the duration of the swing animation, if provided.
    • Format: positive time value (by default in ticks).
    • If omitted, defaults to Template:Cd.

Template:Cmd

  • The result of Template:Cmd and Template:Cmd subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed).

Template:Cmd

  • The Template:Cd component in a raw chat message will only be resolved up to 64k times.

Template:Cmd

Gameplay

Minecraft:Advancements

Minecraft:Closed captions

Minecraft:Creative inventory

  • Rearranged mineral items and blocks in the inventory.
  • They are now sorted to have non-tiered ingredients first, followed by tiered ingredients that craft into equipment last.
  • Affects the ingredients and building blocks tabs.
    • Ingredients
      • Non-tiered minerals
      • Unrefined tiered minerals
      • Refined tiered minerals
        • Nuggets
        • Ingots
    • Building Blocks
      • Non-tiered mineral blocks and variants
      • Refined tiered mineral blocks and variants
      • Copper block family
    • Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content.
  • Improved ordering of Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld -> Nether -> End to stay consistent with other tabs.

Minecraft:Enchantments

Minecraft:Game mode switcher

Minecraft:Spectator

  • Players in Spectator mode can now interact with portals to teleport.

Minecraft:Trading

  • New villager trades, unlocked from a villager leveling up their profession, will now update even if the player has the trading UI open.

General

Minecraft:Advancement definition

  • Rewards
    • The Template:Cd sub-field in the Template:Cd field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
  • Triggers
    • Multiple fields that accepted a list of loot conditions (AKA predicates) are now stricter:
      • A list of predicates is no longer accepted as a shorthand for a Template:Cd condition containing that list.
      • Additionally, the Template:Cd field of predicates has been renamed to Template:Cd and is now mandatory (previously it defaulted to Template:Cd).
    • Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a Template:Cd
    • The Template:Cd field, available on all triggers except Template:Cd, now accepts an inline value or a namespaced ID of a Template:Cd type.
      • To avoid duplication, this field is not mentioned in entries below.
  • Changed Template:Cd trigger
    • Entries in the Template:Cd field can no longer be an entity predicate nor a list of predicates; the entries can now be either inline values or namespaced IDs of a Template:Cd type.
  • Changed Template:Cd trigger
    • The Template:Cd field has been renamed to Template:Cd and now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
      • If a tag or a list is used, trigger will run when any listed loot table is generated.
  • Changed Template:Cd trigger
    • The Template:Cd field has been renamed to Template:Cd and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a Template:Cd type.
      • If a tag or a list is used, trigger will run when any listed recipe is used.
  • Changed Template:Cd trigger
    • The Template:Cd field has been renamed to Template:Cd and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a Template:Cd type.
      • If a tag or a list is used, trigger will run when any listed recipe is used.
  • Changed Template:Cd trigger
    • The Template:Cd field has been renamed to Template:Cd and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a Template:Cd type.
      • If a tag or a list is used, trigger will run when any listed recipe is unlocked

Minecraft:Block entity data

  • Template:Cd and Template:Cd
    • By default, commands and other click events contained in sign text are no longer executed when the block is clicked.
      • Additionally, text components on newly placed signs are no longer resolved by default.
      • New boolean field called Template:Cd (defaults to Template:Cd) has been added to restore previous behavior.
      • Placed signs and items with the Template:Cd component containing sign data stored in worlds saved before this version will have Template:Cd set to Template:Cd
      • Any newly created sign will need to have that field set explicitly.
    • Changed the rules for opening the sign edit screen after a block is placed:
      • Previously, the screen would open unless Template:Cd was applied successfully.
        • Now, the screen will open only if it could be opened normally by clicking the block (i.e. it's not waxed and only has editable text on the front side).
    • Signs will now accept and return the Template:Cd, Template:Cd and Template:Cd components.
  • Template:Cd
    • The following fields are now stored as integers rather than shorts:
      • Changed the Template:Cd field from a short to an integer, this is the amount of time that the current brewing process has taken so far.
      • Changed the Template:Cd field from a byte to an integer, this is the amount of fuel remaining.
    • The following new fields have been added:
      • Added the Template:Cd integer field, this is the total amount of time the current brewing process will take.
      • Added the Template:Cd integer field, this represents the amount of fuel that was added in the last refuel.
      • Added the Template:Cd float field, this will be used to speed up or slow down the next brewing process.
  • Template:Cd, Template:Cd and Template:Cd
    • The following fields are now stored as integers rather than shorts:
      • Changed the Template:Cd field from a short to an integer, this is the amount of time that the current cooking process has taken so far.
      • Changed the Template:Cd field from a short to an integer, this is the total amount of time the current cooking process will take.
      • Changed the Template:Cd field from a short to an integer, this is the amount of burn time remaining.
      • Changed the Template:Cd field from a short to an integer, this is the total amount of burn time that was added in the last refuel.
    • The following new fields have been added:
      • Added the Template:Cd float field, this will be used to speed up or slow down the next cooking process.

Minecraft:Block entity format

Minecraft:Block states

Block transformers

  • Added Template:Cd registry containing rules for transforming a block into another block
  • Format: list of objects with fields:
    • Template:Cd - Block State Provider, used to provide the state for the transformed block
      • If the Block State Provider returns no result (as by Template:Cd, for example), the next rule in the list will be attempted
      • The set of Block State Providers are the same as the Block State Providers used in World Generation
    • Template:Cd - optional field, Sound Event to play on interaction, e.g. Template:Cd
      • If not present, defaults to play no Sound Event
    • Template:Cd - optional field, particles to play on interaction
    • Template:Cd - optional field, list of Directions specifying which faces on the clicked Block that cannot be interacted with
    • Template:Cd - optional Loot Table, the Loot Table to use for dropping items on a successful transformation, e.g. Template:Cd
      • If not present, defaults to using no Loot Table
    • Template:Cd - optional field, configures from where in the Block any loot should drop
    • Template:Cd - optional Boolean, if the transformed block should update based on neighboring blocks. This allows e.g. fences to connect
      • If not present, defaults to true
    • Template:Cd - optional field, configures how nearby blocks should be affected by the transformation
      • If not present, defaults to Template:Cd
      • Values:
        • Template:Cd - only affects the Block interacted with
        • Template:Cd - if input and output blocks are both copper chests of any weathering state, waxed or unwaxed, this transformation will affect both sides of a double chest
    • Template:Cd - optional Boolean, determines if the item should be consumed or not
      • Only applies to stackable items
      • If not present, defaults to Template:Cd
    • Template:Cd - optional Integer, determines how much damage the item takes with each use
      • Only applies to non-stackable items
      • If not present, defaults to Template:Cd
  • Default values in vanilla:

Minecraft:Controls

  • The numeric keypad plus-or-minus key, opening bracket key and closing bracket key now display their associated glyph in the Key Binds menu.
    • Proper IDs for each of these have not yet been added, however.
  • Up to 40 more mouse buttons are available for binding game controls to on Linux (buttons 8 to 48), and up to 24 more on macOS (buttons 8 to 32).
    • The Minecraft:key codes for these existed previously, but could only be accessed by changing Minecraft:options.txt and would not result in button presses actually being recognised.
    • These buttons are still not accessible on Windows.
  • Renamed some key code display names:

Minecraft:Data component format

  • Changed Template:Cd
    • The format of inline material definitions has been updated
    • Trim Materials
      • The format of elements in the Template:Cd registry has been updated:
        • Template:Cd has been replaced with Template:Cd - Palette Texture ID to be used for this material.
        • Template:Cd has been removed, overrides are now defined in the Resource Pack Equipment Asset.
  • Removed Template:Cd
    • This has been replaced by Template:Cd and Template:Cd.
      • Existing items in the world will be migrated to using the default Template:Cd.
      • Setting both of these new components to the same value will be functionally identical to the old component, except for:
        • The Template:Cmd command – animation type now specified by the command.
        • Items being dropped by entities.
  • Removed Template:Cd
    • Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to.
    • Existing maps have the component stripped on load.

Minecraft:Data pack

Minecraft:Debug screen

  • The debug overlay now supports a separate GUI scale than the rest of the game.
    • This is customizable through the Debug Options screen, F3 + F6.
    • The default scale is "Auto", which tries to stay at a higher resolution than normal.
    • Another option is "Unchanged", which matches the regular GUI scale.
    • The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly.
  • Added a "player_speed" debug entry that displays the speed of the player in blocks per tick.
  • The debug overlay now shows the display refresh rate.

Minecraft:Environment attribute

  • Template:Cd
    • Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
    • Introduced support for new modifier: Template:Cd
      • Unlike Template:Cd which totally replaces the particle list, this modifier concatenates all elements with the layers below.

Equipment assets

  • The Template:Cd field has been replaced with Template:Cd. This can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset, not just swap specific palettes.
    • Format: list of override entries with fields:
      • Template:Cd – object with fields, the material and/or pattern to match.
        • Template:Cd – optional trim material ID, the material to match (if specified).
        • Template:Cd – optional trim pattern ID, the pattern to match (if specified).
          • Note: this is not the palette ID, as Template:Cd used to be.
        • At least one of material or pattern must be specified.
        • If both are specified, both must match for the entry to be used.
      • Template:Cd – optional trim pattern asset ID, a replacement texture to use if this entry matches.
        • Textures are specified in the same format as Template:Cd
        • If not specified, the default texture for the pattern will be used.
      • Template:Cd – optional palette ID, a replacement palette to use if this entry matches.
        • If not specified, no palette remapping will be applied to the texture.
      • The first matching entry will always be selected.
      • At least one of texture or palette must be defined.

Game window and input backend

  • The minimum window size is now 320×240 pixels.
  • Minecraft now uses Template:WP instead of Template:WP for window management, input and platform integration.
  • Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts.

Minecraft:GUI

  • The sub-headings and categories in different tabs of Minecraft:Options now use a boldface, underlined and centered format, and can now be focused.

Minecraft:Instrument definition

  • The format of elements in the instrument registry have been updated:
    • Added the Template:Cd field - optional non-negative integer, amount of durability to consume on each use.
    • Updated the Template:Cd field - can now be Template:Cd for no cooldown.

Minecraft:Item models

level.dat

Minecraft:Loot functions

  • The Template:Cd field is now available in all loot functions and has been renamed to Template:Cd.
    • It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions.
      • Functionality of old condition list format can be achieved by explicitly using Template:Cd loot condition type.
    • The Template:Cd field (describing function type) has been renamed to Template:Cd.
  • Changed Template:Cd
    • The Template:Cd field has now been removed.
    • The function no longer changes the type of the item it is applied to – it now only adds map data to the existing item.
      • Previously it required a Template:Cd and produced a Template:Cd
      • The item to produce is now chosen by the loot entry or villager trade itself, so a data pack that produced exploration maps has to change its item from Template:Cd to Template:Cd (or one of the explorer map items)
      • If no matching structure is found, the item is left without a Template:Cd – use Template:Cd with Template:Cd to drop those, as the vanilla loot tables and villager trades now do.
    • The Template:Cd field is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a Template:Cd type.
  • Changed Template:Cd
    • The Template:Cd field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Added optional condition field which accepts an inline value or a namespaced ID of a Template:Cd type.
    • Inline format of Template:Cd (previously only a list of inline functions) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
      • This format is now consistenly available for all fields of loot function type, which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Can only use an inline definition in a top-level file.
  • Removed Template:Cd
    • This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions.

Minecraft:Loot tables

  • Multiple block loot tables now reference predicates for checking if a tool has Minecraft:Silk Touch and is Minecraft:shears instead of inlining a copy of those checks.
  • The Template:Cd and Template:Cd fields now accept an inline value or a namespaced ID of a Template:Cd type.
  • Loot table types that have a dedicated registry now support registry element and tag references.
    • This means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID
    • Affected types:
    • Existing Template:Cd types for predicates, item modifiers and slot sources are now obsolete and have been removed
    • Added Template:Cd loot table type
      • Currently used for Template:Cd command
      • It takes the following parameters:
        • Everything included in Template:Cd
        • Template:Cd, the block entity of the block at the position given in a command
        • Template:Cd, the current state of the block at the position given in a command
    • Added Template:Cd loot table type
      • Currently used to evaluate cooking and brewing fuel values.
      • It takes the following parameters:
    • Changed Template:Cd loot table type
      • Block entities are now available in context and can be matched by conditions like Template:Cd
    • Changed Template:Cd loot table type
      • Template:Cd is now available in context, as the center of the block being interacted with.
  • Loot pool entries
    • The Template:Cd field in loot pool entries has been renamed to condition and now accepts an inline value or a namespaced ID of a Template:Cd type.
    • The Template:Cd field in loot pool entries has been renamed to modifier and now accepts an inline value (including list as a short form of Template:Cd) or a namespaced ID of a Template:Cd type.
    • Changed Template:Cd loot pool entry
      • The Template:Cd field has been renamed to Template:Cd and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a Template:Cd type.
    • Changed Template:Cd loot pool entry
      • The Template:Cd field now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
      • Added Template:Cd field, working the same as in Template:Cd pool entry:
        • If Template:Cd, each entry inside tag will be added to outer pool, with weights equal to weight of this entry.
        • If Template:Cd, this pool entry will operate as a single entry in outer pool. If this entry gets selected, it will return all items from all referenced loot tables.

Minecraft:Minecraft Server Management Protocol 3.1.0

Minecraft:Number providers

  • The Template:Cd field always needs to be specified explicitly when using an inline number provider (it was previously defaulting to Template:Cd).
  • Added vanilla number providers
    • Template:Cd
      • Returns the burn time in ticks for bamboo and scaffolding.
    • Template:Cd
      • Returns the burn time in ticks for blaze rods.
    • Template:Cd
      • Returns the burn time in ticks for boats.
    • Template:Cd
      • Returns the burn time in ticks for coal.
    • Template:Cd
      • Returns the burn time in ticks for coal blocks.
    • Template:Cd
      • Returns the burn time in ticks for dried kelp blocks.
    • Template:Cd
      • Returns the burn time in ticks for various dry plants.
    • Template:Cd
      • Returns the burn time in ticks for hanging signs.
    • Template:Cd
      • Returns the burn time in ticks for lava buckets.
    • Template:Cd
      • Returns the burn time in ticks for mangrove roots.
    • Template:Cd
      • Returns the burn time in ticks for wood blocks.
    • Template:Cd
      • Returns the burn time in ticks for very small wood items such as buttons.
    • Template:Cd
      • Returns the burn time in ticks for large wood items such as doors.
    • Template:Cd
      • Returns the burn time in ticks for small wood items such as bows.
    • Template:Cd
      • Returns the burn time in ticks for wood slabs.
    • Template:Cd
      • Returns the burn time in ticks for most wool blocks.
    • Template:Cd
      • Returns the burn time in ticks for wool carpets.
    • Template:Cd
      • Returns the burn time in ticks for wool slabs and cushions.
    • Template:Cd
      • Returns the default speed multiplier for cooking fuel.
    • Template:Cd
      • Returns the default speed multiplier for brewing fuel.
    • Template:Cd
      • Returns the default number of brews provided by brewing fuel.
  • Changed Template:Cd
    • The Template:Cd field was renamed to Template:Cd and now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Now requires at least one operand.
    • When used in integer mode, integer mode is used for intermediate steps as well.

Minecraft:Options

  • The Online button used to access the Online Options screen will now always be shown in the Options menu.

Minecraft:Panorama

  • Updated the panorama to reflect the third drop of 2026, showing the new Dappled Forest biome with an Abandoned Camp.

Minecraft:Particles

Minecraft:Predicate

  • Changed Template:Cd
    • The Template:Cd field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Note: values of this type can no longer be shortened to a single list, a full object with type Template:Cd needs to be used explicitly.
  • Potion predicates
    • The Template:Cd data component predicate has been changed to allow matching on specific potion effects.
    • The previous predicate format used a list of potion types, the new format allows for more refined matching.
    • The following fields can be used in any combination, all are optional:
    • The Template:Cd predicate format is a mapping of effect types to properties of that effect. All fields are optional, only provided fields will be used for matching:

<syntaxhighlight lang="json">

   {
       "minecraft:<effect type>": {
         "duration": "<integer bounds representing a duration in ticks>",
         "amplifier": "<integer bounds>",
         "ambient": true/false,
         "visible": true/false
       }
   }

</syntaxhighlight>

  • Example of matching on several different effects and criteria:

<syntaxhighlight lang="json">

     "effects": {
       "minecraft:jump_boost": {
         "duration": 3600,
         "amplifier": 5,
         "ambient": true,
         "visible": true
       },
       "minecraft:speed": {
         "duration": {
           "min": 360,
           "max": 3600
         },
         "amplifier": {
           "min": 2
         }
       },
       "minecraft:resistance": {}
     }

</syntaxhighlight>

  • Added Template:Cd condition type
    • Matches block state and optionally block entity data and components (if present).
    • Fields (same as elements of Template:Cd components):
      • Template:Cd – optional block id, list of namespaced block IDs, or hash-prefixed block tag to match.
      • Template:Cd: optional map of block state property keys to values to match.
      • Template:Cd: optional block entity NBT to match.
        • match will fail if this field is present, but block entity is not available in context.
      • Template:Cd – optional map of exact components to match.
        • match will fail if this field is present, but block entity is not available in context.
      • Template:Cd – optional map of component predicates to match.
        • match will fail if this field is present, but block entity is not available in context.

Minecraft:Realms

  • Added support for Realms to use additional server regions in Canada, Mexico, South Africa, and Arizona, USA if they become available in the future.

Recipes

  • The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts.
    • The cooking time speedup is now done through the Template:Cd number provider used by the furnace fuel components.
  • Potion brewing recipes
    • Potion brewing recipes are now data-driven. New recipes can be added via Minecraft:data packs, and vanilla recipes may be modified.
    • Brewing recipes use the minecraft:brewing type.
    • The main contents are:
      • input – A potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents data component predicate.
      • reagent – A potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents data component predicate.
      • output – item stack, the resulting item.
    • Example of a vanilla recipe:

<syntaxhighlight lang="json"> {

 "type": "minecraft:brewing",
 "input": {
   "item": "minecraft:potion",
   "potion_contents": {
     "potion": "minecraft:water"
   }
 },
 "output": {
   "components": {
     "minecraft:potion_contents": {
       "potion": "minecraft:awkward"
     }
   },
   "id": "minecraft:potion"
 },
 "reagent": {
   "item": "minecraft:nether_wart"
 }

} </syntaxhighlight>

  • Any items may be used in any of the 3 slots, e.g.:

<syntaxhighlight lang="json"> {

 "type": "minecraft:brewing",
 "input": { "item": "minecraft:bucket" },
 "output": { "id": "minecraft:sulfur_cube_bucket" },
 "reagent": { "item": "minecraft:potent_sulfur" }

} </syntaxhighlight>

Rendering

  • Terrain blocks are now rendered with MultiDrawIndirect on supported devices.

Minecraft:Resource pack

Minecraft:Servers

  • Some log lines that server software might look out for have been removed.
    • The Minecraft Server Management Protocol can be used instead.

Minecraft:Server properties

Minecraft:Shaders

  • Replaced current "Improved Transparency" approach with a new Order-independent Transparency (OIT) algorithm which is expected to be much better at solving translucency issues.
    • Added new shaders to support order-independent transparency:
      • core/oit_composite.fsh
      • core/oit_depth_bounds_cull.fsh
      • include/oit.glsl
      • include/oit_add_transmittance.glsl
      • include/oit_common.glsl
      • include/oit_depth_bounds.glsl
      • include/oit_depth_sample.glsl
      • include/oit_sample.glsl
    • Extracted the texture sampling logic from core/terrain.fsh into include/texture_sampling.glsl
    • Renamed the following core shaders:
      • core/rendertype_clouds.vsh -> core/clouds.vsh
      • core/rendertype_clouds.fsh -> core/clouds.fsh
      • core/rendertype_world_border.vsh -> core/world_border.vsh
      • core/rendertype_world_border.fsh -> core/world_border.fsh
    • Updated core shaders to support order-independent transparency
      • Introduced new defines:
        • Template:Cd - A boolean indicating if OIT is enabled.
        • Template:Cd - A boolean indicating that the OIT algorithm should always write depth for the executing pipeline during the depth bounds stag.
        • Template:Cd - A boolean indicating if the depth bounds pass is being executed.
        • Template:Cd - A boolean indicating if the transmittance pass is being executed.
        • Template:Cd - A boolean indicating if the accumulate pass is being executed.
        • Template:Cd - A boolean indicating if either the depth bounds or transmittance pass is being executed.
        • Template:Cd - A boolean indicating that the OIT algorithm should emulate additive blending for the executing pipeline.
        • Template:Cd - A float determining above which alpha threshold a fragment should be considered solid and not go through OIT.
        • Template:Cd - An integer internal to the OIT algorithm.
        • Template:Cd - An integer internal to the OIT algorithm.
        • Template:Cd - An integer internal to the OIT algorithm.
        • Template:Cd - A boolean indicating if the current rendering backend uses the depth range of Template:Cd, it is available globally to all shaders independently of the OIT setting.
        • Template:Cd – if present, indicates that an OIT shader should explicitly output a depth value because a device it is running on can produce a slightly different implicit value.
        • Affected shaders:
          • core/block.fsh
          • core/block.vsh
          • core/clouds.fsh
          • core/clouds.vsh
          • core/entity.fsh
          • core/entity.vsh
          • core/item.fsh
          • core/item.vsh
          • core/particle.fsh
          • core/position_color.fsh
          • core/rendertype_beacon_beam.fsh
          • core/rendertype_clouds.fsh
          • core/rendertype_crumbling.fsh
          • core/rendertype_entity_shadow.fsh
          • core/rendertype_lightning.fsh
          • core/rendertype_lines.fsh
          • core/rendertype_world_border.fsh
          • core/terrain.fsh
          • core/terrain.vsh
          • core/text.fsh
          • core/text_background.fsh
          • core/world_border.fsh
          • core/world_border.vsh
    • Removed the old transparency post chain:
      • post_effect/transparency.json
      • shaders/post/transparency.fsh
    • core/integrate_depth.fsh was added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffer.
    • There's a new debug keybind for toggling this functionality on and off, by default set to F3 + X.
  • terrain.vsh and terrain.fsh shaders are refactored to support multi-draw.
  • Some of the members in Template:Cd and Template:Cd are shuffled to use less memory for those uniform blocks.
  • Removed core shaders
    • Template:Cd and Template:Cd were removed and text background in Text Display Entities is now rendered using the text shaders.
  • Always-on Post Effect Support
    • A resource pack can now define a Template:Cd post effect.
    • It will be applied before other post effects, including the ones enabled by the new Template:Cd command.
    • This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the Template:Cd command.
    • As usual with resource pack resources, in case of multiple packs defining this effect, the one from the last resource pack in the list will apply.
  • Shader compilation changes
    • Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan.
    • Shader includes are now handled by ShaderC using Template:Cd instead of Template:Cd
    • Shader inputs and outputs must have a location specified in shader source.
      • Vertex input names must still match expected names.
      • Vertex outputs are matched to fragment inputs solely by location, name is now ignored.
    • Introduced new define Template:Cd – a boolean indicating if Template:Cd follows Vulkan or OpenGL (Template:Cd) semantics.

Minecraft:Slot sources

  • Slot sources can now be defined as files inside a datapack, within the Template:Cd folder.
    • Can be used in commands which take slot sources as arguments.
    • Can be used in inline slot sources using the Template:Cd type.
  • Template:Cd is no longer restricted to only selecting non-empty slots.
  • Added Template:Cd
    • Uses the referenced slot source.
    • Fields:
  • Changed Template:Cd
    • The Template:Cd field has a new valid type container, which sources slots from a container or inventory provided through loot context.
    • The Template:Cd field is now optional.
      • Defaults to the container source type when absent.
  • Changed Template:Cd
    • The Template:Cd field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
    • Inline format of Template:Cd (previously only a list of inline slot source) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a Template:Cd type.
      • This format is now available consistently available for all fields of slot source.
    • Can only use an inline definition in a top-level file.
  • Removed Template:Cd
    • This slot source has become obsolete, as any field that takes slot source now accepts (among other fields) a namespaced ID of a Template:Cd type.

Minecraft:Sounds

Tags

Template:Collapse

Template:Collapse

    • The tag Template:Cd no longer prevents an item from being classified as fuel item.

Minecraft:Textures

  • Equipment Assets
    • A new optional Template:Cd field controls which trim material palettes should be replaced for this equipment asset (formerly controlled by Template:Cd in the trim material)
      • Format: map from original Palette ID to a replacement Palette ID
  • GUI widget sprites
    • Added the following:
      • widget\realms_button.png
      • widget\realms_button_disabled.png
      • widget\realms_button_highlighted.png
  • Map sprites
    • Added new explorer map textures:
      • abandoned_campsite_map.png
      • ancient_city_map.png
      • desert_pyramid_map.png
      • mineshaft_map.png
      • warm_ocean_ruins_map.png
    • Updated the following map and explorer map textures:
      • buried_treasure_map.png
      • filled_map.png
      • map.png
      • desert_village_map.png
      • plains_village_map.png
      • snowy_village_map.png
      • snowy_village_map.png
      • taiga_village_map.png
      • savanna_village_map.png
      • trial_chamber_map.png
      • woodland_mansion_map.png
      • ocean_monument_map.png
    • Added new map decorations textures:
      • abandoned_camp.png
      • ancient_city.png
      • desert_pyramid.png
      • mineshaft.png
      • warm_ocean_ruins.png
    • The following map decoration icons have been updated in order to show player rotation on the map:
      • /player.png
      • /player_off_limits.png
      • /player_off_map.png
  • Palette Textures
    • All armor trim palette textures have been moved from Template:Cd to Template:Cd
      • The base armor trim palette texture has instead been moved to Template:Cd
    • Entity armor trim material textures are no longer generated into the Template:Cd atlas with Template:Cd, but rather generated on-demand
      • The base palette id is now specified in a new Template:Cd mcmeta section field
      • This section has a single field: Template:Cd - the base Palette Texture ID to remap from
    • Item armor trim material textures are still generated with Template:Cd as before
    • Palette Texture locations in the Template:Cd and Template:Cd fields have been replaced by Palette Texture IDs - i.e. Template:Cd now resolves to Template:Cd
  • UI illustrations sprites
    • Added new textures:
      • gui/realms/friends.png
      • gui/realms/minigames.png
      • gui/realms/private_server.png
      • gui/sprites/widget/realms_button.png
      • gui/sprites/widget/realms_button_disabled.png
      • gui/sprites/widget/realms_button_highlighted.png

Minecraft:UI

  • Removed the Raw Input mouse setting.
    • Mouse input now always uses relative mouse mode while playing in-game.
  • Key bindings now use physical keys instead of keyboard-layout-specific key codes.
  • Borderless Fullscreen is now the default fullscreen mode.
  • Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game.
  • Exclusive fullscreen mode on macOS is no longer supported.
  • The minimum window size is now 320 by 240 pixels.
  • On macOS, holding a key while entering text now displays the native accent and candidate popup.
  • On Linux systems, the game will now use and prefer Wayland natively if available.

Minecraft:Villager trade definition

Minecraft:World Options

File:World Options JE3.png
New World Options UI
  • The World Options button has been moved to the Minecraft:Game Menu where the Open to LAN button used to be, replacing it.
    • The "Game Mode" button has been renamed to "Default Game Mode"
    • The World Options screen is divided into two sections: "General" and "Multiplayer".
    • The "General" section contains the same options as the previous World Options screen.
      • The Lock World screen has been changed.
      • The "General" section has a new addition, Personal Game Mode: the player's active game mode in the current world (equivalent to the Template:Cmd command, or Template:Keys)
    • The "Multiplayer" section contains four options:
      • LAN: changes the multiplayer scope of the world.
      • Command Access: Controls whether players that join a world can use commands or not.
      • Port: the port number to use when opening the world to LAN.
      • Force Game Mode: controls whether other players game mode is forced to match the default game mode of the world or not.

Misc

This version contains the model for straw_bed_head twice, once in the correct spot of assets/minecraft/models/block/straw_bed_head.json and another misplaced inside of assets/minecraft/textures/block/straw_bed_head.json

Fixes

Template:Fixes

Notes

Template:Notelist

References

Template:Reflist

Navigation

Template:Navbox Java Edition versions

Minecraft:de:26.3 Minecraft:es:Java Edition 26.3 Minecraft:fr:Édition Java 26.3 Minecraft:it:Java Edition 26.3 Minecraft:ja:Java Edition 26.3 Minecraft:lzh:爪哇版二六點三 Minecraft:pt:Edição Java 26.3 Minecraft:ru:26.3 (Java Edition) Minecraft:zh:Java版26.3