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
 
(21 intermediate revisions by the same user not shown)
Line 2: Line 2:
| title = Minecraft 26.3
| title = Minecraft 26.3
| edition = Java
| edition = Java
| name = [[Minecraft:Wilderness Bound]]
| planned = yes
| planned = yes
| date = Q3 2026
| date = September 2026
| prevparent = 26.2
| prevparent = 26.2
| prev =
| prev =
| next =  
| next =  
| nextparent =  
| nextparent =  
}}{{Relevant guide|Java Edition guides/Third Drop 2026}}
}}{{Relevant guide|Java Edition guides/Wilderness Bound}}


'''26.3''', the release of the [[Minecraft:Third Drop 2026|third game drop of 2026]], is an upcoming [[Minecraft:game drop]] for {{JE}} set to release in the third quarter of 2026, which adds the [[Minecraft:dappled forest]] biome, including [[Minecraft:red shrub]]s, [[Minecraft:shelf mushroom]]s, [[Minecraft:wool stairs]] and [[Minecraft:Wool Slab|slab]]s, [[Minecraft:concrete stairs]] and [[Minecraft:Concrete Slab|slab]]s, [[Minecraft:straw beds]], [[Minecraft:cushion]]s, and a new [[Minecraft:abandoned camp]] structure.
'''26.3''', the release of '''[[Minecraft:Wilderness Bound]]''', is an upcoming [[Minecraft:game drop]] for {{JE}} set to release in September 2026, which adds the [[Minecraft:dappled forest]] biome with the new [[Minecraft:poplar]]s, [[Minecraft:red shrub]]s, and [[Minecraft:shelf mushroom]]s. It also adds [[Minecraft:wool stairs]] and [[Minecraft:Wool Slab|slab]]s, [[Minecraft:concrete stairs]] and [[Minecraft:Concrete Slab|slab]]s, [[Minecraft:straw bed]]s, [[Minecraft:cushion]]s, and a new [[Minecraft:structure]] called the [[Minecraft:abandoned camp]].


== Additions ==
== Additions ==
Line 119: Line 120:
|Pink Concrete Slab
|Pink Concrete Slab
|Straw Bed
|Straw Bed
|Ancient City Map
|Buried Ancient City Map
|Mineshaft Map
|Buried Mineshaft Map
|Desert Pyramid Map
|Desert Pyramid Map
|Warm Ocean Ruins Map
|Warm Ocean Ruins Map
|Bamboo Jungle Abandoned Camp Map
|Bamboo Camp Map
|Birch Forest Abandoned Camp Map
|Birch Forest Camp Map
|Cherry Grove Abandoned Camp Map
|Cherry Grove Camp Map
|Dappled Forest Abandoned Camp Map
|Dappled Forest Camp Map
|Flower Forest Abandoned Camp Map
|Flower Forest Camp Map
|Pale Garden Abandoned Camp Map
|Pale Garden Camp Map
|Swamp Abandoned Camp Map
|Swamp Camp Map
|Windswept Forest Abandoned Camp Map
|Windswept Forest Camp Map
}}
}}


=== Blocks ===
=== Blocks ===
'''{{Animate|White Concrete Stairs (N) JE1.png;Light Gray Concrete Stairs (N) JE1.png;Gray Concrete Stairs (N) JE1.png;Black Concrete Stairs (N) JE1.png;Brown Concrete Stairs (N) JE1.png;Red Concrete Stairs (N) JE1.png;Orange Concrete Stairs (N) JE1.png;Yellow Concrete Stairs (N) JE1.png;Lime Concrete Stairs (N) JE1.png;Green Concrete Stairs (N) JE1.png;Cyan Concrete Stairs (N) JE1.png;Light Blue Concrete Stairs (N) JE1.png;Blue Concrete Stairs (N) JE1.png;Purple Concrete Stairs (N) JE1.png;Magenta Concrete Stairs (N) JE1.png;Pink Concrete Stairs (N) JE1.png|32px}}{{Animate|White Concrete Slab JE1.png;Light Gray Concrete Slab JE1.png;Gray Concrete Slab JE1.png;Black Concrete Slab JE1.png;Brown Concrete Slab JE1.png;Red Concrete Slab JE1.png;Orange Concrete Slab JE1.png;Yellow Concrete Slab JE1.png;Lime Concrete Slab JE1.png;Green Concrete Slab JE1.png;Cyan Concrete Slab JE1.png;Light Blue Concrete Slab JE1.png;Blue Concrete Slab JE1.png;Purple Concrete Slab JE1.png;Magenta Concrete Slab JE1.png;Pink Concrete Slab JE1.png|32px}} [[Minecraft:Concrete stairs]]''' and '''[[Minecraft:Concrete Slab|slabs]]'''
* Can be crafted with [[Minecraft:concrete]], as well as converted from a [[Minecraft:stonecutter]].
'''Poplar wood set:'''
'''Poplar wood set:'''
* '''[[File:Poplar Sapling.png|32px]] [[Minecraft:Poplar sapling]]'''
* '''[[File:Poplar Sapling.png|32px]] [[Minecraft:Poplar sapling]]'''
Line 178: Line 182:
* Won't be used by [[Minecraft:villager]]s, unlike other [[Minecraft:bed]]s.
* Won't be used by [[Minecraft:villager]]s, unlike other [[Minecraft:bed]]s.
* Generates naturally in [[Minecraft:abandoned camp]]s.
* Generates naturally in [[Minecraft:abandoned camp]]s.
* 4 straw beds are crafted with 3 [[Minecraft:hay bales]].
* 4 straw beds are crafted with 3 [[Minecraft:hay bale]]s.
* Can stack up to 16.
* Can stack up to 16.
{{Crafting
{{Crafting
Line 187: Line 191:
| ignoreusage = 1
| ignoreusage = 1
}}
}}
* Are broken faster when mined with a [[Minecraft:hoe]].


'''{{Animate|White Wool Stairs (N) JE1.png;Light Gray Wool Stairs (N) JE1.png;Gray Wool Stairs (N) JE1.png;Black Wool Stairs (N) JE1.png;Brown Wool Stairs (N) JE1.png;Red Wool Stairs (N) JE1.png;Orange Wool Stairs (N) JE1.png;Yellow Wool Stairs (N) JE1.png;Lime Wool Stairs (N) JE1.png;Green Wool Stairs (N) JE1.png;Cyan Wool Stairs (N) JE1.png;Light Blue Wool Stairs (N) JE1.png;Blue Wool Stairs (N) JE1.png;Purple Wool Stairs (N) JE1.png;Magenta Wool Stairs (N) JE1.png;Pink Wool Stairs (N) JE1.png|32px}}{{Animate|White Wool Slab JE1.png;Light Gray Wool Slab JE1.png;Gray Wool Slab JE1.png;Black Wool Slab JE1.png;Brown Wool Slab JE1.png;Red Wool Slab JE1.png;Orange Wool Slab JE1.png;Yellow Wool Slab JE1.png;Lime Wool Slab JE1.png;Green Wool Slab JE1.png;Cyan Wool Slab JE1.png;Light Blue Wool Slab JE1.png;Blue Wool Slab JE1.png;Purple Wool Slab JE1.png;Magenta Wool Slab JE1.png;Pink Wool Slab JE1.png|32px}} [[Minecraft:Wool stairs]] and [[Minecraft:Wool Slab|slabs]]'''
'''{{Animate|White Wool Stairs (N) JE1.png;Light Gray Wool Stairs (N) JE1.png;Gray Wool Stairs (N) JE1.png;Black Wool Stairs (N) JE1.png;Brown Wool Stairs (N) JE1.png;Red Wool Stairs (N) JE1.png;Orange Wool Stairs (N) JE1.png;Yellow Wool Stairs (N) JE1.png;Lime Wool Stairs (N) JE1.png;Green Wool Stairs (N) JE1.png;Cyan Wool Stairs (N) JE1.png;Light Blue Wool Stairs (N) JE1.png;Blue Wool Stairs (N) JE1.png;Purple Wool Stairs (N) JE1.png;Magenta Wool Stairs (N) JE1.png;Pink Wool Stairs (N) JE1.png|32px}}{{Animate|White Wool Slab JE1.png;Light Gray Wool Slab JE1.png;Gray Wool Slab JE1.png;Black Wool Slab JE1.png;Brown Wool Slab JE1.png;Red Wool Slab JE1.png;Orange Wool Slab JE1.png;Yellow Wool Slab JE1.png;Lime Wool Slab JE1.png;Green Wool Slab JE1.png;Cyan Wool Slab JE1.png;Light Blue Wool Slab JE1.png;Blue Wool Slab JE1.png;Purple Wool Slab JE1.png;Magenta Wool Slab JE1.png;Pink Wool Slab JE1.png|32px}} [[Minecraft:Wool stairs]] and [[Minecraft:Wool Slab|slabs]]'''
Line 193: Line 198:
* Can be used to dampen sounds, like wool and [[Minecraft:carpet]]s.
* Can be used to dampen sounds, like wool and [[Minecraft:carpet]]s.
* They are also not usable in other ways like wool. <!--someone please make it better (not remove)-->
* They are also not usable in other ways like wool. <!--someone please make it better (not remove)-->
'''{{Animate|White Concrete Stairs (N) JE1.png;Light Gray Concrete Stairs (N) JE1.png;Gray Concrete Stairs (N) JE1.png;Black Concrete Stairs (N) JE1.png;Brown Concrete Stairs (N) JE1.png;Red Concrete Stairs (N) JE1.png;Orange Concrete Stairs (N) JE1.png;Yellow Concrete Stairs (N) JE1.png;Lime Concrete Stairs (N) JE1.png;Green Concrete Stairs (N) JE1.png;Cyan Concrete Stairs (N) JE1.png;Light Blue Concrete Stairs (N) JE1.png;Blue Concrete Stairs (N) JE1.png;Purple Concrete Stairs (N) JE1.png;Magenta Concrete Stairs (N) JE1.png;Pink Concrete Stairs (N) JE1.png|32px}}{{Animate|White Concrete Slab JE1.png;Light Gray Concrete Slab JE1.png;Gray Concrete Slab JE1.png;Black Concrete Slab JE1.png;Brown Concrete Slab JE1.png;Red Concrete Slab JE1.png;Orange Concrete Slab JE1.png;Yellow Concrete Slab JE1.png;Lime Concrete Slab JE1.png;Green Concrete Slab JE1.png;Cyan Concrete Slab JE1.png;Light Blue Concrete Slab JE1.png;Blue Concrete Slab JE1.png;Purple Concrete Slab JE1.png;Magenta Concrete Slab JE1.png;Pink Concrete Slab JE1.png|32px}} [[Minecraft:Concrete stairs]] and [[Minecraft:Concrete Slab|slabs]]'''
 
* Comes in sixteen colors.
=== Items ===
* Crafted using [[Minecraft:concrete]].
New '''[[Minecraft:Explorer Map]]s'''
* [[File:Abandoned_Camp_Map_JE2.png|32px]] Added abandoned camp maps showing the location of other [[Minecraft:abandoned camp]]s in the following biomes:
** {{BiomeLink|Bamboo Jungle}}
** {{BiomeLink|Cherry Grove}}
** {{BiomeLink|Birch Forest}}
** {{BiomeLink|Dappled Forest}}
** {{BiomeLink|Flower Forest}}
** {{BiomeLink|Pale Garden}}
** {{BiomeLink|Swamp}}
** {{BiomeLink|Windswept Forest}}
* Can be found in the "common chest" loot of abandoned camps.
 
* Added explorer maps for the following structures:
** [[File:Buried_Ancient_City_Map_JE2.png|32px]] [[Minecraft:Ancient City]]
** [[File:Mineshaft_Map_JE1.png|32px]] [[Minecraft:Mineshaft]]
** [[File:Desert_Pyramid_Map_JE1.png|32px]] [[Minecraft:Desert Pyramid]]
** [[File:Warm_Ocean_Ruins_Map_JE2.png|32px]] [[Minecraft:Warm Ocean Ruins]]
* Can be found in the "secret chest" loot of abandoned camps in addition to [[Minecraft:jungle pyramid]], [[Minecraft:swamp hut]], and [[Minecraft:trial chambers]] explorer maps.
 
=== Non-mob entities ===
=== Non-mob entities ===
'''{{animate|White Cushion JE1.png;Light Gray Cushion JE1.png;Gray Cushion JE1.png;Black Cushion JE1.png;Brown Cushion JE1.png;Red Cushion JE1.png;Orange Cushion JE1.png;Yellow Cushion JE1.png;Lime Cushion JE1.png;Green Cushion JE1.png;Cyan Cushion JE1.png;Light Blue Cushion JE1.png;Blue Cushion JE1.png;Purple Cushion JE1.png;Magenta Cushion JE1.png;Pink Cushion JE1.png|32px}} [[Minecraft:Cushion]]'''
'''{{animate|White Cushion JE1.png;Light Gray Cushion JE1.png;Gray Cushion JE1.png;Black Cushion JE1.png;Brown Cushion JE1.png;Red Cushion JE1.png;Orange Cushion JE1.png;Yellow Cushion JE1.png;Lime Cushion JE1.png;Green Cushion JE1.png;Cyan Cushion JE1.png;Light Blue Cushion JE1.png;Blue Cushion JE1.png;Purple Cushion JE1.png;Magenta Cushion JE1.png;Pink Cushion JE1.png|32px}} [[Minecraft:Cushion]]'''
Line 211: Line 234:
** Always aligns horizontally to the grid, but vertically sit on top of the supporting surface.
** Always aligns horizontally to the grid, but vertically sit on top of the supporting surface.
** Breaks if the supporting block is removed.
** Breaks if the supporting block is removed.
* Cushions are destroyed only when they are fully covered by blocks that cause suffocation.
* Cannot be moved.
* Cannot be moved.
* Does not have collision and can overlap with other objects except for other cushions.
* Does not have collision and can overlap with other objects except for other cushions.
Line 266: Line 290:
* In these structures can be found [[Minecraft:chest]]s and [[Minecraft:barrel]]s with randomly generated loot.
* In these structures can be found [[Minecraft:chest]]s and [[Minecraft:barrel]]s with randomly generated loot.
** The barrels contain an assortment of common items, perhaps most notably a chance for [[Minecraft:cobweb]].
** The barrels contain an assortment of common items, perhaps most notably a chance for [[Minecraft:cobweb]].
** The common chests can contain loot such as [[Minecraft:copper]] weapons and armor, [[Minecraft:bucket]]s, [[Minecraft:compass]]es, [[Minecraft:map]]s and [[Minecraft:firework rocket]]s.
** The common chests can contain loot such as [[Minecraft:copper]] weapons and armor, [[Minecraft:bucket]]s, [[Minecraft:compass]]es, [[Minecraft:map]]s and [[Minecraft:gunpowder]].
** The secret chests can contain loot such as [[Minecraft:iron]] weapons and armor, [[Minecraft:diamond]]s, [[Minecraft:gold]] and [[Minecraft:potion]]s.
** The secret chests can contain loot such as [[Minecraft:iron]] weapons and armor, [[Minecraft:diamond]]s, [[Minecraft:gold]], and [[Minecraft:potion]]s.
** Abandoned camp maps showing the location of other abandoned camps can be found in the "common chest" loot of abandoned camps.
** Explorer maps for several other structures can be found in the "secret chest" loot of abandoned camps.


=== 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}}.
* Command syntax has been modified to take into account number provider split:
** {{cmd|compute <''target''> integer <''int_provider''>}}
*** Where <code><''int_provider''></code> is either an element of <code>minecraft:context_int_provider</code> registry or an inline value.
** {{cmd|compute <''target''> float <''float_provider''> [<''scale''>]}}
*** Where <code><''float_provider''></code> is either an element of <code>minecraft:context_float_provider</code> registry or an inline value.
* If evaluation of a number provider fails (for example due to division by zero), command will fail.
'''{{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 290: Line 337:


'''[[Minecraft:Data component format]]'''
'''[[Minecraft:Data component format]]'''
 
* Added {{cd|minecraft:attack_animation}}
* Added <code>minecraft:attack_animation</code>
** The animation to play when the item is being used to attack something.
** The animation to play when the item is being used to attack something.
** Format: object with fields:
** Format: object with fields:
*** <code>type</code> – swing animation type, one of <code>whack</code> or <code>stab</code>.
*** {{cd|type}} – swing animation type, one of {{cd|whack}} or {{cd|stab}}.
*** <code>duration</code> positive integer, the length of the animation in ticks.
*** {{cd|duration}} non-negative integer, the length of the animation in ticks.
 
* Added <code>minecraft:interact_animation</code>
** The animation to play when the item is being used to interact with something.
** Format: same as <code>minecraft:attack_animation</code>


* Added {{cd|minecraft:block_transformer}}
* Added {{cd|minecraft:block_transformer}}
Line 351: Line 393:
** [[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:context_int_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:context_float_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.
** Brewing fuel items with remainders will be handled as follows:
*** If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground.
*** If the fuel has run out, the remainder item will remain in the fuel slot.
*** This behavior matches items placed in the input and reagent slots of the brewing stand.


* Added {{DCL|minecraft:compostable}}
* Added {{DCL|minecraft:compostable}}
** Represents the ability to compost an item and how it adds layers to the composter.
** Represents the ability to compost an item and how it adds layers to the composter.
** Format: object with fields
** Format: object with fields
*** {{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:context_int_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}}
** Describes an item that can be used as fuel for a [[Minecraft:furnace]], [[Minecraft:smoker]] or [[Minecraft:blast furnace]].
** Describes an item that can be used as fuel for a [[Minecraft:furnace]], [[Minecraft:smoker]] or [[Minecraft:blast furnace]].
** Format: object with fields
** Format: object with fields
*** {{cd|burn_time}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the time, in ticks, for which this fuel will burn.
*** {{cd|burn_time}} – namespaced ID pointing to an element of {{cd|minecraft:context_int_provider}} registry representing the time, in ticks, for which this fuel will burn.
*** {{cd|speed_multiplier}} – namespaced ID pointing to an element of {{cd|minecraft:number_provider}} registry representing the speed of the cooking/smelting.
*** {{cd|speed_multiplier}} – namespaced ID pointing to an element of {{cd|minecraft:context_float_provider}} registry representing the speed of the cooking/smelting.
*** {{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.
** Cooking fuel items with remainders will be handled as follows:
*** If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground.
*** If the fuel has run out, the remainder item will remain in the fuel slot.


* 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: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}}
* Added {{cd|minecraft:sign_text_front}} and {{cd|minecraft:sign_text_back}}
Line 387: Line 453:
*** {{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 401: Line 459:
*** {{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.
'''[[Minecraft:Debug properties]]'''
**** While multiple items with this component stack, the maximum vision will still never exceed 10.0.
* Added {{cd|ENABLE_FARLANDS}}.
** Disables the [[Minecraft:Far Lands (Java Edition)#"Modulo" patch|Beta 1.8 modulo patch]] which fixed the [[Minecraft:Far Lands (Java Edition)|Far Lands]] and other floating-point precision bugs.
** The traditional form of the Far Lands only appear in the Nether and the End as multiple other factors break down in the Overworld way before the Far Lands can appear there.
** The purpose of this debug flag is to compare the performance of the modulo fix as it had a non-zero performance cost.<ref>{{tweet|gegybeans|2095588232817725542|To ruin a little speculation fun, the DEBUG_FAR_LANDS option was added to compare performance with/without the patch that originally removed the Far Lands (as it has some non-zero cost).<br>There is no intention to *how* the Far Lands generate -|3 September 2026}}</ref>


'''[[Minecraft:Entity data]]'''
'''[[Minecraft:Entity data]]'''
Line 466: Line 527:
*** {{cd|max_projection_height}}: Non-negative integer representing the maximum change in y level from the original height to the placement height for a block in the square
*** {{cd|max_projection_height}}: 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:Language]]s'''
'''[[Minecraft:Key codes]]'''
* Added support for the {{w|Gothic language|Gothic}} language.
* Added new key codes for the following keys:
 
{| class="wikitable sortable collapsible" data-description="Keyboard key and multimedia button IDs" style="margin-left:0; margin-right:auto; text-align: center"
'''[[Minecraft:Loot function]]s'''
! ID
* Added {{cd|minecraft:command_slot_source}} loot table type.
! Displayed name
** Currently used to evaluate slot sources with the {{cmd|item}} and {{cmd|execute}} commands.
! colspan="2" | Physical key or button
** It takes the following parameters:
! Translation key
*** {{cd|container}}, the container or inventory being evaluated.
|-
*** {{cd|origin}}, the position at which the command was executed.
! {{code|key.keyboard.keypad.plus.minus}}
*** {{cd|this_entity}}, the @s entity of the command being executed (optional).
| {{btn|Keypad ±}}
 
| colspan="2" | {{key|Numpad ±}}
'''[[Minecraft:Loot table]]'''
| {{code|key.keyboard.keypad.plus.minus}}
* Added {{cd|till/rooted_dirt}} loot table for drops when [[Minecraft:rooted dirt]] is tilled with a hoe.
|-
 
! {{code|key.keyboard.keypad.left.parenthesis}}
'''[[Minecraft:Number provider]]s'''
| {{btn|Keypad (}}
* Added a {{cd|minecraft:number_provider}} registry
| colspan="2" | {{key|Numpad (}}
* Added vanilla number providers:
| {{code|key.keyboard.keypad.left.parenthesis}}
** {{cd|minecraft:compostable/low}}
|-
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 30% chance of returning {{cd|1}}
! {{code|key.keyboard.keypad.right.parenthesis}}
** {{cd|minecraft:compostable/low_medium}}
| {{btn|Keypad )}}
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 50% chance of returning {{cd|1}}
| colspan="2" | {{key|Numpad )}}
** {{cd|minecraft:compostable/medium}}
| {{code|key.keyboard.keypad.right.parenthesis}}
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 65% chance of returning {{cd|1}}
|-
** {{cd|minecraft:compostable/medium_high}}
! {{code|key.keyboard.keypad.period}}
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 85% chance of returning {{cd|1}}
| {{btn|Keypad .}}
** {{cd|minecraft:compostable/always_add_one}}
| colspan="2" | {{key|Numpad .}}<ref>{{bug|MC-310826}}</ref>
*** Always returns {{cd|1}}
| {{code|key.keyboard.keypad.period}}
 
|-
* Added {{cd|minecraft:number_dispatcher}} type
! {{code|key.keyboard.keypad.comma}}
** Returns the first case which fulfills its condition or the {{cd|default}} if none do.
| {{btn|Keypad ,}}
** Fields:
| colspan="2" | {{key|Numpad ,}}{{note|Appears to instead be interpreted as the keypad decimal point key on Linux: {{bug|MC-310845}}}}
*** {{cd|cases}} – a list of cases in the order that the dispatcher will try to execute them.
| {{code|key.keyboard.keypad.comma}}
**** Fields:
|-
***** {{cd|condition}} – a {{cd|minecraft:predicate}}
! {{code|key.keyboard.application}}
***** {{cd|number_provider}} – a {{cd|minecraft:number_provider}} which is executed if the condition is fulfilled.
| {{btn|Menu}}
*** {{cd|default}} – an optional {{cd|minecraft:number_provider}}
| colspan="2" | {{key|Menu}}
**** Defaults to a constant {{cd|0}} if omitted.
| {{code|key.keyboard.application}}
|-
! {{code|key.keyboard.mute}}
| {{btn|Mute}}
| colspan="2" | {{key|Mute}}
| {{code|key.keyboard.mute}}
|-
! {{code|key.keyboard.volume.down}}
| {{btn|Volume Down}}
| colspan="2" | {{key|Volume Down}}
| {{code|key.keyboard.volume.down}}
|-
! {{code|key.keyboard.volume.up}}
| {{btn|Volume Up}}
| colspan="2" | {{key|Volume Up}}
| {{code|key.keyboard.volume.up}}
|-
! {{code|key.keyboard.media.play.pause}}
| {{btn|Play/Pause}}
| colspan="2" | {{key|Media Play Pause}}
| {{code|key.keyboard.media.play.pause}}
|-
! {{code|key.keyboard.stop}}
| {{btn|Stop}}
| colspan="2" | {{key|Stop}}
| {{code|key.keyboard.stop}}
|-
! {{code|key.keyboard.cut}}
| {{btn|Cut}}
| colspan="2" | {{key|Cut}}
| {{code|key.keyboard.cut}}
|-
! {{code|key.keyboard.copy}}
| {{btn|Copy}}
| colspan="2" | {{key|Copy}}
| {{code|key.keyboard.copy}}
|-
! {{code|key.keyboard.paste}}
| {{btn|Paste}}
| colspan="2" | {{key|Paste}}
| {{code|key.keyboard.paste}}
|-
! {{code|key.keyboard.undo}}
| {{btn|Undo}}
| colspan="2" | {{key|Undo}}
| {{code|key.keyboard.undo}}
|-
! {{code|key.keyboard.again}}
| {{btn|Again}}
| colspan="2" | {{key|Redo}}<ref>{{bug|MC-310863}}</ref>
| {{code|key.keyboard.again}}
|-
! {{code|key.keyboard.ac.new}}
| {{btn|New}}
| colspan="2" | {{key|Application New}}
| {{code|key.keyboard.ac.new}}
|-
! {{code|key.keyboard.ac.save}}
| {{btn|Save}}
| colspan="2" | {{key|Application Save}}
| {{code|key.keyboard.ac.save}}
|-
! {{code|key.keyboard.help}}
| {{btn|Help}}
| colspan="2" | {{key|Help}}
| {{code|key.keyboard.help}}
|-
! {{code|key.keyboard.find}}
| {{btn|Find}}
| colspan="2" | {{key|Find}}
| {{code|key.keyboard.find}}
|-
! rowspan="2" | {{code|key.keyboard.lang1}}<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: {{bug|MC-311175}}</ref>
| rowspan="2" | {{btn|Language 1}}<ref name="genericintl"/>
| Windows/Linux
| {{key|Hangeul}}
| rowspan="2" | {{code|key.keyboard.lang1}}<ref name="genericintl"/>
|-
| macOS
| {{key|Eisu}}
|-
! rowspan="2" | {{code|key.keyboard.lang2}}<ref name="genericintl"/>
| rowspan="2" | {{btn|Language 2}}<ref name="genericintl"/>
| Windows/Linux
| {{key|Hanja}}
| rowspan="2" | {{code|key.keyboard.lang2}}<ref name="genericintl"/>
|-
| macOS
| {{key|Kana}}
|-
! {{code|key.keyboard.lang3}}<ref name="genericintl"/>
| {{btn|Language 3}}<ref name="genericintl"/>
| colspan="2" | {{key|Katakana}}
| {{code|key.keyboard.lang3}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.lang4}}<ref name="genericintl"/>
| {{btn|Language 4}}<ref name="genericintl"/>
| colspan="2" | {{key|Hiragana}}
| {{code|key.keyboard.lang4}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.lang5}}<ref name="genericintl"/>
| {{btn|Language 5}}<ref name="genericintl"/>
| colspan="2" | {{key|Zenkaku/Hankaku}}{{note|May not work correctly on Linux: {{bug|MC-310984}}}}
| {{code|key.keyboard.lang5}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international1}}<ref name="genericintl"/>
| {{btn|International 1}}<ref name="genericintl"/>
| colspan="2" | {{key|}} (JIS) / {{key|/}} (ABNT)
| {{code|key.keyboard.international1}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international2}}<ref name="genericintl"/>
| {{btn|International 2}}<ref name="genericintl"/>
| colspan="2" | {{key|Katakana/Hiragana}}
| {{code|key.keyboard.international2}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international3}}<ref name="genericintl"/>
| {{btn|International 3}}<ref name="genericintl"/>
| colspan="2" | {{key|¥}}
| {{code|key.keyboard.international3}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international4}}<ref name="genericintl"/>
| {{btn|International 4}}<ref name="genericintl"/>
| colspan="2" | {{key|Henkan}}
| {{code|key.keyboard.international4}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international5}}<ref name="genericintl"/>
| {{btn|International 5}}<ref name="genericintl"/>
| colspan="2" | {{key|Muhenkan}}
| {{code|key.keyboard.international5}}<ref name="genericintl"/>
|-
! {{code|key.keyboard.international6}}<ref name="generic9800">{{bug|MC-311184}}</ref>
| {{btn|International 6}}<ref name="generic9800"/>
| colspan="2" | {{key|Numpad ,}} (PC-9800){{note|Windows only; it is assumed that KEY_KPJPCOMMA is meant to represent this on Linux, but is incorrectly bound to International 5 - see https://github.com/libsdl-org/SDL/pull/16168}}
| {{code|key.keyboard.international6}}<ref name="generic9800"/>
|-
! {{code|key.keyboard.alternate.erase}}
| {{btn|Alternate Erase}}
| colspan="2" | {{note|Not recognised for some reason: {{bug|MC-311320}}}}
| {{code|key.keyboard.alternate.erase}}
|-
! {{code|key.keyboard.media.play}}
| {{btn|Media Play}}
| colspan="2" | {{key|Media Play}}
| {{code|key.keyboard.media.play}}
|-
! {{code|key.keyboard.media.pause}}
| {{btn|Media Pause}}
| colspan="2" | {{key|Media Pause}}
| {{code|key.keyboard.media.pause}}
|-
! {{code|key.keyboard.media.record}}
| {{btn|Record}}
| colspan="2" | {{key|Media Record}}
| {{code|key.keyboard.media.record}}
|-
! {{code|key.keyboard.media.fast.forward}}
| {{btn|Fast Forward}}
| colspan="2" | {{key|Media Fast Forward}}
| {{code|key.keyboard.media.fast.forward}}
|-
! {{code|key.keyboard.media.rewind}}
| {{btn|Rewind}}
| colspan="2" | {{key|Media Rewind}}
| {{code|key.keyboard.media.rewind}}
|-
! {{code|key.keyboard.media.next.track}}
| {{btn|Next Track}}
| colspan="2" | {{key|Media Next Track}}
| {{code|key.keyboard.media.next.track}}
|-
! {{code|key.keyboard.media.previous.track}}
| {{btn|Previous Track}}
| colspan="2" | {{key|Media Previous Track}}
| {{code|key.keyboard.media.previous.track}}
|-
! {{code|key.keyboard.media.stop}}
| {{btn|Media Stop}}
| colspan="2" | {{key|Media Stop}}
| {{code|key.keyboard.media.stop}}
|-
! {{code|key.keyboard.media.eject}}
| {{btn|Eject}}
| colspan="2" | {{key|Media Eject}}
| {{code|key.keyboard.media.eject}}
|-
! {{code|key.keyboard.media.select}}
| {{btn|Media Select}}
| colspan="2" | {{key|Media Select}}
| {{code|key.keyboard.media.select}}
|-
! {{code|key.keyboard.cancel}}
| {{btn|Cancel}}
| colspan="2" | {{key|Cancel}}
| {{code|key.keyboard.cancel}}
|-
! {{code|key.keyboard.ac.open}}
| {{btn|AC Open}}
| colspan="2" | {{key|Application Open}}
| {{code|key.keyboard.ac.open}}
|-
! {{code|key.keyboard.ac.close}}
| {{btn|AC Close}}
| colspan="2" | {{key|Application Close}}
| {{code|key.keyboard.ac.close}}
|-
! {{code|key.keyboard.ac.exit}}
| {{btn|AC Exit}}
| colspan="2" | {{key|Application Exit}}
| {{code|key.keyboard.ac.exit}}
|-
! {{code|key.keyboard.ac.stop}}
| {{btn|AC Stop}}
| colspan="2" | {{key|Application Stop}}
| {{code|key.keyboard.ac.stop}}
|-
! {{code|key.keyboard.ac.properties}}
| {{btn|AC Properties}}
| colspan="2" | {{key|Application Properties}}
| {{code|key.keyboard.ac.properties}}
|-
! {{code|key.keyboard.ac.search}}
| {{btn|AC Search}}
| colspan="2" | {{key|Application Search}}
| {{code|key.keyboard.ac.search}}
|-
! {{code|key.keyboard.ac.home}}
| {{btn|AC Home}}
| colspan="2" | {{key|Application Home}}
| {{code|key.keyboard.ac.home}}
|-
! {{code|key.keyboard.ac.back}}
| {{btn|AC Back}}
| colspan="2" | {{key|Application Back}}
| {{code|key.keyboard.ac.back}}
|-
! {{code|key.keyboard.ac.forward}}
| {{btn|AC Forward}}
| colspan="2" | {{key|Application Forward}}
| {{code|key.keyboard.ac.forward}}
|-
! {{code|key.keyboard.ac.refresh}}
| {{btn|AC Refresh}}
| colspan="2" | {{key|Application Refresh}}
| {{code|key.keyboard.ac.refresh}}
|-
! {{code|key.keyboard.ac.bookmarks}}
| {{btn|AC Favorites}}
| colspan="2" | {{key|Application Bookmarks}}
| {{code|key.keyboard.ac.bookmarks}}
|-
! {{code|key.keyboard.power}}
| {{btn|Power}}
| colspan="2" | {{key|Power}}
| {{code|key.keyboard.power}}
|-
! {{code|key.keyboard.sleep}}
| {{btn|Sleep}}
| colspan="2" | {{key|Sleep}}
| {{code|key.keyboard.sleep}}
|-
! {{code|key.keyboard.wake}}
| {{btn|Wake}}
| colspan="2" | {{key|Wake}}
| {{code|key.keyboard.wake}}
|}


* Added {{cd|minecraft:conditional}} type
* {{code|key.keyboard.left.alt}}, {{code|key.keyboard.right.alt}}, {{code|key.keyboard.left.win}}, and {{code|key.keyboard.right.win}} now have different display names depending on the user's operating system.
** Returns the value from {{cd|on_true}} if its condition or {{cd|on_false}} if not.
* 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:
** Fields:
{| class="wikitable" data-description="Mouse button IDs" style="text-align:center"
*** {{cd|conditions}} – a {{cd|minecraft:predicate}}
! ID
*** {{cd|on_true}} – a {{cd|minecraft:number_provider}} which is executed if its condition is fulfilled.
! Displayed name
*** {{cd|on_false}} – an optional {{cd|minecraft:number_provider}}
! Description
**** Defaults to a constant {{cd|0}} if omitted.
|-
 
! {{code|key.mouse.9}}
* Added {{cd|minecraft:weighted_list}}
| {{btn|Button 9}}
** Returns a value from a distribution of weighted number providers.
| {{mouse|ninth}}
** Fields:
|-
*** {{cd|distribution}} – a list of objects with the following fields.
! {{code|key.mouse.10}}
**** Fields:
| {{btn|Button 10}}
***** {{cd|data}} – a {{cd|minecraft:number_provider}}
| {{mouse|tenth}}
***** {{cd|weight}} – a positive integer
|-
 
! {{code|key.mouse.11}}
'''[[Minecraft:Options]]'''
| {{btn|Button 11}}
* Added Quit Shortcuts option.
| {{mouse|eleventh}}
** 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}} or {{key|Command+W}} on macOS.
! {{code|key.mouse.12}}
** Disabled by default.
| {{btn|Button 12}}
| {{mouse|twelfth}}
|-
! {{code|key.mouse.13}}
| {{btn|Button 13}}
| {{mouse|thirteenth}}
|-
! {{code|key.mouse.14}}
| {{btn|Button 14}}
| {{mouse|fourteenth}}
|-
! {{code|key.mouse.15}}
| {{btn|Button 15}}
| {{mouse|fifteenth}}
|-
! {{code|key.mouse.16}}
| {{btn|Button 16}}
| {{mouse|sixteenth}}
|-
! {{code|key.mouse.17}}
| {{btn|Button 17}}
| {{mouse|seventeenth}}
|-
! {{code|key.mouse.18}}
| {{btn|Button 18}}
| {{mouse|eighteenth}}
|-
! {{code|key.mouse.19}}
| {{btn|Button 19}}
| {{mouse|nineteenth}}
|-
! {{code|key.mouse.20}}
| {{btn|Button 20}}
| {{mouse|twentieth}}
|-
! {{code|key.mouse.21}}
| {{btn|Button 21}}
| {{mouse|twenty-first}}
|-
! {{code|key.mouse.22}}
| {{btn|Button 22}}
| {{mouse|twenty-second}}
|-
! {{code|key.mouse.23}}
| {{btn|Button 23}}
| {{mouse|twenty-third}}
|-
! {{code|key.mouse.24}}
| {{btn|Button 24}}
| {{mouse|twenty-fourth}}
|-
! {{code|key.mouse.25}}
| {{btn|Button 25}}
| {{mouse|twenty-fifth}}
|-
! {{code|key.mouse.26}}
| {{btn|Button 26}}
| {{mouse|twenty-sixth}}
|-
! {{code|key.mouse.27}}
| {{btn|Button 27}}
| {{mouse|twenty-seventh}}
|-
! {{code|key.mouse.28}}
| {{btn|Button 28}}
| {{mouse|twenty-eighth}}
|-
! {{code|key.mouse.29}}
| {{btn|Button 29}}
| {{mouse|twenty-ninth}}
|-
! {{code|key.mouse.30}}
| {{btn|Button 30}}
| {{mouse|thirtieth}}
|-
! {{code|key.mouse.31}}
| {{btn|Button 31}}
| {{mouse|thirty-first}}
|-
! {{code|key.mouse.32}}
| {{btn|Button 32}}
| {{mouse|thirty-second}}
|-
! {{code|key.mouse.33}}
| {{btn|Button 33}}
| {{mouse|thirty-third}}
|-
! {{code|key.mouse.34}}
| {{btn|Button 34}}
| {{mouse|thirty-fourth}}
|-
! {{code|key.mouse.35}}
| {{btn|Button 35}}
| {{mouse|thirty-fifth}}
|-
! {{code|key.mouse.36}}
| {{btn|Button 36}}
| {{mouse|thirty-sixth}}
|-
! {{code|key.mouse.37}}
| {{btn|Button 37}}
| {{mouse|thirty-seventh}}
|-
! {{code|key.mouse.38}}
| {{btn|Button 38}}
| {{mouse|thirty-eighth}}
|-
! {{code|key.mouse.39}}
| {{btn|Button 39}}
| {{mouse|thirty-ninth}}
|-
! {{code|key.mouse.40}}
| {{btn|Button 40}}
| {{mouse|fortieth}}
|-
! {{code|key.mouse.41}}
| {{btn|Button 41}}
| {{mouse|forty-first}}
|-
! {{code|key.mouse.42}}
| {{btn|Button 42}}
| {{mouse|forty-second}}
|-
! {{code|key.mouse.43}}
| {{btn|Button 43}}
| {{mouse|forty-third}}
|-
! {{code|key.mouse.44}}
| {{btn|Button 44}}
| {{mouse|forty-fourth}}
|-
! {{code|key.mouse.45}}
| {{btn|Button 45}}
| {{mouse|forty-fifth}}
|-
! {{code|key.mouse.46}}
| {{btn|Button 46}}
| {{mouse|forty-sixth}}
|-
! {{code|key.mouse.47}}
| {{btn|Button 47}}
| {{mouse|forty-seventh}}
|-
! {{code|key.mouse.48}}
| {{btn|Button 48}}
| {{mouse|forty-eighth}}
|}


'''[[Minecraft:Particles]]'''
* 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.}}
* Added {{cd|minecraft:red_poplar_leaves}}
{| class="wikitable sortable collapsible" data-description="IDs of unused keys" style="margin-left:0; margin-right:auto; text-align: center"
** Falls from red poplar leaves blocks.
! ID / translation key
** Has no fields.
! Displayed name
 
|-
* Added {{cd|minecraft:orange_poplar_leaves}}
! {{code|key.keyboard.ac.print}}
** Falls from orange poplar leaves blocks.
| {{btn|AC Print}}
** Has no fields.
|-
 
! {{code|key.keyboard.call}}
* Added {{cd|minecraft:yellow_poplar_leaves}}
| {{btn|Call}}
** Falls from yellow poplar leaves blocks.
|-
** Has no fields.
! {{code|key.keyboard.channel.down}}
 
| {{btn|Channel Down}}
'''[[Minecraft:Statistics]]'''
|-
* Added Times Slept in a Straw Bed statistic.
! {{code|key.keyboard.channel.up}}
 
| {{btn|Channel Up}}
'''[[Minecraft:Tag (Java Edition)|Tags]]'''
|-
* Biome Tags
! {{code|key.keyboard.clear}}
** Added tags for biomes which will generate the respective abandoned camp variant:
| {{btn|Clear}}
*** {{cd|#has_structure/abandoned_camp_bamboo_jungle}}
|-
*** {{cd|#has_structure/abandoned_camp_birch_forest}}
! {{code|key.keyboard.clear.again}}
*** {{cd|#has_structure/abandoned_camp_cherry_grove}}
| {{btn|Clear Again}}
*** {{cd|#has_structure/abandoned_camp_dappled_forest}}
|-
*** {{cd|#has_structure/abandoned_camp_flower_forest}}
! {{code|key.keyboard.crsel}}
*** {{cd|#has_structure/abandoned_camp_forest}}
| {{btn|CrSel}}
*** {{cd|#has_structure/abandoned_camp_meadow}}
|-
*** {{cd|#has_structure/abandoned_camp_old_growth_birch_forest}}
! {{code|key.keyboard.currency.subunit}}
*** {{cd|#has_structure/abandoned_camp_old_growth_pine_taiga}}
| {{btn|Currency Subunit}}
*** {{cd|#has_structure/abandoned_camp_old_growth_spruce_taiga}}
|-
*** {{cd|#has_structure/abandoned_camp_savanna}}
! {{code|key.keyboard.currency.unit}}
*** {{cd|#has_structure/abandoned_camp_pale_garden}}
| {{btn|Currency Unit}}
*** {{cd|#has_structure/abandoned_camp_snowy_taiga}}
|-
*** {{cd|#has_structure/abandoned_camp_sparse_jungle}}
! {{code|key.keyboard.decimal.separator}}
*** {{cd|#has_structure/abandoned_camp_swamp}}
| {{btn|Decimal Separator}}
*** {{cd|#has_structure/abandoned_camp_taiga}}
|-
*** {{cd|#has_structure/abandoned_camp_windswept_forest}}
! {{code|key.keyboard.end.call}}
*** {{cd|#has_structure/abandoned_camp_wooded_badlands}}
| {{btn|End Call}}
 
|-
* Block Tags
! {{code|key.keyboard.enter2}}
** Added {{cd|#blocks_dolphin_jump}}
| {{btn|Enter 2}}
*** Contains all blocks that [[Minecraft:dolphin]]s cannot move through when jumping out of water.
|-
** Added {{cd|#blocks_fluid_flow}}
! {{code|key.keyboard.execute}}
*** Contains all blocks that block fluid flow.
| {{btn|Execute}}
*** Currently, this tag does nothing.<ref name="fluid tag">{{bug|MC-309259||Block Tags "#blocks_fluid_flow" and "#washed_away_by_fluids" do not work as expected}}</ref>
|-
** Added {{cd|#blocks_lava_fire_spread}}
! {{code|key.keyboard.exsel}}
*** Contains all blocks that block the creation of fire by lava.
| {{btn|ExSel}}
** Added {{cd|#blocks_motion}}
|-
*** Collection tag containing all blocks that are considered to block motion in some way.
! {{code|key.keyboard.international7}}
** Added {{cd|#blocks_motion_in_heightmap}}
| {{btn|International 7}}
*** Contains all blocks that are taken into account for the {{cd|motion_blocking}} heightmap.
|-
** Added {{cd|#blocks_motion_in_heightmap_no_leaves}}
! {{code|key.keyboard.international8}}
*** Contains all blocks that are taken into account for the {{cd|motion_blocking_no_leaves}} heightmap.
| {{btn|International 8}}
** Added {{cd|#blocks_motion_no_leaves}}
|-
*** Collection tag containing all blocks that are considered to block motion in some way, but excluding leaf blocks.
! {{code|key.keyboard.international9}}
** Added {{cd|#cannot_place_basalt_pillar_on}}
| {{btn|International 9}}
** Added {{cd|#cats_can_lie_on}}
|-
*** Contains blocks which [[Minecraft:cat]]s can randomly lie on.
! {{code|key.keyboard.keypad.00}}
** Added {{cd|#cats_can_sit_on}}
| {{btn|Keypad 00}}
*** Contains blocks which cats can randomly sit on.
|-
** Added {{cd|#causes_suffocation}}
! {{code|key.keyboard.keypad.000}}
*** Contains all blocks where entities can suffocate.
| {{btn|Keypad 000}}
**Added <code>#concrete_stairs</code>
|-
*** Contains all concrete stair blocks.
! {{code|key.keyboard.keypad.a}}
**Added <code>#concrete_slabs</code>
| {{btn|Keypad A}}
***Contains all concrete slab blocks.
|-
** Added {{cd|#cushion_uses_collision_shape}}
! {{code|key.keyboard.keypad.ampersand}}
*** Contains blocks where cushion placement raycasts against collision shape instead of interaction shape.
| {{btn|Keypad &}}
** Added {{cd|#entities_can_teleport_to}}
|-
*** Contains all blocks that entities are allowed to teleport to.
! {{code|key.keyboard.keypad.at}}
** Added {{cd|#height_specific_ore_replaceables}}
| {{btn|Keypad @}}
*** Contains all blocks which ore features will turn into stone ores if found above Y=0 and into deepslate ores if found below Y=8.
|-
** Added {{cd|#ice_melts_when_destroyed_above}}
! {{code|key.keyboard.keypad.b}}
*** Contains all blocks that causes ice to melt into water if the ice is destroyed when placed above them.
| {{btn|Keypad B}}
** Added {{cd|#ores}}
|-
*** Collection tag containing all types of ores.
! {{code|key.keyboard.keypad.backspace}}
** Added {{cd|#poplar_logs}}
| {{btn|Keypad Backspace}}
*** Contains all poplar log blocks.
|-
** Added {{cd|#required_for_poplar_leaf_ambience}}
! {{code|key.keyboard.keypad.binary}}
*** Contains the blocks which can satisfy requirement for Poplar leaves to make ambient sound.
| {{btn|Keypad Binary}}
** Added {{cd|#sculk_growth_inhibitors}}  
|-
*** Contains blocks which keep [[Minecraft:sculk]] from spreading when more than 2 are in the 8×2×8 area around it.
! {{code|key.keyboard.keypad.c}}
** Added {{cd|#skulls}}
| {{btn|Keypad C}}
*** Collection tag containing all head and skull blocks.
|-
** Added {{cd|#speeds_up_zombie_villager_curing}}
! {{code|key.keyboard.keypad.clear}}
*** Contains blocks which can increase [[Minecraft:zombie villager]] curing time if placed nearby.
| {{btn|Keypad Clear}}
** Added {{cd|#turns_into_dirt_path}}
|-
*** Contains all blocks that turn into [[Minecraft:dirt path]] blocks when a shovel is used for pathmaking.
! {{code|key.keyboard.keypad.clear.entry}}
** Added {{cd|#turns_into_farmland}}
| {{btn|Keypad Clear Entry}}
*** Contains all blocks that turn into [[Minecraft:farmland]] blocks when a hoe is used for tilling.
|-
** Added {{cd|#villager_babies_can_jump_on_bed}}
! {{code|key.keyboard.keypad.colon}}
*** Contains Bed blocks which Villager kids can jump on.
| {{btn|Keypad :}}
** Added {{cd|#villagers_can_sleep_on_bed}}
|-
*** Contains bed blocks which villagers can sleep on.
! {{code|key.keyboard.keypad.d}}
** Added {{cd|#washed_away_by_fluids}}
| {{btn|Keypad D}}
*** Contains all blocks that break when a fluid flows through them.
|-
*** Currently, this tag does nothing, causing blocks like redstone components and cobwebs to not be broken by flowing water.<ref name="fluid tag"></ref>
! {{code|key.keyboard.keypad.double.ampersand}}
** Added {{cd|#wool_slabs}}
| {{btn|Keypad &&}}
*** Contains all wool slabs blocks.
|-
** Added {{cd|#wool_stairs}}
! {{code|key.keyboard.keypad.double.vertical.bar}}
*** Contains all wool stairs blocks.
| {{btn|Keypad <nowiki>||</nowiki>}}
|-
! {{code|key.keyboard.keypad.e}}
| {{btn|Keypad E}}
|-
! {{code|key.keyboard.keypad.equals.as400}}
| {{btn|Keypad {{=}} (AS400)}}
|-
! {{code|key.keyboard.keypad.exclamation}}
| {{btn|Keypad !}}
|-
! {{code|key.keyboard.keypad.f}}
| {{btn|Keypad F}}
|-
! {{code|key.keyboard.keypad.greater}}
| {{btn|Keypad >}}
|-
! {{code|key.keyboard.keypad.hash}}
| {{btn|Keypad #}}
|-
! {{code|key.keyboard.keypad.hexadecimal}}
| {{btn|Keypad Hexadecimal}}
|-
! {{code|key.keyboard.keypad.left.brace}}
| {{btn|Keypad {}}
|-
! {{code|key.keyboard.keypad.less}}
| {{btn|Keypad <}}
|-
! {{code|key.keyboard.keypad.memory.add}}
| {{btn|Keypad M+}}
|-
! {{code|key.keyboard.keypad.memory.clear}}
| {{btn|Keypad MC}}
|-
! {{code|key.keyboard.keypad.memory.divide}}
| {{btn|Keypad M/}}
|-
! {{code|key.keyboard.keypad.memory.multiply}}
| {{btn|Keypad M*}}
|-
! {{code|key.keyboard.keypad.memory.recall}}
| {{btn|Keypad MR}}
|-
! {{code|key.keyboard.keypad.memory.store}}
| {{btn|Keypad MS}}
|-
! {{code|key.keyboard.keypad.memory.subtract}}
| {{btn|Keypad M-}}
|-
! {{code|key.keyboard.keypad.octal}}
| {{btn|Keypad Octal}}
|-
! {{code|key.keyboard.keypad.percent}}
| {{btn|Keypad %}}
|-
! {{code|key.keyboard.keypad.power}}
| {{btn|Keypad ^}}
|-
! {{code|key.keyboard.keypad.right.brace}}
| {{btn|Keypad <nowiki>}</nowiki>}}
|-
! {{code|key.keyboard.keypad.space}}
| {{btn|Keypad Space}}
|-
! {{code|key.keyboard.keypad.tab}}
| {{btn|Keypad Tab}}
|-
! {{code|key.keyboard.keypad.vertical.bar}}
| {{btn|Keypad <nowiki>|</nowiki>}}
|-
! {{code|key.keyboard.keypad.xor}}
| {{btn|Keypad XOR}}
|-
! {{code|key.keyboard.lang6}}
| {{btn|Language 6}}
|-
! {{code|key.keyboard.lang7}}
| {{btn|Language 7}}
|-
! {{code|key.keyboard.lang8}}
| {{btn|Language 8}}
|-
! {{code|key.keyboard.lang9}}
| {{btn|Language 9}}
|-
! {{code|key.keyboard.mode}}
| {{btn|Mode}}
|-
! {{code|key.keyboard.oper}}
| {{btn|Oper}}
|-
! {{code|key.keyboard.out}}
| {{btn|Out}}
|-
! {{code|key.keyboard.prior}}
| {{btn|Prior}}
|-
! {{code|key.keyboard.select}}
| {{btn|Select}}
|-
! {{code|key.keyboard.separator}}
| {{btn|Separator}}
|-
! {{code|key.keyboard.soft.left}}
| {{btn|Soft Left}}
|-
! {{code|key.keyboard.soft.right}}
| {{btn|Soft Right}}
|-
! {{code|key.keyboard.sys.req}}
| {{btn|SysRq}}
|-
! {{code|key.keyboard.thousands.separator}}
| {{btn|Thousands Separator}}
|}


* Damage Type Tags
'''[[Minecraft:Language]]s'''
** Added {{cd|#no_wolf_retaliation}} for all damage types that should not cause tamed wolves to attack their source in order to defend their owner.
* Added support for the {{w|Gothic language|Gothic}} language.


* Entity Tags
'''[[Minecraft:Loot function]]s'''
** Added {{cd|#cannot_be_dismounted_by_item_usage}}
* Added {{cd|minecraft:command_slot_source}} loot table type.
*** Contains all entities which cannot be dismounted by items.
** Currently used to evaluate slot sources with the {{cmd|item}} and {{cmd|execute}} commands.
 
** It takes the following parameters:
* Item Tags
*** {{cd|container}}, the container or inventory being evaluated.
** Added <code>#concrete_stairs</code>
*** {{cd|origin}}, the position at which the command was executed.
*** Contains all concrete stair items.
*** {{cd|this_entity}}, the @s entity of the command being executed (optional).
** Added <code>#concrete_slabs</code>
*** Contains all concrete slab items.
** Added <code>#cloneable_maps</code>
*** Contains filled maps plus all explorer maps items and buried treasure maps, used as the input to the <code>map_cloning</code> recipe.
** Added {{cd|#cushions}}
** Added {{cd|#douses_campfires}}
*** Contains items that can douse a lit [[Minecraft:campfire]] block.
** Added <code>#extendable_maps</code>
*** Contains maps that can be zoomed out with paper, either in a crafting table or at a cartography table.
** Added {{cd|#mushrooms}}
*** Contains all mushroom items.
** Added {{cd|#ores}}
*** Collection tag containing all types of ores.
** Added {{cd|#poplar_logs}}
*** Contains all poplar log items.
** Added {{cd|#wool_slabs}}
*** Contains all wool slabs items.
** Added {{cd|#wool_stairs}}
*** Contains all wool stairs items.


* Structure Tags
'''[[Minecraft:Loot table]]'''
** Added {{cd|#abandoned_camp}}  
* Added {{cd|till/rooted_dirt}} loot table for drops when [[Minecraft:rooted dirt]] is tilled with a hoe.
*** Contains all variants of [[Minecraft:abandoned camp]]s.


== Changes ==
'''[[Minecraft:Number provider]]s'''
=== Blocks ===
* Added a {{cd|minecraft:number_provider}} registry
'''[[Minecraft:Decorated pot]]'''
* Added vanilla number providers:
* Items (bricks and pottery sherds) dropped from breaking a decorated pot side will now preserve data.
** {{cd|minecraft:compostable/low}}
* Decorated pot now it can have empty sides and so it doesn't drop anything when broken.
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 30% chance of returning {{cd|1}}
** In survival mode, this is accessible via naturally generated undecorated pots and by crafting using the {{cd|decorated_pot_simple}} recipe from the [[Minecraft:recipe book]].
** {{cd|minecraft:compostable/low_medium}}
** It is also accessible via the Creative inventory or through commands where at least one side is not defined in {{cd|sherds}}.
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 50% chance of returning {{cd|1}}
** Previously, empty sides were treated as [[Minecraft:brick]].
** {{cd|minecraft:compostable/medium}}
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 65% chance of returning {{cd|1}}
** {{cd|minecraft:compostable/medium_high}}
*** Returns {{cd|1}} if the {{cd|minecraft:block_state}} context parameter is an empty composter, otherwise has a 85% chance of returning {{cd|1}}
** {{cd|minecraft:compostable/always_add_one}}
*** Always returns {{cd|1}}


'''[[File:Hay Bale (UD) JE3.png|32px]] [[Minecraft:Hay Bale|Hay bale]]'''
* Added {{cd|minecraft:product}}
* Updated sides texture from [[File:Hay Bale (UD) JE2 BE2.png|32px]] so that the two red twines appear symmetrically distant from the top/bottom edges; the twines now line up with the [[Minecraft:straw bed]] texture too.
** 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.
** Returns the product of the operands, multiplying them all together.
** Requires at least one operand.


'''[[Minecraft:Sign]]s'''
* Added {{cd|minecraft:minimum}}
* Signs no longer automatically execute click events in custom text.
** 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.
** Returns the minimum value of the operands.
** Requires at least one operand.


=== Items ===
* Added {{cd|minecraft:maximum}}
'''[[Minecraft:Explorer map|Explorer maps]]'''
** Fields:
* [[File:Abandoned_Campsite_Map_JE1.png|width=32x32]] Added abandoned campsite maps showing the location of other [[Minecraft:Abandoned camp|abandoned camps]] in the following biomes:
*** {{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.
** [[Minecraft:Bamboo Jungle]]
** Returns the maximum value of the operands.
** [[Minecraft:Cherry Grove]]
** Requires at least one operand.
** [[Minecraft:Birch Forest]]
** [[Minecraft:Dappled Forest]]
** [[Minecraft:Flower Forest]]
** [[Minecraft:Pale Garden]]
** [[Minecraft:Swamp]]
** [[Minecraft:Windswept Forest]]
* Added explorer maps for the following structures:
** [[File:Ancient_City_Map_JE1.png|width=32x32]] [[Minecraft:Ancient City]]
** [[File:Mineshaft_Map_JE1.png|width=32x32]] [[Minecraft:Mineshaft]]
** [[File:Desert_Pyramid_Map_JE1.png|width=32x32]] [[Minecraft:Desert Pyramid]]
** [[File:Warm_Ocean_Ruins_Map_JE1.png|width=32x32]] [[Minecraft:Warm Ocean Ruins]]
* Updated existing Explorer maps inventory icons textures:


{| class="wikitable collapsible" style="text-align: center;"
* Added {{cd|minecraft:average}}
|+All Texture Changes
** Fields:
!Structure
*** {{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.
!Before
** Returns the average value of the operands.
!After
** Requires at least one operand.
|-
|[[Minecraft:Buried Treasure]]
|[[File:Map_(item)_JE2.png|width=32x32]]
|[[File:Buried_Treasure_Map_JE3.png|width=32x32]]
|-
|[[Minecraft:Desert Village]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Desert_Village_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Plains Village]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Plains_Village_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Savanna Village]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Savanna_Village_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Snowy Village]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Snowy_Village_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Taiga Village]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Taiga_Village_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Jungle Pyramid]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Jungle_Pyramid_Explorer_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Swamp Hut]]
|[[File:Village_Map_JE1.png|width=32x32]]
|[[File:Swamp_Hut_Explorer_Map_JE2.png|width=32x32]]
|-
|[[Minecraft:Ocean Monument]]
|[[File:Ocean_Explorer_Map_JE2.png|width=32x32]]
|[[File:Ocean_Monument_Explorer_Map_JE3.png|width=32x32]]
|-
|[[Minecraft:Woodland Mansion]]
|[[File:Woodland_Explorer_Map_JE2.png|width=32x32]]
|[[File:Woodland_Mansion_Explorer_Map_JE3.png|width=32x32]]
|-
|[[Minecraft:Trial Chambers]]
|[[File:Trial_Explorer_Map_JE1.png|width=32x32]]
|[[File:Trial_Chambers_Explorer_Map_JE2.png|width=32x32]]
|-
|}


* The player icon on maps has been updated to always show the direction the player is facing.
* Added {{cd|minecraft:number_dispatcher}} type
* These items cannot be obtained from the Creative inventory.
** Returns the first case which fulfills its condition or the {{cd|default}} if none do.
* Existing explorer maps in old worlds are converted to the matching new item on load.
** Fields:
* Explorer maps can still be cloned in a [[Minecraft:crafting table]], and the copies keep their own item type.
*** {{cd|cases}} – a list of cases in the order that the dispatcher will try to execute them.
* Explorer maps and buried treasure maps can no longer be zoomed out, neither in a [[Minecraft:crafting table]] nor in a [[Minecraft:cartography table]].
**** Fields:
** Buried Treasure Maps could previously be zoomed out in both.
***** {{cd|condition}} – a {{cd|minecraft:predicate}}
** Explorer Maps could previously be zoomed out in a cartography table.
***** {{cd|number_provider}} – a {{cd|minecraft:number_provider}} which is executed if the condition is fulfilled.
** Only maps in the {{cd|#minecraft:extendable_maps}} tag can be zoomed out.
*** {{cd|default}} – an optional {{cd|minecraft:number_provider}}
'''[[Minecraft:Map]]''' and '''Empty Map'''
**** Defaults to a constant {{cd|0}} if omitted.
* [[File:Empty_Map_JE4.png|width=32x32]] [[File:Map_(item)_JE3.png|width=32x32]] Updated inventory icons texture.


'''[[Minecraft:Pottery sherds]]'''
* Added {{cd|minecraft:conditional}} type
* Pottery sherds are now data-driven.
** Returns the value from {{cd|on_true}} if its condition or {{cd|on_false}} if not.
** Fields:
*** {{cd|conditions}} – a {{cd|minecraft:predicate}}
*** {{cd|on_true}} – a {{cd|minecraft:number_provider}} which is executed if its condition is fulfilled.
*** {{cd|on_false}} – an optional {{cd|minecraft:number_provider}}
**** Defaults to a constant {{cd|0}} if omitted.


'''[[Minecraft:Shield]]'''
* Added {{cd|minecraft:weighted_list}}
* When using a shield together with a [[Minecraft:hoe]] or a [[Minecraft:shovel]], raising the shield will take precedence over tilling and pathmaking.
** Returns a value from a distribution of weighted number providers.
** Crouching will allow tilling and pathmaking.
** Fields:
*** {{cd|distribution}} – a list of objects with the following fields.
**** Fields:
***** {{cd|data}} – a {{cd|minecraft:number_provider}}
***** {{cd|weight}} – a positive integer


'''[[Minecraft:Suspicious stew]] and [[Minecraft:mushroom stew]]'''
* Integer number providers:
* Can now be crafted with 2 of any mushroom.
** Added the {{cd|minecraft:context_int_provider}} registry.
** All calculations are performed using 32-bit integer limits.
** Result of calculations that provide invalid values (like division by zero) is undefined.
** Format:
*** {{cd|type}} – a namespaced ID from {{cd|minecraft:context_int_provider_type}} registry
*** {{cd|<''type-specific fields''>}}
** Added {{cd|minecraft:abs}}
*** Returns the absolute value of {{cd|input}}.
*** If the final result does not fit inside 32-bit integer limit, calculation will be canceled.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
** Added {{cd|minecraft:avg}}
*** Evaluates multiple integer providers and returns arithmetic mean of results.
*** Division rounds towards {{cd|0}}
*** Fields:
**** {{cd|inputs}} – 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:context_int_provider}} type.
***** Requires at least one value.
** Added {{cd|minecraft:binomial}}
*** Makes {{cd|n}} random coin flips with probability of succeeding equal to {{cd|p}}, then returns number of successes.
*** Fields:
**** {{cd|n}} – number of coin flips, an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
**** {{cd|p}} – probability of a single coin flip succeeding ({{cd|[0.0, 1.0]}}), an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** Added {{cd|minecraft:conditional}}
*** Returns the value from {{cd|on_true}} if its condition is fulfilled or {{cd|on_false}} if not.
*** Fields:
**** {{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:context_int_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:context_int_provider}} type.
***** Defaults to a constant {{cd|0}} if omitted.
** Added {{cd|minecraft:constant}}
*** Returns a constant value.
*** Fields:
**** {{cd|value}} – an integer
*** Can be also written inline as a plain number ({{cd|foo: 1}} is equivalent to {{cd|foo: &lbrace;type:"minecraft:constant",value:1&rbrace;}})
** Added {{cd|minecraft:sub}}
*** Returns {{cd|left}} minus {{cd|right}}
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
** Added {{cd|minecraft:from_float}}
*** Evaluates a float provider and converts it to an integer value.
*** Non-integer values will be truncated (i.e. rounded towards zero).
*** Values that do not fit inside 32-bit integer (including {{cd|NaN}}) are treated as errors and will cancel calculation.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** Added {{cd|minecraft:max}}
*** Evaluates multiple integer providers and returns the largest of results.
*** Fields:
**** {{cd|inputs}} – 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:context_int_provider}} type.
***** Requires at least one value.
** Added {{cd|minecraft:min}}
*** Evaluates multiple integer providers and returns the smallest of results.
*** Fields:
**** {{cd|inputs}} – 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:context_int_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:mod}}
*** Returns the modulus of {{cd|left}} by {{cd|right}}
*** Uses truncated integer division (rounds towards zero).
*** Division by zero is treated as an error and will cancel calculation.
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:floor_mod}}
*** Returns the modulus of {{cd|left}} by {{cd|right}}.
*** Uses floored integer division (rounds towards negative infinity).
*** Division by zero is treated as an error and will cancel calculation.
** Fields:
*** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
*** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:environment_attribute}}
*** Fetches and provides the value of an environment attribute ({{cd|minecraft:environment_attribute}})
*** Fields:
**** {{cd|attribute}} – Environment Attribute ID to fetch (must be representable as an int)
** Added {{cd|minecraft:negate}}
*** Returns the negation of {{cd|input}}
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** input – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:number_dispatcher}}
*** Returns the first case which fulfils its condition or the default if none do.
*** Fields:
**** {{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|value}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type which is executed if the condition is fulfilled.
**** {{cd|default}} – an optional inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
***** Defaults to a constant {{cd|0}} if omitted
** Added {{cd|minecraft:pow}}
*** Returns {{cd|base}} to the power of {{cd|exponent}}
*** If the exponent is negative, calculation will be cancelled.
*** If both the base and the exponent are zero, calculation will be cancelled.
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** {{cd|base}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
**** {{cd|exponent}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:mul}}
*** Evaluates multiple integer providers and returns product of results.
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** {{cd|inputs}} – 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:context_int_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:div}}
*** Returns {{cd|left}} divided by {{cd|right}}
*** Uses truncated integer division (rounds towards zero).
*** Division by zero is treated as an error and will cancel calculation.
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
**** right – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:floor_div}}
*** Returns {{cd|left}} divided by {{cd|right}}.
*** Uses floored integer division (rounds towards negative infinity).
*** Division by zero is treated as an error and will cancel calculation.
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:score}}
*** Returns a score of the selected target
*** If {{cd|score}} is not present, provider returns value of {{cd|fallback}}
*** Fields:
**** {{cd|score}} – objective name
**** {{cd|target}} – score holder (same format as in number provider version)
**** {{cd|fallback}} – an optional inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type, defaults to {{cd|0}}
** Added {{cd|minecraft:storage}}
*** Returns an integer value from a command storage
*** If value is not present, is not a number or path returned multiple values, provider returns value of {{cd|fallback}}
*** Conversion of numeric NBT values that are not an integer is undefined
** Fields:
*** {{cd|storage}} – a namespaced ID of a command storage
*** {{cd|path}} – an NBT path
*** {{cd|fallback}} – an optional inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type, defaults to {{cd|0}}
** Added {{cd|minecraft:add}}
*** Evaluates multiple integer providers and returns sum of results.
*** If the final result does not fit inside 32-bit integer, calculation will be cancelled.
*** Fields:
**** {{cd|inputs}} – 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:context_int_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:uniform}}
*** Picks a random integer from a closed range
*** Fields:
**** {{cd|min}} – minimum value (inclusive), an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
**** {{cd|max}} – maximum value (inclusive), an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:weighted_list}}
** Returns a value from a distribution of weighted number providers.
** 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:context_int_provider}} type
***** {{cd|weight}} – a positive integer
* Float number providers
** Added a {{cd|minecraft:context_float_provider}} registry.
*** All calculations are peformed using single-precision floating-point numbers ("floats").
*** Result of calculations that produce NaN and Infinity is undefined.
*** Format:
**** {{cd|type}} – a namespaced ID from {{cd|minecraft:context_float_provider_type}} registry
**** {{cd|<type-specific fields>}}
** Added vanilla float number providers:
*** {{cd|minecraft:cooking/speed_default}}
**** Returns the default speed multiplier for cooking fuel.
*** {{cd|minecraft:cooking/normal_speed_multiplier}}
**** Returns the speed multiplier for cooking fuel when used in a normal furnace.
*** {{cd|minecraft:cooking/fast_speed_multiplier}}
**** Returns the speed multiplier for cooking fuel when used in a block matching the {{cd|block/fast_cooking}} predicate.
*** {{cd|minecraft:brewing/speed_default}}
**** Returns the default speed multiplier for brewing fuel.
** Added {{cd|minecraft:abs}}
*** Returns the absolute value of {{cd|input}}
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:avg}}
*** Evaluates multiple float providers and returns arithmetic mean of results.
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type
***** Requires at least one value
** Added {{cd|minecraft:ceil}}
*** Returns the ceiling (i.e. rounded towards positive infinity) value of {{cd|input}}
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** Added {{cd|minecraft:conditional}}
*** Returns the value from {{cd|on_true}} if its condition is fulfilled or {{cd|on_false}} if not.
*** Fields:
**** {{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:context_float_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:context_float_provider}} type.
***** Defaults to a constant {{cd|0.0}} if omitted.
** Added {{cd|minecraft:constant}}
*** Returns a constant value.
*** Fields:
**** {{cd|value}} – a float
** Can be also written inline as a plain number ({{cd|foo: 1.0}} is equivalent to {{cd|foo: {type:"minecraft:constant",value:1.0}}})
** Added {{cd|minecraft:cos}}
*** Returns the cosine of input
*** Fields:
**** {{cd|input}} – argument in radians, an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:sub}}
*** Returns {{cd|left}} minus {{cd|right}}
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:enchantment_level}}
*** Evaluates enchantment level-based ({{cd|minecraft:enchantment_level_based_value_type}}) parameter.
*** Fields:
**** {{cd|amount}}: A Level-Based Value giving a value based on the level of the enchantment.
** Added {{cd|minecraft:environment_attribute}}
*** Fetches and provides the value of an environment attribute ({{cd|minecraft:environment_attribute}}).
*** Fields:
**** {{cd|attribute}} – Environment Attribute ID to fetch (must be representable as a float).
** Added {{cd|minecraft:floor}}
*** Returns the floored (i.e. rounded towards negative infinity) value of input.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:from_int}}
*** Evaluates an integer provider and converts it to a float value.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
** Added {{cd|minecraft:length}}
*** Evaluates multiple float providers and returns square root of the sum of squares.
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type
***** Requires at least one value
** Added {{cd|minecraft:max}}
*** Evaluates multiple float providers and returns the largest of result
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:min}}
*** Evaluates multiple float providers and returns the smallest of results.
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:mod}}
*** Returns the modulus of left by right
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a minecraft:context_float_provider type
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:negate}}
*** Returns the negation of input.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:number_dispatcher}}
*** Returns the first case which fulfils its condition or the default if none do.
*** Fields:
**** {{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|value}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type which is executed if the condition is fulfilled.
**** {{cd|default}} – an optional inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
***** Defaults to a constant {{cd|0.0}} if omitted.
** Added {{cd|minecraft:pow}}
*** Returns {{cd|base}} to the power of {{cd|exponent}}.
*** Fields:
**** {{cd|base}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
**** {{cd|exponent}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:mul}}
*** Evaluates multiple float providers and returns product of results.
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type
***** Requires at least one value.
** Added {{cd|minecraft:div}}
*** Returns {{cd|left}} divided by right.
*** Fields:
**** {{cd|left}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
**** {{cd|right}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:round}}
*** Returns the rounded (towards nearest integer, with ties rounding towards positive infinity) value of input.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:sin}}
*** Returns the sine of input.
*** Fields:
**** {{cd|input}} – argument in radians, an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:sqrt}}
*** Returns the square root of input.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type
** Added {{cd|minecraft:storage}}
*** Returns a float value from a command storage.
*** If value is not present, is not a number or path returned multiple values, provider returns value of {{cd|fallback}}.
*** Conversion of numeric NBT values that are not a float is undefined.
*** Fields:
*** {{cd|storage}} – a namespaced ID of a command storage
*** {{cd|path}} – an NBT path
*** {{cd|fallback}} – an optional inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type, defaults to {{cd|0.0}}
** Added {{cd|minecraft:add}}
*** Evaluates multiple float providers and returns sum of results.
*** Fields:
**** {{cd|inputs}} – 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:context_float_provider}} type.
***** Requires at least one value.
** Added {{cd|minecraft:truncate}}
*** Returns the truncated (rounded towards zero) value of input.
*** Fields:
**** {{cd|input}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** Added {{cd|minecraft:uniform}}
*** Picks a random number from a range
*** Fields:
**** {{cd|min}} – minimum value, an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
**** {{cd|max}} – maximum value, an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** Added {{cd|minecraft:weighted_list}}
*** Returns a value from a distribution of weighted number providers.
*** 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:context_float_provider}} type.
****** {{cd|weight}} – a positive integer.


=== Mobs ===
'''[[Minecraft:Options]]'''
'''General'''
* Added Quit Shortcuts option.
* Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs.
** 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.
** Enabled by default.


'''[[Minecraft:Armadillo]]s'''
'''[[Minecraft:Particles]]'''
* No longer try to roll up when submerged in liquids.
* Added {{cd|minecraft:red_poplar_leaves}}
** Falls from red poplar leaves blocks.
** Has no fields.


'''[[Minecraft:Drowned]]'''
* Added {{cd|minecraft:orange_poplar_leaves}}
* Drowned with [[Minecraft:trident]]s will now use a melee attack if the player is within 3 blocks of them to match {{BE}}.
** Falls from orange poplar leaves blocks.
** This attack deals a base attack damage of 11.
** Has no fields.


'''[[Minecraft:Sulfur cube]]s'''
* Added {{cd|minecraft:yellow_poplar_leaves}}
* Changed the sounds of the "regular" sulfur cube archetype.
** Falls from yellow poplar leaves blocks.
** Has no fields.


'''[[Minecraft:Wandering trader]]'''
'''[[Minecraft:Predicate]]s'''
* Can now sell [[Minecraft:poplar log]]s, [[Minecraft:poplar sapling]]s, and [[Minecraft:shelf mushroom]]s.
* Added {{cd|minecraft:int_value_check}}
** Checks value against some range.
** Fields:
*** {{cd|value}} – an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
*** {{cd|test}} – one of:
**** An inline value (including a single integer) or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
***** Will test if result of value is equal to provided test value.
**** An object with fields:
***** {{cd|min}} – an optional inline value (including a single integer) or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
***** {{cd|max}} – an optional inline value (including a single integer) or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
***** Will test if result of value is between {{cd|min}} and {{cd|max}} (inclusive).


=== Non-mob entities ===
* Added {{cd|minecraft:float_value_check}}
'''[[Minecraft:Cushion]]'''
** Checks value against some range.
* No longer prevent vibrations when placed, broken or interacted with.
** Fields:
*** {{cd|value}} – an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
*** {{cd|test}} – one of:
**** An inline value (including a single float) or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
***** Will test if result of value is equal to provided test value.
**** An object with fields:
***** {{cd|min}} – an optional inline value (including a single float) or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
***** {{cd|max}} – an optional inline value (including a single float) or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
***** Will test if result of value is between {{cd|min}} and {{cd|max}} (inclusive)


'''[[Minecraft:Painting]]s'''
'''[[Minecraft:Realms]]'''
* Paintings with custom names now also show those names when the player looks at them in the world.
* 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|thumb|New Realms introduction screen]]


=== Command format ===
'''[[Minecraft:Statistics]]'''
'''General'''
* Added Times Slept in a Straw Bed statistic.
* Commands like {{cmd|give}}, {{cmd|unpublish}}, and {{cmd|tick}} should now properly signal errors.


'''{{cmd|execute}}'''
'''[[Minecraft:Tag (Java Edition)|Tags]]'''
* Added new {{cd|slots}} condition sub-command.
* Biome Tags
** Counts the number of slots from the slot source that are present on the targeted block or entity.
** Added tags for biomes which will generate the respective abandoned camp variant:
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** {{Tag link|biome|has_structure/abandoned_camp_bamboo_jungle}}
** Syntax:
*** {{Tag link|biome|has_structure/abandoned_camp_birch_forest}}
*** {{cmd|execute if|unless slots block <pos> <slot source>}}
*** {{Tag link|biome|has_structure/abandoned_camp_cherry_grove}}
*** {{cmd|execute if|unless slots entity <targets> <slot source>}}
*** {{Tag link|biome|has_structure/abandoned_camp_dappled_forest}}
* The items condition sub-command now takes a slot source as argument instead of a slot.
*** {{Tag link|biome|has_structure/abandoned_camp_flower_forest}}
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** {{Tag link|biome|has_structure/abandoned_camp_forest}}
** Syntax:
*** {{Tag link|biome|has_structure/abandoned_camp_meadow}}
*** {{cmd|execute if|unless items block <pos> <slot source> <item predicate>}}
*** {{Tag link|biome|has_structure/abandoned_camp_old_growth_birch_forest}}
*** {{cmd|execute if|unless items entity <targets> <slot source> <item predicate>}}
*** {{Tag link|biome|has_structure/abandoned_camp_old_growth_pine_taiga}}
*** {{Tag link|biome|has_structure/abandoned_camp_old_growth_spruce_taiga}}
*** {{Tag link|biome|has_structure/abandoned_camp_savanna}}
*** {{Tag link|biome|has_structure/abandoned_camp_pale_garden}}
*** {{Tag link|biome|has_structure/abandoned_camp_snowy_taiga}}
*** {{Tag link|biome|has_structure/abandoned_camp_sparse_jungle}}
*** {{Tag link|biome|has_structure/abandoned_camp_swamp}}
*** {{Tag link|biome|has_structure/abandoned_camp_taiga}}
*** {{Tag link|biome|has_structure/abandoned_camp_windswept_forest}}
*** {{Tag link|biome|has_structure/abandoned_camp_wooded_badlands}}


'''{{cmd|give}}'''
* Block Tags
* 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 {{Tag link|block|blocks_dolphin_jump}}
 
*** Contains all blocks that [[Minecraft:dolphin]]s cannot move through when jumping out of water.
'''{{cmd|item}}'''
** Added {{Tag link|block|blocks_fluid_flow}}
* Now takes a slot source as argument in place of anywhere a slot was previously used.
*** Contains all blocks that block fluid flow.
** It will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** Currently, this tag does nothing.<ref name="fluid tag">{{bug|MC-309259||Block Tags "#blocks_fluid_flow" and "#washed_away_by_fluids" do not work as expected}}</ref>
** Can be a slot source in either inline or reference form.
** Added {{Tag link|block|blocks_lava_fire_spread}}
** Can be a slot source targeting multiple slots.
*** Contains all blocks that block the creation of fire by lava.
** The {{cd|replace}} sub-command has new semantics:
** Added {{Tag link|block|blocks_motion}}
*** 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.
*** Collection tag containing all blocks that are considered to block motion in some way.
*** When there are more destination slots than there are source items, the remaining slots are ignored.
** Added {{Tag link|block|blocks_motion_in_heightmap}}
**** Example: {{cd|replace [12345] with (ABC) -> [ABC45]}}
*** Contains all blocks that are taken into account for the {{cd|motion_blocking}} heightmap.
*** When there are fewer destination slots than there are source items, the remaining items are ignored.
** Added {{Tag link|block|blocks_motion_in_heightmap_no_leaves}}
**** Example: {{cd|replace [123] with (ABCDE) -> [ABC]}}
*** Contains all blocks that are taken into account for the {{cd|motion_blocking_no_leaves}} heightmap.
** String notation slot ranges in the form {{cd|<slot_type>}} or {{cd|<slot_type>.<slot_number>}} are still permitted.
** Added {{Tag link|block|blocks_motion_no_leaves}}
*** Can be a single slot, such as {{cd|armor.chest}}
*** Collection tag containing all blocks that are considered to block motion in some way, but excluding leaf blocks.
*** Can be multiple slots, such as {{cd|container.*}}
** Added {{Tag link|block|cannot_place_basalt_pillar_on}}
*** Acts as shorthand for a <code>minecraft:slot_range slot</code> source using that slot range.
** Added {{Tag link|block|cats_can_lie_on}}
**** Example: {{cd|hotbar.4}} is the same as {{cd|{type:"minecraft:slot_range",slots:"hotbar.4"}}}
*** Contains blocks which [[Minecraft:cat]]s can randomly lie on.
* The entity argument in the {{cd|from entity}} item source can now be a selector targeting multiple entities.
** Added {{Tag link|block|cats_can_sit_on}}
** When more than a single entity is targeted, the slots sourced from each are concatenated.
*** Contains blocks which cats can randomly sit on.
* Added new {{cd|fill}} and {{cd|override}} sub-commands, each with syntax identical to {{cmd|item replace}}.
** Added {{Tag link|block|#cat_does_not_teleport_to}}
** {{cmd|item fill}}
*** Contains blocks that [[Minecraft:cat]]s do not teleport to.
*** Fills each destination slot with a source item.
** Added {{Tag link|block|causes_suffocation}}
*** When there are more destination slots than there are source items, the items repeat until every slot is filled.
*** Contains all blocks where entities can suffocate.
**** Example: {{cd|fill [12345] with (ABC) -> [ABCAB]}}
** Added {{Tag link|block|concrete_slabs}}
**{{cmd|item override}}
*** Contains all concrete slab blocks.
*** Overrides the contents of each destination slot with the corresponding source item.
** Added {{Tag link|block|concrete_stairs}}
*** When there are more destination slots than there are source items, the remaining slots are cleared.
*** Contains all concrete stair blocks.
**** Example: {{cd|override [12345] with (ABC) -> [ABC__]}} (where {{cd|_}} represents an empty slot).
** 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}}
*** Contains blocks that entities do not teleport to when they consume food that teleports randomly when eaten.
**** Empty by default.
** Added {{Tag link|block|cushion_uses_collision_shape}}
*** Contains blocks where cushion placement raycasts against collision shape instead of interaction shape.
** Added {{Tag link|block|dangerous_for_teleportation}}
*** Contains collection tag defining blocks that are dangerous to teleport on.
** Added {{Tag link|block|enderman_does_not_teleport_to}}
*** Contains blocks that [[Minecraft:endermen]] do not teleport to.
** Added {{Tag link|block|entities_can_teleport_to}}
*** Contains all blocks that entities are allowed to teleport to.
** Added {{Tag link|block|height_specific_ore_replaceables}}
*** Contains all blocks which ore features will turn into stone ores if found above Y=0 and into deepslate ores if found below Y=8.
** 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.
** Added {{Tag link|block|nether_portal_frame}}
*** Blocks that can be used to create a Nether Portal.
** Added {{Tag link|block|ores}}
*** Collection tag containing all types of ores.
** Added {{Tag link|block|poplar_logs}}
*** Contains all poplar log blocks.
** Added {{Tag link|block|required_for_poplar_leaf_ambience}}
*** Contains the blocks which can satisfy requirement for Poplar leaves to make ambient sound.
** Added {{Tag link|block|sculk_growth_inhibitors}}  
*** Contains blocks which keep [[Minecraft:sculk]] from spreading when more than 2 are in the 8×2×8 area around it.
** Added {{Tag link|block|shulker_does_not_teleport_to}}  
*** Contains blocks that [[Minecraft:shulker]]s do not teleport to.
** Added {{Tag link|block|skulls}}
*** Collection tag containing all head and skull blocks.
** Added {{Tag link|block|speeds_up_zombie_villager_curing}}
*** Contains blocks which can increase [[Minecraft:zombie villager]] curing time if placed nearby.
** Added {{Tag link|block|turns_into_dirt_path}}
*** Contains all blocks that turn into [[Minecraft:dirt path]] blocks when a shovel is used for pathmaking.
** Added {{Tag link|block|turns_into_farmland}}
*** Contains all blocks that turn into [[Minecraft:farmland]] blocks when a hoe is used for tilling.
** Added {{Tag link|block|uncarvable}}
*** Contains blocks that [[Minecraft:Carver definition|carvers]] can never carve.
** Added {{Tag link|block|villager_babies_can_jump_on_bed}}
*** Contains Bed blocks which Villager kids can jump on.
** Added {{Tag link|block|villagers_can_sleep_on_bed}}
*** Contains bed blocks which villagers can sleep on.
** Added {{Tag link|block|washed_away_by_fluids}}
*** Contains all blocks that break when a fluid flows through them.
*** Currently, this tag does nothing, causing blocks like redstone components and cobwebs to not be broken by flowing water.<ref name="fluid tag"></ref>
** Added {{Tag link|block|wool_slabs}}
*** Contains all wool slabs blocks.
** Added {{Tag link|block|wool_stairs}}
*** Contains all wool stairs blocks.
 
* Damage Type Tags
** Added {{Tag link|damage_type|no_wolf_retaliation}} for all damage types that should not cause tamed wolves to attack their source in order to defend their owner.


'''{{cmd|place}}'''
* Entity Tags
* The {{cd|feature}} sub-command now allows in-line definition of the [[Minecraft:feature]].
** Added {{Tag link|entity_type|cannot_be_dismounted_by_item_usage}}
*** Contains all entities which cannot be dismounted by items.


'''{{cmd|publish}}'''
* Fluid Tags
* The {{cd|gamemode}} argument has been removed.
** Added {{Tag link|fluid|axolotl_try_find_liquid}}
** 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.
*** 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.


'''{{cmd|spreadplayers}}'''
* Item Tags
* Whether a block is safe to spread a player to is now controlled by the {{cd|#entities_can_teleport_to}} block tag.
** Added {{Tag link|item|brewing_potion_inputs}}
'''{{cmd|swing}}'''
*** Contains items that can be placed in a [[Minecraft:brewing stand]] potion slot, regardless of whether they are brewing recipe inputs.
* When used on a player, the player's attack strength will no longer be reset.
** Added {{Tag link|item|clonable_maps}}
* Added a new optional argument to set the swing animation to play.
*** Contains filled maps plus all explorer maps items and buried treasure maps, used as the input to the {{cd|map_cloning}} recipe.
** Allowed values: {{cd|whack}}, {{cd|stab}}
** Added {{Tag link|item|concrete_slabs}}
** If omitted, defaults to {{cd|whack}}
*** Contains all concrete slab items.
* Added a new argument to set the duration of the swing animation, if provided.
** Added {{Tag link|item|concrete_stairs}}
** Format: positive time value (by default in ticks).
*** Contains all concrete stair items.
** If omitted, defaults to {{cd|6t}}.
** Added {{Tag link|item|cushions}}
** Added {{Tag link|item|douses_campfires}}
*** Contains items that can douse a lit [[Minecraft:campfire]] block.
** Added {{Tag link|item|extendable_maps}}
*** Contains maps that can be zoomed out with paper, either in a crafting table or at a cartography table.
** Added {{Tag link|item|furnace_fuel_bottom_takeable}}
*** Contains items that can be taken out of [[Minecraft:furnace]] by a [[Minecraft:hopper]] attached to the bottom face.
** Added {{Tag link|item|mushrooms}}
*** Contains all mushroom items.
** Added {{Tag link|item|ores}}
*** Collection tag containing all types of ores.
** Added {{Tag link|item|poplar_logs}}
*** Contains all poplar log items.
** Added {{Tag link|item|wool_slabs}}
*** Contains all wool slabs items.
** Added {{Tag link|item|wool_stairs}}
*** Contains all wool stairs items.


'''{{cmd|team}}'''
* Potion Tags
* 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).
** Added {{Tag link|potion|douses_fire}}
*** Contains [[Minecraft:potion]]s that douse [[Minecraft:fire]] blocks when they hit something.
** Added {{Tag link|potion|extinguishes_entities}}
*** Contains potions that can extinguish entities.
** Added {{Tag link|potion|hurts_water_sensitive_entities}}
*** Contains potions that will hurt entities which are sensitive to water (e.g. Endermen).
** Added {{Tag link|potion|rehydrates_axolotls}}
*** Contains potions that will cause [[Minecraft:axolotl]]s to rehydrate.


'''{{cmd|tellraw}}'''
* Structure Tags
* The {{cd|nbt}} component in a raw chat message will only be resolved up to 64k times.
** Added {{Tag link|structure|abandoned_camp}}  
*** Contains all variants of [[Minecraft:abandoned camp]]s.
** Added 12 tags, regarding the structures used in each [[Minecraft:exploration map]]:
*** {{Tag link|Structure|on_abandoned_camp_bamboo_jungle|on_abandoned_camp_birch_forest|on_abandoned_camp_cherry_grove|on_abandoned_camp_dappled_forest|on_abandoned_camp_flower_forest|on_abandoned_camp_pale_garden|on_abandoned_camp_swamp|on_abandoned_camp_windswept_forest|on_ancient_city_maps|on_desert_pyramid_maps|on_mineshaft_maps|on_ocean_ruin_warm_maps}}


'''{{cmd|tick}}'''
'''[[Minecraft:UI]]'''
* The following subcommands will now signal an error instead of just printing an error message and returning {{cd|0}}:
* Added a "Right Click Emulation" option to the control settings on macOS, which treats {{keys|control}} + {{mouse|left}} as {{mouse|right}}.
** {{cmd|tick step}}
** Default is set to {{cd|Off}}.
** {{cmd|tick step stop}}
** {{cmd|tick sprint stop}}


=== Gameplay ===
== Changes ==
'''[[Minecraft:Advancements]]'''
=== Blocks ===
* Visiting the dappled forest is now required for the "Adventuring Time" advancement.
'''[[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 {{cd|decorated_pot_simple}} 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 {{cd|sherds}}.
** Previously, empty sides were treated as [[Minecraft:brick]].
 
'''[[File:Hay Bale (UD) JE3.png|32px]] [[Minecraft:Hay Bale|Hay bale]]'''
* Updated sides texture from [[File:Hay Bale (UD) JE2 BE2.png|32px]] so that the two red twines appear symmetrically distant from the top/bottom edges; the twines line up with the [[Minecraft:straw bed]]’s texture as well.


'''[[Minecraft:Creative inventory]]'''
'''[[Minecraft:Sculk sensor]]'''
* Rearranged mineral items and blocks in the inventory.
* Can now detect [[Minecraft:ice]] and [[Minecraft:snow]] melting.
* 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:Spectator]]'''
'''[[Minecraft:Sign]]s'''
* Players in Spectator mode can now interact with portals to teleport.
* Signs no longer automatically execute click events in custom text.


=== General ===
=== Items ===
'''[[Minecraft:Advancement definition]]'''
'''[[Minecraft:Chorus fruit]]'''
* Rewards
* After it has teleported the player randomly, it now shows the particles in the direction of teleportation.
** 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
'''[[Minecraft:Explorer Map]]s'''
** Multiple fields that accepted a list of loot conditions (AKA predicates) are now stricter:
* Renamed the following explorer maps:
*** A list of predicates is no longer accepted as a shorthand for a {{cd|minecraft:all_of}} condition containing that list.
** Jungle Explorer Map → Jungle Pyramid Map
*** 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}}).
** Ocean Explorer Map → Ocean Monument Map
** Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a {{cd|minecraft:predicate}}
** Swamp Explorer Map → Swamp Hut Map
** 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.
** Trial Explorer Map → Buried Trial Chambers Map
*** To avoid duplication, this field is not mentioned in entries below.
** Woodland Explorer Map → Woodland Mansion Map


* Changed {{cd|minecraft:any_block_use}} trigger
* Updated existing explorer maps' inventory icon textures:
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
{| class="wikitable collapsible" style="text-align: center;"
|+ All texture changes
|-
! Structure
! Before
! After
|-
| [[Minecraft:Buried Treasure]]
| [[File:Map_(item)_JE2.png|width=32]]
| [[File:Buried_Treasure_Map_JE3.png|width=32]]
|-
| [[Minecraft:Desert Village]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Desert_Village_Map_JE2.png|width=32]]
|-
| [[Minecraft:Plains Village]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Plains_Village_Map_JE2.png|width=32]]
|-
| [[Minecraft:Savanna Village]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Savanna_Village_Map_JE2.png|width=32]]
|-
| [[Minecraft:Snowy Village]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Snowy_Village_Map_JE2.png|width=32]]
|-
| [[Minecraft:Taiga Village]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Taiga_Village_Map_JE2.png|width=32]]
|-
| [[Minecraft:Jungle Pyramid]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Jungle_Pyramid_Explorer_Map_JE2.png|width=32]]
|-
| [[Minecraft:Swamp Hut]]
| [[File:Village_Map_JE1.png|width=32]]
| [[File:Swamp_Hut_Explorer_Map_JE2.png|width=32]]
|-
| [[Minecraft:Ocean Monument]]
| [[File:Ocean_Explorer_Map_JE2.png|width=32]]
| [[File:Ocean_Monument_Explorer_Map_JE3.png|width=32]]
|-
| [[Minecraft:Woodland Mansion]]
| [[File:Woodland_Explorer_Map_JE2.png|width=32]]
| [[File:Woodland_Mansion_Explorer_Map_JE3.png|width=32]]
|-
| [[Minecraft:Trial Chambers]]
| [[File:Trial_Explorer_Map_JE1.png|width=32]]
| [[File:Trial_Chambers_Explorer_Map_JE2.png|width=32]]
|-
|}
* All explorer maps are now unique items; previously they used the same item ID as [[Minecraft:filled map]]s.
** 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 {{cd|#minecraft:extendable_maps}} tag can be zoomed out.


* Changed {{cd|minecraft:bee_nest_destroyed}}
'''[[Minecraft:Map]]''' and '''Empty Map'''
** 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]]).
* {{Animate|Empty_Map_JE4.png;Map_(item)_JE3.png|32px}} Updated inventory icon textures from {{Animate|Empty Map JE3 BE2.png;Map_(item)_JE2.png|32px}}.
** Added field {{cd|state}} that matches block state properties (same format as {{cd|minecraft:enter_block}}).


* Changed {{cd|minecraft:bred_animals}} trigger
'''Map decorations'''
** {{cd|child}}, {{cd|parent}}, and {{cd|partner}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* The map icon of [[Minecraft:woodland mansion]] on filled maps is now consistent with the one on woodland explorer map item [[Minecraft:texture]].
** Changed from [[File:Mansion (texture) JE2.png|24px|class=pixel-image]] to [[File:Mansion (texture) JE3.png|24px|class=pixel-image]].
* The map icons for players on maps and explorer maps has been updated to always show the direction the player is facing.
{| class="wikitable collapsible" style="text-align: center;"
|+ All texture changes
|-
! Name
! Before
! After
|-
| Player Locator
| [[File:Player (texture) JE1 BE1.png|width=32]]
| [[File:Player (texture) JE2 BE2.png|width=32]]
|-
| Player Off Map
| [[File:Player Off Map (texture) JE1 BE1.png|width=32]]
| [[File:Player off map (texture) JE2 BE2.png|width=32]]
|-
| Player Off Limits
| [[File:Player Off Limits (texture) JE1.png|width=32]]
| [[File:Player off limits (texture) JE2.png|width=32]]
|-
|}
 
* Added map icon for the following structures:
** [[File:Ancient city (texture) JE1.png|24px]] [[Minecraft:Ancient City]]
** [[File:Abandoned camp (texture) JE1.png|24px]] [[Minecraft:Abandoned Camp]]
** [[File:Desert pyramid (texture) JE1.png|24px]] [[Minecraft:Desert Pyramid]]
** [[File:Mineshaft (texture) JE1.png|24px]] [[Minecraft:Mineshaft]]
** [[File:Warm Ocean Ruins (texture) JE1.png|24px]] [[Minecraft:Warm Ocean Ruins]]


* Changed {{cd|minecraft:brewed_potion}} trigger
'''[[Minecraft:Pottery sherds]]'''
** The {{cd|potion}} field now accepts {{cd|minecraft:potion_contents}} data component predicate.
* Pottery sherds are now data-driven.


* Changed {{cd|minecraft:channeled_lightning}} trigger
'''[[Minecraft:Shield]]'''
** 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.
* 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.


* Changed {{cd|minecraft:cured_zombie_villager}} trigger
'''[[Minecraft:Suspicious stew]] and [[Minecraft:mushroom stew]]'''
** {{cd|villager}} and {{cd|zombie}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Can now be crafted with 2 of any mushroom.


* Changed {{cd|minecraft:default_block_use}} trigger
=== Mobs ===
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
'''General'''
* Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs.


* Changed {{cd|minecraft:effects_changed}} trigger
'''[[Minecraft:Armadillo]]s'''
** The {{cd|source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* No longer try to roll up when submerged in liquids.


* Changed {{cd|minecraft:enter_block}}
'''[[Minecraft:Endermen]]'''
** 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.
* Endermen will now take damage from [[Minecraft:projectile]]s if they are riding something.
* No longer attempt to [[Minecraft:teleport]] because of environmental [[Minecraft:damage]] while riding something.
* Can no longer teleport onto [[Minecraft:bedrock]].


* Changed {{cd|minecraft:fall_after_explosion}} trigger
'''[[Minecraft:Shulker]]s'''
** The {{cd|cause}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Can no longer teleport onto bedrock.


* Changed {{cd|minecraft:fishing_rod_hooked}} trigger
'''[[Minecraft:Sulfur cube]]s'''
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Changed the sounds of the "regular" sulfur cube archetype.


* Changed {{cd|minecraft:placed_block}} trigger
'''[[Minecraft:Wandering trader]]s'''
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Can now sell [[Minecraft:poplar log]]s, [[Minecraft:poplar sapling]]s, and [[Minecraft:shelf mushroom]]s.


* Changed {{cd|minecraft:item_used_on_block}} trigger
=== Non-mob entities ===
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
'''[[Minecraft:Painting]]s'''
* Paintings with custom names now also show those names when the player looks at them in the world.


* Changed {{cd|minecraft:allay_drop_item_on_block}} trigger
=== World generation ===
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
'''[[Minecraft:Block state provider]]s'''
* Block state providers can now be defined as standalone types in a registry – {{cd|worldgen/block_state_provider}} – and referenced by using a namespaced string for a field that expects a block state provider.
* An inline block state definition is now an accepted shorthand form for a {{cd|minecraft:simple}} block state provider providing that state. The Block State has to be in the form of an object with fields, a shorthand Block ID is not allowed.
* Renamed provider types.
** The following providers types have been renamed:
*** {{cd|minecraft:dual_noise_provider}} renamed to {{cd|minecraft:dual_noise}}
*** {{cd|minecraft:noise_provider}} renamed to {{cd|minecraft:noise}}
*** {{cd|minecraft:noise_threshold_provider}} renamed to {{cd|minecraft:noise_threshold}}
*** {{cd|minecraft:randomized_int_state_provider}} renamed to {{cd|minecraft:randomized_int}}
*** {{cd|minecraft:rule_based_state_provider}} renamed to {{cd|minecraft:rule_based}}
*** {{cd|minecraft:simple_state_provider}} renamed to {{cd|minecraft:simple}}
*** {{cd|minecraft:weighted_state_provider}} renamed to {{cd|minecraft:weighted}}
*** {{cd|minecraft:random_block_provider}} renamed to {{cd|minecraft:random_block}}
*** {{cd|minecraft:rotated_block_provider}} renamed to {{cd|minecraft:rotated}}
* Changed {{cd|minecraft:rule_based}}
** If a rule yields no result, the following rules will be evaluated.
** If no rule or {{cd|fallback}} yields a result, will now also yield no result.


* Changed {{cd|minecraft:player_killed_entity}} trigger
'''[[Minecraft:Density function]]s'''
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
** 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.
** This affects all intermediate steps, not just the final result.


* Changed {{cd|minecraft:entity_killed_player}} trigger
'''[[Minecraft:Features]]'''
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* 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.
** 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.
* Removed the following feature types:
 
** {{cd|minecraft:coral_mushroom}}
* Changed {{cd|minecraft:kill_mob_near_sculk_catalyst}} trigger
** {{cd|minecraft:kelp}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** {{cd|minecraft:nether_forest_vegetation}}
** 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: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:lightning_strike}} trigger
** Changed {{cd|minecraft:template}}
** {{cd|bystander}} and {{cd|lightning}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type
*** Added the field {{cd|processors}} namespaced ID or inline definition of a structure processor list to apply to the template.


* Changed {{cd|minecraft:player_generates_container_loot}} trigger
* {{cd|minecraft:tree}} feature 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.
** Added {{cd|shelf_mushroom}} tree decorator type.
*** If a tag or a list is used, trigger will run when any listed loot table is generated.
*** Places [[Minecraft:shelf mushroom]]s on logs with the specified probability.
*** Format: object with fields:
**** {{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 {{cd|minecraft:thrown_item_picked_up_by_player}} trigger
* Changed the {{cd|minecraft:random_neighbor_spread}} feature type
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Renamed from {{cd|minecraft:glowstone_blob}}.
 
*** Now exposes more control over the feature.
* Changed {{cd|minecraft:thrown_item_picked_up_by_entity}} trigger
*** Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Format changes:
*** Added field {{cd|block}}: Block state provider for which block to place.
*** Added field {{cd|accepted_neighbors}}: Block ID, list of block IDs or hash-prefixed block tag for which blocks count as a valid neighbor.
*** 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.
*** 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.
*** Added field {{cd|y_offset}}: Int provider between {{cd|-16}} and {{cd|16}} for what offsets to try along the y axis.


* Changed {{cd|minecraft:player_hurt_entity}} trigger
* Changed the {{cd|minecraft:single_block_pillar}} feature type
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Renamed from {{cd|minecraft:basalt_pillar}}.
** 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.
*** 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.


* Changed {{cd|minecraft:entity_hurt_player}} trigger
* Changed the {{cd|minecraft:stepped_column_cluster}} feature 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.
** Renamed from {{cd|minecraft:basalt_columns}}.
 
*** Now exposes more control over the feature functionality.
* Changed {{cd|minecraft:player_interacted_with_entity}} trigger
** Format changes:
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** Added the field {{cd|block}}: Block state provider for which block to place.
*** 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}}.


* Changed {{cd|minecraft:player_sheared_equipment}} trigger
* {{cd|minecraft:coral_claw}} and {{cd|minecraft:coral_tree}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added the field {{cd|feature}} – a placed feature that is used to place at every desired block position.


* Changed {{cd|minecraft:crafter_recipe_crafted}} trigger
'''[[Minecraft:Noise settings]]'''
** 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.
* The {{cd|surface_rule}} field has been renamed to {{cd|material_rule}}
*** If a tag or a list is used, trigger will run when any listed recipe is used.
** 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.
* Changed {{cd|minecraft:recipe_crafted}} trigger
* The {{cd|aquifers_enabled}} field has been replaced by an optional {{cd|aquifers}} object:
** 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.
** If not present, no aquifers will be generated.
*** If a tag or a list is used, trigger will run when any listed recipe is used.
** Fields:
 
*** {{cd|barrier}} - Density Function, moved from {{cd|noise_router.barrier}}
* Changed {{cd|minecraft:recipe_unlocked}} trigger
*** {{cd|fluid_level_floodedness}} - Density Function, moved from {{cd|noise_router.fluid_level_floodedness}}
** 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.
*** {{cd|fluid_level_spread}} - Density Function, moved from {{cd|noise_router.fluid_level_spread}}
*** If a tag or a list is used, trigger will run when any listed recipe is unlocked
*** {{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.


* Changed {{cd|minecraft:slide_down_block}}
* Spawn Target
** 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.
** 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 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.
* Changed {{cd|minecraft:summoned_entity}} trigger
** 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.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Format: list of target hypercubes
 
*** Target format: map between Density Function ID and a range on that axis:
* Changed {{cd|minecraft:tame_animal}} trigger
**** Range is specified as one of:
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
***** 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:World generation|Terrain generator]]'''
* 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>


* Changed {{cd|minecraft:target_hit}} trigger
'''Other'''
** The {{cd|projectile}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* [[Minecraft:Cave air]] is no longer generated in Nether caves.


* Changed {{cd|minecraft:villager_trade}} trigger
* Biomes
** The {{cd|villager}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Removed the {{cd|spawners}}, {{cd|spawn_costs}}, and {{cd|creature_spawn_probability}} fields.
*** These values have been moved to the new environment attributes.


'''[[Minecraft:Block entity data]]'''
* Block predicates
* {{cd|minecraft:sign}} and {{cd|minecraft:hanging_sign}}
** Added {{cd|minecraft:volume_match}}
** By default, commands and other click events contained in sign text are no longer executed when the block is clicked.
*** Checks that every block in a volume matches a given Block Predicate.
*** Additionally, text components on newly placed signs are no longer resolved by default.
*** Format:
*** New boolean field called {{cd|allow_op_features}} (defaults to {{cd|false}}) has been added to restore previous behavior.
**** {{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.
*** 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}}
**** {{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.
*** Any newly created sign will need to have that field set explicitly.
**** {{cd|match}} – block predicate to test on each position.
** 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.


* {{cd|minecraft:brewing_stand}}
* Block state providers
** The following fields are now stored as integers rather than shorts:
** Updated {{cd|minecraft:copy_properties_provider}}
*** 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.
*** Renamed field {{cd|source_block_state_provider}} to {{cd|source}}
*** Changed the {{cd|Fuel}} field from a byte to an integer, this is the amount of fuel remaining.
** Added {{cd|minecraft:random_block_provider}}
** The following new fields have been added:
*** Returns the default block state for a randomly chosen block.
*** Added the {{cd|total_brew_time}} integer field, this is the total amount of time the current brewing process will take.
*** Format:
*** Added the {{cd|total_fuel}} integer field, this represents the amount of fuel that was added in the last refuel.
**** {{cd|blocks}}: block ID, list of block IDs or hash-prefixed block tag, specifying the set of blocks to randomly pick from.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next brewing process.
** 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.


* {{cd|minecraft:furnace}}, {{cd|minecraft:smoker}} and {{cd|minecraft:blast_furnace}}
* Carvers
** The following fields are now stored as integers rather than shorts:
** The {{cd|worldgen/configured_carver}} registry has been renamed to {{cd|worldgen/carver}}
*** 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.
** Updated {{cd|minecraft:cave}} carver type
*** 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.
*** All fields previously under the config field have been inlined to the top-level.
*** Changed the {{cd|lit_time_remaining}} field from a short to an integer, this is the amount of burn time remaining.
*** Added the {{cd|count}} field - non-negative Int Provider, the number of cave tunnels to create from a seed chunk.
*** 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.
*** Renamed {{cd|yScale}} to {{cd|room_vertical_radius_multiplier}}
** The following new fields have been added:
*** 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.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next cooking process.
**** 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


'''[[Minecraft:Block entity format]]'''
* [[Minecraft:Density function]]s
* {{cd|minecraft:decorated_pot}}
** Updated {{cd|constant}}
** 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:
*** {{cd|argument}} has been renamed to {{cd|value}}
*** {{cd|back}}
** Updated {{cd|add}}, {{cd|mul}}, {{cd|min}}, and {{cd|max}}
*** {{cd|left}}
*** {{cd|argument1}} has been renamed to {{cd|left}}.
*** {{cd|right}}
*** {{cd|argument2}} has been renamed to {{cd|right}}.
*** {{cd|front}}
** 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
'''[[Minecraft:Block states]]'''
*** {{cd|argument}} has been renamed to {{cd|input}}.
* The following block state fields have been renamed.
** Updated {{cd|shift_a}}, {{cd|shift_b}}, and {{cd|shift}}
** {{cd|Name}} is now {{cd|id}}
*** {{cd|argument}} has been renamed to {{cd|noise}}
** {{cd|Properties}} is now {{cd|properties}}
** Added {{cd|sub}}
* The default block state of a block can now be referred to in a compact form directly by the block ID.
*** Performs subtraction between two arguments.  
 
*** Format: object with fields:
'''[[Minecraft:Controls]]'''
**** {{cd|left}} - Density Function, the left-hand side of the operation
* Up to 48 mouse buttons are now supported for controls rebinding.
**** {{cd|right}} - Density Function, the right-hand side of the operation
** Previously, only up to mouse button 8 could have controls bound to it.
** Added {{cd|div}}
** This change presumably only affects macOS and Linux systems.
*** Performs division between two arguments.  
* KEY_KPPLUSMINUS, KEY_KPLEFTPAREN and KEY_KPRIGHTPAREN now appear to be supported, at least on Linux.
*** Format: object with fields:
** The names are a bit wrong though.<ref>{{bug|MC-310109}}</ref><ref>{{bug|MC-310110}}</ref>
**** {{cd|left}} - Density Function, the left-hand side of the operation.
 
**** {{cd|right}} - Density Function, the right-hand side of the operation.
'''[[Minecraft:Data component format]]'''
** Updated {{cd|reciprocal}}
* {{cd|minecraft:pot_decorations}}
*** Renamed from {{cd|invert}}
** Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
** Added {{cd|negate}}
*** {{cd|back}}
*** Negates the input.  
*** {{cd|left}}
*** Format: object with fields:
*** {{cd|right}}
**** {{cd|input}} - Density Function, the function to negate.
*** {{cd|front}}
** Added {{cd|lerp}}
* {{cd|minecraft:trim_material}}
*** Performs (unclamped) linear interpolation between two arguments based on an alpha.  
** The format of inline material definitions has been updated
*** Format: object with fields:
** Trim Materials
**** {{cd|alpha}} - Density Function, the interpolation factor (0=first, 1=second)
*** The format of elements in the {{cd|trim_material}} registry has been updated:
***** Any value outside of {{cd|[0; 1]}} will extrapolate
**** {{cd|asset_name}} has been replaced with {{cd|palette_id}} - Palette Texture ID to be used for this material.
**** {{cd|first}} - Density Function, the value at {{cd|alpha{{=}}0}}
**** {{cd|override_armor_assets}} has been removed, overrides are now defined in the Resource Pack Equipment Asset.
**** {{cd|second}} - Density Function, the value at {{cd|alpha{{=}}1}}
 
** Added {{cd|floor}}, {{cd|round}}, {{cd|ceil}}, and {{cd|truncate}}
* Removed {{cd|minecraft:swing_animation}}
*** Rounds the input value to an integer multiple of a given function in a type-dependent direction:
** This has been replaced by {{cd|minecraft:attack_animation}} and {{cd|minecraft:interact_animation}}.
**** {{cd|floor}}: rounds towards negative infinity.
*** The {{cd|none}} swing animation type has been removed.
**** {{cd|round}}: rounds towards the nearest integer (ties round up).
*** Existing items in the world will be migrated to using the default {{cd|whack}}.
**** {{cd|ceil}}: rounds towards positive infinity.
*** Setting both of these new components to the same value will be functionally identical to the old component, except for:
**** {{cd|truncate}}: rounds towards 0.
**** The {{cmd|swing}} command – animation type now specified by the command.
*** Format: object with fields:
**** Items being dropped by entities.
**** {{cd|input}} - Density Function, the input to round.
 
**** {{cd|multiple}} - Density Function, the output will be rounded to an integer multiple of this value.
* Removed {{cd|minecraft:map_color}}
***** If not specified, defaults to constant {{cd|1}} (i.e. rounding to integer).
** Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to.
** Added {{cd|beardifier}}
** Existing maps have the component stripped on load.
*** 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
'''[[Minecraft:Data pack]]'''
** Added {{cd|pow}}
* The [[Minecraft:pack format]] version is now {{cd|115.0}}.
*** Raises the given base value to an exponent.
* The {{cd|definition}} field from the {{cd|blocks.json}} data generation report has been removed
*** Format: object with fields:
* Codec for element lists/tags now allows mixing inline values and references.
**** {{cd|base}} – density function, the base value.
** For example, item modifiers like {{cd|[{type:set_count, ...}, "minecraft:some_modifier"]}} are now allowed.
**** {{cd|exponent}} – density function, the exponent.
 
** Added {{cd|sqrt}}
'''[[Minecraft:Debug screen]]'''
*** Computes the square root of the given input.
* The debug overlay now supports a separate GUI scale than the rest of the game.
*** Format: object with fields:
** This is customizable through the Debug Options screen, F3 + F6.
**** {{cd|input}} – density function, the value for which to compute the square root.
** The default scale is "Auto", which tries to stay at a higher resolution than normal.
** Added {{cd|log}}
** Another option is "Unchanged", which matches the regular GUI scale.
*** Computes the natural logarithm of the given input.
** The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly.
*** Format: object with fields:
* Added a "player_speed" debug entry that displays the speed of the player in blocks per tick.
**** {{cd|input}} – density function, the value for which to compute the natural logarithm.
* The debug overlay now shows the display refresh rate.
** Added {{cd|sign}}
'''[[Minecraft:Density function|Density functions]]'''
*** Computes the sign of the input:
* Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
**** If the input is positive, returns {{cd|1}}
** This affects all intermediate steps, not just the final result.
**** If the input is 0, returns {{cd|0}}
 
**** If input is negative, returns {{cd|-1}}
'''[[Minecraft:Environment attribute]]'''
*** Format: object with fields:
* {{cd|minecraft:gameplay/bed_rule}}
**** {{cd|input}} – density function, the value of which to compute the sign.
** Field {{cd|explodes}} has been renamed to {{cd|destroy_on_use}}
** Added {{cd|distance_to_point}}
** Added {{cd|destroy_on_leave}} – optional boolean; if set to {{cd|true}}, the bed will be destroyed when leaving it.
*** Computes the distance to a fixed point using the specified distance function.
*** If omitted, defaults to {{cd|false}}
*** Format: object with fields:
 
**** {{cd|point}} – array of 3 integers in form {{cd|[x, y, z]}}, the point to compute distance to.
* {{cd|minecraft:visual/ambient_particles}}
**** {{cd|metric}} – one of:
** Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
***** {{cd|euclidean}} – i.e. <math>sqrt(dx^2 + dy^2 + dz^2)</math>
** Introduced support for new modifier: {{cd|append}}
***** {{cd|euclidean_squared}} – i.e. <math>dx^2 + dy^2 + dz^2</math>
*** Unlike {{cd|override}} which totally replaces the particle list, this modifier concatenates all elements with the layers below.
***** {{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>
'''Equipment assets'''
** Updated {{cd|gradient}} (renamed from {{cd|y_clamped_gradient}})
* 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.
** Format: list of override entries with fields:
*** {{cd|when}} – object with fields, the material and/or pattern to match.
**** {{cd|material}} – optional trim material ID, the material to match (if specified).
**** {{cd|pattern}} – optional trim pattern ID, the pattern to match (if specified).
***** Note: this is not the palette ID, as {{cd|trim_palette_replacements}} 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.
*** {{cd|texture}} – optional trim pattern asset ID, a replacement texture to use if this entry matches.
**** Textures are specified in the same format as {{cd|asset_id}}
**** If not specified, the default texture for the pattern will be used.
*** {{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.
*** The first matching entry will always be selected.
*** At least one of texture or palette must be defined.
 
'''[[Minecraft:Features]]'''
* 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.
* 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}}
* Removed the {{cd|extra_rare_growths}} and {{cd|catalyst_chance}} fields from {{cd|minecraft:sculk_patch}}.
 
* {{cd|minecraft:tree}} feature type
** Added {{cd|shelf_mushroom}} tree decorator type.
*** Places [[Minecraft:shelf mushroom]]s on logs with the specified probability.
*** Format: object with fields:
*** Format: object with fields:
**** {{cd|probability}} - float (between {{cd|0}} and {{cd|1}}), the probability that any shelf mushrooms will be placed for a given feature.
**** {{cd|axis}} – {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis over which to define this gradient.
** Added {{cd|poplar_foliage_placer}} foliage placer type
**** {{cd|tiling}} – one of:
*** Places leaves blocks for [[Minecraft:poplar]] trees in a rhombus shape in one of two possible directions
***** {{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:
*** Format: object with fields:
**** {{cd|height}} - int provider (between {{cd|5}} and {{cd|16}}), the height of the foliage.
**** {{cd|axis}} {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis to remove.
**** {{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.
**** coordinate – int, the fixed coordinate to be passed to the input function.
** Added {{cd|poplar_trunk_placer}} trunk placer type
**** input – density function, the input function.
*** Places log blocks for poplar trees in a straight shape with branches by the start of the foliage.
** Changed {{cd|end_outer_islands}}
*** Format:
*** Renamed from {{cd|end_islands}}. No longer computes the density of the main island.
**** {{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
* Int Providers
** Renamed from {{cd|minecraft:glowstone_blob}}.
** Added {{cd|minecraft:very_biased_to_bottom}} Int provider type
*** Now exposes more control over the feature.
*** Picks a random value in the provided range, with a quadratic bias towards the minimum value.
*** Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
*** Format: object with fields:
** Format changes:
**** {{cd|min_inclusive}} - Integer, the minimum selected value (inclusive).
*** Added field {{cd|block}}: Block state provider for which block to place.
**** {{cd|max_inclusive}} - Integer, the maximum selected value (inclusive).
*** Added field {{cd|accepted_neighbors}}: Block ID, list of block IDs or hash-prefixed block tag for which blocks count as a valid neighbor.
*** 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.
*** 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.
*** 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
* Material Condition Registry
** Renamed from {{cd|minecraft:basalt_pillar}}.  
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_condition/<id>.json</samp>.
*** Now exposes more control over the feature functionality.
** Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
** Format changes:
** The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
*** Added field {{cd|block}}: Block state provider for which block to place.
*** Material Conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.
*** 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
* Material Rule Registry
** Renamed from {{cd|minecraft:basalt_columns}}.
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_rule/<id>.json</samp>.
*** Now exposes more control over the feature functionality.
** Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
** Format changes:
** The format is identical to that which was formerly written in the {{cd|surface_rule}} field within noise settings files, with the following extensions:
*** Added the field {{cd|block}}: Block state provider for which block to place.
*** 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.
*** Added the field {{cd|can_replace}}: Block predicate for which blocks can be replaced by the column.
*** Material conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.
*** 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}}
* Material rules:
** Added the field {{cd|feature}} – a placed feature that is used to place at every desired block position.
** Added {{cd|minecraft:ore_vein}}
*** 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}}.


'''Game window and input backend'''
* [[Minecraft:Noise]]s
* The minimum window size is now 320&times;240 pixels.
** The format of noises (defined in the <samp>worldgen/noise</samp> registry, or inline in noise-based block state providers) has been updated.
* Minecraft now uses {{WP|SDL3}} instead of {{WP|GLFW}} for window management, input and platform integration.
** Noises define a fractal brownian motion configuration with the following properties:
* Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts.
*** Produces output values (approximately) fitting a normal distribution.
'''[[Minecraft:GUI]]'''
*** Unless otherwise specified, fits the output amplitude to {{cd|[-1; 1]}}
* The sub-headings in different tabs of options now use a '''bold''' and <u>underlined</u> format, this format was first seen in the new “world options…” screen.
**** 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}}
'''[[Minecraft:Instrument definition]]'''
**** i.e. between each octave, the amplitude is halved and the frequency doubled.
* The format of elements in the instrument registry have been updated:
*** Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
** Added the {{cd|durability_damage}} field - optional non-negative integer, amount of durability to consume on each use.
*** Renamed {{cd|firstOctave}} to {{cd|base_octave}}.
** Updated the {{cd|use_duration}} field - can now be {{cd|0}} for no cooldown.
*** 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}}.


'''[[Minecraft:Item model]]s'''
* Placement Modifiers
* Added optional {{cd|shade_direction_override}} to block model elements.
** Changed {{cd|minecraft:offset}} placement modifier
** Accepted values are cardinal directions ({{cd|down}}, {{cd|up}}, {{cd|north}}, {{cd|south}}, {{cd|west}}, {{cd|east}})
*** Renamed from {{cd|random_offset}}.
** When set, this overrides directional shading for the element regardless of face orientation.
*** Format:
*Tint source
**** Removed the fields {{cd|xz_spread}} and {{cd|y_spread}}.
** Removed {{cd|minecraft:map_color}}
**** Added the fields {{cd|x}}, {{cd|y}}, {{cd|z}}: Integer providers between -16 and {{cd|16}} specifiying the axis-specific offset.
*** The {{cd|minecraft:map_color}} component it read no longer exists.
** Added {{cd|minecraft:cuboid}}
* Removed {{cd|shade}} from block model elements
*** Repeats a feature in a cuboid shape.
** {{cd|shade_direction_override: "up"}} to get the previous {{cd|shade: false}} behavior.
*** 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.
'''[[Minecraft:Loot function]]s'''
**** {{cd|y_size}}: int provider between {{cd|1}} and {{cd|16}} representing the size of the cuboid along the {{cd|y}} axis.
* The {{cd|conditions}} field is now available in all loot functions and has been renamed to {{cd|condition}}.
**** {{cd|include_interior}}: optional boolean (default {{cd|true}}) for whether to place interior blocks of the cuboid.
** It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions.
**** {{cd|include_edges}}: optional boolean (default {{cd|true}}) for whether to place edge blocks of the cuboid.
*** Functionality of old condition list format can be achieved by explicitly using {{cd|minecraft:all_of}} loot condition type.
***** Setting this to {{cd|false}} generates a somewhat "rounded" cuboid.
** The {{cd|function}} field (describing function type) has been renamed to {{cd|type}}.
** 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:sequence}}
* Rule Tests
** 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.
** 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 optional condition field which accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added rule test type {{cd|minecraft:height_match}}
** 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.
*** 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}}.
*** 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.
*** Format: object with fields:
* Changed {{cd|minecraft:modify_contents}}
**** {{cd|min_inclusive}} – int, the minimum y value of allowed blocks (inclusive).
** The {{cd|modifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
**** {{cd|max_inclusive}} – int, the maximum y value of allowed blocks (inclusive).
* Changed {{cd|minecraft:set_attributes}}
** Added rule test type {{cd|minecraft:all_of}}
** 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.
*** 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
** Added {{cd|minecraft:dimension_origin}}
** New structure placement that places a single instance of the structure at the dimension origin.
*** 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
** Changed {{cd|minecraft:feature_pool_element}}
*** Can now connect to jigsaw blocks with any target name, instead of just {{cd|minecraft:bottom}}.


* Changed {{cd|minecraft:exploration_map}}
* Vertical Anchors
* The {{cd|map_color}} field has now been removed.
** Added a new option for vertical Anchors: {{cd|relative_to_sea_level}}
* The function no longer changes the type of the item it is applied to – it now only adds map data to the existing item.
*** Specifies an offset to the sea level of the dimension.
** 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}}
=== Command format ===
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
'''General'''
* Changed {{cd|minecraft:enchant_with_levels}}
* Commands like {{cmd|give}}, {{cmd|unpublish}}, and {{cmd|tick}} should now properly signal errors.
** 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'''
'''{{cmd|data}}'''
* 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.
* Added new source to {{cmd|data modify … append{{!}}insert{{!}}merge{{!}}prepend{{!}}set}} called {{cmd|compute}}.
* The {{cd|rolls}} and {{cd|bonus_rolls}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* New source will evaluate a {{cd|minecraft:number_provider}} and then provide the result either as an integer or a float tag.
* Loot table types that have a dedicated registry now support registry element and tag references.
* Syntax:
** 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
** {{cmd|compute <target> <provider> [integer]}}, where the syntax of {{cd|target}}, {{cd|provider}} and {{cd|integer}} is the same as in {{cmd|compute}} function.
** Affected types:
** Example:
*** {{cd|minecraft:advancement}}
*** {{cmd|data modify storage foo bar set compute entity @n[type{{=}}minecraft:armor_stand] {type:score,target:{type:context,target:target_entity},score:baz<nowiki>}</nowiki>}}.
*** {{cd|minecraft:item_modifier}}
* Command syntax has been modified to take into account number provider split:
*** {{cd|minecraft:loot_table}}
** <code>compute <''target''> integer <''int_provider''></code>
*** {{cd|minecraft:number_provider}}
** <code>compute <''target''> float <''float_provider''></code>
*** {{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
'''{{cmd|execute}}'''
** Added the {{cd|minecraft:container_process}} loot table type
* Added new {{cd|slots}} condition sub-command.
*** Currently used to evaluate cooking and brewing fuel values.
** Counts the number of slots from the slot source that are present on the targeted block or entity.
*** It takes the following parameters:
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
**** {{cd|container}}, the container or inventory being evaluated.
** Syntax:
**** {{cd|block_entity}}, the block entity being fueled.
*** {{cmd|execute if|unless slots block <pos> <slot source>}}
**** {{cd|block_state}}, the current state of the block being fueled.
*** {{cmd|execute if|unless slots entity <targets> <slot source>}}
**** {{cd|origin}}, the location of the block being fueled.
* The items condition sub-command now takes a slot source as argument instead of a slot.
** Changed {{cd|minecraft:advancement_location}}
** The slot source will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
*** Block entities are now available in context and can be matched by conditions like {{cd|minecraft:match_block}}
** Syntax:
** Changed {{cd|minecraft:block_interact}}
*** {{cmd|execute if|unless items block <pos> <slot source> <item predicate>}}
*** {{cd|origin}} is now available in context, as the center of the block being interacted with.
*** {{cmd|execute if|unless items entity <targets> <slot source> <item predicate>}}


* Loot pool entries
'''{{cmd|give}}'''
** 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.
* 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}}.
** 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.
*** 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
*** 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.
** 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.
*** 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.


'''[[Minecraft:Minecraft Server Management Protocol]] 3.1.0'''
'''{{cmd|item}}'''
* Added notifications indicating when the server performs a full world upgrade on startup.
* Now takes a slot source as argument in place of anywhere a slot was previously used.
** {{cd|minecraft:notification/world/upgrade_started}}
** It will be evaluated with the {{cd|minecraft:command_slot_source}} loot type.
** {{cd|minecraft:notification/world/upgrade_progress}}
** Can be a slot source in either inline or reference form.
** {{cd|minecraft:notification/world/upgrade_finished}}
** Can be a slot source targeting multiple slots.
** {{cd|minecraft:notification/world/upgrade_failed}}
** The {{cd|replace}} 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.
**** 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:Noise settings]]'''
'''{{cmd|place}}'''
* The {{cd|surface_rule}} field has been renamed to {{cd|material_rule}}
* The {{cd|feature}} sub-command now allows in-line definition of the [[Minecraft:feature]].
** 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
'''{{cmd|publish}}'''
** 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|gamemode}} argument has been removed.
** 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.
** 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.
** 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
'''{{cmd|spreadplayers}}'''
*** Target format: map between Density Function ID and a range on that axis:
* Whether a block is safe to spread a player to is now controlled by the {{cd|#entities_can_teleport_to}} block tag.
**** 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'''
'''{{cmd|swing}}'''
* The {{cd|type}} field always needs to be specified explicitly when using an inline number provider (it was previously defaulting to {{cd|minecraft:uniform}}).
* When used on a player, the player's attack strength will no longer be reset.
* Added vanilla number providers
* Added a new optional argument to set the swing animation to play.
** {{cd|minecraft:cooking/time_bamboo}}
** Allowed values: {{cd|whack}}, {{cd|stab}}
*** Returns the burn time in ticks for bamboo and scaffolding.
** If omitted, defaults to {{cd|whack}}
** {{cd|minecraft:cooking/time_blaze_rod}}
* Added a new argument to set the duration of the swing animation, if provided.
*** Returns the burn time in ticks for blaze rods.
** Format: positive time value (by default in ticks).
** {{cd|minecraft:cooking/time_boats}}
** If omitted, defaults to {{cd|6t}}.
*** Returns the burn time in ticks for boats.
 
** {{cd|minecraft:cooking/time_coal}}
'''{{cmd|team}}'''
*** Returns the burn time in ticks for coal.
* 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).
** {{cd|minecraft:cooking/time_coal_block}}
 
*** Returns the burn time in ticks for coal blocks.
'''{{cmd|tellraw}}'''
** {{cd|minecraft:cooking/time_dried_kelp_block}}
* The {{cd|nbt}} component in a raw chat message will only be resolved up to 64k times.
*** Returns the burn time in ticks for dried kelp blocks.
 
** {{cd|minecraft:cooking/time_dry_plants}}
'''{{cmd|tick}}'''
*** Returns the burn time in ticks for various dry plants.
* The following subcommands will now signal an error instead of just printing an error message and returning {{cd|0}}:
** {{cd|minecraft:cooking/time_hanging_signs}}
** {{cmd|tick step}}
*** Returns the burn time in ticks for hanging signs.
** {{cmd|tick step stop}}
** {{cd|minecraft:cooking/time_lava_bucket}}
** {{cmd|tick sprint stop}}
*** Returns the burn time in ticks for lava buckets.
 
** {{cd|minecraft:cooking/time_roots}}
=== Gameplay ===
*** Returns the burn time in ticks for mangrove roots.
'''[[Minecraft:Advancements]]'''
** {{cd|minecraft:cooking/time_wood_blocks}}
* Visiting the dappled forest is now required for the "Adventuring Time" advancement.
*** Returns the burn time in ticks for wood blocks.
* 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.
** {{cd|minecraft:cooking/time_wood_items_extra_small}}
* Only root advancements can have {{cd|background}} field in {{cd|display}} structure.
*** 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}}
'''[[Minecraft:Closed captions]]'''
** Fields:
* Now point to the most recent [[Minecraft:sound]] in range.
*** {{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}}
'''[[Minecraft:Creative inventory]]'''
** Fields:
* Rearranged mineral items and blocks in the inventory.
*** {{cd|conditions}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* They are now sorted to have non-tiered ingredients first, followed by tiered ingredients that craft into equipment last.
*** {{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.
* Affects the ingredients and building blocks tabs.
*** {{cd|on_false}} - an optional inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Ingredients
**** Defaults to a constant 0 if omitted.
*** 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.


* Changed {{cd|minecraft:weighted_list}}
'''[[Minecraft:Enchantment]]s'''
** Fields:
* Now apply to items being damaged while protecting an [[Minecraft:undead mob]] from the sun.
*** {{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


* Changed {{cd|minecraft:uniform}}
'''[[Minecraft:Game mode switcher]]'''
** The {{cd|min}} and {{cd|max}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* 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]].


* Changed {{cd|minecraft:binomial}}
'''[[Minecraft:Spectator]]'''
** The {{cd|n}} and {{cd|p}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
* Players in Spectator mode can now interact with portals to teleport.


* Changed {{cd|minecraft:sum}}
'''[[Minecraft:Trading]]'''
** The {{cd|summands}} 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:number_provider}} type.
* New villager trades, unlocked from a villager leveling up their profession, will now update even if the player has the trading UI open.


'''[[Minecraft:Options]]'''
=== General ===
[[File:New World Options.png|thumb|right|New World Options UI]]
'''[[Minecraft:Advancement definition]]'''
* The World Options button has been moved to the [[Minecraft:Game Menu]] where the Open to LAN button used to be, replacing it.
* Rewards
** The World Options screen is divided into two sections: "General" and "Multiplayer".
** 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.
** The "General" section contains the same options as the previous World Options screen.
*** The Lock World screen has been changed.
** The "Multiplayer" section contains three 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.
* The Online button used to access the Online Options screen will now always be shown in the Options menu.
'''Order-independent Transparency (OIT)-related shader'''
* Renamed defines:
** {{cd|OIT_WAVELET_RANK}} – was previously {{cd|WAVELET_RANK}}
** {{cd|OIT_COEFF_COUNT}} – was previously {{cd|COEFF_COUNT}}
** {{cd|OIT_COEFF_ATTACHMENT_COUNT}} – was previously {{cd|COEFF_ATTACHMENT_COUNT}}


'''[[Minecraft:Particles]]'''
* Triggers
* Falling leaves particles no longer appear for [[Minecraft:spruce leaves]].
** 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 {{cd|minecraft:all_of}} condition containing that list.
*** 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}}).
** Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a {{cd|minecraft:predicate}}
** 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.
*** To avoid duplication, this field is not mentioned in entries below.


'''[[Minecraft:Predicate]]'''
* Changed {{cd|minecraft:any_block_use}} trigger
* The {{cd|condition}} field (describing predicate type) has been renamed to {{cd|type}}.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


* Changed {{cd|minecraft:all_of}}
* Changed {{cd|minecraft:bee_nest_destroyed}}
** 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 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]]).
** 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 field {{cd|state}} that matches block state properties (same format as {{cd|minecraft:enter_block}}).


* Changed {{cd|minecraft:any_of}}
* Changed {{cd|minecraft:bred_animals}} trigger
** 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.
** {{cd|child}}, {{cd|parent}}, and {{cd|partner}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Changed {{cd|minecraft:inverted}}
 
** The {{cd|term}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* Changed {{cd|minecraft:brewed_potion}} trigger
* Changed {{cd|minecraft:random_chance}}
** The {{cd|potion}} field now accepts {{cd|minecraft:potion_contents}} data component predicate.
** 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}}
* Changed {{cd|minecraft:channeled_lightning}} trigger
** The {{cd|value}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** 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.
** 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:cured_zombie_villager}} trigger
** New entries added to previously empty-in-vanilla {{cd|predicate}} registry:
** {{cd|villager}} and {{cd|zombie}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|minecraft:tool/can_silk_touch}}
*** {{cd|minecraft:tool/can_shear}}
*** {{cd|minecraft:block/fast_cooking}}


* Potion predicates
* Changed {{cd|minecraft:default_block_use}} trigger
** The {{cd|minecraft:potion_contents}} data component predicate has been changed to allow matching on specific potion effects.
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** 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:
* Changed {{cd|minecraft:effects_changed}} trigger
*** {{cd|potions}} – A list of potion types or a potion tag to match.
** The {{cd|source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|effects}} – A collection predicate of {{cd|mob_effects}} predicates to match.
 
**** The collection predicate format is as follows:
* Changed {{cd|minecraft:enter_block}}
***** {{cd|contains}} – A list of {{cd|mob_effects}} predicates to match.
** 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.
***** {{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.
* Changed {{cd|minecraft:fall_after_explosion}} trigger
****** {{cd|count}} – The number of matches required, or with {{cd|min}} and {{cd|max}} will match a range of counts.
** The {{cd|cause}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
***** {{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:
* Changed {{cd|minecraft:fishing_rod_hooked}} trigger
<syntaxhighlight lang="json">
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
    {
 
        "minecraft:<effect type>": {
* Changed {{cd|minecraft:placed_block}} trigger
          "duration": "<integer bounds representing a duration in ticks>",
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
          "amplifier": "<integer bounds>",
 
          "ambient": true/false,
* Changed {{cd|minecraft:item_used_on_block}} trigger
          "visible": true/false
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
        }
 
    }
* Changed {{cd|minecraft:allay_drop_item_on_block}} trigger
</syntaxhighlight>
** The {{cd|location}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
* 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
* Changed {{cd|minecraft:player_killed_entity}} trigger
** Matches block state and optionally block entity data and components (if present).
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Fields (same as elements of {{cd|minecraft:can_place_on}} components):
** 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|blocks}} – optional block id, list of namespaced block IDs, or hash-prefixed block tag to match.
 
*** {{cd|state}}: optional map of block state property keys to values to match.
* Changed {{cd|minecraft:entity_killed_player}} trigger
*** {{cd|nbt}}: optional block entity NBT to match.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** match will fail if this field is present, but block entity is not available in context.
** 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|components}} – optional map of exact components to match.
**** 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
* Changed {{cd|minecraft:kill_mob_near_sculk_catalyst}} trigger
** This has been fully replaced by {{cd|minecraft:match_block}}
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} 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.


'''[[Minecraft:Recipe (Java Edition)|Recipes]]'''
* Changed {{cd|minecraft:lightning_strike}} trigger
* The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts.
** {{cd|bystander}} and {{cd|lightning}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type
** The cooking time speedup is now done through the {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.


* Potion brewing recipes
* Changed {{cd|minecraft:player_generates_container_loot}} trigger
** Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.  
** 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.
** Brewing recipes use the <code>minecraft:brewing</code> type.
*** If a tag or a list is used, trigger will run when any listed loot table is generated.
** The main contents are:
 
*** <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.
* Changed {{cd|minecraft:thrown_item_picked_up_by_player}} trigger
*** <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.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** <code>output</code> – item stack, the resulting item.
 
** Example of a vanilla recipe:
* Changed {{cd|minecraft:thrown_item_picked_up_by_entity}} trigger
<syntaxhighlight lang="json">
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
{
 
  "type": "minecraft:brewing",
* Changed {{cd|minecraft:player_hurt_entity}} trigger
  "input": {
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
    "item": "minecraft:potion",
** 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.
    "potion_contents": {
 
      "potion": "minecraft:water"
* Changed {{cd|minecraft:entity_hurt_player}} trigger
    }
** 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.
  },
 
  "output": {
* Changed {{cd|minecraft:player_interacted_with_entity}} trigger
    "components": {
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
      "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'''
* Changed {{cd|minecraft:player_sheared_equipment}} trigger
* Terrain blocks are now rendered with MultiDrawIndirect on supported devices.
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


'''[[Minecraft:Resource pack]]'''
* Changed {{cd|minecraft:crafter_recipe_crafted}} trigger
* The version is now {{cd|95.0}}.
** 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.
*** If a tag or a list is used, trigger will run when any listed recipe is used.


'''[[Minecraft:Server]]s'''
* Changed {{cd|minecraft:recipe_crafted}} trigger
* Some log lines that server software might look out for have been removed.
** 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.
** The Minecraft Server Management Protocol can be used instead.
*** If a tag or a list is used, trigger will run when any listed recipe is used.


'''[[Minecraft:Server properties]]'''
* Changed {{cd|minecraft:recipe_unlocked}} trigger
* The {{cd|white-list}} property is now {{cd|true}} by default.
** 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.
*** If a tag or a list is used, trigger will run when any listed recipe is unlocked
 
* Changed {{cd|minecraft:slide_down_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.
 
* Changed {{cd|minecraft:summoned_entity}} trigger
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
 
* Changed {{cd|minecraft:tame_animal}} trigger
** The {{cd|entity}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
 
* Changed {{cd|minecraft:target_hit}} trigger
** The {{cd|projectile}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


'''[[Minecraft:Shaders]]'''
* Changed {{cd|minecraft:villager_trade}} trigger
* 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|villager}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
** Added new shaders to support order-independent transparency:
 
*** <samp>core/oit_composite.fsh</samp>
'''[[Minecraft:Block entity data]]'''
*** <samp>core/oit_depth_bounds_cull.fsh</samp>
* {{cd|minecraft:sign}} and {{cd|minecraft:hanging_sign}}
*** <samp>include/oit.glsl</samp>
** By default, commands and other click events contained in sign text are no longer executed when the block is clicked.
*** <samp>include/oit_add_transmittance.glsl</samp>
*** Additionally, text components on newly placed signs are no longer resolved by default.
*** <samp>include/oit_common.glsl</samp>
*** New boolean field called {{cd|allow_op_features}} (defaults to {{cd|false}}) has been added to restore previous behavior.
*** <samp>include/oit_depth_bounds.glsl</samp>
*** 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}}
*** <samp>include/oit_depth_sample.glsl</samp>
*** Any newly created sign will need to have that field set explicitly.
*** <samp>include/oit_sample.glsl</samp>
** Changed the rules for opening the sign edit screen after a block is placed:
** Extracted the texture sampling logic from <samp>core/terrain.fsh</samp> into <samp>include/texture_sampling.glsl</samp>
*** Previously, the screen would open unless {{cd|minecraft:block_entity_data}} was applied successfully.
** Renamed the following core shaders:
**** 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).
*** <samp>core/rendertype_clouds.vsh</samp> -> <samp>core/clouds.vsh</samp>
** Signs will now accept and return the {{cd|minecraft:sign_text_front}}, {{cd|minecraft:sign_text_back}} and {{cd|minecraft:waxed}} components.
*** <samp>core/rendertype_clouds.fsh</samp> -> <samp>core/clouds.fsh</samp>
 
*** <samp>core/rendertype_world_border.vsh</samp> -> <samp>core/world_border.vsh</samp>
* {{cd|minecraft:brewing_stand}}
*** <samp>core/rendertype_world_border.fsh</samp> -> <samp>core/world_border.fsh</samp>
** The following fields are now stored as integers rather than shorts:
** Updated core shaders to support order-independent transparency
*** 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.
*** Introduced new defines:
*** Changed the {{cd|Fuel}} field from a byte to an integer, this is the amount of fuel remaining.
**** {{cd|OIT}} - A boolean indicating if OIT is enabled.
** The following new fields have been added:
**** {{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.
*** Added the {{cd|total_brew_time}} integer field, this is the total amount of time the current brewing process will take.
**** {{cd|OIT_DEPTH_BOUNDS}} - A boolean indicating if the depth bounds pass is being executed.
*** Added the {{cd|total_fuel}} integer field, this represents the amount of fuel that was added in the last refuel.
**** {{cd|OIT_TRANSMITTANCE}} - A boolean indicating if the transmittance pass is being executed.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next brewing process.
**** {{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|minecraft:furnace}}, {{cd|minecraft:smoker}} and {{cd|minecraft:blast_furnace}}
**** {{cd|OIT_ADDITIVE}} - A boolean indicating that the OIT algorithm should emulate additive blending for the executing pipeline.
** The following fields are now stored as integers rather than shorts:
**** {{cd|OIT_OPAQUE_PARTS_THRESHOLD}} - A float determining above which alpha threshold a fragment should be considered solid and not go through OIT.
*** 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.
**** {{cd|WAVELET_RANK}} - An integer internal to the OIT algorithm.
*** 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.
**** {{cd|COEFF_COUNT}} - An integer internal to the OIT algorithm.
*** Changed the {{cd|lit_time_remaining}} field from a short to an integer, this is the amount of burn time remaining.
**** {{cd|COEFF_ATTACHMENT_COUNT}} - An integer internal to the OIT algorithm.
*** 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.
**** {{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.
** The following new fields have been added:
**** {{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.
*** Added the {{cd|speed_multiplier}} float field, this will be used to speed up or slow down the next cooking process.
**** Affected shaders:
 
***** <samp>core/block.fsh</samp>
'''[[Minecraft:Block entity format]]'''
***** <samp>core/block.vsh</samp>
* {{cd|minecraft:decorated_pot}}
***** <samp>core/clouds.fsh</samp>
** 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:
***** <samp>core/clouds.vsh</samp>
*** {{cd|back}}
***** <samp>core/entity.fsh</samp>
*** {{cd|left}}
***** <samp>core/entity.vsh</samp>
*** {{cd|right}}
***** <samp>core/item.fsh</samp>
*** {{cd|front}}
***** <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.
'''[[Minecraft:Block states]]'''
* Some of the members in {{cd|Globals}} and {{cd|DynamicTransforms}} are shuffled to use less memory for those uniform blocks.
* 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.


* Always-on Post Effect Support
'''[[Minecraft:Block transformer definition|Block transformers]]'''
** A resource pack can now define a {{cd|minecraft:end_of_frame}} post effect.
* Added {{cd|minecraft:block_transformer}} registry containing rules for transforming a block into another block.
** It will be applied before other post effects, including the ones enabled by the new {{cd|posteffect}} command.
* Format:
** This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the {{cd|posteffect}} command.
** List of objects with fields:
** 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.
*** {{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 <code>true</code>.
*** {{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 int, 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.


* Shader compilation changes
'''[[Minecraft:Controls]]'''
** Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan.
* The numeric keypad plus-or-minus key, opening bracket key and closing bracket key now display their associated glyph in the Key Binds menu.
** Shader includes are now handled by ShaderC using {{cd|#include}} instead of {{cd|#moj_import}}
** Proper IDs for each of these have not yet been added, however.
** Shader inputs and outputs must have a location specified in shader source.
* 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).
*** Vertex input names must still match expected names.
** 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.
*** Vertex outputs are matched to fragment inputs solely by location, name is now ignored.
** These buttons are still not accessible on Windows.
** 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.
* Renamed some key code display names:
** {{cd|key.keyboard.left.win}}: "Left Win" → "Left Meta"
** {{cd|key.keyboard.right.win}}: "Right Win" → "Right Meta"


'''[[Minecraft:Slot sources]]'''
'''[[Minecraft:Data component format]]'''
* Slot sources can now be defined as files inside a datapack, within the {{cd|slot_source}} folder.
* Changed {{cd|minecraft:consumable}}
** Can be used in commands which take slot sources as arguments.
** Added a new optional field to the {{cd|teleport_randomly}} consume effect:
** Can be used in inline slot sources using the {{cd|minecraft:reference}} type.
*** {{cd|directional_particles}} - boolean, whether to show a particle trail into the direction of the teleportation
* {{cd|minecraft:contents}} is no longer restricted to only selecting non-empty slots.
**** If not present, defaults to {{cd|true}}


* Added {{cd|minecraft:reference}}
* Changed {{cd|minecraft:pot_decorations}}
** Uses the referenced slot source.
** Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
** Fields:
*** {{cd|back}}
*** {{cd|name}} - the namespaced id of the slot source.
*** {{cd|left}}
*** {{cd|right}}
*** {{cd|front}}


* Changed {{cd|minecraft:slot_range}}
* Changed {{cd|minecraft:trim_material}}
** The {{cd|source}} field has a new valid type container, which sources slots from a container or inventory provided through loot context.
** The format of inline material definitions has been updated
** The {{cd|source}} field is now optional.
** Trim Materials
*** Defaults to the container source type when absent.
*** 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.


* Changed {{cd|minecraft:group}}
* Removed {{cd|minecraft:swing_animation}}
** 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.
** This has been replaced by {{cd|minecraft:attack_animation}} and {{cd|minecraft:interact_animation}}.
** 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.
*** Existing items in the world will be migrated to using the default {{cd|whack}}.
*** This format is now available consistently available for all fields of slot source.
*** 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.


* Changed {{cd|minecraft:filtered}}
* Removed {{cd|minecraft:map_color}}
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
** 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.


* Changed {{cd|minecraft:contents}}
'''[[Minecraft:Data pack]]'''
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
* The [[Minecraft:pack format]] version is now {{cd|120.0}}.
* 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.


* Changed {{cd|minecraft:limit_slots}}
'''[[Minecraft:Debug screen]]'''
** The {{cd|slot_source}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:slot_source}} type.
* 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]]'''
* {{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}}


* Removed {{cd|minecraft:reference}}
* {{cd|minecraft:visual/ambient_particles}}
** 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.
** Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
** 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:Sounds]]'''
'''Equipment assets'''
* Added new sound events:
* 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.
** {{cd|block.poplar_leaves.ambient}}
** Format: list of override entries with fields:
** {{cd|block.poplar_leaves.break}}
*** {{cd|when}} – object with fields, the material and/or pattern to match.
** {{cd|block.poplar_leaves.fall}}
**** {{cd|material}} – optional trim material ID, the material to match (if specified).
** {{cd|block.poplar_leaves.place}}
**** {{cd|pattern}} – optional trim pattern ID, the pattern to match (if specified).
** {{cd|block.poplar_leaves.step}}
***** Note: this is not the palette ID, as {{cd|trim_palette_replacements}} used to be.
** {{cd|block.poplar_leaves.hit}}
**** At least one of material or pattern must be specified.
** {{cd|block.red_shrub.break}}
**** If both are specified, both must match for the entry to be used.
** {{cd|block.red_shrub.place}}
*** {{cd|texture}} – optional trim pattern asset ID, a replacement texture to use if this entry matches.
** {{cd|block.shelf_mushroom.break}}
**** Textures are specified in the same format as {{cd|asset_id}}
** {{cd|block.shelf_mushroom.fall}}
**** If not specified, the default texture for the pattern will be used.
** {{cd|block.shelf_mushroom.place}}
*** {{cd|palette}} – optional palette ID, a replacement palette to use if this entry matches.
** {{cd|block.shelf_mushroom.step}}
**** If not specified, no palette remapping will be applied to the texture.
** {{cd|block.shelf_mushroom.bounce}}
*** The first matching entry will always be selected.
** {{cd|block.straw_bed.break}}
*** At least one of texture or palette must be defined.
** {{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]]'''
'''Game window and input backend'''
* Biome Tags
* The minimum window size is now 320&times;240 pixels.
** Added {{cd|dappled_forest}} to {{cd|d=and|#is_forest|#is_overworld|#spawns_cold_variant_farm_animals|#has_structure/trial_chambers}} tags.
* 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.


* Block Tags
'''[[Minecraft:GUI]]'''
** Added {{cd|red_shrub}} to {{cd|d=and|#replaceable|#replaceable_by_mushrooms}} tags.
* The sub-headings and categories in different tabs of [[Minecraft:Options]] now use a boldface, underlined and centered format, and can now be focused.
** 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|#wool_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|#wool_stairs}} to {{cd|#stairs}} tag.
** Added {{cd|d=and|#wool_slabs|#wool_stairs}} to {{cd|d=and|#dampens_vibrations|#shears_major_breaking_speed}} tags.
** 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
'''[[Minecraft:Instrument definition]]'''
** Added {{cd|poplar_boat}} to {{cd|#boat}} tag.
* 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:Item model]]s'''
* 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}})
** 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]]'''
* {{cd|level.dat}} now contains a {{cd|version_history}} list with prior data versions of the file.


* Item Tags
'''[[Minecraft:Loot function]]s'''
** Added {{cd|d=and|red_poplar_leaves|orange_poplar_leaves|yellow_poplar_leaves}} to {{cd|#leaves}} tag.
* The {{cd|conditions}} field is now available in all loot functions and has been renamed to {{cd|condition}}.
** Added {{cd|#poplar_logs}} to {{cd|#logs_that_burn}} tag.
** It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions.
** Added {{cd|poplar_planks}} to {{cd|#planks}} tag.
*** Functionality of old condition list format can be achieved by explicitly using {{cd|minecraft:all_of}} loot condition type.
** Added {{cd|poplar_sign}} to {{cd|#signs}} tag.
** The {{cd|function}} field (describing function type) has been renamed to {{cd|type}}.
** Added {{cd|poplar_hanging_sign}} to {{cd|#hanging_signs}} tag.
 
** Added {{cd|poplar_button}} to {{cd|#wooden_buttons}} tag.
* Changed {{cd|minecraft:enchant_with_levels}}
** Added {{cd|poplar_door}} to {{cd|#wooden_doors}} tag.
** The {{cd|levels}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
** 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|#wool_slabs}} to {{cd|#slabs}} tag.
** Added {{cd|#wool_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.
** {{Collapse
|title= Eighteen tags no longer have the function of adding an item like fuel item, due to {{DCL|cooking_fuel}} components
|content=
{{cd|#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|d=and }}
}}
** The tag {{cd|#non_flammable_wood}} no longer prevents an item from being classified as fuel item.


'''[[Minecraft:Textures]]'''
* Changed {{cd|minecraft:enchanted_count_increase}}
* Palette Textures
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** 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}}


* Equipment Assets
* Changed {{cd|minecraft:exploration_map}}
** 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)
** The {{cd|map_color}} field has now been removed.
*** Format: map from original Palette ID to a replacement Palette ID
** 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.
** 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.


* Block Sprites
* Changed {{cd|minecraft:limit_count}}
** Added new Block textures:
** The {{cd|min}} and {{cd|max}} fields inside {{cd|limit}} structure now accept an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
*** {{cd|block/orange_poplar_leaves.png}}
** {{cd|limit}} field no longer accepts a single number.
*** {{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}}


* Item Sprites
* Changed {{cd|minecraft:modify_contents}}
** Added new Item textures:
** The {{cd|modifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:item_modifier}} type.
*** {{cd|item/poplar_door.png}}
* Changed {{cd|minecraft:set_attributes}}
*** {{cd|item/poplar_hanging_sign.png}}
** 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.
*** {{cd|item/poplar_sign.png}}
*** {{cd|item/poplar_boat.png}}
*** {{cd|item/poplar_chest_boat.png}}
*** Removed {{Code|item/filled_map_markings.png}}
*Map Sprites
**Added new map textures:
***{{Code|abandoned_camp.png}}
***{{Code|ancient_city.png}}
***{{Code|desert_pyramid.png}}
***{{Code|mineshaft.png}}
***{{Code|warm_ocean_ruins.png}}
**The following 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:sequence}}
** Added new UI textures:
** 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.
*** {{cd|gui/hanging_signs/poplar.png}}
** Added optional condition field which accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
*** {{cd|gui/signs/poplar.png}}
** 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: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:context_float_provider}} type.


* Entity Textures
* Changed {{cd|minecraft:set_count}}
** Added new Entity textures:
** The {{cd|count}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
*** {{cd|entity/boat/poplar.png}}
*** {{cd|entity/chest_boat/poplar.png}}


* Particles
* Changed {{cd|minecraft:set_custom_model_data}}
** Added new Particle textures:
** Elements in the {{cd|floats}} list can now be an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
*** {{cd|orange_poplar_1.png}}
** Elements in the {{cd|colors}} lists can now be an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type
*** {{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:set_damage}}
* Removed the Raw Input mouse setting.
** The {{cd|damage}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
** 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.
* Changed {{cd|minecraft:set_enchantments}}
* Borderless Fullscreen is now the default fullscreen mode.
** Values in {{cd|enchantments}} map can now be an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
* Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game.
 
* Exclusive fullscreen mode on macOS is no longer supported.
* Changed {{cd|minecraft:set_loot_table}}
* The minimum window size is now 320 by 240 pixels.
** The {{cd|name}} field has been renamed to {{cd|loot_table_id}}
* On macOS, holding a key while entering text now displays the native accent and candidate popup.
** Removed unused field {{cd|type}}
* On Linux systems, the game will now use and prefer Wayland natively if available.


'''[[Minecraft:Villager trade definition]]'''
* Changed {{cd|minecraft:set_ominous_bottle_amplifier}}
* The {{cd|given_item_modifiers}} field has been renamed to {{cd|given_item_modifier}}
** The {{cd|amplifier}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
** Note: unlike other fields of type {{cd|minecraft:item_modifier}} this field does not support namespaced element or tag IDs.


'''[[Minecraft:World generation]]'''
* Changed {{cd|minecraft:set_random_dyes}}
* [[Minecraft:Cave air]] is no longer generated in Nether caves.
** The {{cd|number_of_dyes}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.


* Biomes
* Changed {{cd|minecraft:set_stew_effect}}
** Removed the {{cd|spawners}}, {{cd|spawn_costs}}, and {{cd|creature_spawn_probability}} fields.
** The {{cd|duration}} field in elements of effects list now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
*** These values have been moved to the new environment attributes.


* Block state providers
* Removed {{cd|minecraft:reference}}
** Updated {{cd|minecraft:copy_properties_provider}}
** This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions.
*** 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.


* Carvers
'''[[Minecraft:Loot table]]s'''
** The {{cd|worldgen/configured_carver}} registry has been renamed to {{cd|worldgen/carver}}
* 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.
** Updated {{cd|minecraft:cave}} carver type
* The {{cd|rolls}} and {{cd|bonus_rolls}} fields now accept an inline value or a namespaced ID.
*** All fields previously under the config field have been inlined to the top-level.
** {{cd|rolls}} field is {{cd|minecraft:context_int_provider}}
*** Added the {{cd|count}} field - non-negative Int Provider, the number of cave tunnels to create from a seed chunk.
** {{cd|bonus_rolls}} field is {{cd|minecraft:context_float_provider}}
*** Renamed {{cd|yScale}} to {{cd|room_vertical_radius_multiplier}}
* Loot table types that have a dedicated registry now support registry element and tag references.
*** 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.
** 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
**** If not specified, defaults to {{cd|1.0}}
** Affected types:
*** Added the {{cd|thickness}} field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels.
*** {{cd|minecraft:advancement}}
*** Added optional {{cd|weird_thickness_bias}} field - Boolean
*** {{cd|minecraft:item_modifier}}
**** If {{cd|true}}, thickness will be multiplied by, with a 10% chance: <math>random(0, 1) * random(0, 3) + 1</math>
*** {{cd|minecraft:loot_table}}
**** If not specified, defaults to {{cd|false}}
*** {{cd|minecraft:number_provider}}
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
*** {{cd|minecraft:predicate}}
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
*** {{cd|minecraft:recipe}}
*** Removed the {{cd|debug_settings}} field.
*** {{cd|minecraft:slot_source}}
** Updated {{cd|minecraft:canyon}} carver type
** Existing {{cd|reference}} types for predicates, item modifiers and slot sources are now obsolete and have been removed
*** All fields previously under the config field have been inlined to the top-level.
 
*** Renamed and moved {{cd|yScale}} to {{cd|shape.y_scale}}
* Loot table types
*** Removed the {{cd|replaceable}} field, carvers will replace any block (excluding features).
** Added {{cd|minecraft:command_compute_default}} loot table type
*** Removed the {{cd|lava_level}} field, fluids are now always selected by the {{cd|aquifer}} or {{cd|sea_level}} configuration in the dimension.
*** Currently used for {{cmd|compute default}} command.
*** Removed the {{cd|debug_settings}} field.
*** It takes the following parameters:
** Removed {{cd|minecraft:nether_cave}} carver type
**** {{cd|origin}}, the position at which the command was executed
*** Replaced by the {{cd|minecraft:cave}} carver type
**** {{cd|this}} entity, the {{cd|@s}} entity of the command being executed (optional)
 
** Added {{cd|minecraft:command_compute_entity}} loot table type
*** Currently used for {{cmd|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
 
** Added {{cd|minecraft:command_compute_position}} loot table type
*** Currently used for {{cmd|compute block}} command.
*** It takes the following parameters:
**** Everything included in {{cd|minecraft:command_compute_default}}
**** {{cd|block_entity}}, the block entity of the block at the position given in a command
**** {{cd|block_state}}, the current state of the block at the position given in a command


* [[Minecraft:Density function]]s
** Added {{cd|minecraft:container_process}} loot table type
** Updated {{cd|constant}}
*** Currently used to evaluate cooking and brewing fuel values.
*** {{cd|argument}} has been renamed to {{cd|value}}
*** It takes the following parameters:
** Updated {{cd|add}}, {{cd|mul}}, {{cd|min}}, and {{cd|max}}
**** {{cd|container}}, the container or inventory being evaluated.
*** {{cd|argument1}} has been renamed to {{cd|left}}.
**** {{cd|block_entity}}, the block entity being fueled.
*** {{cd|argument2}} has been renamed to {{cd|right}}.
**** {{cd|block_state}}, the current state of the block being fueled.
** 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|origin}}, the location of the block being fueled.
*** {{cd|argument}} has been renamed to {{cd|input}}.
 
** Updated {{cd|shift_a}}, {{cd|shift_b}}, and {{cd|shift}}
** Changed {{cd|minecraft:advancement_location}} loot table type
*** {{cd|argument}} has been renamed to {{cd|noise}}
*** Block entities are now available in context and can be matched by conditions like {{cd|minecraft:match_block}}
** Added {{cd|sub}}
 
*** Performs subtraction between two arguments.  
** Changed {{cd|minecraft:block_interact}} loot table type
*** Format: object with fields:
*** {{cd|origin}} is now available in context, as the center of the block being interacted with.
**** {{cd|left}} - Density Function, the left-hand side of the operation
 
**** {{cd|right}} - Density Function, the right-hand side of the operation
* Loot pool entries
** Added {{cd|div}}
** 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.
*** Performs division between two arguments.
** 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.
*** Format: object with fields:
*** This field is now present on all loot entries, including previously omitted {{cd|minecraft:alternatives}}, {{cd|minecraft:sequence}} and {{cd|minecraft:group}}.
**** {{cd|left}} - Density Function, the left-hand side of the operation.
** Changed {{cd|minecraft:tag}} loot pool entry
**** {{cd|right}} - Density Function, the right-hand side of the operation.
*** 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.
** Updated {{cd|reciprocal}}
** Changed {{cd|minecraft:loot_table}} loot pool entry
*** Renamed from {{cd|invert}}
*** 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.
** Added {{cd|negate}}
*** Added {{cd|expand}} field, working the same as in {{cd|minecraft:tag}} pool entry:
*** Negates the input.
**** If {{cd|true}}, each entry inside tag will be added to outer pool, with weights equal to weight of this entry.
*** Format: object with fields:
**** 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.
**** {{cd|input}} - Density Function, the function to negate.
 
** Added {{cd|lerp}}
'''[[Minecraft:Minecraft Server Management Protocol]] 3.1.0'''
*** Performs (unclamped) linear interpolation between two arguments based on an alpha.
* Added notifications indicating when the server performs a full world upgrade on startup.
*** Format: object with fields:
** {{cd|minecraft:notification/world/upgrade_started}}
**** {{cd|alpha}} - Density Function, the interpolation factor (0=first, 1=second)
** {{cd|minecraft:notification/world/upgrade_progress}}
***** Any value outside of {{cd|[0; 1]}} will extrapolate
** {{cd|minecraft:notification/world/upgrade_finished}}
**** {{cd|first}} - Density Function, the value at {{cd|alpha{{=}}0}}
** {{cd|minecraft:notification/world/upgrade_failed}}
**** {{cd|second}} - Density Function, the value at {{cd|alpha{{=}}1}}
 
** Added {{cd|floor}}, {{cd|round}}, {{cd|ceil}}, and {{cd|truncate}}
'''[[Minecraft:Number provider]]s'''
*** Rounds the input value to an integer multiple of a given function in a type-dependent direction:
* 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|floor}}: rounds towards negative infinity.
* The {{cd|minecraft:number_provider}} and {{cd|minecraft:number_provider_type}} registries have been split into separate registries for integer calculations ({{cd|minecraft:context_int_provider}}, {{cd|minecraft:context_int_provider_type}}) and float calculations ({{cd|minecraft:context_float_provider}}, {{cd|minecraft:context_float_provider_type}}).
**** {{cd|round}}: rounds towards the nearest integer (ties round up).
* Number provider types and values have been split into two separate registries: {{cd|minecraft:context_int_provider}} and {{cd|minecraft:context_float_provider}} to avoid accidental loss of precision and range due to mixing of float and integer operations.{{note|Those new types should not be confused with already existing {{cd|minecraft:int_provider_type}} and {{cd|minecraft:float_provider_type}}, which are context-free providers, used mostly for world generation.}}
**** {{cd|ceil}}: rounds towards positive infinity.
 
**** {{cd|truncate}}: rounds towards 0.
* Following number provider types have been split into integer and float variants:
*** Format: object with fields:
** {{cd|minecraft:constant}}
**** {{cd|input}} - Density Function, the input to round.
** {{cd|minecraft:uniform}}
**** {{cd|multiple}} - Density Function, the output will be rounded to an integer multiple of this value.
** {{cd|minecraft:storage}}
***** If not specified, defaults to constant {{cd|1}} (i.e. rounding to integer).
** {{cd|minecraft:sum}}  
** Added {{cd|beardifier}}
*** renamed to {{cd|minecraft:add}}
*** Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.
** {{cd|minecraft:product}}  
*** Format: no fields
*** renamed to {{cd|minecraft:mul}}
** Added {{cd|pow}}
** {{cd|minecraft:minimum}}  
*** Raises the given base value to an exponent.
*** renamed to {{cd|minecraft:min}}
*** Format: object with fields:
** {{cd|minecraft:maximum}}  
**** {{cd|base}} – density function, the base value.
*** renamed to {{cd|minecraft:max}}
**** {{cd|exponent}} – density function, the exponent.
** {{cd|minecraft:average}}  
** Added {{cd|sqrt}}
*** renamed to {{cd|minecraft:avg}}
*** Computes the square root of the given input.
** {{cd|minecraft:weighted_list}}
*** Format: object with fields:
** {{cd|minecraft:conditional}}
**** {{cd|input}} – density function, the value for which to compute the square root.
** {{cd|minecraft:number_dispatcher}}
** Added {{cd|log}}
** {{cd|minecraft:environment_attribute}}
*** Computes the natural logarithm of the given input.
* The following number providers types are now only available in integer variant:
*** Format: object with fields:
** {{cd|minecraft:binomial}}
**** {{cd|input}} – density function, the value for which to compute the natural logarithm.
** {{cd|minecraft:score}}
** Added {{cd|sign}}
* The following number providers types are now only available in float variant:
*** Computes the sign of the input:
** {{cd|minecraft:enchantment_level}}
**** If the input is positive, returns {{cd|1}}
* The following vanilla number providers have been migrated to {{cd|minecraft:context_int_provider}} registry:
**** If the input is 0, returns {{cd|0}}
** {{cd|minecraft:compostable/low}}
**** If input is negative, returns {{cd|-1}}
** {{cd|minecraft:compostable/low_medium}}
*** Format: object with fields:
** {{cd|minecraft:compostable/medium}}
**** {{cd|input}} – density function, the value of which to compute the sign.
** {{cd|minecraft:compostable/medium_high}}
** Added {{cd|distance_to_point}}
** {{cd|minecraft:compostable/always_add_one}}
*** Computes the distance to a fixed point using the specified distance function.
** {{cd|minecraft:cooking/time_bamboo}}
*** Format: object with fields:
** {{cd|minecraft:cooking/time_wool_slabs}}
**** {{cd|point}} – array of 3 integers in form {{cd|[x, y, z]}}, the point to compute distance to.
** {{cd|minecraft:cooking/time_wool_carpets}}
**** {{cd|metric}} – one of:
** {{cd|minecraft:cooking/time_dry_plants}}
***** {{cd|euclidean}} – i.e. <math>sqrt(dx^2 + dy^2 + dz^2)</math>
** {{cd|minecraft:cooking/time_wood_items_extra_small}}
***** {{cd|euclidean_squared}} – i.e. <math>dx^2 + dy^2 + dz^2</math>
** {{cd|minecraft:cooking/time_wool}}
***** {{cd|manhattan}} – i.e. <math>abs(dx) + abs(dy) + abs(dz)</math>
** {{cd|minecraft:cooking/time_wood_slabs}}
***** {{cd|chebyshev}} – i.e. <math>max(abs(dx), abs(dy), abs(dz))</math>
** {{cd|minecraft:cooking/time_wood_items_large}}
** Updated {{cd|gradient}} (renamed from {{cd|y_clamped_gradient}})
** {{cd|minecraft:cooking/time_wood_items_small}}
*** Format: object with fields:
** {{cd|minecraft:cooking/time_roots}}
**** {{cd|axis}} {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis over which to define this gradient.
** {{cd|minecraft:cooking/time_wood_blocks}}
**** {{cd|tiling}} – one of:
** {{cd|minecraft:cooking/time_hanging_signs}}
***** {{cd|clamp_to_edge}} – outside the gradient boundaries, the value at the nearest boundary will be used.
** {{cd|minecraft:cooking/time_boats}}
***** {{cd|repeat}} – the gradient will be repeated outside its boundaries.
** {{cd|minecraft:cooking/time_coal}}
***** {{cd|mirrored_repeat}} the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions.
** {{cd|minecraft:cooking/time_blaze_rod}}
**** {{cd|from_coordinate}} – int, the coordinate at which the gradient starts.
** {{cd|minecraft:cooking/time_dried_kelp_block}}
**** {{cd|to_coordinate}} – int, the coordinate at which the gradient ends.
** {{cd|minecraft:cooking/time_coal_block}}
***** Must not be equal to {{cd|from_coordinate}}
** {{cd|minecraft:cooking/time_lava_bucket}}
**** {{cd|from_value}} – float, the value at which the gradient starts.
** {{cd|minecraft:brewing/uses_default}}
**** {{cd|to_value}} – float, the value at which the gradient ends.
* The following vanilla number providers have been migrated to {{cd|minecraft:context_float_provider}} registry:
** Added {{cd|slice}}
** {{cd|minecraft:cooking/speed_default}}
*** 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}}.
** {{cd|minecraft:cooking/normal_speed_multiplier}}
*** Format: object with fields:
** {{cd|minecraft:cooking/fast_speed_multiplier}}
**** {{cd|axis}} {{cd|x}}, {{cd|y}}, or {{cd|z}}, the axis to remove.
** {{cd|minecraft:brewing/speed_default}}
**** coordinate – int, the fixed coordinate to be passed to the input function.
* The following vanilla number providers have been removed:
**** input – density function, the input function.
** {{cd|minecraft:cooking/normal_burn_time_multiplier}} (replaced by {{cd|minecraft:cooking/normal_burn_time_reduction_factor}})
** Changed {{cd|end_outer_islands}}
** {{cd|minecraft:cooking/fast_burn_time_multiplier}} (replaced by {{cd|minecraft:cooking/fast_burn_time_reduction_factor}})
*** Renamed from {{cd|end_islands}}. No longer computes the density of the main island.
 
* Added vanilla number providers
** {{cd|minecraft:cooking/time_bamboo}}
*** Returns the burn time in ticks for bamboo and scaffolding.
** {{cd|minecraft:cooking/time_blaze_rod}}
*** Returns the burn time in ticks for blaze rods.
** {{cd|minecraft:cooking/time_boats}}
*** Returns the burn time in ticks for boats.
** {{cd|minecraft:cooking/time_coal}}
*** Returns the burn time in ticks for coal.
** {{cd|minecraft:cooking/time_coal_block}}
*** Returns the burn time in ticks for coal blocks.
** {{cd|minecraft:cooking/time_dried_kelp_block}}
*** Returns the burn time in ticks for dried kelp blocks.
** {{cd|minecraft:cooking/time_dry_plants}}
*** Returns the burn time in ticks for various dry plants.
** {{cd|minecraft:cooking/time_hanging_signs}}
*** Returns the burn time in ticks for hanging signs.
** {{cd|minecraft:cooking/time_lava_bucket}}
*** 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.


* Int Providers
* Changed {{cd|minecraft:number_dispatcher}}
** Added {{cd|minecraft:very_biased_to_bottom}} Int provider type
** Fields:
*** Picks a random value in the provided range, with a quadratic bias towards the minimum value.
*** {{cd|cases}} - a list of cases in the order that the dispatcher will try to execute them.
*** Format: object with fields:
**** Fields:
**** {{cd|min_inclusive}} - Integer, the minimum selected value (inclusive).
***** {{cd|condition}} - an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.
**** {{cd|max_inclusive}} - Integer, the maximum selected value (inclusive).
***** {{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.


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


* Material Rule Registry
* Changed {{cd|minecraft:weighted_list}}
** A new data-driven registry has been introduced, loaded from <samp>data/<namespace>/worldgen/material_rule/<id>.json</samp>.
** Fields:
** Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
*** {{cd|distribution}} - a list of objects with the following fields.
** The format is identical to that which was formerly written in the {{cd|surface_rule}} field within noise settings files, with the following extensions:
**** Fields:
*** 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.
***** {{cd|data}} - an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
*** Material conditions can also now be specified as an ID reference to an element in the {{cd|worldgen/material_condition}} registry.
***** {{cd|weight}} - a positive integer


* [[Minecraft:Noise]]s
* Changed {{cd|minecraft:uniform}}
** The format of noises (defined in the <samp>worldgen/noise</samp> registry, or inline in noise-based block state providers) has been updated.
** The {{cd|min}} and {{cd|max}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} type.
** Noises define a fractal brownian motion configuration with the following properties:
 
*** Produces output values (approximately) fitting a normal distribution.
* Changed {{cd|minecraft:binomial}}
*** Unless otherwise specified, fits the output amplitude to {{cd|[-1; 1]}}
** The {{cd|n}} and {{cd|p}} fields now accept an inline value or a namespaced ID of a {{cd|minecraft:number_provider}} 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}}
* Changed {{cd|minecraft:sum}}
**** i.e. between each octave, the amplitude is halved and the frequency doubled.
** 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.
*** Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
** Now requires at least one operand.
*** Renamed {{cd|firstOctave}} to {{cd|base_octave}}.
** When used in integer mode, integer mode is used for intermediate steps as well.
*** 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}}.


* Placement Modifiers
'''[[Minecraft:Options]]'''
** Changed {{cd|minecraft:offset}} placement modifier
* The Online button used to access the Online Options screen will now always be shown in the Options menu.
*** Renamed from {{cd|random_offset}}.
* On macOS, Exclusive Fullscreen is now available again.
*** Format:
* On macOS, added a "Menu/Dock Visibility" option in Video Settings, which controls whether the macOS Menu bar and Dock can be revealed by moving the mouse to the edge of the screen while in fullscreen.
**** Removed the fields {{cd|xz_spread}} and {{cd|y_spread}}.
* The cursor is now confined to the window while Exclusive Fullscreen is active.
**** Added the fields {{cd|x}}, {{cd|y}}, {{cd|z}}: Integer providers between -16 and {{cd|16}} specifiying the axis-specific offset.
* The sub-headings and categories in the [[Minecraft:Game rule]]s menu can now be focused for narration.
** Added {{cd|minecraft:cuboid}}
 
*** Repeats a feature in a cuboid shape.
'''[[Minecraft:Panorama]]'''
*** Added fields:
* Updated the panorama to reflect [[Minecraft:Wilderness Bound]], showing the new Dappled Forest biome with an Abandoned Camp.
**** {{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.
'''[[Minecraft:Particles]]'''
**** {{cd|include_interior}}: optional boolean (default {{cd|true}}) for whether to place interior blocks of the cuboid.
* Falling leaves particles no longer appear for [[Minecraft:spruce leaves]].
**** {{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.
'''[[Minecraft:Predicate]]'''
** Added {{cd|minecraft:random_chance}}
* The {{cd|condition}} field (describing predicate type) has been renamed to {{cd|type}}.
*** 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.


* Rule Tests
* Changed {{cd|minecraft:all_of}}
** 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 {{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.
** Added rule test type {{cd|minecraft:height_match}}
** 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.
*** 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
* Changed {{cd|minecraft:any_of}}
** Added {{cd|minecraft:dimension_origin}}
** 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.
** New structure placement that places a single instance of the structure at the dimension origin.
*** 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
* Changed {{cd|minecraft:damage_source_properties}}
** Changed {{cd|minecraft:feature_pool_element}}
** 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.
*** Can now connect to jigsaw blocks with any target name, instead of just {{cd|minecraft:bottom}}.


* Vertical Anchors
* Changed {{cd|minecraft:entity_scores}}
** Added a new option for vertical Anchors: {{cd|relative_to_sea_level}}
** The {{cd|min}} and {{cd|max}} fields inside values of scores map now accept an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
*** Specifies an offset to the sea level of the dimension.
** {{cd|scores}} field itself now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type (previously only integers were allowed).


=== Misc ===
* Changed {{cd|minecraft:inverted}}
This version contains the model for <code>straw_bed_head</code> twice, once in the correct spot of <code>assets/minecraft/models/block/straw_bed_head.json</code> and another misplaced inside of <code>assets/minecraft/textures/block/straw_bed_head.json</code>
** The {{cd|term}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:predicate}} type.


== Fixes ==
* Changed {{cd|minecraft:random_chance}}
{{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
** The {{cd|chance}} field now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_float_provider}} type.
|;old
 
|4|Item drops sometimes appear at the wrong location.
* Changed {{cd|minecraft:time_check}}
|2157|Particles emitted from dragon eggs when teleporting do not point in the correct direction.
** The {{cd|min}} and {{cd|max}} fields inside value structure now accept an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type.
|5269|Updating a server's address in the multiplayer menu does not update its status.
** {{cd|value}} field itself now accepts an inline value or a namespaced ID of a {{cd|minecraft:context_int_provider}} type (previously only integers were allowed).
|40597|The interaction of Minecraft's built-in fullscreen mode and macOS fullscreen can glitch the game window.
 
|46421|You cannot use nether portals, end portals, and end gateways while in Spectator mode.
* Removed {{cd|minecraft:reference}}
|51859|The line spacing of text within all hover tooltips is larger between the first and second lines.
** This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions.
|58061|Endermen can teleport onto signs.
 
|73162|Breaking an entity that instantly breaks sometimes destroys the block behind it in Creative mode.
* Removed {{cd|minecraft:value_check}}
|91006|Some entities lose their name when placed/broken.
** This condition has been split into integer and float variants.
|102732|Arrows can visually bounce off of entities that don't wear a shield.
 
|110989|{{cmd|spreadplayers}} considers signs to be a valid block to be spread onto.
* Added vanilla predicates
|112580|Structure blocks' GUI does not pause the game in singleplayer.
** New entries added to previously empty-in-vanilla {{cd|predicate}} registry:
|112744|The {{cd|Team}} NBT tag only exists for living entities.
*** {{cd|minecraft:tool/can_silk_touch}}
|113006|Items reeled in with fishing rods do not move smoothly but appear to teleport.
*** {{cd|minecraft:tool/can_shear}}
|116286|{{cmd|spreadplayers}} can spread entities on structure void.
*** {{cd|minecraft:block/fast_cooking}}
|121278|Keybindings (e.g. {{keys|Ctrl+A}}) are being mapped to the US keyboard layout even if you're using another layout.
 
|121375|The {{keys|cmd}} key on macOS is displayed as "Win" in the key binds screen.
* Potion predicates
|122717|Command success messages for some commands include unaffected entities, unlike the command result.
** The {{cd|minecraft:potion_contents}} data component predicate has been changed to allow matching on specific potion effects.
|133407|Keybinds switch when upgrading to 1.13 if not using a QWERTY keyboard.
** The previous predicate format used a list of potion types, the new format allows for more refined matching.
|148541|{{cmd|spreadplayers}} can spread players to seagrass near the surface of the water.
** The following fields can be used in any combination, all are optional:
|151857|The success message of /give when affecting multiple players uses the wrong string.
*** {{cd|potions}} – A list of potion types or a potion tag to match.
|159283|The End terrain does not generate in multiple rings centered around the world center.
*** {{cd|effects}} – A collection predicate of {{cd|mob_effects}} predicates to match.
|161885|Many transparent things do not render behind slimes.
**** The collection predicate format is as follows:
|161898|Transparent particles make other particles invisible.
***** {{cd|contains}} – A list of {{cd|mob_effects}} predicates to match.
|161926|The block breaking animation is more transparent when mining ice or stained glass.
***** {{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.
|162159|Riding boats above bubble columns causes players to teleport up 2 blocks.
****** {{cd|test}} – The {{cd|mob_effects}} predicate to match.
|168446|Single dark oak and pale oak saplings accept bone meal despite not being able to grow.
****** {{cd|count}} – The number of matches required, or with {{cd|min}} and {{cd|max}} will match a range of counts.
|168653|Mobs, particles, clouds, water and transparent blocks don't render behind the transparent parts of shulker bullets.
***** {{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.
|174958|{{cmd|gamerule}} succeeds when the value is not changed.
** 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:
|175180|The {{cd|Silent}} NBT tag still doesn't make some entities fully silent.
<syntaxhighlight lang="json">
|189953|The {{keys|super}} key on macOS is displayed as "Win" in the key binds screen.
    {
|190203|Transparent and specially rendered blocks, entities, clouds, water and particles don't render behind wind charges, and charged creeper, wither and breeze armor.
        "minecraft:<effect type>": {
|202197|Entities' name tag background is rendered behind transparent things.
          "duration": "<integer bounds representing a duration in ticks>",
|206356|The motion of falling block entities is visually slow.
          "amplifier": "<integer bounds>",
|210584|Semi-transparent textures on an item that doesn't have it by default doesn't render water behind it.
          "ambient": true/false,
|212671|Loot table tag entry with "{{cd|expand}}": {{cd|true}} does not apply functions.
          "visible": true/false
|218156|Shipwrecks and ocean ruins can generate with empty buried treasure maps.
        }
|222818|You can ignite TNT in Adventure mode.
    }
|223321|You can destroy turtle eggs by standing or jumping on them in spawn protection.
</syntaxhighlight>
|223323|You can trample farmland in spawn protection.
* Example of matching on several different effects and criteria:
|223559|Transparent blocks, particles, and clouds are not rendered behind semi-transparent marker armor stands.
<syntaxhighlight lang="json">
|224528|Two splash texts use curly single quotes () instead of apostrophes (').
      "effects": {
|229405|The inside of boats blocks the rendering of most translucent objects with the "Improved Transparency" option enabled.
        "minecraft:jump_boost": {
|229831|Enchanting tables' GUI has three pixels in the top-right corner that shouldn't be there.
          "duration": 3600,
|239401|{{cd|items/light.png}} never appears in-game; is pointlessly referenced by other game assets.
          "amplifier": 5,
|252369|Data packs can fail to load due to a feature cycle when one does not exist.
          "ambient": true,
|252934|Placing structures with item frames, paintings, or cushions logs {{cd|Block-attached entity at invalid position: [BlockPosition]}}.
          "visible": true
|254353|A packet to remove the score is always broadcast when a score is reset.
        },
|254661|{{cmd|schedule clear}} requires a namespace in its function argument.
        "minecraft:speed": {
|256073|Miscolored pixel in {{cd|tab_inventory.png}}.
          "duration": {
|256096|Some entities on a team can harm teammates that walk into them when friendly fire is disabled.
            "min": 360,
|256097|Some entities on a team can harm their teammates when they explode when friendly fire is disabled.
            "max": 3600
|259583|Brewing with a single bottle of dragon's breath does not return a glass bottle afterward.
          },
|259812|Block and item displays, beds, clouds, signs, shulker boxes, and semi-transparent blocks and entities don't render behind text displays.
          "amplifier": {
|263708|Keybinds menu renders Keypad keys the same as regular keys.
            "min": 2
|264003|Boats carrying players sometimes stop abruptly when sliding along ice.
          }
|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.
        "minecraft:resistance": {}
|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.
</syntaxhighlight>
|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).
* Added {{cd|minecraft:match_block}} condition type
|271069|Item entities appear to fly towards the player when picked up by a dolphin that isn't being rendered.
** Matches block state and optionally block entity data and components (if present).
** Fields (same as elements of {{cd|minecraft:can_place_on}} components):
*** {{cd|blocks}} – optional block id, list of namespaced block IDs, or hash-prefixed block tag to match.
*** {{cd|state}}: optional map of block state property keys to values to match.
*** {{cd|nbt}}: optional block entity NBT to match.
**** match will fail if this field is present, but block entity is not available in context.
*** {{cd|components}} – optional map of exact components to match.
**** 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
** This has been fully replaced by {{cd|minecraft:match_block}}
 
'''[[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.
 
'''[[Minecraft:Recipe (Java Edition)|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 {{cd|minecraft:cooking/speed_default}} number provider used by the furnace fuel components.
 
* Cooking Recipes
** The {{cd|cookingtime}} field of all cooking recipes is no longer optional.
** Custom [[Minecraft:smoker]] and [[Minecraft:blast furnace]] recipes should be updated accordingly, by setting {{cd|cookingtime}} to twice the previous value.
** If a custom cooking recipe was previously relying on the default {{cd|cookingtime}} value, {{cd|200}} can be used to maintain the same timing.
 
* Potion brewing recipes
** Potion brewing recipes are now data-driven. New recipes can be added via [[Minecraft:data pack]]s, and vanilla recipes may be modified.  
** Brewing recipes use the <code>minecraft:brewing</code> type.
** The main contents are:
*** <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.
*** <code>output</code> – 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]]'''
* The version is now {{cd|97.1}}.
 
'''[[Minecraft:Server]]s'''
* 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]]'''
* The {{cd|white-list}} property is now {{cd|true}} by default.
 
'''[[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:
*** <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>core/blit_depth.fsh</samp> added as a way to copy contents of depth textures as an alternative to the rendering backend-based copying methods that do not work on some devices.
 
* <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 widgets sprites
** Added the following textures:
*** <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>
 
* 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>
 
'''[[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.
* The {{cd|max_uses}} and {{cd|xp}} fields now require an inline value of a {{cd|minecraft:context_int_provider}} type.
* The {{cd|count}} field in {{cd|wants}} and {{cd|additional_wants}} structures now require an inline value of a {{cd|minecraft:context_int_provider}} type.
* The {{cd|reputation_discount}} field now requires an inline value of a {{cd|minecraft:context_float_provider}} type.
 
'''[[Minecraft:World Options]]'''
[[File:World Options JE3.png|thumb|right|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 {{cmd|gamemode}} command, or {{keys|F3+F4}})
** 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 <code>straw_bed_head</code> twice, once in the correct spot of <code>assets/minecraft/models/block/straw_bed_head.json</code> and another misplaced inside of <code>assets/minecraft/textures/block/straw_bed_head.json</code>
 
== 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,26.3 Snapshot 10,26.3 Pre-Release 1
|;old
|4|Item drops sometimes appear at the wrong location.
|2157|Particles emitted from dragon eggs when teleporting do not point in the correct direction.
|5269|Updating a server's address in the multiplayer menu does not update its status.
|40597|The interaction of Minecraft's built-in fullscreen mode and macOS fullscreen can glitch the game window.
|44654|Some entities' positions are not updated on the client when teleported.
|46421|You cannot use nether portals, end portals, and end gateways while in Spectator mode.
|51859|The line spacing of text within all hover tooltips is larger between the first and second lines.
|58061|Endermen can teleport onto signs.
|59810|Cannot break blocks while sprinting on macOS.
|73162|Breaking an entity that instantly breaks sometimes destroys the block behind it in Creative mode.
|91006|Some entities lose their name when placed/broken.
|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.
|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.
|110989|{{cmd|spreadplayers}} considers signs to be a valid block to be spread onto.
|112580|Structure blocks' GUI does not pause the game in singleplayer.
|112744|The {{cd|Team}} NBT tag only exists for living entities.
|113006|Items reeled in with fishing rods do not move smoothly but appear to teleport.
|116286|{{cmd|spreadplayers}} can spread entities on structure void.
|121278|Keybindings (e.g. {{keys|Control+A}}) are being mapped to the US keyboard layout even if you're using another layout.
|121375|The {{keys|Command}} key on macOS is displayed as "Win" in the key binds screen.
|122477|Opening the chat sometimes appends the character the used key types to the message on Linux.
|122717|Command success messages for some commands include unaffected entities, unlike the command result.
|122731|Camera movement stutters when turning in a boat.
|133407|Keybinds switch when upgrading to 1.13 if not using a QWERTY keyboard.
|148541|{{cmd|spreadplayers}} can spread players to seagrass near the surface of the water.
|149058|Using hotkeys to move items into the anvil UI appends the character the used key types to the new item name.
|151857|The success message of /give when affecting multiple players uses the wrong string.
|154881|Dropping an item from your hotbar at the same time as switching to another hotbar slot desyncs the second item.
|159283|The End terrain does not generate in multiple rings centered around the world center.
|161885|Many transparent things do not render behind slimes.
|161898|Transparent particles make other particles invisible.
|161926|The block breaking animation is more transparent when mining ice or stained glass.
|162159|Riding boats above bubble columns causes players to teleport up 2 blocks.
|168446|Single dark oak and pale oak saplings accept bone meal despite not being able to grow.
|168653|Mobs, particles, clouds, water and transparent blocks don't render behind the transparent parts of shulker bullets.
|174958|{{cmd|gamerule}} succeeds when the value is not changed.
|175180|The {{cd|Silent}} NBT tag still doesn't make some entities fully silent.
|183446|Endermen still avoid projectiles when riding minecart or boat.
|189953|The {{keys|Super}} key on macOS is displayed as "Win" in the key binds screen.
|190203|Transparent and specially rendered blocks, entities, clouds, water and particles don't render behind wind charges, and charged creeper, wither and breeze armor.
|202197|Entities' name tag background is rendered behind transparent things.
|206356|The motion of falling block entities is visually slow.
|206540|Increased input delay when riding an entity.
|210117|Sculk sensors don't detect ice/snow melting.
|210584|Semi-transparent textures on an item that doesn't have it by default doesn't render water behind it.
|211708|Client spawns crit particles when attacking another player that cannot be harmed.
|212671|Loot table tag entry with "{{cd|expand}}": {{cd|true}} does not apply functions.
|214113|Endermen and shulkers can teleport onto the Nether roof.
|218156|Shipwrecks and ocean ruins can generate with empty buried treasure maps.
|222818|You can ignite TNT in Adventure mode.
|223321|You can destroy turtle eggs by standing or jumping on them in spawn protection.
|223323|You can trample farmland in spawn protection.
|223559|Transparent blocks, particles, and clouds are not rendered behind semi-transparent marker armor stands.
|224528|Two splash texts use curly single quotes (’) instead of apostrophes (').
|227008|Endermen constantly try to teleport when riding a vehicle under daylight.
|228273|Goats do not move correctly after they are tempted during a long jump.
|229405|The inside of boats blocks the rendering of most translucent objects with the "Improved Transparency" option enabled.
|229831|Enchanting tables' GUI has three pixels in the top-right corner that shouldn't be there.
|236497|The head rotations of passengers in boats are not correctly displayed for other players.
|237053|Block breaking particles cannot be seen by other players.
|237165|Block breaking sounds cannot be heard by other players.
|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.
|245030|The "Bee buzzes" closed caption only appears when a bee buzzes for the first time.
|247034|Particles produced from entities growing cannot be seen by other players.
|248600|Particles produced from moving in powder snow cannot be seen by other players.
|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.
|252934|Placing structures with item frames, paintings, or cushions logs {{cd|Block-attached entity at invalid position: [BlockPosition]}}.
|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.
|254370|The {{cd|entity_scores}} predicate type cannot check all possible scores.
|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.
|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.
|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.
|259512|Horizontal camera rotation lags when riding.
|259583|Brewing with a single bottle of dragon's breath does not return a glass bottle afterward.
|259812|Block and item displays, beds, clouds, signs, shulker boxes, and semi-transparent blocks and entities don't render behind text displays.
|260780|Shulker Bullets always push Fireballs south.
|263100|Cave biomes interfere with relief on exploration maps.
|263708|Keybinds menu renders Keypad keys the same as regular keys.
|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.
|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).
|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.
|269968|Can't scroll while holding shift on macOS (except in the hotbar) (mouse only).
|270970|The player's camera shakes when attempting to step up blocks with a boat above them.
|271069|Item entities appear to fly towards the player when picked up by a dolphin that isn't being rendered.
|271297|{{cmd|fillbiome}} doesn't fail when no changes are made.
|271297|{{cmd|fillbiome}} doesn't fail when no changes are made.
|273327|The {{cd|#convertable_to_mud}} block tag misspells "convertible" as "convertable".
|273327|The {{cd|#convertable_to_mud}} block tag misspells "convertible" as "convertable".
|275111|Two animals in a boat look sideways instead of at the player when lured.
|273708|Endermen taking environmental damage attempt to teleport when riding an entity.
|275532|The abbreviation "fps" is inconsistently capitalized across strings.
|274924|Angry endermen suffocating while in a boat or minecart can attack their target from really far away.
|276079|Sending a swing packet to the client causes it to send one back to the server.
|275111|Two animals in a boat look sideways instead of at the player when lured.
|276692|Lingering potions which land on the target's head do not grant their effects to the target.
|275532|The abbreviation "fps" is inconsistently capitalized across strings.
|278771|The incorrect command context is used when providing suggestions for redirected commands.
|276079|Sending a swing packet to the client causes it to send one back to the server.
|279185|The "{{cd|selectWorld.load_folder_access}}" string is missing an article before the word "folder".
|276692|Lingering potions which land on the target's head do not grant their effects to the target.
|279395|Trees can generate floating over ruined portals.
|277906|Ender pearls land incorrectly at high speeds.
|279819|The mining speed factor of Mining Fatigue is inconsistent at level 3.
|278771|The incorrect command context is used when providing suggestions for redirected commands.
|293615|Tooltip formatting of "Items x number" is inconsistent across different types of items.
|279185|The "{{cd|selectWorld.load_folder_access}}" string is missing an article before the word "folder".
|293755|The ender dragon's neck and tail disconnect from its body when it turns.
|279395|Trees can generate floating over ruined portals.
|295678|Translucent blocks above water flicker when crossing chunk borders.
|279586|Closed captions continue to fade when their sound plays again from farther away, causing visual delays in the overlay.
|295756|Pistons desync on the client-side, causing players to be moved differently compared to other entities.
|279819|The mining speed factor of Mining Fatigue is inconsistent at level 3.
|296006|Entities do not face the player correctly whilst in a boat.
|280250|Projectiles sometimes desync when thrown/shot while moving.
|297741|Gravity-affected blocks in upwards bubble columns can clip through solid blocks above them (on the client).
|293615|Tooltip formatting of "Items x number" is inconsistent across different types of items.
|298431|Boats are launched by slime blocks inconsistently.
|293755|The ender dragon's neck and tail disconnect from its body when it turns.
|298659|Translucent blocks and some entities render above text displays with see_through enabled.
|295678|Translucent blocks above water flicker when crossing chunk borders.
|298762|Phantoms deflect arrows shot from bows/crossbows.
|295756|Pistons desync on the client-side, causing players to be moved differently compared to other entities.
|299019|Using a Bed while riding a rideable mob causes the player to sleep either on the ground, or on top of the mob.
|296006|Entities do not face the player correctly whilst in a boat.
|299582|Special crafting recipes behave differently than other recipe types with {{cmd|recipe}} and the {{cd|limited_crafting}} game rule.
|296368|The {{cd|entity.happy_ghast.riding}} sound event displays no closed caption.
|301804|Test blocks' GUI does not pause the game in singleplayer.
|296773|Taken screenshots are rendered as a black image on Intel graphics of Gen7 and Gen7.5 architecture.
|302221|Moving entities deflect arrows.
|297741|Gravity-affected blocks in upwards bubble columns can clip through solid blocks above them (on the client).
|302271|Sniffers stop sniffing after relog.
|298431|Boats are launched by slime blocks inconsistently.
|302661|Interacting with something while holding spears plays the spear jab animation.
|298659|Translucent blocks and some entities render above text displays with see_through enabled.
|302687|Throwing items out of your inventory while holding spears plays the spear jab animation.
|298762|Phantoms deflect arrows shot from bows/crossbows.
|302705|Having a spear in the main hand affects the hand animation speed for items held in the off hand.
|299019|Using a Bed while riding a rideable mob causes the player to sleep either on the ground, or on top of the mob.
|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.
|299460|Saddled pigs in boats carried by happy ghasts can cause a desync when unequipping a carrot on a stick.
|303626|Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled.
|299582|Special crafting recipes behave differently than other recipe types with {{cmd|recipe}} and the {{cd|limited_crafting}} game rule.
|303789|Looking directly up with an {{cd|apply_impulse}} enchantment entity effect will limit the impulse's effect on the X and Z axes to only apply on one of the two horizontal axes.
|300000|Players desync when teleporting all users riding a happy ghast.
|304195|The arm overlay textures of parched have unused pixels not used by the model.
|301804|Test blocks' GUI does not pause the game in singleplayer.
|304213|Zombies, husks and drowned hold out the incorrect arm when holding spears.
|302221|Moving entities deflect arrows.
|302271|Sniffers stop sniffing after relog.
|302661|Interacting with something 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.
|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.
|303626|Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled.
|303789|Looking directly up with an {{cd|apply_impulse}} enchantment entity effect will limit the impulse's effect on the X and Z axes to only apply on one of the two horizontal axes.
|304195|The arm overlay textures of parched have unused pixels not used by the model.
|304213|Zombies, husks and drowned hold out the incorrect arm when holding spears.
|304594|Spears can dismount interaction entities from their vehicles.
|304719|{{cd|InhabitedTime}} for some chunks can be set to impossibly high values when a world is opened.
|304920|Spears in third person look wrong when the left hand is the main hand.
|304920|Spears in third person look wrong when the left hand is the main hand.
|304594|Spears can dismount interaction entities from their vehicles.
|305214|Arrows deflecting off of entities get offset.
|305422|Players can sometimes get kicked due to a waypoint packet the client fails to handle.
|305422|Players can sometimes get kicked due to a waypoint packet the client fails to handle.
|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 2,263: Line 3,860:
|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.
|307345|The smoke particles produced by potent sulfur do not render behind stained glass.
|307345|The smoke particles produced by potent sulfur do not render behind stained glass.
|307384|Screen tearing occurs with the Vulkan rendering backend in fullscreen mode with lower framerates, even if VSync is enabled.
|307449|Spawners with their light limits set no longer spawn mobs underground at night time.
|307596|The OpenGL rendering backend seems to be very laggy.
|307616|Typo in a log message in {{cd|ActiveProfiler}}: "aprox".
|307616|Typo in a log message in {{cd|ActiveProfiler}}: "aprox".
|307618|Typo in a log message in {{cd|SoundEngine}}: "disapeared".
|307618|Typo in a log message in {{cd|SoundEngine}}: "disapeared".
Line 2,292: Line 3,893:
|308469|Hitting the ender dragon's head hitbox no longer causes the ender dragon to take more damage.
|308469|Hitting the ender dragon's head hitbox no longer causes the ender dragon to take more damage.
|308490|The "regular" sulfur cube archetype produces stone sounds, despite no longer using stone blocks.
|308490|The "regular" sulfur cube archetype produces stone sounds, despite no longer using stone blocks.
|308593|Animated blocks (notably water and lava) render incorrectly on some graphics.
|308647|The resource packs screen can cache font glyphs incorrectly after toggling the "Font Settings" option.
|308647|The resource packs screen can cache font glyphs incorrectly after toggling the "Font Settings" option.
|308694|Using {{cmd|defaultgamemode}} changes everyone's game mode to the one set in "Settings for Other Players" in LAN worlds.
|308694|Using {{cmd|defaultgamemode}} changes everyone's game mode to the one set in "Settings for Other Players" in LAN worlds.
Line 2,304: Line 3,906:
|308849|Creakings can take knockback.
|308849|Creakings can take knockback.
|308851|The {{cd|chat_restriction.disabled_by_profile.action}} string is improperly capitalized.
|308851|The {{cd|chat_restriction.disabled_by_profile.action}} string is improperly capitalized.
|308961|When changing the game mode using debug hotkeys while in the World Options screen, the "Game Mode" button does not update.
|309081|Decorated pots and chorus flowers can be destroyed by projectiles in Adventure mode.
|309081|Decorated pots and chorus flowers can be destroyed by projectiles in Adventure mode.
|309298|Sending chat messages while having the "Chat Delay" option set to a nonzero value can sometimes kick you from the game.
|309298|Sending chat messages while having the "Chat Delay" option set to a nonzero value can sometimes kick you from the game.
|309479|The game crashes during the loading screen with the message "Failed to wait for frame completion" on some systems.
|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.
|309644|Some textures of geyser plume particles still use inconsistent colors.
|309872|The system freezes when pressing the {{key|Windows}} key with the "Exclusive Fullscreen" option enabled.
|309671|Shelf mushrooms still use the wrong sounds.
|309679|Cushions can be used to see through blocks.
|309732|The {{code|straw_bed_head}} block model is stored in two directories.
|309797|Cushions can be placed inside full blocks when the player's head intersects them.
|309776|Straw beds are positioned incorrectly in item frames.
|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 2,338: Line 3,938:
|309927|The {{cd|gui.friends.error.unauthorized}} string lacks a period, unlike similar strings.
|309927|The {{cd|gui.friends.error.unauthorized}} string lacks a period, unlike similar strings.
|309928|The {{cd|multiplayer.confirm_command.signature_required}} string lacks a period.
|309928|The {{cd|multiplayer.confirm_command.signature_required}} string lacks a period.
|309931|Placed cushions face inconsistent directions.
|309937|The {{cd|argument.pos.outofbounds}} string ends with a period, unlike similar strings.
|309937|The {{cd|argument.pos.outofbounds}} string ends with a period, unlike similar strings.
|309938|The {{cd|quickplay.error.invalid_identifier}} string is missing an article before the word "world".
|309938|The {{cd|quickplay.error.invalid_identifier}} string is missing an article before the word "world".
Line 2,345: Line 3,944:
|310057|Pressing the "Advancements" key bind while its menu was opened from the pause menu closes both menus.
|310057|Pressing the "Advancements" key bind while its menu was opened from the pause menu closes both menus.
|310062|Armadillos do not follow players holding spider eyes.
|310062|Armadillos do not follow players holding spider eyes.
|310094|The decimal point keypad key is displayed as {{code|key.keyboard.99}} in the key binds menu.
|310076|Mobs sometimes stop just far enough away from the player to be unable to attack them.
|310105|The Menu key is displayed as {{code|key.keyboard.101}} in the key binds menu.
|310182|Some descriptive tooltip strings lack a period, unlike similar strings.
|310109|The keypad plus-or-minus key is still not prefixed with "Keypad".
|310184|The {{cd|commands.bossbar.set.max.unchanged}} string abbreviates <code>maximum</code> to <code>max</code>, unlike similar strings.
|310110|The keypad left and right parentheses keys are still not prefixed with "Keypad".
|310186|The {{cd|options.languageWarning}} string lacks a period, unlike similar strings.
|310112|Using a Nether portal in Spectator mode while spectating an entity teleports the player to the incorrect location.
|310187|The {{cd|commands.bossbar.get.visible.visible}} string uses "shown" instead of "visible", unlike similar strings.
|310118|Pressing {{key|Windows+D}} to minimize all windows makes the game no longer visually update with the Vulkan rendering backend.
|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.
|310289|Entity collisions fully above an entity's hitbox are ignored when stepping up blocks.
|310300|Other windows cannot be displayed on top of the game window even with the "Exclusive Fullscreen" option disabled.
|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}}.
|310358|The conditions for {{code|depthBiasEnable}} differ between OpenGL and Vulkan.
|310372|Tripwires depowering breaks cross-chunk block tick processing order.
|310529|The World Options menu UI breaks when resizing the game window.
|310476|Projectiles only collide outright with the world border when underwater.
|310532|Trying to lock the difficulty of the world resets the difficulty.
|310536|The category headers in the World Options screen are formatted inconsistently with other settings screens.
|310550|{{key|Cmd+W}} on Mac now closes the window.
|310553|The {{code|campsite_wooded_badlands_4}} and {{code|campsite_swamp_2}} abandoned camp structures contain overlapping cushions.
|310556|Pressing {{key|Alt+F4}} closes the game window on kwin_wayland even when the "Quit Shortcuts" option is disabled.
|310590|Adding the {{code|entity_outline}} post effect to the player, restarting the game, and entering the same world causes the game to crash.
|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.
|310599|Several abandoned camp structures contain waxed oxidized copper chests.
|310676|The {{cd|savanna_lamp_post_01}} village structure contains a trailing closing square bracket in the jigsaw block’s NBT.
|310610|Several abandoned camp structures contain underwater oxidized copper chests that are not waterlogged.
|310787|Villagers do not level up until the trading window is closed for several seconds.
|310939|Interacting with camels with two passengers is preferred over using items.
|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.
|311186|The water overlay and fog does not render when the player's head is inside a block underwater.
|311235|Upgrading a world from the <code>1.21.11</code> world format can cause data from other worlds to get saved inside it.
|311245|Ruined portals can generate replacing end portal frames.
|311271|Some loot context parameters are missing from "generic" loot context.
|311272|Some LootContextUser can crash when referenced parameter is not provided.
|311414|Players can teleport arbitrary distances by using a desynced carrot on a stick on a pig.
|311453|Particles from feeding flowers to brown mooshrooms cannot be seen by other players.
|311454|Particles from water evaporating in the Nether are not properly displayed.
}}
}}



Latest revision as of 11:08, 7 September 2026

Template:Infobox versionTemplate:Relevant guide

26.3, the release of Minecraft:Wilderness Bound, is an upcoming Minecraft:game drop for Template:JE set to release in September 2026, which adds the Minecraft:dappled forest biome with the new Minecraft:poplars, Minecraft:red shrubs, and 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

  • Evaluates Template:Cd in various contexts.
  • In all contexts Template:Cd is set to current command context position, while Template:Cd entity is set to Template:Cd.
  • Syntax:
  • Command syntax has been modified to take into account number provider split:
    • Template:Cmd
      • Where <int_provider> is either an element of minecraft:context_int_provider registry or an inline value.
    • Template:Cmd
      • Where <float_provider> is either an element of minecraft:context_float_provider registry or an inline value.
  • If evaluation of a number provider fails (for example due to division by zero), command will fail.

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.
    • Brewing fuel items with remainders will be handled as follows:
      • If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground.
      • If the fuel has run out, the remainder item will remain in the fuel slot.
      • This behavior matches items placed in the input and reagent slots of the brewing stand.
  • 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
    • Describes an item that can be used as fuel for a Minecraft:furnace, Minecraft:smoker or Minecraft:blast furnace.
    • Format: object with fields
      • Template:Cd – namespaced ID pointing to an element of Template:Cd registry representing the time, in ticks, for which this fuel will burn.
      • Template:Cd – namespaced ID pointing to an element of Template:Cd registry representing the speed of the cooking/smelting.
      • Template:Cd and Template:Cd can additionally be defined by an inline number.
    • Cooking fuel items with remainders will be handled as follows:
      • If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground.
      • If the fuel has run out, the remainder item will remain in the fuel slot.
  • 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:Debug properties

  • Added Template:Cd.
    • Disables the Beta 1.8 modulo patch which fixed the Far Lands and other floating-point precision bugs.
    • The traditional form of the Far Lands only appear in the Nether and the End as multiple other factors break down in the Overworld way before the Far Lands can appear there.
    • The purpose of this debug flag is to compare the performance of the modulo fix as it had a non-zero performance cost.<ref>Template:Tweet</ref>

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"/> Windows/Linux Template:Key Template:Code<ref name="genericintl"/>
macOS Template:Key
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Windows/Linux Template:Key Template:Code<ref name="genericintl"/>
macOS Template:Key
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.
  • Integer number providers:
    • Added the Template:Cd registry.
    • All calculations are performed using 32-bit integer limits.
    • Result of calculations that provide invalid values (like division by zero) is undefined.
    • Format:
    • Added Template:Cd
      • Returns the absolute value of Template:Cd.
      • If the final result does not fit inside 32-bit integer limit, calculation will be canceled.
      • Fields:
    • Added Template:Cd
      • Evaluates multiple integer providers and returns arithmetic mean of results.
      • Division rounds towards Template:Cd
      • Fields:
        • Template:Cd – 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.
          • Requires at least one value.
    • Added Template:Cd
    • Added Template:Cd
    • Added Template:Cd
    • Added Template:Cd
    • Added Template:Cd
      • Evaluates a float provider and converts it to an integer value.
      • Non-integer values will be truncated (i.e. rounded towards zero).
      • Values that do not fit inside 32-bit integer (including Template:Cd) are treated as errors and will cancel calculation.
      • Fields:
    • Added Template:Cd
      • Evaluates multiple integer providers and returns the largest of results.
      • Fields:
        • Template:Cd – 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.
          • Requires at least one value.
    • Added Template:Cd
      • Evaluates multiple integer providers and returns the smallest of results.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
    • Added Template:Cd
      • Returns the modulus of Template:Cd by Template:Cd.
      • Uses floored integer division (rounds towards negative infinity).
      • Division by zero is treated as an error and will cancel calculation.
    • Fields:
    • Added Template:Cd
      • Fetches and provides the value of an environment attribute (Template:Cd)
      • Fields:
        • Template:Cd – Environment Attribute ID to fetch (must be representable as an int)
    • Added Template:Cd
      • Returns the negation of Template:Cd
      • If the final result does not fit inside 32-bit integer, calculation will be cancelled.
      • Fields:
        • input – an inline value or a namespaced ID of a Template:Cd type
    • Added Template:Cd
      • Returns the first case which fulfils its condition or the default if none do.
      • Fields:
    • Added Template:Cd
      • Returns Template:Cd to the power of Template:Cd
      • If the exponent is negative, calculation will be cancelled.
      • If both the base and the exponent are zero, calculation will be cancelled.
      • If the final result does not fit inside 32-bit integer, calculation will be cancelled.
      • Fields:
    • Added Template:Cd
      • Evaluates multiple integer providers and returns product of results.
      • If the final result does not fit inside 32-bit integer, calculation will be cancelled.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
      • Returns Template:Cd divided by Template:Cd
      • Uses truncated integer division (rounds towards zero).
      • Division by zero is treated as an error and will cancel calculation.
      • Fields:
    • Added Template:Cd
      • Returns Template:Cd divided by Template:Cd.
      • Uses floored integer division (rounds towards negative infinity).
      • Division by zero is treated as an error and will cancel calculation.
      • If the final result does not fit inside 32-bit integer, calculation will be cancelled.
      • Fields:
    • Added Template:Cd
    • Added Template:Cd
      • Returns an integer value from a command storage
      • If value is not present, is not a number or path returned multiple values, provider returns value of Template:Cd
      • Conversion of numeric NBT values that are not an integer is undefined
    • Fields:
    • Added Template:Cd
      • Evaluates multiple integer providers and returns sum of results.
      • If the final result does not fit inside 32-bit integer, calculation will be cancelled.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
      • Picks a random integer from a closed range
      • Fields:
    • Added Template:Cd
    • Returns a value from a distribution of weighted number providers.
    • Fields:
  • Float number providers
    • Added a Template:Cd registry.
      • All calculations are peformed using single-precision floating-point numbers ("floats").
      • Result of calculations that produce NaN and Infinity is undefined.
      • Format:
    • Added vanilla float number providers:
      • Template:Cd
        • Returns the default speed multiplier for cooking fuel.
      • Template:Cd
        • Returns the speed multiplier for cooking fuel when used in a normal furnace.
      • Template:Cd
        • Returns the speed multiplier for cooking fuel when used in a block matching the Template:Cd predicate.
      • Template:Cd
        • Returns the default speed multiplier for brewing fuel.
    • Added Template:Cd
    • Added Template:Cd
      • Evaluates multiple float providers and returns arithmetic mean of results.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value
    • Added Template:Cd
    • Added Template:Cd
    • Added Template:Cd
      • Returns a constant value.
      • Fields:
    • Can be also written inline as a plain number (Template:Cd is equivalent to Template:Cd})
    • Added Template:Cd
      • Returns the cosine of input
      • Fields:
    • Added Template:Cd
    • Added Template:Cd
      • Evaluates enchantment level-based (Template:Cd) parameter.
      • Fields:
        • Template:Cd: A Level-Based Value giving a value based on the level of the enchantment.
    • Added Template:Cd
      • Fetches and provides the value of an environment attribute (Template:Cd).
      • Fields:
        • Template:Cd – Environment Attribute ID to fetch (must be representable as a float).
    • Added Template:Cd
      • Returns the floored (i.e. rounded towards negative infinity) value of input.
      • Fields:
    • Added Template:Cd
      • Evaluates an integer provider and converts it to a float value.
      • Fields:
    • Added Template:Cd
      • Evaluates multiple float providers and returns square root of the sum of squares.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value
    • Added Template:Cd
      • Evaluates multiple float providers and returns the largest of result
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
      • Evaluates multiple float providers and returns the smallest of results.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
      • Returns the modulus of left by right
      • Fields:
        • Template:Cd – an inline value or a namespaced ID of a minecraft:context_float_provider type
        • Template:Cd – an inline value or a namespaced ID of a Template:Cd type
    • Added Template:Cd
      • Returns the negation of input.
      • Fields:
    • Added Template:Cd
      • Returns the first case which fulfils its condition or the default if none do.
      • Fields:
    • Added Template:Cd
    • Added Template:Cd
      • Evaluates multiple float providers and returns product of results.
      • Fields:
        • Template:Cd – 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
          • Requires at least one value.
    • Added Template:Cd
    • Added Template:Cd
      • Returns the rounded (towards nearest integer, with ties rounding towards positive infinity) value of input.
      • Fields:
    • Added Template:Cd
      • Returns the sine of input.
      • Fields:
    • Added Template:Cd
      • Returns the square root of input.
      • Fields:
    • Added Template:Cd
      • Returns a float value from a command storage.
      • If value is not present, is not a number or path returned multiple values, provider returns value of Template:Cd.
      • Conversion of numeric NBT values that are not a float is undefined.
      • Fields:
      • Template:Cd – a namespaced ID of a command storage
      • Template:Cd – an NBT path
      • Template:Cd – an optional inline value or a namespaced ID of a Template:Cd type, defaults to Template:Cd
    • Added Template:Cd
      • Evaluates multiple float providers and returns sum of results.
      • Fields:
        • Template:Cd – 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.
          • Requires at least one value.
    • Added Template:Cd
      • Returns the truncated (rounded towards zero) value of input.
      • Fields:
    • Added Template:Cd
      • Picks a random number from a range
      • Fields:
    • Added Template:Cd
      • Returns a value from a distribution of weighted number providers.
      • Fields:

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:Predicates

  • Added Template:Cd
    • Checks value against some range.
    • Fields:
      • Template:Cd – an inline value or a namespaced ID of a Template:Cd type.
      • Template:Cd – one of:
        • An inline value (including a single integer) or a namespaced ID of a Template:Cd type.
          • Will test if result of value is equal to provided test value.
        • An object with fields:
  • Added Template:Cd
    • Checks value against some range.
    • Fields:
      • Template:Cd – an inline value or a namespaced ID of a Template:Cd type.
      • Template:Cd – one of:
        • An inline value (including a single float) or a namespaced ID of a Template:Cd type.
          • Will test if result of value is equal to provided test value.
        • An object with 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:Sculk sensor

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 the particles in the direction of 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

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:Block state providers

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 int, 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.
  • 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:Cmd 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

  • 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.
  • On macOS, Exclusive Fullscreen is now available again.
  • On macOS, added a "Menu/Dock Visibility" option in Video Settings, which controls whether the macOS Menu bar and Dock can be revealed by moving the mouse to the edge of the screen while in fullscreen.
  • The cursor is now confined to the window while Exclusive Fullscreen is active.
  • The sub-headings and categories in the Minecraft:Game rules menu can now be focused for narration.

Minecraft:Panorama

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.
  • 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.
  • Removed Template:Cd
    • This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions.
  • Removed Template:Cd
    • This condition has been split into integer and float variants.
  • 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.
  • core/blit_depth.fsh added as a way to copy contents of depth textures as an alternative to the rendering backend-based copying methods that do not work on some devices.
  • 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 widgets sprites
    • Added the following textures:
      • gui/sprites/widget/realms_button.png
      • gui/sprites/widget/realms_button_disabled.png
      • gui/sprites/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

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