{"title":"Minecraft: Java Edition 26.3","version":"26.3","type":"release","image":{"title":"dappled camp 540x540.jpg","url":"/v2/images/dappledcamp540x540.jpg"},"body":"<p>Wilderness Bound is out now in Minecraft Java Edition! Pack your supplies and set off on an expedition into the dappled forest where the trails end and adventure begins. Seek out abandoned camps, build outposts among the poplar trees, sleep under the stars on straw beds, and share campfire stories atop cushions. Just remember that the wilderness rewards the prepared - and maps are lighter than regrets!<p>Happy camping!<h1>New Features</h1><ul><li>Added Dappled Forest Biome<li>Added Poplar Trees<li>Added fallen Poplar Trees<li>Added Red Poplar Leaves, Orange Poplar Leaves, and Yellow Poplar Leaves blocks<li>Added Poplar wood set<li>Added Shelf Mushrooms<li>Added Red Shrubs<li>Added Abandoned Camp structures<li>Added new Explorer Maps<li>Added Cushions<li>Added Straw Beds<li>Added Wool Stairs and Wool Slabs for all Wool blocks<li>Added Concrete Stairs and Concrete Slabs for all Concrete blocks<li>Players in spectator mode can now interact with portals to teleport<li>Improvements to Realms, including the ability to create and manage Invite Codes<li>Added Gothic language support</ul><h2>Dappled Forest Biome</h2><ul><li>A new type of forest biome which can be found near cold biomes<li>Poplar Trees and fallen Poplar Trees generate here<li>Shelf Mushrooms can be found here, placed on Poplar Trees and fallen Poplar Trees<li>Red Shrubs generate here<li>The following passive and neutral mobs spawn in the Dappled Forest, using their cold variants where applicable:<ul><li>Sheep<li>Chicken<li>Cow<li>Pig<li>Rabbit<li>Fox</ul><li>A Dappled Forest variant of the new Abandoned Camp structure can be found here</ul><h2>Poplar Trees</h2><ul><li>A new type of tree which comes in three color variations:<ul><li>Red Poplar Leaves<li>Orange Poplar Leaves<li>Yellow Poplar Leaves</ul><li>Each variant of the tree has its own variant of falling leaf particles matching the color of the leaves<li>Poplar Leaves drop Poplar Saplings which will randomly grow into any of the three different variants<li>Poplar Saplings can be found in trades with the Wandering Trader<li>Shelf Mushrooms and Leaf Litter naturally generate on or around Poplar Trees<li>The trunk of the trees are made of Poplar Logs<li>Poplar Logs can be crafted into a new set of Poplar wood blocks</ul><h2>Shelf Mushroom</h2><ul><li>A new type of mushroom that generates on Poplar Trees and fallen Poplar Trees<li>Can be found in two sizes, small and large<li>A small Shelf Mushroom can be grown into a large Shelf Mushroom by using Bone Meal<li>A large Shelf Mushroom drops two Shelf Mushroom items when broken<li>Can be used like other mushrooms to make Stews<li>Can be found in trades with the Wandering Trader<li>Shelf Mushrooms have a slight bounciness when stepped on, similar to Beds<li>The Shelf Mushroom makes a bouncing sound when a living entity bounces on it</ul><h2>Red Shrub</h2><ul><li>A new type of decorative plant block that can be found in small patches in the Dappled Forest<li>Can be used in the Composter<li>Using Bone Meal on a Red Shrub grows a Red Shrub in a random adjacent space if possible</ul><h2>Abandoned Camp Structure</h2><ul><li>A new kind of structure which can be found in the following biomes:<ul><li>Meadow<li>Cherry Grove<li>Forest<li>Birch Forest<li>Old Growth Birch Forest<li>Flower Forest<li>Windswept Forest<li>Dappled Forest<li>Taiga<li>Snowy Taiga<li>Old Growth Spruce Taiga<li>Old Growth Pine Taiga<li>Sparse Jungle<li>Bamboo Jungle<li>Swamp<li>Savanna<li>Wooded Badlands<li>Pale Garden</ul><li>Each of these biomes has its own variant of the structure with a design based on the biome<li>Certain structure pieces are generic for all biome variants of the structure<li>Various Chests and Barrels with loot can be found at Abandoned Camps</ul><h2>Cushion</h2><ul><li>The Cushion is an item that the player can place in the world and interact with to sit on<li>Can be crafted in 16 colored variants<li>Cushions are crafted by using 3 Wool Slabs of the same color</ul><h3>Cushion Placement Rules</h3><ul><li>A Cushion can be placed on any flat surface<li>Cushions always align horizontally to the grid, but vertically sit on top of the supporting surface<li>Cushions cannot be moved by pistons<li>Cushions break if the supporting block is removed<li>Cushions do not have collision and can overlap with other objects (except other Cushions)</ul><h2>Straw Bed</h2><ul><li>The Straw Bed is a new type of bed which can be used to sleep through the night without setting your spawn point<li>It can only be used once and will be destroyed after use<li>It cannot be used in the Nether or the End and will be destroyed if you try to sleep on it there<li>It is crafted by using 3 Hay Bales and will give you 4 Straw Beds<li>There's a new statistic in the Statistics window for the amount of times you've slept in a Straw Bed</ul><h2>Wool Stairs and Wool Slabs</h2><ul><li>Each colored Wool block now has a new Stair and Slab variant<li>Wool Stairs and Wool Slabs can be used like other Wool blocks to dampen vibrations</ul><p><img alt=\"Efe is standing on a rainbow platform made of concrete stairs and slabs, with a backdrop of poplar leaves, logs and shelf mushrooms.\"src=https://launchercontent.mojang.com/v2/images/concrete1280x720.jpg><h2>Concrete Stairs and Concrete Slabs</h2><ul><li>Each colored Concrete block now has a new Stair and Slab variant<li>Concrete Slabs and Stairs can also be crafted using a Stone Cutter</ul><h2>Abandoned Camp Explorer Maps</h2><ul><li>New Explorer Maps have been added to the Abandoned Camps<li>Added maps showing the location of other Abandoned Camps in the following biomes:<ul><li>Bamboo Jungle<li>Cherry Grove<li>Birch Forest<li>Dappled Forest<li>Flower Forest<li>Pale Garden<li>Swamp<li>Windswept Forest</ul><li>Added maps for the following structures:<ul><li>Ancient City<li>Trial Chambers<li>Mineshaft<li>Desert Pyramid<li>Jungle Pyramid<li>Warm Ocean Ruins<li>Woodland Mansion</ul></ul><h2>Realms</h2><ul><li>Realm owners can now create and manage Invite Codes<ul><li>Each Realm can have up to five Invite Codes<li>Invite Codes can be configured to be active/inactive and deleted<li>The expiration of an Invite Code can also be configured</ul><li>Players can now easily join a Realm by entering an Invite Code in a new \"Join Realm\" screen, found in the Realms main menu<li>Added render distance and simulation distance sliders to the Realm configuration settings<li>Added a new Realms introduction screen showcasing Realms key features<ul><li>Accessible from the \"Add Realm\" button<li>Automatically shown when entering Realms if a trial is available</ul></ul><p><img alt=\"Trading with a villager who is holding a new explorer map.\"src=https://launchercontent.mojang.com/v2/images/explorer1280x720.jpg><h1>Changes</h1><ul><li>The Main Menu now has an updated background panorama showing the new Dappled Forest biome with an Abandoned Camp<li>Removed fallen leaf particles from Spruce Trees<li>Suspicious Stews can now be crafted with 2 of any mushroom<li>Mushroom Stew can now be crafted with 2 of any mushroom<li>The player icon on maps has been updated to always show the direction the player is facing<li>New Villager trades, unlocked from a Villager leveling up their profession, will now update even if the player is in the process of trading with them<li>Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs<li>Replaced the current \"Improved Transparency\" approach with a new order-independent transparency algorithm which is expected to be much better at solving translucency issues<li>Added a rebindable debug key combination \"F3 + X\" to toggle \"Improved Transparency\"<li>When using a Shield together with a Hoe or a Shovel, raising the Shield will take precedence over tilling and path making<li>Changed the Adventure Mode icon in the Game Mode Switcher to the Buried Treasure Map<li>Improvements to performance when trying to locate structures<li>Improvements to chunk generation performance</ul><h2>Explorer Maps</h2><ul><li>Explorer Maps are now their own items instead of renamed Filled Maps, and each has its own icon:<ul><li>Ocean Monument Map<li>Woodland Mansion Map<li>Buried Trial Chambers Map<li>Jungle Pyramid Map<li>Swamp Hut Map<li>Desert Village Map<li>Plains Village Map<li>Savanna Village Map<li>Snowy Village Map<li>Taiga Village Map<li>Buried Treasure Map<li>Buried Ancient City Map<li>Buried Mineshaft Map<li>Desert Pyramid Map<li>Abandoned Camp Map<li>Warm Ocean Ruins Map</ul><li>These items cannot be obtained from the Creative inventory<li>Existing Explorer Maps in old worlds are converted to the matching new item on load<li>The following Explorer Maps have been renamed to have more consistent naming<ul><li>Ocean Monument Explorer Map → Ocean Monument Map<li>Swamp Hut Explorer Map → Swamp Hut Map<li>Trial Chambers Explorer Map → Buried Trial Chambers Map<li>Woodland Mansion Explorer Map → Woodland Mansion Map<li>Jungle Pyramid Explorer Map → Jungle Pyramid Map</ul><li>Explorer Maps can still be cloned in a Crafting Table, and the copies keep their own item type<li>Explorer Maps and Buried Treasure Maps can no longer be zoomed out, neither in a Crafting Table nor at a Cartography Table<ul><li>Buried Treasure Maps could previously be zoomed out at both<li>Explorer Maps could previously be zoomed out at a Cartography Table<li>Only maps in the <code>#minecraft:extendable_maps</code> tag can be zoomed out</ul><li>Map and Empty Map have new icons</ul><p><img alt=\"A slime sits in front of a geyser inside of a waterfall in a cave.\"src=https://launchercontent.mojang.com/v2/images/oit21280x720.jpg><h2>Order-independent Transparency (OIT)</h2><ul><li>Generally, translucent surfaces need to be rendered back-to-front to avoid visual issues<ul><li>In order to do so, the translucent geometry has to be sorted before rendering<li>This is very expensive and even with perfect sorting of individual triangles, intersecting triangles are not possible to render correctly</ul><li>Before this release, the \"Improved Transparency\" video setting attempted to mitigate translucency-related visual issues<ul><li>It did this by rendering different types of translucent objects (entities, particles, water, etc.) to different textures that were later combined to create the final image<li>This allowed us to fix some of the issues with some performance impact<li>However, it introduced some other less noticeable issues</ul><li>Now, the \"Improved Transparency\" video setting will instead enable a new order-independent transparency algorithm (which we will refer to as OIT)<ul><li>This makes it possible to render translucent objects in any order without sorting<li>It fixes all existing major translucency-related visual issues (such as certain objects disappearing when viewed through translucent objects)<li>However, the algorithm is an approximation, and so it introduces some new minor visual artifacts (such as the color of clouds being somewhat incorrect when viewed through multiple layers of translucent surfaces)</ul><li>We expect OIT to have a higher performance impact than the previous implementation of \"Improved Transparency\"<li>When \"Improved Transparency\" is turned off, the behavior hasn't meaningfully changed and the game will still prioritize performance over correctness while sorting geometry as necessary</ul><blockquote><p><strong>Developer's Note</strong>: <em>Special thanks to Rubén Osorio López, Jozufozu, and the Minecraft modding community in general for sharing the information that helped us to deliver this.</em></blockquote><h2>Minor Tweaks to Blocks, Items, and Entities</h2><ul><li>Endermen will now take damage from projectiles if they're riding something<li>Teleporting randomly after eating a Chorus Fruit now shows particles into the direction of the teleportation<li>Endermen and Shulkers no longer teleport onto Bedrock<li>Armadillos no longer try to roll up when submerged in liquids<li>Data set on a Spawn Egg will now transfer to a Mob Spawner when a player with operator permissions uses the Egg on the Spawner<li>Sherds dropped from breaking a Decorated Pot will now preserve data, for example custom names<li>Enchantments now apply to items being damaged from protecting an undead mob from the sun<li>Teleporting with an Ender Pearl now resets the momentum of the player being teleported</ul><h2>UI</h2><ul><li>Removed the Raw Input mouse setting<ul><li>Mouse input now always uses relative mouse mode while playing in-game</ul><li>Key bindings now use physical keys instead of keyboard-layout-specific key codes<li>Borderless Fullscreen is now the default fullscreen mode<li>Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game<li>The cursor is now confined to the window while Exclusive Fullscreen is active<li>The minimum window size is now 320 by 240 pixels<li>On macOS, holding a key while entering text now displays the native accent and candidate popup<li>On Linux systems, the game will now use and prefer Wayland natively if available<li>Fixed an issue where Realm owners could not select automatic region preference as their Realm region<li>Added a \"Quit Shortcuts\" option in Controls settings, which controls whether keyboard shortcuts can close the game (Alt + F4 on Windows/Linux, Cmd + Q and Cmd + W on macOS)<ul><li>On by default</ul><li>On macOS, added a \"Right Click Emulation\" option in Controls settings, which treats Control + left-click as a right-click<ul><li>Off by default</ul><li>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<li>Added support for Realms to use additional server regions in Canada, Mexico, South Africa, and Arizona, USA if they become available in the future</ul><h3>Debug Overlay</h3><ul><li>The debug overlay now supports a separate GUI scale from the rest of the game<ul><li>This is customizable through the Debug Options screen, <code>F3 + F6</code><li>The default scale is \"Auto\", which tries to stay at a higher resolution than normal<li>Another option is \"Unchanged\", which matches your regular GUI scale<li>The rest of the options work the same as in the normal \"GUI Scale\", controlling the scale directly</ul><li>Added a \"player_speed\" debug entry that displays the speed of the player in blocks per tick<li>The debug overlay now shows the display refresh rate</ul><h3>World Options</h3><ul><li>The World Options button has been moved to where the Open to Lan button used to be, accessible from the pause menu<ul><li>The World Options screen is divided into two sections: \"General\" and \"Multiplayer\"<ul><li>The \"General\" section contains the following options:<ul><li>Default Game Mode: the default game mode of the world (equivalent to the <code>/defaultgamemode</code> command)<li>Personal Game Mode: your active game mode in the current world (equivalent to the <code>/gamemode</code> command, or F3 + F4)<li>Allow Commands: Controls whether you can use commands in this world or not<li>Difficulty: Controls the difficulty of the world (equivalent to the <code>/difficulty</code> command)<li>Edit Game Rules: Opens the Game Rules screen, which allows you to view and edit the game rules of the world<li>Restrictions: View your restrictions in the world</ul><li>The \"Multiplayer\" section contains the following options:<ul><li>LAN: changes the multiplayer scope of the world<li>Port: the port number to use when opening the world to LAN<li>Command Access: controls whether players that join your world can use commands or not<li>Force Game Mode: controls whether other players' game mode is forced to match the default game mode of the world or not</ul></ul></ul><li>The Online button used to access the Online Options screen will now always be shown in the Options menu instead</ul><h2>Accessibility</h2><ul><li>Subtitles now point to the most recent sound in range</ul><h2>Creative Inventory</h2><ul><li>Reordered mineral item and block ordering to have non-tiered ingredients up first, then tiered ingredients that craft into equipment last<ul><li>Ingredients<ul><li>Non-tiered minerals<li>Unrefined tiered minerals<li>Refined tiered minerals<ul><li>Nuggets<li>Ingots</ul></ul><li>Building Blocks<ul><li>Non-tiered mineral blocks and variants<li>Refined tiered mineral blocks and variants<li>Copper block family</ul><li>Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content</ul><li>Improved the ordering of the Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld → Nether → End to stay consistent with other tabs</ul><h1>Technical Changes</h1><ul><li>The Data Pack version is now 121.0<li>The Resource Pack version is now 97.1<li>Some log lines that server software might look out for have been removed<ul><li>The Minecraft Server Management Protocol can be used instead<li>If you are missing access to specific events, please create a feature request on the <a href=https://feedback.minecraft.net/ rel=\"noopener noreferrer\"target=_blank>Feedback site</a></ul><li>The <code>definition</code> field from the <code>blocks.json</code> data generation report has been removed<li>Terrain blocks are now rendered with MultiDrawIndirect on supported devices<li><code>level.dat</code> now contains a <code>version_history</code> list with prior data versions of the file</ul><h2>Windowing and Input Backend</h2><ul><li>Minecraft now uses SDL3 instead of GLFW for window management, input, and platform integration<li>Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts</ul><h2>Server Properties</h2><ul><li>The <code>white-list</code> property is now <code>true</code> by default</ul><h2>Minecraft Server Management Protocol 3.1.0</h2><ul><li>Added notifications indicating when the server performs a full world upgrade on startup<ul><li><code>minecraft:notification/world/upgrade_started</code><li><code>minecraft:notification/world/upgrade_progress</code><li><code>minecraft:notification/world/upgrade_finished</code><li><code>minecraft:notification/world/upgrade_failed</code></ul></ul><h1>Data Pack Versions 108.0 through 121.0</h1><ul><li>Commands like <code>/give</code>, <code>/unpublish</code>, and <code>/tick</code> should now properly signal errors<li>Pottery sherds are now data-driven<li>Entries stored in the <code>minecraft:pot_decorations</code> component and <code>minecraft:decorated_pot</code> block entity are now full item stacks<li>Signs no longer automatically execute click events in custom text<li>Potion recipes are now data-driven<li>The <code>minecraft:number_provider</code> and <code>minecraft:number_provider_type</code> registries have been split into separate registries for integer calculations (<code>minecraft:context_int_provider</code>, <code>minecraft:context_int_provider_type</code>) and float calculations (<code>minecraft:context_float_provider</code>, <code>minecraft:context_float_provider_type</code>)<li>Loot table types that have a dedicated registry now support registry element and tag references<ul><li>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<li>Affected types:<ul><li><code>minecraft:advancement</code><li><code>minecraft:item_modifier</code><li><code>minecraft:loot_table</code><li><code>minecraft:context_int_provider</code><li><code>minecraft:context_float_provider</code><li><code>minecraft:predicate</code><li><code>minecraft:recipe</code><li><code>minecraft:slot_source</code></ul><li>Existing <code>reference</code> types for predicates, item modifiers, and slot sources are now obsolete and have been removed</ul><li>The codec for element lists/tags now allows mixing inline values and references<ul><li>For example, item modifiers like <code>[{type:set_count, ...}, \"minecraft:some_modifier\"]</code> are now allowed</ul><li>The following Block State fields have been renamed<ul><li><code>Name</code> is now <code>id</code><li><code>Properties</code> is now <code>properties</code></ul><li>The default Block State of a Block can now be referred to in a compact form directly by the Block id</ul><p><img alt=\"Looking at several villagers while having the spider vision effect enabled.\"src=https://launchercontent.mojang.com/v2/images/posteffects1280x720.jpg><h2>Commands</h2><h3>Added <code>posteffect</code></h3><ul><li>Allows adding or removing \"post effects\" to players<li>These are postprocessing shaders that are applied to the player's screen, after the game has finished normal rendering<li>Post effects exist on the client (in resource packs), not the server – the server cannot know if one will actually apply<li>Post effects themselves were already part of the resource pack format, but only a few hardcoded ones were available to use</ul><blockquote><p><strong>Developer's Note</strong>: <em>This now makes custom shaders fully available to use from resource packs, but please be aware that shaders are still subject to be changed at-will, and the features involved (the command, post effects, or shaders) may be redesigned in the future.</em></blockquote><p>Syntax:<ul><li><code>/posteffect add &#60player> &#60posteffect></code> - adds the post effect to the player, if it doesn't already exist<li><code>/posteffect clear &#60player></code> - removes all post effects from the player, if any exist<li><code>/posteffect list &#60target></code> - lists all post effects applied to the player, if any exist<li><code>/posteffect remove &#60player> &#60posteffect></code> - removes the post effect from the player, if it exists</ul><h3>Changes to <code>publish</code></h3><ul><li>The <code>gamemode</code> argument has been removed<ul><li>Instead, the default game mode of the world should be set using the <code>defaultgamemode</code> command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the <code>gamemode</code> command</ul></ul><h3>Added <code>compute</code></h3><ul><li>Evaluates <code>minecraft:context_int_provider</code> and <code>minecraft:context_float_provider</code> values in various contexts<li>In all contexts, <code>origin</code> is set to the current command context position, while <code>this</code> entity is set to <code>@s</code><li>If the evaluation fails (for example due to division by zero), this command will fail</ul><p>Syntax:<ul><li><code>/compute &#60target> integer &#60int_provider></code> OR<li><code>/compute &#60target> float &#60float_provider> [&#60scale>]</code>, where:<ul><li><code>&#60target></code> - one of:<ul><li><code>default</code> - runs the provider in the <code>minecraft:command_compute_default</code> context, where only common arguments (position and <code>this</code> entity) are available<li><code>block &#60pos></code> - runs the provider in the <code>minecraft:command_compute_position</code> context, where block state and block position are set based on the block at position <code>&#60pos></code><li><code>entity &#60entity selector></code> - runs the provider in the <code>minecraft:command_compute_entity</code> context, where <code>target_entity</code> is set to the selector result</ul><li><code>&#60int_provider></code> - either an element of the <code>minecraft:context_int_provider</code> registry or an inline value<li><code>&#60float_provider></code> - either an element of the <code>minecraft:context_float_provider</code> registry or an inline value<li><code>&#60scale></code> - optional scale value, defaults to <code>1.0</code><ul><li>The final result will be multiplied by <code>&#60scale></code> and rounded towards negative infinity</ul></ul></ul><h3>Changes to <code>data</code></h3><ul><li>Added new source to <code>/data modify ... append|insert|merge|prepend|set</code> called <code>compute</code><li>It evaluates a <code>minecraft:context_int_provider</code> or <code>minecraft:context_float_provider</code> value and then provides the result either as an integer or a float tag<li>Example: <code>/data modify storage foo bar set compute entity @n[type=minecraft:armor_stand] integer {type:score,target:{type:context,target:target_entity},score:baz}</code></ul><p>Syntax:<ul><li><code>compute &#60target> (integer &#60int_provider> | float &#60float_provider>)</code>, where the syntax of <code>target</code>, <code>int_provider</code>, <code>float_provider</code> is the same as in the <code>/compute</code> function<ul><li>Note: unlike <code>/compute</code>, there is no <code>scale</code>, since the result is directly stored as a float, instead of being returned from the command as an integer</ul></ul><h3>Changes to <code>give</code></h3><ul><li>When the amount of items passed to the <code>give</code> command is above the limit, the command will now signal an error instead of just printing an error message and returning <code>0</code></ul><h3>Changes to <code>tellraw</code></h3><ul><li>The <code>nbt</code> component in a raw chat message will only be resolved up to 64k times</ul><h3>Changes to <code>tick</code></h3><ul><li>The following subcommands will now signal an error instead of just printing an error message and returning <code>0</code>:<ul><li><code>tick step</code><li><code>tick step stop</code><li><code>tick sprint stop</code></ul></ul><h3>Changes to <code>team</code></h3><ul><li>The result of the <code>team join</code> and <code>team leave</code> subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed)</ul><h3>Changes to <code>item</code></h3><ul><li>Now takes a slot source as an argument in place of anywhere a slot was previously used<ul><li>It will be evaluated with the <code>minecraft:command_slot_source</code> loot type<li>Can be a slot source in either inline or reference form<li>Can be a slot source targeting multiple slots<li>The <code>replace</code> sub-command has new semantics:<ul><li>The contents of each destination slot are replaced with the corresponding source item one by one in the order they are provided by the slot source<li>When there are more destination slots than there are source items, the remaining slots are ignored<ul><li>Example: <code>replace [12345] with (ABC)</code> → <code>[ABC45]</code></ul><li>When there are fewer destination slots than there are source items, the remaining items are ignored<ul><li>Example: <code>replace [123] with (ABCDE)</code> → <code>[ABC]</code></ul></ul><li>String notation slot ranges in the form <code>&#60slot_type></code> or <code>&#60slot_type>.&#60slot_number></code> are still permitted<ul><li>Can be a single slot, such as <code>armor.chest</code><li>Can be multiple slots, such as <code>container.*</code><li>Acts as shorthand for a <code>minecraft:slot_range</code> slot source using that slot range<ul><li>Example: <code>hotbar.4</code> is the same as <code>{type:\"minecraft:slot_range\",slots:\"hotbar.4\"}</code></ul></ul></ul><li>The entity argument in the <code>from entity</code> item source can now be a selector targeting multiple entities<ul><li>When more than a single entity is targeted, the slots sourced from each are concatenated</ul><li>Added new <code>fill</code> and <code>override</code> sub-commands, each with syntax identical to <code>/item replace</code><ul><li><code>/item fill</code><ul><li>Fills each destination slot with a source item<li>When there are more destination slots than there are source items, the items repeat until every slot is filled<ul><li>Example: <code>fill [12345] with (ABC)</code> → <code>[ABCAB]</code></ul></ul><li><code>/item override</code><ul><li>Overrides the contents of each destination slot with the corresponding source item<li>When there are more destination slots than there are source items, the remaining slots are cleared<ul><li>Example: <code>override [12345] with (ABC)</code> → <code>[ABC__]</code> (where <code>_</code> represents an empty slot)</ul></ul></ul></ul><h3>Changes to <code>execute</code></h3><ul><li>Added new <code>slots</code> condition sub-command<ul><li>Counts the number of slots from the slot source that are present on the targeted block or entity<li>The slot source will be evaluated with the <code>minecraft:command_slot_source</code> loot type<li>Syntax:<ul><li><code>/execute if|unless slots block &#60pos> &#60slot source></code><li><code>/execute if|unless slots entity &#60targets> &#60slot source></code></ul></ul><li>The <code>items</code> condition sub-command now takes a slot source as argument instead of a slot<ul><li>The slot source will be evaluated with the <code>minecraft:command_slot_source</code> loot type<li>Syntax:<ul><li><code>/execute if|unless items block &#60pos> &#60slot source> &#60item predicate></code><li><code>/execute if|unless items entity &#60targets> &#60slot source> &#60item predicate></code></ul></ul></ul><h3>Changes to <code>place</code></h3><ul><li>The <code>feature</code> sub-command now allows inline definition of the Feature</ul><h3>Changes to <code>spreadplayers</code></h3><ul><li>Whether a block is safe to spread a player to is now controlled by the <code>#entities_can_teleport_to</code> block tag</ul><h3>Changes to <code>swing</code></h3><ul><li>When used on a player, the player's attack strength will no longer be reset<li>Added a new optional argument to set the swing animation to play<ul><li>Allowed values: <code>none</code>, <code>whack</code>, <code>stab</code><li>If omitted, defaults to <code>whack</code></ul><li>Added a new argument to set the duration of the swing animation, if provided<ul><li>Format: positive time value (by default in ticks)<li>If omitted, defaults to <code>6t</code></ul></ul><h2>Environment Attributes</h2><h3>Added <code>minecraft:gameplay/natural_mob_spawns</code></h3><ul><li>Defines mob spawns in an Environment Attribute Source<li>During worldgen placement, only Dimensions and Biomes will apply this Environment Attribute<li>Format: object with fields:<ul><li><code>spawns_by_category</code> - map of spawn category to weighted list of spawn data<ul><li>Spawn data format: object with fields:<ul><li><code>type</code> - entity type, the entity to spawn<li><code>count</code> - int provider, amount to spawn</ul></ul><li><code>spawn_costs</code> - map of entity type to object with fields:<ul><li><code>energy_budget</code> - float, energy change allowed per spawn<li><code>charge</code> - float, how much existing mobs will attract or repulse other charged mobs</ul></ul><li>Available attribute modifiers:<ul><li><code>overlay</code><ul><li>For each mob category, overrides the lower layer's spawn settings with the higher layer's, unless the category is not included<li>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</ul></ul><li>Default: Empty</ul><h3>Added <code>minecraft:gameplay/creature_world_gen_spawn_probability</code></h3><ul><li>Sets the probability to run an iteration in which mobs defined to spawn in the <code>creature</code> mob category will spawn during world generation<li>Only Dimensions and Biomes will apply this Environment Attribute<li>Format: float with range <code>[0,1)</code><li>Default: <code>0.1</code></ul><h3>Changed <code>minecraft:gameplay/bed_rule</code></h3><ul><li>Field <code>explodes</code> has been renamed to <code>destroy_on_use</code><li>Added <code>destroy_on_leave</code> - optional boolean, if <code>true</code>, the Bed will be destroyed when leaving it<ul><li>If omitted, defaults to <code>false</code></ul></ul><h3>Added <code>minecraft:gameplay/straw_bed_rule</code></h3><ul><li>Same format as <code>minecraft:gameplay/bed_rule</code>, but used for the Straw Bed</ul><h3>Changed <code>minecraft:visual/ambient_particles</code></h3><ul><li>Now supports interpolation between Timeline keyframes (probabilities will be crossfaded)<li>Introduced support for new modifier: <code>append</code><ul><li>Unlike <code>override</code> which totally replaces the particle list, this modifier concatenates all elements with the layers below</ul></ul><p><img alt=\"Zuri is creating a trail of shroomlights using a blaze rod as a custom block transformer.\"src=https://launchercontent.mojang.com/v2/images/blocktransform1280x720.jpg><h2>Data Components</h2><h3>Added <code>minecraft:provides_pottery_pattern</code></h3><ul><li>Describes the pottery pattern stored on a stack<li>Format:<ul><li>namespaced ID pointing to an element of the <code>minecraft:decorated_pot_pattern</code> registry</ul></ul><h3>Added <code>minecraft:cooking_fuel</code></h3><ul><li>Describes an item that can be used as fuel for a Furnace, Smoker, or Blast Furnace<li>Format: object with fields<ul><li><code>burn_time</code> - inline integer number, or a namespaced ID pointing to an element of the <code>minecraft:context_int_provider</code> registry representing the time in ticks for which this fuel will burn<li><code>speed_multiplier</code> - inline float number, or a namespaced ID pointing to an element of the <code>minecraft:context_float_provider</code> registry representing the speed of the cooking/smelting</ul><li>Cooking fuel items with remainders will be handled as follows:<ul><li>If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground<li>If the fuel has run out, the remainder item will remain in the fuel slot</ul></ul><h3>Added <code>minecraft:brewing_fuel</code></h3><ul><li>Describes an item that can be used as fuel for a Brewing Stand<li>Format: object with fields<ul><li><code>uses</code> - inline integer number, or a namespaced ID pointing to an element of the <code>minecraft:context_int_provider</code> registry representing the number of times this fuel will brew before being consumed<li><code>speed_multiplier</code> - inline float number, or a namespaced ID pointing to an element of the <code>minecraft:context_float_provider</code> registry representing the speed of the brewing</ul><li>Brewing fuel items with remainders will be handled as follows:<ul><li>If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground<li>If the fuel has run out, the remainder item will remain in the fuel slot<li>This behavior matches items placed in the input and reagent slots of the brewing stand</ul><li>Note: the <code>#brewing_fuel</code> item tag has been removed and will no longer function to register new brewing fuels</ul><h3>Changed <code>minecraft:pot_decorations</code></h3><p>Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:<ul><li><code>back</code><li><code>left</code><li><code>right</code><li><code>front</code></ul><h3>Changed <code>minecraft:trim_material</code></h3><ul><li>The format of inline material definitions has been updated as described below</ul><h3>Added <code>minecraft:block_transformer</code></h3><ul><li>Allows an item to transform blocks into other blocks on player interaction<li>Format:<ul><li>a namespaced ID of a <code>minecraft:block_transformer</code> registry type</ul></ul><h3>Added <code>minecraft:sign_text_front</code> and <code>minecraft:sign_text_back</code></h3><ul><li>Two identical components that represent text on the front and back of a sign<li>Contents will be displayed in the item's tooltip<li>The format is the same as the <code>front_text</code> and <code>back_text</code> fields on the <code>minecraft:sign</code> and <code>minecraft:hanging_sign</code> block entities, i.e.<ul><li><code>messages</code> - a list of text components<li><code>filtered_messages</code> - an optional list of text components, if omitted, it will be set to the same value as <code>messages</code><ul><li><code>messages</code> and <code>filtered_messages</code> must have the same entry count</ul><li><code>color</code> - optional dye color, default: <code>black</code><li><code>has_glowing_text</code> - optional boolean, default: <code>false</code></ul></ul><h3>Added <code>minecraft:waxed</code></h3><ul><li>A marker for blocks with contents that are waxed<li>No fields</ul><h3>Added <code>minecraft:cushion/color</code></h3><ul><li>Applied to Cushion entities when they get placed using an item<li>Format: one of 16 dye colors</ul><h3>Added <code>minecraft:compostable</code></h3><ul><li>Represents the ability to compost an item and how it adds layers to the composter<li>Format: object with fields<ul><li><code>layers</code> - inline integer number, or namespaced ID pointing to an element of the <code>minecraft:context_int_provider</code> registry</ul></ul><h3>Added <code>minecraft:villager_food</code></h3><p>Represents items that Villagers can eat. Villagers will pick up items with this component in addition to items in the <code>#villager_picks_up</code> tag.<ul><li>Format: object with fields<ul><li><code>nutrition</code> - positive integer, how much hunger the item satiates in the Villager once eaten</ul></ul><h3>Added <code>minecraft:mob_visibility</code></h3><p>Represents the visibility percentage provided by an item with the appropriate <code>minecraft:equippable</code> component, modifying the range at which mobs are able to detect an entity.<ul><li>Format: object with fields<ul><li><code>targeting_entity_types</code> - an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to match<li><code>visibility</code> - float (between 0.0 and 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<ul><li>While multiple items with this component stack, the maximum vision will still never exceed 10.0</ul></ul></ul><h3>Added <code>minecraft:attack_animation</code></h3><ul><li>The animation to play when the item is being used to attack something<li>Format: object with fields:<ul><li><code>type</code> - swing animation type, one of <code>none</code>, <code>whack</code>, <code>stab</code><li><code>duration</code> - non-negative integer, the length of the animation in ticks</ul></ul><h3>Added <code>minecraft:interact_animation</code></h3><ul><li>The animation to play when the item is being used to interact with something<li>Format: Same as <code>minecraft:attack_animation</code></ul><h3>Changed <code>minecraft:consumable</code></h3><ul><li>Added a new optional field to the <code>teleport_randomly</code> consume effect:<ul><li><code>directional_particles</code> - boolean, whether to show a particle trail into the direction of the teleportation<ul><li>If not present, defaults to <code>true</code></ul></ul></ul><h3>Removed <code>minecraft:swing_animation</code></h3><ul><li>This has been replaced by <code>minecraft:attack_animation</code> and <code>minecraft:interact_animation</code><ul><li>Setting both of these new components to the same value will be functionally identical to the old component, except for:<ul><li>The <code>/swing</code> command - animation type now specified by the command<li>Items being dropped by entities</ul></ul></ul><h3>Removed <code>minecraft:map_color</code></h3><ul><li>Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to<li>Existing maps have the component stripped on load<li>See the Resource Pack section for the matching removal of the <code>minecraft:map_color</code> tint source</ul><h2>Trim Materials</h2><p>The format of elements in the <code>trim_material</code> registry has been updated:<ul><li><code>asset_name</code> has been replaced with <code>palette</code> - Palette Texture ID to be used for this material<li><code>override_armor_assets</code> has been removed<ul><li>Overrides are now defined in the Resource Pack Equipment Asset</ul><li>See the Resource Pack section for details about Palette Texture IDs</ul><h2>Instruments</h2><p>The format of elements in the <code>instrument</code> registry have been updated:<ul><li>Added <code>durability_damage</code> field - optional non-negative integer, amount of durability to consume on each use<li>Updated <code>use_duration</code> field - can now be <code>0</code> for no cooldown</ul><h2>Entity Data</h2><ul><li>Added <code>invulnerable_time</code> tag which makes an entity temporarily invulnerable for a specific number of ticks</ul><p><img alt=\"Noor is sitting on a cushion waiting for smelting to finish, while snacking on a carrot.\"src=https://launchercontent.mojang.com/v2/images/furnace1280x720.jpg><h2>Block Entity Data</h2><h3>Changed <code>minecraft:decorated_pot</code></h3><p>The <code>sherds</code> field no longer stores a list of 4 item IDs. Instead, the new format is an object with 4 optional item stack fields named:<ul><li><code>back</code><li><code>left</code><li><code>right</code><li><code>front</code></ul><h3>Changed <code>minecraft:sign</code> and <code>minecraft:hanging_sign</code></h3><ul><li>By default, commands and other click events contained in Sign text are no longer executed when the block is clicked<ul><li>Additionally, text components on newly placed Signs are no longer resolved by default<li>A new boolean field called <code>allow_op_features</code> (defaults to <code>false</code>) has been added to restore previous behavior<li>Placed Signs and items with the <code>minecraft:block_entity_data</code> component containing Sign data stored in worlds saved before this version will have <code>allow_op_features</code> set to <code>true</code><li>Any newly created Sign will need to have that field set explicitly</ul><li>Changed the rules for opening the Sign edit screen after a block is placed:<ul><li>Previously, the screen would open unless <code>minecraft:block_entity_data</code> was applied successfully<li>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)</ul><li>Signs will now accept and return the <code>minecraft:sign_text_front</code>, <code>minecraft:sign_text_back</code>, and <code>minecraft:waxed</code> components</ul><h3>Changed <code>minecraft:brewing_stand</code></h3><p>The following fields are now stored as integers rather than shorts:<ul><li>Changed the <code>BrewTime</code> field from a short to an integer, this is the amount of time that the current brewing process has taken so far<li>Changed the <code>Fuel</code> field from a byte to an integer, this is the amount of fuel remaining</ul><p>The following new fields have been added:<ul><li><code>total_brew_time</code> - integer, the total amount of time the current brewing process will take<li><code>total_fuel</code> - integer, represents the amount of fuel that was added in the last refuel<li><code>speed_multiplier</code> - float, used to speed up or slow down the next brewing process</ul><h3>Changed <code>minecraft:furnace</code>, <code>minecraft:smoker</code>, and <code>minecraft:blast_furnace</code></h3><p>The following fields are now stored as integers rather than shorts:<ul><li>Changed the <code>cooking_time_spent</code> field from a short to an integer, this is the amount of time that the current cooking process has taken so far<li>Changed the <code>cooking_total_time</code> field from a short to an integer, this is the total amount of time the current cooking process will take<li>Changed the <code>lit_time_remaining</code> field from a short to an integer, this is the amount of burn time remaining<li>Changed the <code>lit_total_time</code> field from a short to an integer, this is the total amount of burn time that was added in the last refuel</ul><p>The following new fields have been added:<ul><li><code>speed_multiplier</code> - float, used to speed up or slow down the next brewing process</ul><h2>Advancements</h2><h3>Validation</h3><ul><li>Visible root advancements (i.e. ones that have a <code>display</code> field, but no <code>parent</code> field) must always declare a <code>background</code> field in the <code>display</code> structure<li>Only root advancements can have a <code>background</code> field in the <code>display</code> structure</ul><h3>Rewards</h3><ul><li>The <code>loot</code> sub-field in the <code>rewards</code> 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 <code>minecraft:loot_table</code> type</ul><h3>Triggers</h3><ul><li>Multiple fields that accepted a list of loot conditions are now stricter:<ul><li>The previous functionality of a list of conditions being equivalent to a single <code>minecraft:all_of</code> condition has been removed<li>Additionally, the <code>type</code> field is now mandatory (previously it defaulted to <code>minecraft:entity_properties</code>)</ul><li>Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a <code>minecraft:predicate</code><li>The <code>player</code> field, available on all triggers except <code>minecraft:impossible</code>, now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<ul><li>To avoid duplication, this field is not mentioned in entries below</ul></ul><h4>Changed <code>minecraft:any_block_use</code></h4><ul><li>The <code>location</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:bee_nest_destroyed</code></h4><ul><li>The <code>block</code> field has been renamed to <code>blocks</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:block</code> type<li>Added field <code>state</code> that matches block state properties (same format as <code>minecraft:enter_block</code>)</ul><h4>Changed <code>minecraft:bred_animals</code></h4><ul><li>The <code>child</code>, <code>parent</code>, and <code>partner</code> fields now accept an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:brewed_potion</code></h4><ul><li>The <code>potion</code> field now accepts a <code>minecraft:potion_contents</code> data component predicate</ul><h4>Changed <code>minecraft:cured_zombie_villager</code></h4><ul><li>The <code>villager</code> and <code>zombie</code> fields now accept an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:default_block_use</code></h4><ul><li>The <code>location</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:effects_changed</code></h4><ul><li>The <code>source</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:enter_block</code></h4><ul><li>The <code>block</code> field has been renamed to <code>blocks</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:block</code> type</ul><h4>Changed <code>minecraft:fall_after_explosion</code></h4><ul><li>The <code>cause</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:fishing_rod_hooked</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:placed_block</code></h4><ul><li>The <code>location</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:item_used_on_block</code></h4><ul><li>The <code>location</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:allay_drop_item_on_block</code></h4><ul><li>The <code>location</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:player_killed_entity</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The <code>killing_blow.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h4>Changed <code>minecraft:entity_killed_player</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The <code>killing_blow.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h4>Changed <code>minecraft:kill_mob_near_sculk_catalyst</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The <code>killing_blow.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h4>Changed <code>minecraft:lightning_strike</code></h4><ul><li>The <code>bystander</code> and <code>lightning</code> fields now accept an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:player_generates_container_loot</code></h4><ul><li>The <code>loot_table</code> field has been renamed to <code>loot_tables</code> 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 <code>minecraft:loot_table</code> type<ul><li>If a tag or a list is used, the trigger will run when any listed loot table is generated</ul></ul><h4>Changed <code>minecraft:thrown_item_picked_up_by_player</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:thrown_item_picked_up_by_entity</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:player_hurt_entity</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The <code>damage.type.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h4>Changed <code>minecraft:entity_hurt_player</code></h4><ul><li>The <code>damage.type.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h4>Changed <code>minecraft:player_interacted_with_entity</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:player_sheared_equipment</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:crafter_recipe_crafted</code></h4><ul><li>The <code>recipe_id</code> field has been renamed to <code>recipes</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:recipe</code> type<ul><li>If a tag or a list is used, the trigger will run when any listed recipe is used</ul></ul><h4>Changed <code>minecraft:recipe_crafted</code></h4><ul><li>The <code>recipe_id</code> field has been renamed to <code>recipes</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:recipe</code> type<ul><li>If a tag or a list is used, the trigger will run when any listed recipe is used</ul></ul><h4>Changed <code>minecraft:recipe_unlocked</code></h4><ul><li>The <code>recipe</code> field has been renamed to <code>recipes</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:recipe</code> type<ul><li>If a tag or a list is used, the trigger will run when any listed recipe is unlocked</ul></ul><h4>Changed <code>minecraft:slide_down_block</code></h4><ul><li>The <code>block</code> field has been renamed to <code>blocks</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:block</code> type</ul><h4>Changed <code>minecraft:summoned_entity</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:tame_animal</code></h4><ul><li>The <code>entity</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:target_hit</code></h4><ul><li>The <code>projectile</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h4>Changed <code>minecraft:villager_trade</code></h4><ul><li>The <code>villager</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h2>Slot Sources</h2><ul><li>Slot sources can now be defined as files inside a Data Pack, within the <code>slot_source</code> folder<ul><li>Can be used in commands which take slot sources as arguments</ul><li><code>minecraft:contents</code> is no longer restricted to only selecting non-empty slots</ul><h3>Changed <code>minecraft:group</code></h3><ul><li>The <code>terms</code> 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 <code>minecraft:slot_source</code> type<li>The inline format of <code>minecraft:group</code> (previously only a list of inline slot sources) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a <code>minecraft:slot_source</code> type<ul><li>This format is now consistently available for all fields of a slot source (but not for stand-alone files)</ul></ul><h3>Changed <code>minecraft:filtered</code></h3><ul><li>The <code>slot_source</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:slot_source</code> type</ul><h3>Changed <code>minecraft:contents</code></h3><ul><li>The <code>slot_source</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:slot_source</code> type</ul><h3>Changed <code>minecraft:limit_slots</code></h3><ul><li>The <code>slot_source</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:slot_source</code> type</ul><h3>Changed <code>minecraft:slot_range</code></h3><ul><li>The <code>source</code> field has a new valid type <code>container</code>, which sources slots from a container or inventory provided through loot context<li>The <code>source</code> field is now optional<ul><li>Defaults to the <code>container</code> source type when absent</ul></ul><h2>Loot Tables</h2><ul><li>Added <code>till/rooted_dirt</code> loot table for drops when Rooted Dirt is tilled with a hoe<li>Multiple block loot tables now reference predicates for checking if a tool has Silk Touch and is Shears instead of inlining a copy of those checks<li>The <code>rolls</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li>The <code>bonus_rolls</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul><h3>Loot Table Types</h3><h4>Added <code>minecraft:command_slot_source</code></h4><ul><li>Currently used to evaluate slot sources with the <code>/item</code> and <code>/execute</code> commands<li>It takes the following parameters:<ul><li><code>container</code>, the container or inventory being evaluated<li><code>origin</code>, the position at which the command was executed<li><code>this_entity</code>, the <code>@s</code> entity of the command being executed (optional)</ul></ul><h4>Added <code>minecraft:command_compute_default</code></h4><ul><li>Currently used for the <code>/compute default</code> command<li>It takes the following parameters:<ul><li><code>origin</code>, the position at which the command was executed<li><code>this</code> entity, the <code>@s</code> entity of the command being executed (optional)</ul></ul><h4>Added <code>minecraft:command_compute_position</code></h4><ul><li>Currently used for the <code>/compute block</code> command<li>It takes the following parameters:<ul><li>Everything included in <code>minecraft:command_compute_default</code><li><code>block_entity</code>, the block entity of the block at the position given in a command<li><code>block_state</code>, the current state of the block at the position given in a command</ul></ul><h4>Added <code>minecraft:command_compute_entity</code></h4><ul><li>Currently used for the <code>/compute entity</code> command<li>It takes the following parameters:<ul><li>Everything included in <code>minecraft:command_compute_default</code><li><code>target_entity</code>, the entity selected by the selector given in a command</ul></ul><h4>Added <code>minecraft:container_process</code></h4><ul><li>Currently used to evaluate cooking and brewing fuel values<li>It takes the following parameters:<ul><li><code>container</code>, the container or inventory being evaluated<li><code>block_entity</code>, the block entity being fueled<li><code>block_state</code>, the current state of the block being fueled<li><code>origin</code>, the location of the block being fueled</ul></ul><h4>Changed <code>minecraft:advancement_location</code></h4><ul><li>Block entities are now available in context and can be matched by conditions like <code>minecraft:match_block</code></ul><h4>Changed <code>minecraft:block_interact</code></h4><ul><li><code>origin</code> is now available in context, as the center of the block being interacted with</ul><h3>Loot Pool Entries</h3><ul><li>The <code>conditions</code> field in loot pool entries has been renamed to <code>condition</code> and now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The <code>functions</code> field in loot pool entries has been renamed to <code>modifier</code> and now accepts an inline value (including a list as a short form of <code>minecraft:sequence</code>) or a namespaced ID of a <code>minecraft:item_modifier</code> type<ul><li>This field is now present on all loot entries, including previously omitted <code>minecraft:alternatives</code>, <code>minecraft:sequence</code>, and <code>minecraft:group</code></ul></ul><h4>Changed <code>minecraft:tag</code></h4><ul><li>The <code>name</code> field has been renamed to <code>items</code> and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:item</code> type</ul><h4>Changed <code>minecraft:loot_table</code></h4><ul><li>The <code>value</code> 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 <code>minecraft:loot_table</code> type<li>Added <code>expand</code> field, working the same as in the <code>minecraft:tag</code> pool entry:<ul><li>if <code>true</code>, each entry inside the tag will be added to the outer pool, with weights equal to the weight of this entry<li>if <code>false</code>, this pool entry will operate as a single entry in the outer pool<ul><li>If this entry gets selected, it will return all items from all referenced loot tables</ul></ul></ul><h2>Loot Functions</h2><ul><li>The <code>conditions</code> field is now available in all loot functions and has been renamed to <code>condition</code><ul><li>It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions<li>The functionality of the old condition list format can be achieved by explicitly using the <code>minecraft:all_of</code> loot condition type</ul><li>The <code>function</code> field (describing the function type) has been renamed to <code>type</code></ul><h3>Changed <code>minecraft:sequence</code></h3><ul><li>The <code>functions</code> 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 <code>minecraft:item_modifier</code> type<li>Added an optional <code>condition</code> field which accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li>The inline format of <code>minecraft:sequence</code> (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 <code>minecraft:item_modifier</code> type<ul><li>This format is now consistently available for all fields of a loot function type (but not for stand-alone files), 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 <code>minecraft:item_modifier</code> type</ul></ul><h3>Changed <code>minecraft:modify_contents</code></h3><ul><li>The <code>modifier</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:item_modifier</code> type</ul><h3>Changed <code>minecraft:set_attributes</code></h3><ul><li>Number providers in the <code>amount</code> sub-fields of the <code>modifiers</code> list now accept an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul><h3>Changed <code>minecraft:enchanted_count_increase</code></h3><ul><li>The <code>count</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul><h3>Changed <code>minecraft:enchant_with_levels</code></h3><ul><li>The <code>levels</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_custom_model_data</code></h3><ul><li>Elements in the <code>floats</code> list can now be an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li>Elements in the <code>colors</code> list can now be an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_enchantments</code></h3><ul><li>Values in the <code>enchantments</code> map can now be an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_count</code></h3><ul><li>The <code>count</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:limit_count</code></h3><ul><li>The <code>min</code> and <code>max</code> fields inside the <code>limit</code> structure now accept an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li>The <code>limit</code> field no longer accepts a single number</ul><h3>Changed <code>minecraft:set_damage</code></h3><ul><li>The <code>damage</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul><h3>Changed <code>minecraft:set_ominous_bottle_amplifier</code></h3><ul><li>The <code>amplifier</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_random_dyes</code></h3><ul><li>The <code>number_of_dyes</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_stew_effect</code></h3><ul><li>The <code>duration</code> field in the elements of the <code>effects</code> list now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul><h3>Changed <code>minecraft:set_loot_table</code></h3><ul><li>Removed unused field <code>type</code><li>The <code>name</code> field has been renamed to <code>loot_table_id</code></ul><h3>Changed <code>minecraft:exploration_map</code></h3><ul><li>The <code>destination</code> 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 <code>minecraft:structure</code> type<li>The <code>map_color</code> field has been removed<li>The function no longer changes the type of the item it is applied to - it now only adds map data to the existing item<ul><li>Previously it required a <code>minecraft:map</code> and produced a <code>minecraft:filled_map</code><li>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 <code>minecraft:map</code> to <code>minecraft:filled_map</code> (or one of the explorer map items)<li>If no matching structure is found, the item is left without a <code>minecraft:map_id</code> - use <code>minecraft:filtered</code> with <code>minecraft:discard_item</code> to drop those, as the vanilla loot tables and villager trades now do</ul></ul><h3>Removed <code>minecraft:reference</code></h3><ul><li>This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions</ul><h2>Predicates</h2><ul><li>The <code>condition</code> field (describing the predicate type) has been renamed to <code>type</code></ul><h3>Changed <code>minecraft:all_of</code></h3><ul><li>The <code>terms</code> 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 <code>minecraft:predicate</code> type<li>Note: values of this type can no longer be shortened to a single list, a full object with the type <code>minecraft:all_of</code> needs to be used explicitly</ul><h3>Changed <code>minecraft:any_of</code></h3><ul><li>The <code>terms</code> 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 <code>minecraft:predicate</code> type</ul><h3>Changed <code>minecraft:inverted</code></h3><ul><li>The <code>term</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:predicate</code> type</ul><h3>Changed <code>minecraft:random_chance</code></h3><ul><li>The <code>chance</code> field now accepts an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul><h3>Removed <code>minecraft:value_check</code></h3><ul><li>This condition has been split into integer and float variants</ul><h3>Added <code>minecraft:int_value_check</code></h3><ul><li>Checks a value against some range</ul><p>Fields:<ul><li><code>value</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>test</code> - one of:<ul><li>an inline value (including a single integer) or a namespaced ID of a <code>minecraft:context_int_provider</code> type<ul><li>Will test if the result of <code>value</code> is equal to the provided <code>test</code> value</ul><li>an object with fields:<ul><li><code>min</code> - an optional inline value (including a single integer) or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>max</code> - an optional inline value (including a single integer) or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li>Will test if the result of <code>value</code> is between <code>min</code> and <code>max</code> (inclusive)</ul></ul></ul><h3>Added <code>minecraft:float_value_check</code></h3><ul><li>Checks value against some range</ul><p>Fields:<ul><li><code>value</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>test</code> - one of:<ul><li>an inline value (including a single float) or a namespaced ID of a <code>minecraft:context_float_provider</code> type<ul><li>Will test if the result of <code>value</code> is equal to the provided <code>test</code> value</ul><li>an object with fields:<ul><li><code>min</code> - an optional inline value (including a single float) or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>max</code> - an optional inline value (including a single float) or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li>Will test if the result of <code>value</code> is between <code>min</code> and <code>max</code> (inclusive)</ul></ul></ul><h3>Changed <code>minecraft:time_check</code></h3><ul><li>The <code>min</code> and <code>max</code> fields inside the <code>value</code> structure now accept an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li>The <code>value</code> field itself now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type (previously only integers were allowed)</ul><h3>Changed <code>minecraft:entity_scores</code></h3><ul><li>The <code>min</code> and <code>max</code> fields inside the values of the <code>scores</code> map now accept an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li>The <code>scores</code> field itself now accepts an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type (previously only integers were allowed)</ul><h3>Changed <code>minecraft:damage_source_properties</code></h3><ul><li>The <code>predicate.tags.id</code> field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a <code>minecraft:damage_type</code> type</ul><h3>Removed <code>minecraft:reference</code></h3><ul><li>This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions</ul><h3>Added Vanilla Predicates</h3><p>New entries added to the previously empty <code>minecraft:predicate</code>:<ul><li><code>minecraft:tool/can_silk_touch</code><li><code>minecraft:tool/can_shear</code><li><code>minecraft:block/fast_cooking</code></ul><h3>Added <code>minecraft:match_block</code> Condition Type</h3><p>Matches block state and optionally block entity data and components (if present)<p>Fields (same as the elements of the <code>minecraft:can_place_on</code> component):<ul><li><code>blocks</code> - optional block id, list of namespaced block IDs, or hash-prefixed block tag to match<li><code>state</code> - optional map of block state property keys to values to match<li><code>nbt</code> - optional block entity NBT to match<ul><li>The match will fail if this field is present but no block entity is available in the context</ul><li><code>components</code> - optional map of exact components to match<ul><li>The match will fail if this field is present but no block entity is available in the context</ul><li><code>predicates</code> - optional map of component predicates to match<ul><li>The match will fail if this field is present but no block entity is available in the context</ul></ul><h3>Removed <code>minecraft:block_state_property</code> Condition Type</h3><ul><li>This has been fully replaced by <code>minecraft:match_block</code></ul><h3>Potion Predicates</h3><p>The <code>minecraft:potion_contents</code> Data Component Predicate has been changed to allow matching on specific potion effects.<p>The previous predicate format used a list of potion types, the new format allows for more refined matching.<p>The following fields can be used in any combination, all are optional:<ul><li><code>potions</code> - a list of potion types or a potion tag to match<li><code>effects</code> - a Collection Predicate of <code>mob_effects</code> predicates to match<ul><li>The Collection Predicate format is as follows:<ul><li><code>contains</code> - a list of <code>mob_effects</code> predicates to match<li><code>count</code> - a list of options for matching a specific number of mob effect predicates, which follow the same format as the <code>minecraft:effects</code> entity sub-predicate<ul><li><code>test</code> - the <code>mob_effects</code> predicate to match<li><code>count</code> - the number of matches required, or with <code>min</code> and <code>max</code> will match a range of counts</ul><li><code>size</code> - require the mob effects list to have a specific size, or with <code>min</code> and <code>max</code> will match a range of sizes</ul></ul></ul><p>The <code>mob_effects</code> predicate format is a mapping of effect types to properties of that effect. All fields are optional, only the provided fields will be used for matching:<pre><code>    {\n        \"minecraft: &#60effect type>\": {\n          \"duration\": &#60integer bounds representing a duration in ticks>,\n          \"amplifier\": &#60integer bounds>,\n          \"ambient: true/false,\n          \"visible\": true/false\n        }\n    )\n\n</code></pre><p>Here is an example of matching on several different effects and criteria:<pre><code>      \"effects\": {\n        \"minecraft:jump_boost\": {\n          \"duration\": 3600,\n          \"amplifier\": 5,\n          \"ambient: true,\n          \"visible\": true\n        },\n        \"minecraft:speed\": {\n          \"duration\": {\n            \"min\": 360,\n            \"max\": \"3600\n          },\n          \"amplifier: {\n            \"min\": 2\n          }\n        },\n        \"minecraft:resistance\": {}\n      }\n</code></pre><p>All criteria are optional.<h2>Number Providers</h2><ul><li>The <code>minecraft:number_provider</code> type has been split into two separate types: <code>minecraft:context_int_provider</code> (integer number providers) and <code>minecraft:context_float_provider</code> (float number providers)<li>Note: those new types should not be confused with the already existing <code>minecraft:int_provider_type</code> and <code>minecraft:float_provider_type</code>, which are context-free providers, used mostly for world generation</ul><h2>Integer Number Providers</h2><ul><li>Added the <code>minecraft:context_int_provider</code> registry<li>All calculations are performed using 32-bit integers<li>The result of calculations that provide invalid values (like division by zero) is undefined<li>Fields:<ul><li><code>type</code> - a namespaced ID from <code>minecraft:context_int_provider_type</code> registry<li><code>&#60type-specific fields></code></ul></ul><h3>Added Vanilla Integer Number Providers</h3><ul><li><code>minecraft:compostable/low</code><ul><li>returns <code>1</code> if the <code>minecraft:block_state</code> context parameter is an empty composter, otherwise has a 30% chance of returning <code>1</code></ul><li><code>minecraft:compostable/low_medium</code><ul><li>returns <code>1</code> if the <code>minecraft:block_state</code> context parameter is an empty composter, otherwise has a 50% chance of returning <code>1</code></ul><li><code>minecraft:compostable/medium</code><ul><li>returns <code>1</code> if the <code>minecraft:block_state</code> context parameter is an empty composter, otherwise has a 65% chance of returning <code>1</code></ul><li><code>minecraft:compostable/medium_high</code><ul><li>returns <code>1</code> if the <code>minecraft:block_state</code> context parameter is an empty composter, otherwise has an 85% chance of returning <code>1</code></ul><li><code>minecraft:compostable/always_add_one</code><ul><li>always returns <code>1</code></ul><li><code>minecraft:cooking/time_bamboo</code><ul><li>Returns the burn time in ticks for Bamboo and Scaffolding</ul><li><code>minecraft:cooking/time_blaze_rod</code><ul><li>Returns the burn time in ticks for Blaze Rods</ul><li><code>minecraft:cooking/time_boats</code><ul><li>Returns the burn time in ticks for Boats</ul><li><code>minecraft:cooking/time_coal</code><ul><li>Returns the burn time in ticks for Coal</ul><li><code>minecraft:cooking/time_coal_block</code><ul><li>Returns the burn time in ticks for Coal Blocks</ul><li><code>minecraft:cooking/time_dried_kelp_block</code><ul><li>Returns the burn time in ticks for Dried Kelp Blocks</ul><li><code>minecraft:cooking/time_dry_plants</code><ul><li>Returns the burn time in ticks for various dry plants</ul><li><code>minecraft:cooking/time_hanging_signs</code><ul><li>Returns the burn time in ticks for Hanging Signs</ul><li><code>minecraft:cooking/time_lava_bucket</code><ul><li>Returns the burn time in ticks for Lava Buckets</ul><li><code>minecraft:cooking/time_roots</code><ul><li>Returns the burn time in ticks for Mangrove Roots</ul><li><code>minecraft:cooking/time_wood_blocks</code><ul><li>Returns the burn time in ticks for wood blocks</ul><li><code>minecraft:cooking/time_wood_items_extra_small</code><ul><li>Returns the burn time in ticks for very small wood items such as Buttons</ul><li><code>minecraft:cooking/time_wood_items_large</code><ul><li>Returns the burn time in ticks for large wood items such as Doors</ul><li><code>minecraft:cooking/time_wood_items_small</code><ul><li>Returns the burn time in ticks for small wood items such as Bows</ul><li><code>minecraft:cooking/time_wood_slabs</code><ul><li>Returns the burn time in ticks for wood slabs</ul><li><code>minecraft:cooking/time_wool</code><ul><li>Returns the burn time in ticks for most Wool blocks</ul><li><code>minecraft:cooking/time_wool_carpets</code><ul><li>Returns the burn time in ticks for Wool Carpets</ul><li><code>minecraft:cooking/time_wool_slabs</code><ul><li>Returns the burn time in ticks for Wool Slabs and Cushions</ul><li><code>minecraft:cooking/normal_burn_time_reduction_factor</code><ul><li>Returns the burn time reduction factor for cooking fuel when used in a normal furnace</ul><li><code>minecraft:cooking/fast_burn_time_reduction_factor</code><ul><li>Returns the burn time reduction factor for cooking fuel when used in a block matching the <code>block/fast_cooking</code> predicate</ul><li><code>minecraft:brewing/uses_default</code><ul><li>Returns the default number of brews provided by brewing fuel</ul></ul><h3>Added <code>minecraft:abs</code></h3><ul><li>Returns the absolute value of <code>input</code><li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:avg</code></h3><ul><li>Evaluates multiple integer providers and returns the arithmetic mean of all results<li>Division rounds towards <code>0</code><li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_int_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:binomial</code></h3><ul><li>Makes <code>n</code> random coin flips with the probability of succeeding equal to <code>p</code>, then returns the number of successes<li>Fields:<ul><li><code>n</code> - the number of coin flips, an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>p</code> - the probability of a single coin flip succeeding (<code>[0.0, 1.0]</code>), an inline value, or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:conditional</code></h3><ul><li>Returns the value from <code>on_true</code> if its condition is fulfilled or <code>on_false</code> if not<li>Fields:<ul><li><code>condition</code> - an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li><code>on_true</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type which is executed if its condition is fulfilled<li><code>on_false</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<ul><li>Defaults to a constant <code>0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:constant</code></h3><ul><li>Returns a constant value<li>Fields:<ul><li><code>value</code> - an integer</ul><li>Can also be written inline as a plain number (<code>foo: 1</code> is equivalent to <code>foo: {type:\"minecraft:constant\",value:1}</code>)</ul><h3>Added <code>minecraft:sub</code></h3><ul><li>Returns <code>left</code> minus <code>right</code><li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:from_float</code></h3><ul><li>Evaluates a float provider and converts it to an integer value<li>Noninteger values will be truncated (i.e. rounded towards zero)<li>Values that don't fit inside a 32-bit integer (including <code>NaN</code>) are treated as errors and will cancel the calculation<li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:max</code></h3><ul><li>Evaluates multiple integer providers and returns the largest of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_int_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:min</code></h3><ul><li>Evaluates multiple integer providers and returns the smallest of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_int_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:mod</code></h3><ul><li>Returns the modulus of <code>left</code> by <code>right</code><li>Uses truncated integer division (rounds towards zero)<li>Division by zero is treated as an error and will cancel the calculation<li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:floor_mod</code></h3><ul><li>Returns the modulus of <code>left</code> by <code>right</code><li>Uses floored integer division (rounds towards negative infinity)<li>Division by zero is treated as an error and will cancel the calculation<li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:environment_attribute</code></h3><ul><li>Fetches and provides the value of an Environment Attribute (<code>minecraft:environment_attribute</code>)<li>Fields<ul><li><code>attribute</code> - the Environment Attribute ID to fetch (must be representable as an int)</ul></ul><h3>Added <code>minecraft:negate</code></h3><ul><li>Returns the negation of <code>input</code><li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:number_dispatcher</code></h3><ul><li>Returns the first case which fulfills its condition or the <code>default</code> if none do<li>Fields:<ul><li><code>cases</code> - a list of cases in the order that the dispatcher will try to execute them<ul><li>Fields:<ul><li><code>condition</code> - an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li><code>value</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type which is executed if the condition is fulfilled</ul></ul><li><code>default</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<ul><li>Defaults to a constant <code>0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:pow</code></h3><ul><li>Returns <code>base</code> to the power of <code>exponent</code><li>If the exponent is negative, the calculation will be canceled<li>If both the base and the exponent are zero, the calculation will be canceled<li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>base</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>exponent</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:mul</code></h3><ul><li>Evaluates multiple integer providers and returns the product of all results<li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_int_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:div</code></h3><ul><li>Returns <code>left</code> divided by <code>right</code><li>Uses truncated integer division (rounds towards zero)<li>Division by zero is treated as an error and will cancel the calculation<li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:floor_div</code></h3><ul><li>Returns <code>left</code> divided by <code>right</code><li>Uses floored integer division (rounds towards negative infinity)<li>Division by zero is treated as an error and will cancel the calculation<li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:score</code></h3><ul><li>Returns a score of the selected target<li>If the score is not present, the provider returns the value of <code>fallback</code><li>Fields:<ul><li><code>score</code> - objective name<li><code>target</code> - score holder (same format as in the number provider version)<li><code>fallback</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<ul><li>Defaults to a constant <code>0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:storage</code></h3><ul><li>Returns an integer value from a command storage<li>If the value is not present, is not a number, or the path returned multiple values, the provider returns the value of <code>fallback</code><li>The conversion of numeric NBT values that are not an integer is undefined<li>Fields:<ul><li><code>storage</code> - a namespaced ID of a command storage<li><code>path</code> - an NBT path<li><code>fallback</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<ul><li>Defaults to a constant <code>0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:add</code></h3><ul><li>Evaluates multiple integer providers and returns the sum of all results<li>If the final result does not fit inside a 32-bit integer, the calculation will be canceled<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_int_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:uniform</code></h3><ul><li>Picks a random integer from a closed range<li>Fields:<ul><li><code>min</code> - minimum value (inclusive), an inline value, or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>max</code> - maximum value (inclusive), an inline value, or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:weighted_list</code></h3><ul><li>Returns a value from a distribution of weighted number providers<li>Fields:<ul><li><code>distribution</code> - a list of objects with the following fields<ul><li>Fields:<ul><li><code>data</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type<li><code>weight</code> - a positive integer</ul></ul></ul></ul><h2>Float Number Providers</h2><ul><li>Added a <code>minecraft:context_float_provider</code> registry<li>All calculations are performed using single-precision floating-point numbers (\"floats\")<li>The result of calculations that produce NaN and Infinity is undefined<li>Format:<ul><li><code>type</code> - a namespaced ID from <code>minecraft:context_float_provider_type</code> registry<li><code>&#60type-specific fields></code></ul></ul><h3>Added Vanilla Float Number Providers</h3><ul><li><code>minecraft:cooking/speed_default</code><ul><li>Returns the default speed multiplier for cooking fuel</ul><li><code>minecraft:cooking/normal_speed_multiplier</code><ul><li>Returns the speed multiplier for cooking fuel when used in a normal Furnace</ul><li><code>minecraft:cooking/fast_speed_multiplier</code><ul><li>Returns the speed multiplier for cooking fuel when used in a block matching the <code>block/fast_cooking</code> predicate</ul><li><code>minecraft:brewing/speed_default</code><ul><li>Returns the default speed multiplier for brewing fuel</ul></ul><h3>Added <code>minecraft:abs</code></h3><ul><li>Returns the absolute value of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:avg</code></h3><ul><li>Evaluates multiple float providers and returns the arithmetic mean of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:ceil</code></h3><ul><li>Returns the ceiling (i.e. rounded towards positive infinity) value of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:conditional</code></h3><ul><li>Returns the value from <code>on_true</code> if its condition is fulfilled or <code>on_false</code> if not<li>Fields:<ul><li><code>condition</code> - an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li><code>on_true</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type which is executed if its condition is fulfilled<li><code>on_false</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<ul><li>Defaults to a constant <code>0.0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:constant</code></h3><ul><li>Returns a constant value<li>Fields:<ul><li><code>value</code> - a float</ul><li>Can also be written inline as a plain number (<code>foo: 1.0</code> is equivalent to <code>foo: {type:\"minecraft:constant\",value:1.0}</code>)</ul><h3>Added <code>minecraft:cos</code></h3><ul><li>Returns the cosine of <code>input</code><li>Fields:<ul><li><code>input</code> - argument in radians, an inline value, or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:sub</code></h3><ul><li>Returns <code>left</code> minus <code>right</code><li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:enchantment_level</code></h3><ul><li>Evaluates Enchantment Level-Based (<code>minecraft:enchantment_level_based_value_type</code>) parameter<li>Fields:<ul><li><code>amount</code>: A Level-Based Value giving a value based on the level of the Enchantment</ul></ul><h3>Added <code>minecraft:environment_attribute</code></h3><ul><li>Fetches and provides the value of an Environment Attribute (<code>minecraft:environment_attribute</code>)<li>Fields<ul><li><code>attribute</code> - the Environment Attribute ID to fetch (must be representable as a float)</ul></ul><h3>Added <code>minecraft:floor</code></h3><ul><li>Returns the floored (i.e. rounded towards negative infinity) value of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:from_int</code></h3><ul><li>Evaluates an integer provider and converts it to a float value<li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_int_provider</code> type</ul></ul><h3>Added <code>minecraft:length</code></h3><ul><li>Evaluates multiple float providers and returns the square root of the sum of squares<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:max</code></h3><ul><li>Evaluates multiple float providers and returns the largest of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:min</code></h3><ul><li>Evaluates multiple float providers and returns the smallest of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:mod</code></h3><ul><li>Returns the modulus of <code>left</code> by <code>right</code><li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:negate</code></h3><ul><li>Returns the negation of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:number_dispatcher</code></h3><ul><li>Returns the first case which fulfills its condition or <code>default</code> if none do<li>Fields:<ul><li><code>cases</code> - a list of cases in the order that the dispatcher will try to execute them<ul><li>Fields:<ul><li><code>condition</code> - an inline value or a namespaced ID of a <code>minecraft:predicate</code> type<li><code>value</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type which is executed if the condition is fulfilled</ul></ul><li><code>default</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<ul><li>Defaults to a constant <code>0.0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:pow</code></h3><ul><li>Returns <code>base</code> to the power of <code>exponent</code><li>Fields:<ul><li><code>base</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>exponent</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:mul</code></h3><ul><li>Evaluates multiple float providers and returns the product of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:div</code></h3><ul><li>Returns <code>left</code> divided by <code>right</code><li>Fields:<ul><li><code>left</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>right</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:round</code></h3><ul><li>Returns the rounded (towards the nearest integer, with ties rounding towards positive infinity) value of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:sin</code></h3><ul><li>Returns the sine of <code>input</code><li>Fields:<ul><li><code>input</code> - argument in radians, an inline value, or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:sqrt</code></h3><ul><li>Returns the square root of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:storage</code></h3><ul><li>Returns a float value from a command storage<li>If the value is not present, is not a number, or the path returned multiple values, the provider returns the value of <code>fallback</code><li>The conversion of numeric NBT values that are not a float is undefined<li>Fields:<ul><li><code>storage</code> - a namespaced ID of a command storage<li><code>path</code> - an NBT path<li><code>fallback</code> - an optional inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<ul><li>Defaults to a constant <code>0.0</code> if omitted</ul></ul></ul><h3>Added <code>minecraft:add</code></h3><ul><li>Evaluates multiple float providers and returns the sum of all results<li>Fields:<ul><li><code>inputs</code> - 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 <code>minecraft:context_float_provider</code> type<ul><li>Requires at least one value</ul></ul></ul><h3>Added <code>minecraft:truncate</code></h3><ul><li>Returns the truncated (rounded towards zero) value of <code>input</code><li>Fields:<ul><li><code>input</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:uniform</code></h3><ul><li>Picks a random number from a range<li>Fields:<ul><li><code>min</code> - minimum value, an inline value, or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>max</code> - maximum value, an inline value, or a namespaced ID of a <code>minecraft:context_float_provider</code> type</ul></ul><h3>Added <code>minecraft:weighted_list</code></h3><ul><li>Returns a value from a distribution of weighted number providers<li>Fields:<ul><li><code>distribution</code> - a list of objects with the following fields<ul><li>Fields:<ul><li><code>data</code> - an inline value or a namespaced ID of a <code>minecraft:context_float_provider</code> type<li><code>weight</code> - a positive integer</ul></ul></ul></ul><p><img alt=\"Noor is sitting on a cushion waiting for some potions to brew.\"src=https://launchercontent.mojang.com/v2/images/brewing1280x720.jpg><h2>Recipes</h2><h3>Potion Brewing Recipes</h3><p>Potion brewing recipes are now data-driven. New recipes can be added via data packs, and vanilla recipes may be modified. Brewing recipes use the <code>minecraft:brewing</code> type.<p>The main contents are:<ul><li><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<li><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<li><code>output</code> - item stack, the resulting item</ul><p>Here is an example of a vanilla recipe:<pre><code>{\n  \"type\": \"minecraft:brewing\",\n  \"input\": {\n    \"item\": \"minecraft:potion\",\n    \"potion_contents\": {\n      \"potion\": \"minecraft:water\"\n    }\n  },\n  \"output\": {\n    \"components\": {\n      \"minecraft:potion_contents\": {\n        \"potion\": \"minecraft:awkward\"\n      }\n    },\n    \"id\": \"minecraft:potion\"\n  },\n  \"reagent\": {\n    \"item\": \"minecraft:nether_wart\"\n  }\n}\n</code></pre><p>Any items may be used in any of the 3 slots, for example:<pre><code>{\n  \"type\": \"minecraft:brewing\",\n  \"input\": { \"item\": \"minecraft:bucket\" },\n  \"output\": { \"id\": \"minecraft:sulfur_cube_bucket\" },\n  \"reagent\": { \"item\": \"minecraft:potent_sulfur\" }\n}\n</code></pre><h3>Cooking Recipes</h3><p>The <code>cookingtime</code> field of all cooking recipes is no longer optional.<p>The recipes for Smokers and Blast Furnaces now use the same cooking time in their data definition as their Furnace counterparts.<p>The cooking time speedup is now done through the <code>minecraft:cooking/speed_default</code> Number Provider used by the furnace fuel components.<p>Custom Smoker and Blast Furnace recipes should be updated accordingly, by setting <code>cookingtime</code> to twice the previous value.<p>If a custom cooking recipe was previously relying on the default <code>cookingtime</code> value, 200 can be used to maintain the same timing.<h2>Block Transformers</h2><ul><li>Added a <code>minecraft:block_transformer</code> registry containing rules for transforming a block into another block<li>Format: list of objects with fields:<ul><li><code>block_state_provider</code> - Block State Provider, used to provide the state for the transformed block<ul><li>If the Block State Provider returns no result (as by <code>rule_based</code>, for example), the next rule in the list will be attempted<li>The set of Block State Providers are the same as the Block State Providers used in World Generation</ul><li><code>sound</code> - optional field, Sound Event to play on interaction, e.g. <code>minecraft:item.axe.strip</code><ul><li>If not present, defaults to play no Sound Event</ul><li><code>particle</code> - optional field, particles to play on interaction<ul><li>One of:<ul><li><code>none</code><li><code>scrape</code><li><code>wax_on</code><li><code>wax_off</code></ul><li>If not present, defaults to <code>none</code></ul><li><code>disallowed_faces</code> - optional field, list of directions specifying faces on the clicked Block that cannot be interacted with<ul><li>One of:<ul><li><code>up</code><li><code>down</code><li><code>north</code><li><code>south</code><li><code>east</code><li><code>west</code></ul><li>If a disallowed face is interacted with, the next rule in the list will be attempted<li>If not present, defaults to an empty list</ul><li><code>loot</code> - optional Loot Table, the Loot Table to use for dropping items on a successful transformation, e.g. <code>minecraft:till/rooted_dirt</code><ul><li>If not present, defaults to using no Loot Table</ul><li><code>drop_strategy</code> - optional field, configures from where in the Block any loot should drop<ul><li>One of:<ul><li><code>from_middle</code> - from the middle of the Block<li><code>clicked_face</code> - from the face interacted with</ul><li>If not present, defaults to <code>from_middle</code></ul><li><code>update_from_neighbors</code> - optional boolean, if the transformed block should update based on neighboring blocks. This allows e.g. fences to connect<ul><li>If not present, defaults to true</ul><li><code>transform_type</code> - optional field, configures how nearby blocks should be affected by the transformation<ul><li>One of:<ul><li><code>single_block</code> - only affects the Block interacted with<li><code>copper_chest</code> - 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</ul><li>If not present, defaults to <code>single_block</code></ul><li><code>consume_on_use</code> - optional boolean, determines if the item should be consumed or not<ul><li>Only applies to stackable items<li>If not present, defaults to <code>true</code></ul><li><code>item_damage_per_use</code> - optional integer, determines how much damage the item takes with each use<ul><li>Only applies to non-stackable items<li>If not present, defaults to <code>0</code></ul></ul><li>Default values in vanilla:<ul><li><code>minecraft:shovel</code> - default value for shovels<li><code>minecraft:axe</code> - default value for axes<li><code>minecraft:hoe</code> - default value for hoes</ul></ul><p><img alt=\"Noor is using a spyglass to get a closer look at some large mesa formations in the distance.\"src=https://launchercontent.mojang.com/v2/images/worldgen1280x720.jpg><h2>World Generation</h2><ul><li>Cave Air is no longer generated in Nether caves</ul><h3>Biomes</h3><ul><li>Removed the <code>spawners</code>, <code>spawn_costs</code>, and <code>creature_spawn_probability</code> fields<ul><li>These values have been moved to the new Environment Attributes</ul></ul><h3>Features</h3><ul><li>The <code>worldgen/configured_feature</code> registry has moved to <code>worldgen/feature</code> and configuration is now done inline in the root object rather than separated into a <code>config</code> field<li>Removed feature types:<ul><li><code>minecraft:coral_mushroom</code><li><code>minecraft:kelp</code><li><code>minecraft:seagrass</code><li><code>minecraft:sea_pickle</code><li><code>minecraft:nether_forest_vegetation</code><li><code>minecraft:twisting_vines</code><li><code>minecraft:weeping_vines</code><li><code>minecraft:desert_well</code></ul></ul><blockquote><p><strong>Developer's Note</strong>: <em>These feature types are no longer needed, since the features they previously hardcoded are now implemented with other, more configurable functionality.</em></blockquote><h4>Changed <code>minecraft:coral_claw</code> and <code>minecraft:coral_tree</code></h4><ul><li>Added field <code>feature</code>, a Placed Feature that is used to place at every desired block position</ul><h4>Changed <code>minecraft:stepped_column_cluster</code> (renamed from <code>minecraft:basalt_columns</code>)</h4><p>Now exposes more control over the feature functionality.<p>Format changes:<ul><li>Renamed field <code>reach</code> to <code>column_reach</code><li>Added fields:<ul><li><code>block</code>- Block state provider, which block to place<li><code>can_replace</code> - Block predicate, which blocks can be replaced by the column<li><code>continue_through</code> - Block predicate, which pre-existing blocks to accept as part of a column<li><code>cannot_place_on</code> - Block ID, list of Block IDs, or hash-prefixed Block Tag ID, which blocks are avoided when starting placement<li><code>column_count</code> - int provider (between 1 and 150), the number of columns to generate<li><code>cluster_reach</code> - int provider (between 0 and 13), the size of the square to attempt to generate columns in<ul><li>The effective reach is also limited by <code>height</code></ul></ul></ul><h4>Changed <code>minecraft:single_block_pillar</code> (renamed from <code>minecraft:basalt_pillar</code>)</h4><p>Now exposes more control over the feature functionality.<ul><li>Added fields:<ul><li><code>block</code> - Block state provider, which block to place<li><code>can_replace</code> - Block predicate, which blocks to replace<li><code>direction</code> - one of <code>up</code> and <code>down</code>, vertical direction of the pillar<li><code>chance_to_continue</code> - optional float between <code>0</code> and <code>1</code>, probability that the pillar continues another block (assuming <code>can_replace</code> matches)<ul><li>If omitted, defaults to <code>1</code></ul><li><code>cap_feature</code> - optional Placed Feature, placed at the end of the pillar</ul></ul><h4>Changed <code>minecraft:random_neighbor_spread</code> (renamed from <code>minecraft:glowstone_blob</code>)</h4><p>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.<ul><li>Added fields:<ul><li><code>block</code> - Block state provider, which block to place<li><code>accepted_neighbors</code> - Block ID, list of Block IDs, or hash-prefixed Block Tag, which blocks count as a valid neighbor<li><code>can_replace</code> - Block predicate, which blocks to replace<li><code>attempts</code> - int provider (between 1 and 3000), how many placement attempts to make<li><code>xz_offset</code> - int provider (between -16 and 16), what offsets to try along the x and z axes<li><code>y_offset</code> - int provider (between -16 and 16), what offsets to try along the y-axis</ul></ul><h4>Changed <code>minecraft:sculk_patch</code></h4><ul><li>Removed <code>extra_rare_growths</code> and <code>catalyst_chance</code> fields</ul><h4>Added <code>minecraft:overlay</code></h4><p>Places a set of features in the same location. Note that as opposed to the <code>minecraft:sequence</code> Feature Type, all features are placed regardless of individual placement success.<ul><li>Format: object with fields:<ul><li><code>features</code> - Placed Feature ID, non-empty list of Placed Feature IDs, or hash-prefixed Placed Feature Tag, the features to place</ul></ul><h4>Added <code>minecraft:projected_random_patchy_square</code></h4><p>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.<ul><li>Format: object with fields:<ul><li><code>block</code> - Block state provider, which block to place<li><code>project_through</code> - Block Predicate, which blocks are considered \"empty\" and should be projected through<li><code>size</code> - int provider (between 1 and 16), determines the size of the square as measured from the center to the edge<li><code>max_projection_height</code> - non-negative integer, the maximum change in y level from the original height to the placement height for a block in the square</ul></ul><h4>Added <code>minecraft:end_podium</code></h4><ul><li>Places the End Podium<li>Two feature instances are now used to place the podium from in-game events:<ul><li><code>end_podium_active</code><li><code>end_podium_inactive</code></ul><li>Format: object with fields:<ul><li><code>active</code> - boolean, whether the portal is active</ul></ul><h4>Changed <code>minecraft:template</code></h4><ul><li>Added field <code>processors</code>: Namespaced ID or inline definition of a structure processor list to apply to the template</ul><h4>Changed <code>minecraft:tree</code></h4><h5>Added <code>shelf_mushroom</code> Tree Decorator Type</h5><ul><li>Places Shelf Mushrooms on logs with the specified probability<li>Format: object with fields:<ul><li><code>probability</code> - float (between 0 and 1), the probability that any Shelf Mushrooms will be placed for a given feature</ul></ul><h5>Added <code>poplar_foliage_placer</code> Foliage Placer Type</h5><ul><li>Places Leaf blocks for Poplar trees in a rhombus shape in one of two possible directions<li>Format: Common fields for all foliage placers plus:<ul><li><code>height</code> - int provider (between 5 and 16), the height of the foliage<li><code>side_hole_chance</code> - float (between 0.0 and 1.0), the chance for blocks to be randomly removed at the edge of the foliage</ul></ul><h5>Added <code>poplar_trunk_placer</code> Trunk Placer Type</h5><ul><li>Places Log blocks for Poplar trees in a straight shape with branches by the start of the foliage<li>Format: Common fields for all trunk placers plus:<ul><li><code>trunk_height_above_branches</code> - int provider (between 0 and 8), the height of the trunk above the branches<li><code>branch_amount</code> - int provider (between 1 and 4), the amount of branches to create by the foliage</ul></ul><h3>Placement Modifiers</h3><h4>Added <code>minecraft:cuboid</code></h4><p>Repeats a feature in a cuboid shape.<ul><li>Added fields:<ul><li><code>xz_size</code> - int provider (between 1 and 16), the size of the cuboid along x and z axes<li><code>y_size</code> - int provider (between 1 and 16), the size of the cuboid along the y-axis<li><code>include_interior</code> - optional boolean, whether to place interior blocks of the cuboid<ul><li>If omitted, defaults to <code>true</code></ul><li><code>include_edges</code> - optional boolean, whether to place edge blocks of the cuboid<ul><li>Setting this to <code>false</code> generates a somewhat \"rounded\" cuboid<li>If omitted, defaults to <code>true</code></ul></ul></ul><h4>Added <code>minecraft:random_chance</code></h4><p>Gates the feature being placed behind a random chance.<ul><li>Format: object with fields:<ul><li><code>chance</code> - float (between <code>0</code> and <code>1</code>), the chance that the feature gets placed</ul></ul><h4>Added <code>minecraft:randomly_selected</code></h4><p>Randomly selects a Placement Modifier from a list and delegates placement to it.<ul><li>Format: object with fields:<ul><li><code>placements</code> - non-empty list of Placement Modifiers to pick from</ul></ul><h4>Changed <code>minecraft:offset</code> (renamed from <code>minecraft:random_offset</code>)</h4><ul><li>Format changes:<ul><li>Removed fields <code>xz_spread</code> and <code>y_spread</code><li>Added fields <code>x</code>, <code>y</code>, <code>z</code> - integer providers (between -16 and 16), the axis-specific offset</ul></ul><h3>Block State Providers</h3><p>Block State Providers can now be defined as stand-alone types in the <code>worldgen/block_state_provider</code> registry and referenced by using a namespaced string for a field that expects a Block State Provider.<p>An inline Block State definition is now an accepted shorthand form for a <code>minecraft:simple</code> 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.<h4>Renamed Provider Types</h4><p>The following providers types have been renamed:<ul><li><code>minecraft:dual_noise_provider</code> renamed to <code>minecraft:dual_noise</code><li><code>minecraft:noise_provider</code> renamed to <code>minecraft:noise</code><li><code>minecraft:noise_threshold_provider</code> renamed to <code>minecraft:noise_threshold</code><li><code>minecraft:randomized_int_state_provider</code> renamed to <code>minecraft:randomized_int</code><li><code>minecraft:rule_based_state_provider</code> renamed to <code>minecraft:rule_based</code><li><code>minecraft:simple_state_provider</code> renamed to <code>minecraft:simple</code><li><code>minecraft:weighted_state_provider</code> renamed to <code>minecraft:weighted</code></ul><h4>Added <code>minecraft:copy_properties</code></h4><p>Copies common Block State properties from the Block at the evaluated position to the resulting state<ul><li>Format: object with fields:<ul><li><code>source</code> - Block State Provider, the Block State which the copied properties are copied on top of<ul><li>Only properties common between both the source and the target blocks will be copied</ul></ul></ul><h4>Added <code>minecraft:random_block</code></h4><p>Returns the default block state for a randomly chosen block.<ul><li>Format: object with fields:<ul><li><code>blocks</code>: Block ID, list of Block IDs, or hash-prefixed Block Tag, the set of blocks to randomly pick from</ul></ul><h4>Changed <code>minecraft:rotated</code></h4><p>Now works on any block with <code>axis</code> or <code>facing</code> properties.<ul><li>Format changes:<ul><li>Changed field <code>state</code> - now a Block State Provider<li>Added field <code>direction</code> - optional direction, the direction to set<ul><li>If omitted, a random direction is chosen</ul></ul></ul><h4>Changed <code>minecraft:rule_based</code></h4><ul><li>If a rule yields no result, the following rules will be evaluated<li>If no rule or <code>fallback</code> yields a result, will now also yield no result</ul><h3>Noise Settings</h3><ul><li>The <code>surface_rule</code> field has been renamed to <code>material_rule</code><ul><li>Format: inline Material Rule or Material Rule ID reference</ul><li>The <code>final_density</code> field no longer has the <code>beardifier</code> Density Function implicitly added to the final result<li>Renamed <code>preliminary_surface_level</code> to <code>chunk_surface_level</code><ul><li>This Density Function is no longer implicitly interpolated across the entire chunk</ul><li>The <code>aquifers_enabled</code> field has been replaced by an optional <code>aquifers</code> object:<ul><li>If not present, no aquifers will be generated<li>Fields:<ul><li><code>barrier</code> - Density Function, moved from <code>noise_router.barrier</code><li><code>fluid_level_floodedness</code> - Density Function, moved from <code>noise_router.fluid_level_floodedness</code><li><code>fluid_level_spread</code> - Density Function, moved from <code>noise_router.fluid_level_spread</code><li><code>lava</code> - Density Function, moved from <code>noise_router.lava</code><li><code>surface_level</code> - Density Function, duplicated from <code>noise_router.preliminary_surface_level</code><li><code>exclusion</code> - Density Function, any aquifer cell where this value is positive will have no fluid</ul></ul><li>The <code>ore_veins_enabled</code> field has been removed, and replaced by the <code>minecraft:ore_vein</code> Material Rule<li>The following fields from <code>noise_router</code> have been moved:<ul><li><code>barrier</code>, <code>fluid_level_floodedness</code>, <code>fluid_level_spread</code>, <code>lava</code> - moved into <code>aquifers</code> field<li><code>vein_toggle</code>, <code>vein_ridged</code>, <code>vein_gap</code> - moved into the <code>minecraft:ore_vein</code> Material Rule</ul><li>Removed <code>noise.size_horizontal</code> and <code>noise.size_vertical</code> fields, these are now specified in the <code>interpolated</code> density function<li>Added optional <code>debug_functions</code> field - list of objects with fields, Density Function values to show in the <code>chunk_generation_stats</code> debug entry<ul><li>Fields:<ul><li><code>label</code> - string, label to identify this Density Function<li><code>function</code> - Density Function, the Density Function to compute and show at the player position</ul><li>If not specified, no density function values will be shown</ul></ul><h4>Spawn Target</h4><p>The <code>spawn_target</code> field has been updated to allow use of any Density Function, instead of just a subset of those defined within the <code>noise_router</code> field.<p>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.<p>For example, one axis might be <code>temperature</code> and the second <code>erosion</code> - and suitability determined by distance to the square between <code>temperature=0.1, erosion=0.2</code> and <code>temperature=0.3, erosion=0.5</code>. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.<p>Format: list of target hypercubes<ul><li>Target format: map between Density Function ID and a range on that axis:<ul><li>Range is specified as one of:<ul><li>Float, an exact target value<li>Array of 2 floats, a range of target values in form <code>[min, max]</code><li>An object with fields:<ul><li><code>min</code> - float, the minimum value of the target range<li><code>max</code> - float, the maximum value of the target range</ul></ul></ul></ul><h3>Material Rules</h3><h4>Material Rule Registry</h4><p>A new data-driven registry has been introduced, loaded from <code>data/&#60namespace>/worldgen/material_rule/&#60id>.json</code>.<p>Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.<p>The format is identical to that which was formerly written in the <code>surface_rule</code> field within Noise Settings files, with the following extensions:<ul><li>Material Rules can now be specified either inline (as previously), or as an ID reference to an element in the <code>worldgen/material_rule</code> registry<li>Material Conditions can also now be specified as an ID reference to an element in the <code>worldgen/material_condition</code> registry</ul><h4>Material Condition Registry</h4><p>A new data-driven registry has been introduced, loaded from <code>data/&#60namespace>/worldgen/material_condition/&#60id>.json</code>.<p>Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).<p>The format is identical to that which was formerly written within the <code>condition</code> Material Rule type, with the following extension:<ul><li>Material Conditions can also now be specified as an ID reference to an element in the <code>worldgen/material_condition</code> registry</ul><h4>Added <code>minecraft:ore_vein</code></h4><ul><li>Format: object with fields:<ul><li><code>ore_block</code> - Block State, the ore block to place<li><code>raw_ore_block</code> - Block State, the raw ore block to place<li><code>filler_block</code> - Block State, the filler block to place<li><code>raw_ore_chance</code> - float between 0 and 1, the probability for a <code>raw_ore_block</code> to be placed instead of an <code>ore_block</code><li><code>density</code> - Density Function, the probability between 0 and 1 for the ore vein to replace a block<ul><li>If <code>0</code> or lower, no block will be replaced</ul><li><code>richness</code> - Density Function, the probability between 0 and 1 for <code>ore_block</code> or <code>raw_ore_block</code> to be placed (as opposed to <code>filler_block</code>)<ul><li>If <code>0</code> or lower, all blocks will be <code>filler_block</code><li>If <code>1</code> or greater, no blocks will be <code>filler_block</code></ul><li><code>filler_gap</code> - Density Function, acts as an override to <code>richness</code>: if positive, <code>filler_block</code> will always be placed</ul></ul><h3>Noises</h3><p>The format of Noises (defined in the <code>worldgen/noise</code> registry, or inline in noise-based Block State Providers) has been updated.<p>Noises define a fractal Brownian motion (fBm) configuration with the following properties:<ul><li><p>Produces output values (approximately) fitting a normal distribution<li><p>Unless otherwise specified, fits the output amplitude to <code>[-1; 1]</code><ul><li>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</ul><li><p>Parameterized by persistence=0.5, lacunarity=2.0<ul><li>i.e. between each octave, the amplitude is halved and the frequency doubled</ul><li><p>Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves<li><p>Renamed <code>firstOctave</code> to <code>base_octave</code><li><p>Added <code>base_amplitude</code> - positive float, a scale factor to apply to the noise output<ul><li>If not specified, defaults to <code>1.0</code></ul><li><p>Added <code>octave_count</code> - integer between 1 and 32, the number of octaves to sample<li><p>Added <code>normalize</code> - boolean, or <code>\"legacy\"</code>, controls how the output amplitude should be normalized<ul><li>If <code>true</code>, <code>base_amplitude</code> is the expected amplitude of the output (i.e. 99.7% of all samples in <code>[-base_amplitude; base_amplitude]</code>)<li>If <code>false</code>, <code>base_amplitude</code> is the amplitude of the first octave<li>If <code>\"legacy\"</code>, inherits the same normalization behavior as expressed by the previous format<ul><li>This would generally fit to a range smaller than expected</ul><li>If not specified, defaults to <code>true</code><li>Note: normalization is <em>not</em> affected by the <code>amplitude_modifiers</code> field - as such, modifying the amplitude of a single octave will not affect the amplitude of others</ul><li><p>Renamed <code>amplitudes</code> to <code>amplitude_modifiers</code> - list of floats, a scaling factor to apply to each octave<ul><li>The number of elements in this list must match <code>octave_count</code><li>As described above, this scaling factor bypasses normalization and will affect the output amplitude<li>This field is no longer required - if not specified, defaults to all <code>1.0</code></ul></ul><h3>Density Functions</h3><ul><li>Density Functions and noises are no longer evaluated with double-precision floating point values, but instead with single-precision<ul><li>This affects all intermediate steps, not just the final result</ul></ul><blockquote><p><strong>Developer's Note</strong>: _We are aware that the details of floating point rounding have been used in some Data Packs, and this change may affect specific configurations. We have introduced alternatives for the use-cases that we are aware of, but please do share with us on <a href=https://feedback.minecraft.net rel=\"noopener noreferrer\"target=_blank>feedback.minecraft.net</a> or in the <a href=https://discord.com/invite/minecraftfeedback rel=\"noopener noreferrer\"target=_blank>feedback Discord</a> if you encounter use-cases that are no longer possible to support.</blockquote><h4>Changed <code>minecraft:constant</code></h4><ul><li><code>argument</code> has been renamed to <code>value</code></ul><h4>Changed <code>minecraft:noise</code></h4><p>The following fields have been introduced:<ul><li><code>shift_x</code> - optional Density Function, a domain warp to apply on x<ul><li>If not specified, no warping will be applied (equivalent to <code>0</code>)</ul><li><code>shift_y</code> - optional Density Function, a domain warp to apply on y<ul><li>If not specified, no warping will be applied (equivalent to <code>0</code>)</ul><li><code>shift_z</code> - optional Density Function, a domain warp to apply on z<ul><li>If not specified, no warping will be applied (equivalent to <code>0</code>)</ul></ul><h4>Removed <code>minecraft:shifted_noise</code></h4><ul><li>Replaced by <code>minecraft:noise</code></ul><h4>Changed <code>minecraft:add</code>, <code>minecraft:mul</code>, <code>minecraft:min</code>, and <code>minecraft:max</code></h4><ul><li><code>argument1</code> has been renamed to <code>left</code><li><code>argument2</code> has been renamed to <code>right</code></ul><h4>Changed <code>minecraft:abs</code>, <code>minecraft:square</code>, <code>minecraft:cube</code>, <code>minecraft:half_negative</code>, <code>minecraft:quarter_negative</code>, <code>minecraft:squeeze</code>, <code>minecraft:interpolated</code>, <code>minecraft:flat_cache</code>, <code>minecraft:cache_2d</code>, <code>minecraft:cache_once</code>, <code>minecraft:cache_all_in_cell</code>, and <code>minecraft:blend_density</code></h4><ul><li><code>argument</code> has been renamed to <code>input</code></ul><h4>Changed <code>minecraft:shift_a</code>, <code>minecraft:shift_b</code>, and <code>minecraft:shift</code></h4><ul><li><code>argument</code> has been renamed to <code>noise</code></ul><h4>Added <code>minecraft:sub</code></h4><p>Performs subtraction between two arguments.<ul><li>Format: object with fields:<ul><li><code>left</code> - Density Function, the left-hand side of the operation<li><code>right</code> - Density Function, the right-hand side of the operation</ul></ul><h4>Added <code>minecraft:div</code></h4><p>Performs division between two arguments.<ul><li>Format: object with fields:<ul><li><code>left</code> - Density Function, the left-hand side of the operation<li><code>right</code> - Density Function, the right-hand side of the operation</ul></ul><h4>Changed <code>minecraft:reciprocal</code> (renamed from <code>minecraft:invert</code>)</h4><ul><li>No changes to the format</ul><h4>Added <code>minecraft:negate</code></h4><p>Negates the input.<ul><li>Format: object with fields:<ul><li><code>input</code> - Density Function, the function to negate</ul></ul><h4>Added <code>minecraft:lerp</code></h4><p>Performs (unclamped) linear interpolation between two arguments based on an alpha.<ul><li>Format: object with fields:<ul><li><code>alpha</code> - Density Function, the interpolation factor (<code>0</code>=<code>first</code>, <code>1</code>=<code>second</code>)<ul><li>Any value outside of <code>[0; 1]</code> will extrapolate</ul><li><code>first</code> - Density Function, the value at <code>alpha=0</code><li><code>second</code> - Density Function, the value at <code>alpha=1</code></ul></ul><h4>Added <code>minecraft:floor</code>, <code>minecraft:round</code>, <code>minecraft:ceil</code>, and <code>minecraft:truncate</code></h4><p>Rounds the input value to an integer multiple of a given function in a type-dependent direction:<ul><li><code>floor</code> rounds towards negative infinity<li><code>round</code> rounds towards the nearest integer (ties round up)<li><code>ceil</code> rounds towards positive infinity<li><code>truncate</code> rounds towards 0</ul><p>Format: object with fields:<ul><li><code>input</code> - Density Function, the input to round<li><code>multiple</code> - Density Function, the output will be rounded to an integer multiple of this value<ul><li>If not specified, defaults to constant <code>1</code> (i.e. rounding to integer)</ul></ul><h4>Added <code>minecraft:pow</code></h4><p>Raises the given base value to an exponent.<ul><li>Format: object with fields:<ul><li><code>base</code> - Density Function, the base value<li><code>exponent</code> - Density Function, the exponent</ul></ul><h4>Added <code>minecraft:sqrt</code></h4><p>Computes the square root of the given input.<ul><li>Format: object with fields:<ul><li><code>input</code> - Density Function, the value for which to compute the square root</ul></ul><h4>Added <code>minecraft:log</code></h4><p>Computes the natural logarithm of the given input.<ul><li>Format: object with fields:<ul><li><code>input</code> - Density Function, the value for which to compute the natural logarithm</ul></ul><h4>Added <code>minecraft:sign</code></h4><p>Computes the sign of the input:<ul><li>If the input is positive, returns <code>1</code><li>If the input is <code>0</code>, returns <code>0</code><li>If the input is negative, returns <code>-1</code></ul><p>Format: object with fields:<ul><li><code>input</code> - Density Function, the value of which to compute the sign</ul><h4>Added <code>minecraft:distance_to_point</code></h4><p>Computes the distance to a fixed point using the specified distance function.<ul><li>Format: object with fields:<ul><li><code>point</code> - array of 3 integers in form <code>[x, y, z]</code>, the point to compute distance to<li><code>metric</code> - one of:<ul><li><code>euclidean</code> - i.e. <code>sqrt(dx^2 + dy^2 + dz^2)</code><li><code>euclidean_squared</code> - i.e. <code>dx^2 + dy^2 + dz^2</code><li><code>manhattan</code> - i.e. <code>abs(dx) + abs(dy) + abs(dz)</code><li><code>chebyshev</code> - i.e. <code>max(abs(dx), abs(dy), abs(dz))</code></ul></ul></ul><h4>Changed <code>minecraft:gradient</code> (renamed from <code>minecraft:y_clamped_gradient</code>)</h4><ul><li>Format: object with fields:<ul><li><code>axis</code> - <code>x</code>, <code>y</code>, or <code>z</code>, the axis over which to define this gradient<li><code>tiling</code> - one of:<ul><li><code>clamp_to_edge</code> - outside the gradient boundaries, the value at the nearest boundary will be used<li><code>repeat</code> - the gradient will be repeated outside its boundaries<li><code>mirrored_repeat</code> - the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions</ul><li><code>from_coordinate</code> - int, the coordinate at which the gradient starts<li><code>to_coordinate</code> - int, the coordinate at which the gradient ends<ul><li>Must not be equal to <code>from_coordinate</code></ul><li><code>from_value</code> - float, the value at which the gradient starts<li><code>to_value</code> - float, the value at which the gradient ends</ul></ul><h4>Added <code>minecraft:slice</code></h4><p>Removes a dimension from the input domain by taking a \"slice\" along an axis with a specific coordinate. For example, with <code>axis=y</code> and <code>coordinate=0</code>, a slice will be taken along the XZ plane, with all values sampled at <code>y=0</code>.<ul><li>Format: object with fields:<ul><li><code>axis</code> - <code>x</code>, <code>y</code>, or <code>z</code>, the axis to remove<li><code>coordinate</code> - int, the fixed coordinate to be passed to the input function<li><code>input</code> - Density Function, the input function</ul></ul><h4>Added <code>minecraft:beardifier</code></h4><p>Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.<p>Format: no fields<h4>Changed <code>minecraft:end_outer_islands</code> (renamed from <code>minecraft:end_islands</code>)</h4><p>No longer computes the density of the main island.<h4>Changed <code>minecraft:interpolated</code></h4><ul><li>Added fields:<ul><li><code>cell_size_xz</code> - positive int, size in blocks of the interpolation grid cells on the XZ axes<li><code>cell_size_y</code> - positive int, size in blocks of the interpolation grid cells on the Y axis</ul></ul><h4>Changed <code>minecraft:cache</code> (renamed from <code>minecraft:cache_once</code>)</h4><ul><li>No format change</ul><h4>Removed <code>minecraft:cache_2d</code>, <code>minecraft:cache_all_in_cell</code>, and <code>minecraft:flat_cache</code></h4><ul><li>May be replaced with <code>minecraft:cache</code><li><code>minecraft:slice</code> may be used to always pick Y=0, as formerly handled by <code>minecraft:flat_cache</code></ul><h3>Structure Pool Elements</h3><h4>Changed <code>minecraft:feature_pool_element</code></h4><ul><li>Can now connect to Jigsaw blocks with any target name, instead of just <code>minecraft:bottom</code></ul><h3>Structure Placements</h3><h4>Added <code>minecraft:dimension_origin</code></h4><ul><li>Places a single instance of the structure at the dimension origin<ul><li>The dimension origin is defined as the <code>spawn_target</code> for noise settings based dimensions, otherwise Chunk (0, 0)</ul><li>No additional fields</ul><h3>Block Predicates</h3><h4>Added <code>minecraft:height_range</code></h4><p>Checks the height of the position against a given range.<ul><li>Format: object with fields:<ul><li><code>min_inclusive</code> - Vertical Anchor, the minimum height required<li><code>max_inclusive</code> - Vertical Anchor, the maximum height required</ul></ul><h4>Added <code>minecraft:volume_match</code></h4><p>Checks that every block in a volume matches a given Block Predicate.<ul><li>Format: object with fields:<ul><li><code>min</code> - list of 3 integers in range <code>-16</code> to <code>16</code>, the lower corner of the volume as an offset from the test position<li><code>max</code> - list of 3 integers in range <code>-16</code> to <code>16</code>, the upper corner of the volume as an offset from the test position<li><code>match</code> - Block Predicate to test on each position</ul></ul><h3>Vertical Anchors</h3><ul><li>Added a new option for Vertical Anchors:<ul><li><code>relative_to_sea_level</code> - specifies an offset to the sea level of the dimension</ul></ul><h3>Rule Tests</h3><p>These are the predicates used by <code>ore</code> Features (<code>targets[].target</code>), and <code>rule</code> Structure Processors (<code>rules[].input_predicate</code> and <code>rules[].location_predicate</code>).<h4>Added <code>minecraft:height_match</code></h4><ul><li>Checks the y-level of a block, returning <code>true</code> only if it's higher than or equal to <code>min_inclusive</code> and lower than or equal to <code>max_inclusive</code><li>Format: object with fields:<ul><li><code>min_inclusive</code> - int, the minimum y value of allowed blocks (inclusive)<li><code>max_inclusive</code> - int, the maximum y value of allowed blocks (inclusive)</ul></ul><h4>Added <code>minecraft:all_of</code></h4><ul><li>Checks a list of Rule Tests for whether all of them return <code>true</code> for the same block<li>Format: object with fields:<ul><li><code>rules</code> - list of Rule Tests, the rules to test the block against</ul></ul><h4>Added <code>minecraft:any_of</code></h4><ul><li>Checks a list of Rule Tests for whether any of them returns <code>true</code> for the same block<li>Format: object with fields:<ul><li><code>rules</code> - list of Rule Tests, the rules to test the block against</ul></ul><h4>Added <code>minecraft:not</code></h4><ul><li>Checks a Rule Test for whether it returns <code>false</code> for a given block<li>Format: object with fields:<ul><li><code>rule</code> - Rule Test, the rule to test the block against</ul></ul><h3>Carvers</h3><ul><li>The <code>worldgen/configured_carver</code> registry has been renamed to <code>worldgen/carver</code></ul><h4>Changed <code>minecraft:cave</code></h4><ul><li>All fields previously under the <code>config</code> field have been inlined to the top-level<li>Added <code>count</code> field - non-negative Int Provider, the number of Cave tunnels to create from a seed chunk<li>Renamed <code>yScale</code> to <code>room_vertical_radius_multiplier</code><li>Added optional <code>start_vertical_radius_multiplier</code> field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnel<ul><li>If not specified, defaults to <code>1.0</code></ul><li>Added <code>thickness</code> field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels<li>Added optional <code>weird_thickness_bias</code> field - Boolean<ul><li>If <code>true</code>, thickness will be multiplied by, with a 10% chance: <code>random(0, 1) * random(0, 3) + 1</code><li>If not specified, defaults to <code>false</code></ul><li>Removed <code>replaceable</code> field, carvers will replace any block (excluding features)<li>Removed <code>lava_level</code> field, fluids are now always selected by the <code>aquifer</code> or <code>sea_level</code> configuration in the dimension<li>Removed <code>debug_settings</code> field</ul><h4>Changed <code>minecraft:canyon</code></h4><ul><li>All fields previously under the <code>config</code> field have been inlined to the top-level<li>Renamed and moved <code>yScale</code> to <code>shape.y_scale</code><li>Removed <code>replaceable</code> field, carvers will replace any block (excluding features)<li>Removed <code>lava_level</code> field, fluids are now always selected by the <code>aquifer</code> or <code>sea_level</code> configuration in the dimension<li>Removed <code>debug_settings</code> field</ul><h4>Removed <code>minecraft:nether_cave</code></h4><ul><li>Replaced by <code>minecraft:cave</code></ul><h2>Int Providers</h2><h3>Added <code>minecraft:very_biased_to_bottom</code> Int Provider Type</h3><p>Picks a random value in the provided range, with a quadratic bias towards the minimum value.<ul><li>Format: object with fields:<ul><li><code>min_inclusive</code> - integer, the minimum selected value (inclusive)<li><code>max_inclusive</code> - integer, the maximum selected value (inclusive)</ul></ul><h2>Villager Trades</h2><ul><li>The <code>given_item_modifiers</code> field has been renamed to <code>given_item_modifier</code><ul><li>Note: unlike other fields of type <code>minecraft:item_modifier</code>, this field does not support namespaced elements or tag IDs</ul><li>The <code>max_uses</code> and <code>xp</code> fields now require an inline value of a <code>minecraft:context_int_provider</code> type<li>The <code>count</code> field in the <code>wants</code> and <code>additional_wants</code> structures now require an inline value of a <code>minecraft:context_int_provider</code> type<li>The <code>reputation_discount</code> field now requires an inline value of a <code>minecraft:context_float_provider</code> type</ul><h2>Tags</h2><h3>Block Tags</h3><ul><li>Added <code>#poplar_logs</code> - all Poplar log blocks<li>Added <code>#wool_stairs</code> - all Wool Stairs blocks<li>Added <code>#wool_slabs</code> - all Wool Slabs blocks<li>Added <code>#cushion_uses_collision_shape</code> - Blocks where Cushion placement raycasts against collision shape instead of interaction shape<li>Added <code>#wool_stairs</code> and <code>#wool_slabs</code> to <code>#dampens_vibrations</code><li>Added <code>#ores</code> - collection tag containing all types of ores<li>Added <code>#skulls</code> - collection tag containing all head and skull blocks<li>Added <code>#blocks_motion</code> - collection tag containing all blocks that are considered to block motion in some way<li>Added <code>#blocks_motion_no_leaves</code> - collection tag containing all blocks that are considered to block motion in some way, but excluding leaf blocks<li>Added <code>#entities_can_teleport_to</code> - blocks that entities are allowed to teleport to<li>Added <code>#blocks_dolphin_jump</code> - blocks that Dolphins cannot move through when jumping out of water<li>Added <code>#ice_melts_when_destroyed_above</code> - blocks that causes ice to melt into water if the ice is destroyed when placed above them<li>Added <code>#blocks_motion_in_heightmap</code> - blocks that are taken into account for the <code>motion_blocking</code> heightmap<li>Added <code>#blocks_motion_in_heightmap_no_leaves</code> - blocks that are taken into account for the <code>motion_blocking_no_leaves</code> heightmap<li>Added <code>#blocks_lava_fire_spread</code> - blocks that block the creation of fire by lava<li>Added <code>#blocks_fluid_flow</code> - blocks that block fluid flow<li>Added <code>#washed_away_by_fluids</code> - blocks that break when a fluid flows through them<li>Added <code>#required_for_poplar_leaf_ambience</code> - blocks which can satisfy requirement for Poplar leaves to make ambient sound<li>Added <code>#turns_into_dirt_path</code> - blocks that turn into Dirt Path blocks when a Shovel is used for path making<li>Added <code>#sculk_growth_inhibitors</code> - blocks which keep Sculk from spreading when more than 2 are in the 8x2x8 area around it<li>Added <code>#uncarvable</code> - blocks that Carvers can never carve<li>Added <code>#cats_can_sit_on</code> - blocks which Cats can randomly sit on<li>Added <code>#cats_can_lie_on</code> - blocks which Cats can randomly lie on<li>Added <code>#speeds_up_zombie_villager_curing</code> - blocks which can increase Zombie Villager curing time if placed nearby<li>Added <code>#villagers_can_sleep_on_bed</code> - Bed blocks which Villagers can sleep on<li>Added <code>#villager_babies_can_jump_on_bed</code> - Bed blocks which Villager kids can jump on<li>Added <code>#height_specific_ore_replaceables</code> - blocks which Ore Features will turn into Stone Ores if found above y-level 0 and into Deepslate Ores if found below y-level 8<li>Added <code>#concrete_stairs</code> - all Concrete Stairs blocks<li>Added <code>#concrete_slabs</code> - all Concrete Slabs blocks<li>Added <code>#dangerous_for_teleportation</code> - collection tag defining blocks that are dangerous to teleport on<li>Added <code>#cat_does_not_teleport_to</code> - blocks that Cats do not teleport to<li>Added <code>#enderman_does_not_teleport_to</code> - blocks that Endermen do not teleport to<li>Added <code>#shulker_does_not_teleport_to</code> - blocks that Shulkers do not teleport to<li>Added <code>#consumable_does_not_teleport_to</code> - blocks that entities do not teleport to when they consume food that teleports randomly when eaten<li>Added <code>#nether_portal_frame</code> - blocks that can be used to create a Nether Portal<li>Added <code>#conduit_effect_block</code> - blocks that can be used to build a Conduit<li>Removed <code>#overworld_carver_replaceables</code> and <code>#nether_carver_replaceables</code></ul><h3>Item Tags</h3><ul><li>Added <code>#poplar_logs</code> - all Poplar log items<li>Added <code>#wool_stairs</code> - all Wool Stairs items<li>Added <code>#wool_slabs</code> - all Wool Slabs items<li>Added <code>#mushrooms</code> - all Mushroom items<li>Added <code>#ores</code> - collection tag containing all types of ores<li>Added <code>#douses_campfires</code> - items that can douse a lit Campfire block<li>Added <code>#concrete_stairs</code> - all Concrete Stairs items<li>Added <code>#concrete_slabs</code> - all Concrete Slabs items<li>Added <code>#cloneable_maps</code> - Filled Map plus all Explorer Map items and Buried Treasure Maps, used as the input to the <code>map_cloning</code> recipe<li>Added <code>#extendable_maps</code> - maps that can be zoomed out with paper, either in a Crafting Table or at a Cartography Table<li>Added <code>#brewing_potion_inputs</code> - items that can be placed in a Brewing Stand potion slot, regardless of whether they are brewing recipe inputs<li>Added <code>#furnace_fuel_bottom_takeable</code> - items that can be taken out of furnace by a hopper attached to the bottom face<li>Removed <code>#brewing_fuel</code> - the <code>brewing_fuel</code> item component is now used to identify brewing fuels</ul><h3>Biome Tags</h3><ul><li>Added tags for biomes which will generate the respective Abandoned Camp variant:<ul><li><code>#has_structure/abandoned_camp_bamboo_jungle</code><li><code>#has_structure/abandoned_camp_birch_forest</code><li><code>#has_structure/abandoned_camp_cherry_grove</code><li><code>#has_structure/abandoned_camp_dappled_forest</code><li><code>#has_structure/abandoned_camp_flower_forest</code><li><code>#has_structure/abandoned_camp_forest</code><li><code>#has_structure/abandoned_camp_meadow</code><li><code>#has_structure/abandoned_camp_old_growth_birch_forest</code><li><code>#has_structure/abandoned_camp_old_growth_pine_taiga</code><li><code>#has_structure/abandoned_camp_old_growth_spruce_taiga</code><li><code>#has_structure/abandoned_camp_savanna</code><li><code>#has_structure/abandoned_camp_pale_garden</code><li><code>#has_structure/abandoned_camp_snowy_taiga</code><li><code>#has_structure/abandoned_camp_sparse_jungle</code><li><code>#has_structure/abandoned_camp_swamp</code><li><code>#has_structure/abandoned_camp_taiga</code><li><code>#has_structure/abandoned_camp_windswept_forest</code><li><code>#has_structure/abandoned_camp_wooded_badlands</code></ul></ul><h3>Entity Type Tags</h3><ul><li>Added <code>#cannot_be_dismounted_by_item_usage</code> - entities which cannot be dismounted by items</ul><h3>Damage Type Tags</h3><ul><li>Added <code>#no_wolf_retaliation</code> - damage types that should not cause tamed Wolves to attack their source in order to defend their owner</ul><h3>Potion Tags</h3><ul><li>Added <code>#douses_fire</code> - Potions that douse Fire blocks when they hit something<li>Added <code>#hurts_water_sensitive_entities</code> - Potions that will hurt entities which are sensitive to water (e.g. Endermen)<li>Added <code>#extinguishes_entities</code> - Potions that can extinguish entities<li>Added <code>#rehydrates_axolotls</code> - Potions that will cause Axolotls to rehydrate</ul><h3>Structure Tags</h3><ul><li>Added <code>#abandoned_camp</code> - all variants of Abandoned Camps<li>Renamed <code>#on_woodland_explorer_maps</code> to <code>#on_woodland_mansion_maps</code><li>Renamed <code>#on_ocean_explorer_maps</code> to <code>#on_ocean_monument_maps</code><li>Renamed <code>#on_jungle_explorer_maps</code> to <code>#on_jungle_pyramid_maps</code><li>Renamed <code>#on_swamp_explorer_maps</code> to <code>#on_swamp_hut_maps</code><li>Renamed <code>#on_trial_explorer_map </code>to <code>#on_buried_trial_chambers_map</code></ul><h3>Fluid Tags</h3><ul><li>Added <code>#axolotl_try_find_liquid</code> - all fluids Axolotls are trying to find<li>Added <code>#dolphin_try_find_liquid</code> - all fluids Dolphins are trying to find<li>Added <code>#frog_try_find_land_near_liquid</code> - all fluids Frogs are trying to find land near to<li>Added <code>#entity_floatable</code> - all fluids that make entities float</ul><h2>Particles</h2><h3>Added <code>minecraft:red_poplar_leaves</code></h3><ul><li>Falls from Red Poplar Leaves blocks<li>Has no fields</ul><h3>Added <code>minecraft:orange_poplar_leaves</code></h3><ul><li>Falls from Orange Poplar Leaves blocks<li>Has no fields</ul><h3>Added <code>minecraft:yellow_poplar_leaves</code></h3><ul><li>Falls from Yellow Poplar Leaves blocks<li>Has no fields</ul><p><img alt=\"A long view of a dappled forest at sunset, with a patch of cherry trees in the distance.\"src=https://launchercontent.mojang.com/v2/images/dappledforest1280x720.jpg><h1>Resource Pack Versions 89.0 through 97.1</h1><h2>Palette Textures</h2><ul><li>All armor trim palette textures have been moved from <code>textures/trim/color_palettes/</code> to <code>textures/palettes/trim/</code><ul><li>The base armor trim palette texture has instead been moved to <code>textures/palettes/trim_base.png</code></ul><li>Entity armor trim material textures are no longer generated into the <code>minecraft:trims</code> atlas with <code>paletted_permutations</code>, but rather generated on-demand<ul><li>The base palette ID is now specified in a new <code>palette</code> mcmeta section field<li>This section has a single field: <code>base_palette</code> - the base Palette Texture ID to remap from</ul><li>Item armor trim material textures are still generated with <code>paletted_permutations</code> as before</ul><h3><code>paletted_permutations</code> Sprite Source</h3><ul><li>Palette Texture locations in the <code>palette_key</code> and <code>permutations</code> fields have been replaced by Palette Texture IDs - i.e. <code>&#60namespace>:&#60path></code> now resolves to <code>&#60namespace>:textures/palettes/&#60path>.png</code></ul><h2>Equipment Assets</h2><p>A new optional <code>trim_overrides</code> field can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset. This replaces functionality formerly supported by <code>override_armor_assets</code> in the trim material, as well as custom atlas overrides.<ul><li>Format: list of override entries with fields:<ul><li><code>when</code> - object with fields, the material and/or pattern to match<ul><li><code>material</code> - optional Trim Material ID, the material to match (if specified)<li><code>pattern</code> - optional Trim Pattern ID, the pattern to match (if specified)<li>At least one of <code>material</code> or <code>pattern</code> must be specified<li>If both are specified, both must match for the entry to be used</ul><li><code>texture</code> - optional trim pattern asset ID, a replacement texture to use if this entry matches<ul><li>Textures are specified in the same format as <code>asset_id</code><li>If not specified, the default texture for the pattern will be used</ul><li><code>palette</code> - optional palette ID, a replacement palette to use if this entry matches<ul><li>If not specified, no palette remapping will be applied to the texture</ul><li>The first matching entry will always be selected<li>At least one of <code>texture</code> or <code>palette</code> must be defined</ul></ul><h2>Block Sprites</h2><ul><li>Added new Block textures:<ul><li><code>block/orange_poplar_leaves.png</code><li><code>block/poplar_door_bottom.png</code><li><code>block/poplar_door_top.png</code><li><code>block/poplar_log.png</code><li><code>block/poplar_log_top.png</code><li><code>block/poplar_planks.png</code><li><code>block/poplar_sapling.png</code><li><code>block/poplar_shelf.png</code><li><code>block/poplar_sign.png</code><li><code>block/poplar_trapdoor.png</code><li><code>block/red_poplar_leaves.png</code><li><code>block/red_shrub.png</code><li><code>block/shelf_mushroom_stage0.png</code><li><code>block/shelf_mushroom_stage1.png</code><li><code>block/straw_bed.png</code><li><code>block/stripped_poplar_log.png</code><li><code>block/stripped_poplar_log_top.png</code><li><code>block/poplar_hanging_sign.png</code><li><code>block/yellow_poplar_leaves.png</code></ul></ul><h2>Item Sprites</h2><ul><li>Added new Item textures:<ul><li><code>item/abandoned_camp_map.png</code><li><code>item/black_cushion.png</code><li><code>item/blue_cushion.png</code><li><code>item/brown_cushion.png</code><li><code>item/buried_ancient_city_map.png</code><li><code>item/buried_mineshaft_map.png</code><li><code>item/buried_treasure_map.png</code><li><code>item/buried_trial_chambers_map.png</code><li><code>item/cyan_cushion.png</code><li><code>item/desert_pyramid_map.png</code><li><code>item/desert_village_map.png</code><li><code>item/gray_cushion.png</code><li><code>item/green_cushion.png</code><li><code>item/jungle_pyramid_map.png</code><li><code>item/light_blue_cushion.png</code><li><code>item/light_gray_cushion.png</code><li><code>item/lime_cushion.png</code><li><code>item/magenta_cushion.png</code><li><code>item/ocean_monument_map.png</code><li><code>item/orange_cushion.png</code><li><code>item/pink_cushion.png</code><li><code>item/plains_village_map.png</code><li><code>item/poplar_boat.png</code><li><code>item/poplar_chest_boat.png</code><li><code>item/poplar_door.png</code><li><code>item/poplar_hanging_sign.png</code><li><code>item/poplar_sign.png</code><li><code>item/purple_cushion.png</code><li><code>item/red_cushion.png</code><li><code>item/savanna_village_map.png</code><li><code>item/snowy_village_map.png</code><li><code>item/swamp_hut_map.png</code><li><code>item/taiga_village_map.png</code><li><code>item/warm_ocean_ruins_map.png</code><li><code>item/white_cushion.png</code><li><code>item/woodland_mansion_map.png</code><li><code>item/yellow_cushion.png</code></ul><li>Removed Item textures:<ul><li><code>item/filled_map_markings.png</code><li><code>item/light.png</code></ul></ul><h2>UI Sprites</h2><ul><li>Added new UI textures:<ul><li><code>gui/hanging_signs/poplar.png</code><li><code>gui/signs/poplar.png</code><li><code>gui/realms/friends.png</code><li><code>gui/realms/minigames.png</code><li><code>gui/realms/private_server.png</code><li><code>gui/sprites/widget/realms_button.png</code><li><code>gui/sprites/widget/realms_button_disabled.png</code><li><code>gui/sprites/widget/realms_button_highlighted.png</code></ul></ul><h2>Entity Textures</h2><ul><li>Added new Entity textures:<ul><li><code>entity/boat/poplar.png</code><li><code>entity/chest_boat/poplar.png</code><li><code>entity/cushion/black_cushion.png</code><li><code>entity/cushion/blue_cushion.png</code><li><code>entity/cushion/brown_cushion.png</code><li><code>entity/cushion/cyan_cushion.png</code><li><code>entity/cushion/gray_cushion.png</code><li><code>entity/cushion/green_cushion.png</code><li><code>entity/cushion/light_blue_cushion.png</code><li><code>entity/cushion/light_gray_cushion.png</code><li><code>entity/cushion/lime_cushion.png</code><li><code>entity/cushion/magenta_cushion.png</code><li><code>entity/cushion/orange_cushion.png</code><li><code>entity/cushion/pink_cushion.png</code><li><code>entity/cushion/purple_cushion.png</code><li><code>entity/cushion/red_cushion.png</code><li><code>entity/cushion/white_cushion.png</code><li><code>entity/cushion/yellow_cushion.png</code></ul></ul><h2>Map Sprites</h2><ul><li>Added new Map textures:<ul><li><code>abandoned_camp.png</code><li><code>ancient_city.png</code><li><code>desert_pyramid.png</code><li><code>mineshaft.png</code><li><code>warm_ocean_ruins.png</code></ul><li>The following Icons have been updated in order to show player rotation on the map:<ul><li><code>player.png</code><li><code>player_off_limits.png</code><li><code>player_off_map.png</code></ul></ul><h2>Block Crumbling Overlay Textures</h2><ul><li>Added new block crumbling overlay textures that replace the existing ones for translucent blocks rendered with OIT:<ul><li><code>block/destroy_oit_stage_0.png</code><li><code>block/destroy_oit_stage_1.png</code><li><code>block/destroy_oit_stage_2.png</code><li><code>block/destroy_oit_stage_3.png</code><li><code>block/destroy_oit_stage_4.png</code><li><code>block/destroy_oit_stage_5.png</code><li><code>block/destroy_oit_stage_6.png</code><li><code>block/destroy_oit_stage_7.png</code><li><code>block/destroy_oit_stage_8.png</code><li><code>block/destroy_oit_stage_9.png</code></ul></ul><h2>Sounds</h2><ul><li>Added new sound events:<ul><li><code>block.shelf_mushroom.break</code><li><code>block.shelf_mushroom.fall</code><li><code>block.shelf_mushroom.place</code><li><code>block.shelf_mushroom.step</code><li><code>block.shelf_mushroom.bounce</code><li><code>block.poplar_leaves.ambient</code><li><code>block.straw_bed.break</code><li><code>block.straw_bed.break_leave</code><li><code>block.straw_bed.step</code><li><code>block.straw_bed.place</code><li><code>block.straw_bed.hit</code><li><code>block.straw_bed.fall</code><li><code>block.poplar_leaves.break</code><li><code>block.poplar_leaves.fall</code><li><code>block.poplar_leaves.place</code><li><code>block.poplar_leaves.step</code><li><code>block.poplar_leaves.hit</code><li><code>block.red_shrub.break</code><li><code>block.red_shrub.place</code><li><code>entity.cushion.break</code><li><code>entity.cushion.place</code><li><code>entity.cushion.get_up</code><li><code>entity.cushion.sit</code></ul></ul><h2>Particles</h2><ul><li>Added new Particle textures:<ul><li><code>orange_poplar_1.png</code><li><code>orange_poplar_2.png</code><li><code>orange_poplar_3.png</code><li><code>orange_poplar_4.png</code><li><code>red_poplar_1.png</code><li><code>red_poplar_2.png</code><li><code>red_poplar_3.png</code><li><code>red_poplar_4.png</code><li><code>yellow_poplar_1.png</code><li><code>yellow_poplar_2.png</code><li><code>yellow_poplar_3.png</code><li><code>yellow_poplar_4.png</code><li><code>shelf_mushroom_particle.png</code><li><code>straw_bed_particle.png</code></ul></ul><h2>Item Models</h2><ul><li>Added optional <code>shade_direction_override</code> to block model elements<ul><li>Accepted values are cardinal directions (<code>down</code>, <code>up</code>, <code>north</code>, <code>south</code>, <code>west</code>, <code>east</code>)<li>When set, this overrides directional shading for the element regardless of face orientation</ul><li>Removed <code>shade</code> from block model elements<ul><li>Use <code>shade_direction_override: \"up\"</code> to get the previous <code>shade: false</code> behavior</ul></ul><h3>Tint Sources</h3><ul><li>Removed <code>minecraft:map_color</code><ul><li>The <code>minecraft:map_color</code> component it read no longer exists</ul></ul><h2>Shaders &#38 Post-process Effects</h2><ul><li><code>terrain.vsh</code> and <code>terrain.fsh</code> shaders are refactored to support multi-draw<li>Some of the members in <code>Globals</code> and <code>DynamicTransforms</code> are shuffled to use less memory for those uniform blocks</ul><blockquote><p><strong>Developer's Note</strong>: <em>Although it is possible in Resource Packs, overriding Core Shaders is considered as unsupported and not an intended Resource Pack feature. These shaders exist as part of the internal implementation of the game, and as such, may change at any time as the game's internals evolve. We understand that overriding Core Shaders is used for very cool Resource Pack features, many of which lack supported alternatives. We would like to provide better, supported alternatives in the future.</em></blockquote><h3>Order-independent Transparency (OIT)-related Shader Changes</h3><ul><li>Added new shaders to support order-independent transparency:<ul><li><code>core/blit_depth.fsh</code><li><code>core/oit_composite.fsh</code><li><code>core/oit_depth_bounds_cull.fsh</code><li><code>include/oit.glsl</code><li><code>include/oit_add_transmittance.glsl</code><li><code>include/oit_common.glsl</code><li><code>include/oit_depth_bounds.glsl</code><li><code>include/oit_depth_sample.glsl</code><li><code>include/oit_sample.glsl</code></ul><li>Extracted the texture sampling logic from <code>core/terrain.fsh</code> into <code>include/texture_sampling.glsl</code><li>Renamed the following core shaders:<ul><li><code>core/rendertype_clouds.vsh</code> → <code>core/clouds.vsh</code><li><code>core/rendertype_clouds.fsh</code> → <code>core/clouds.fsh</code><li><code>core/rendertype_world_border.vsh</code> → <code>core/world_border.vsh</code><li><code>core/rendertype_world_border.fsh</code> → <code>core/world_border.fsh</code></ul><li>Updated core shaders to support order-independent transparency<ul><li>Introduced new defines:<ul><li><code>OIT</code> - If present, indicates that OIT is enabled<li><code>OIT_DEPTH_BOUNDS</code> - If present, indicates that the depth bounds pass is being executed<li><code>OIT_TRANSMITTANCE</code> - If present, indicates that the transmittance pass is being executed<li><code>OIT_ACCUMULATE</code> - If present, indicates that the accumulate pass is being executed<li><code>OIT_ALPHA_ONLY</code> - If present, indicates that either the depth bounds or transmittance pass is being executed<li><code>OIT_ADDITIVE</code> - If present, indicates that the OIT algorithm should emulate additive blending for the executing pipeline<li><code>OIT_WAVELET_RANK</code> - An integer internal to the OIT algorithm<li><code>OIT_COEFF_COUNT</code> - An integer internal to the OIT algorithm<li><code>OIT_COEFF_ATTACHMENT_COUNT</code> - An integer internal to the OIT algorithm<li><code>RENDERPEARL_DEPTH_IS_ZERO_TO_ONE</code> - If present, indicates that the current rendering backend uses the depth range of <code>[0, 1]</code>, it is available globally to all shaders independently of the OIT setting<li><code>RENDERPEARL_EXPLICIT_DEPTH_INVARIANCE</code> - 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<li>Affected shaders:<ul><li><code>core/block.fsh</code><li><code>core/block.vsh</code><li><code>core/clouds.fsh</code><li><code>core/clouds.vsh</code><li><code>core/entity.fsh</code><li><code>core/entity.vsh</code><li><code>core/item.fsh</code><li><code>core/item.vsh</code><li><code>core/particle.fsh</code><li><code>core/position_color.fsh</code><li><code>core/rendertype_beacon_beam.fsh</code><li><code>core/rendertype_clouds.fsh</code><li><code>core/rendertype_crumbling.fsh</code><li><code>core/rendertype_entity_shadow.fsh</code><li><code>core/rendertype_lightning.fsh</code><li><code>core/rendertype_lines.fsh</code><li><code>core/rendertype_world_border.fsh</code><li><code>core/terrain.fsh</code><li><code>core/terrain.vsh</code><li><code>core/text.fsh</code><li><code>core/world_border.fsh</code><li><code>core/world_border.vsh</code></ul></ul></ul><li>Removed the old transparency post chain:<ul><li><code>post_effect/transparency.json</code><li><code>shaders/post/transparency.fsh</code></ul></ul><h3>New Core Shaders</h3><ul><li><code>core/integrate_depth.fsh</code> was added and is used to integrate the \"3d hud\" and always-on-top gizmo depth buffers into the main depth buffer</ul><h3>Removed Core Shaders</h3><ul><li><code>core/text_background.fsh</code> and <code>core/text_background.vsh</code> were removed and text background in Text Display Entities is now rendered using the text shaders</ul><h3>Shader Compilation Changes</h3><ul><li>Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan<li>Shader includes are now handled by ShaderC using <code>#include</code> instead of <code>#moj_import</code><li>Shader inputs and outputs must have a location specified in shader source<ul><li>Vertex input names must still match expected names<li>Vertex outputs are matched to fragment inputs solely by location, the name is now ignored</ul><li>Introduced new define <code>RENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE</code> - A boolean indicating if <code>gl_InstanceIndex</code> follows Vulkan or OpenGL (<code>gl_InstanceID</code>) semantics</ul><blockquote><p><strong>Developer's Note</strong>: <em>Vertex inputs in previous versions using OpenGL were not allowed to specify a location. Compatibility can be preserved by only specifying locations when the \"VULKAN\" macro is defined.</em></blockquote><blockquote><p><strong>Developer's Note</strong>: <em>Vertex outputs and fragment inputs in previous versions were matched based on name alone. Compatibility can be preserved by continuing to use identical names.</em></blockquote><h3>Always-on Post Effect Support</h3><ul><li>A resource pack can now define a <code>minecraft:end_of_frame</code> post effect<li>It will be applied before other post effects, including the ones enabled by the new <code>posteffect</code> command<li>This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the <code>posteffect</code> command<li>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</ul><p><img alt=\"Makena is enjoying a rest on a cushion while orange poplar leaves rain down from above.\"src=https://launchercontent.mojang.com/v2/images/particles1280x720.jpg><h1>Fixed bugs in 26.3</h1><ul><li><a href=https://bugs.mojang.com/browse/MC-4 rel=\"noopener noreferrer\"target=_blank>MC-4</a> - Item drops sometimes appear at the wrong location<li><a href=https://bugs.mojang.com/browse/MC-2157 rel=\"noopener noreferrer\"target=_blank>MC-2157</a> - Particles emitted from dragon eggs when teleporting do not point in the correct direction<li><a href=https://bugs.mojang.com/browse/MC-5269 rel=\"noopener noreferrer\"target=_blank>MC-5269</a> - Updating a server's address in the multiplayer menu does not update its status<li><a href=https://bugs.mojang.com/browse/MC-40597 rel=\"noopener noreferrer\"target=_blank>MC-40597</a> - The interaction of the game's built-in fullscreen mode and macOS fullscreen can glitch the game window<li><a href=https://bugs.mojang.com/browse/MC-44654 rel=\"noopener noreferrer\"target=_blank>MC-44654</a> - Some entities' positions are not updated on the client when teleported<li><a href=https://bugs.mojang.com/browse/MC-46421 rel=\"noopener noreferrer\"target=_blank>MC-46421</a> - You cannot use Nether portals, End portals, and End gateways while in Spectator mode<li><a href=https://bugs.mojang.com/browse/MC-51859 rel=\"noopener noreferrer\"target=_blank>MC-51859</a> - The line spacing of text within all hover tooltips is larger between the first and second lines<li><a href=https://bugs.mojang.com/browse/MC-58061 rel=\"noopener noreferrer\"target=_blank>MC-58061</a> - Endermen can teleport onto signs<li><a href=https://bugs.mojang.com/browse/MC-59810 rel=\"noopener noreferrer\"target=_blank>MC-59810</a> - Cannot break blocks while sprinting on macOS<li><a href=https://bugs.mojang.com/browse/MC-73162 rel=\"noopener noreferrer\"target=_blank>MC-73162</a> - Breaking an entity that instantly breaks sometimes destroys the block behind it in Creative mode<li><a href=https://bugs.mojang.com/browse/MC-90148 rel=\"noopener noreferrer\"target=_blank>MC-90148</a> - When a player gets out of a boat, the other passenger's head remains rotated sideways<li><a href=https://bugs.mojang.com/browse/MC-91006 rel=\"noopener noreferrer\"target=_blank>MC-91006</a> - Some entities lose their name when placed or broken<li><a href=https://bugs.mojang.com/browse/MC-96365 rel=\"noopener noreferrer\"target=_blank>MC-96365</a> - Boats and rafts retain their rotational momentum after exiting and entering them<li><a href=https://bugs.mojang.com/browse/MC-102732 rel=\"noopener noreferrer\"target=_blank>MC-102732</a> - Arrows can visually bounce off of entities when barely missing them<li><a href=https://bugs.mojang.com/browse/MC-102836 rel=\"noopener noreferrer\"target=_blank>MC-102836</a> - Endermen can teleport to some dangerous places<li><a href=https://bugs.mojang.com/browse/MC-102881 rel=\"noopener noreferrer\"target=_blank>MC-102881</a> - Shulkers do not emit any particles when teleporting<li><a href=https://bugs.mojang.com/browse/MC-106416 rel=\"noopener noreferrer\"target=_blank>MC-106416</a> - Endermen and entities eating chorus fruit can teleport outside the world border and into powder snow<li><a href=https://bugs.mojang.com/browse/MC-110989 rel=\"noopener noreferrer\"target=_blank>MC-110989</a> - <code>/spreadplayers</code> considers signs to be valid blocks to be spread onto<li><a href=https://bugs.mojang.com/browse/MC-112580 rel=\"noopener noreferrer\"target=_blank>MC-112580</a> - Structure blocks' GUI does not pause the game in singleplayer<li><a href=https://bugs.mojang.com/browse/MC-112744 rel=\"noopener noreferrer\"target=_blank>MC-112744</a> - The <code>Team</code> NBT tag only exists for living entities<li><a href=https://bugs.mojang.com/browse/MC-113006 rel=\"noopener noreferrer\"target=_blank>MC-113006</a> - Items reeled in with fishing rods do not move smoothly but appear to teleport<li><a href=https://bugs.mojang.com/browse/MC-116286 rel=\"noopener noreferrer\"target=_blank>MC-116286</a> - <code>/spreadplayers</code> can spread entities on structure void<li><a href=https://bugs.mojang.com/browse/MC-121278 rel=\"noopener noreferrer\"target=_blank>MC-121278</a> - Key combinations are mapped to the US keyboard layout even if using another layout<li><a href=https://bugs.mojang.com/browse/MC-121367 rel=\"noopener noreferrer\"target=_blank>MC-121367</a> - The game doesn't use borderless fullscreen<li><a href=https://bugs.mojang.com/browse/MC-121375 rel=\"noopener noreferrer\"target=_blank>MC-121375</a> - The Command (⌘) key on macOS is displayed as \"Win\" in the Key Binds screen<li><a href=https://bugs.mojang.com/browse/MC-122477 rel=\"noopener noreferrer\"target=_blank>MC-122477</a> - Opening the chat sometimes appends the character the used key types to the message on Linux<li><a href=https://bugs.mojang.com/browse/MC-122717 rel=\"noopener noreferrer\"target=_blank>MC-122717</a> - Success messages for some commands include unaffected entities, unlike the command result<li><a href=https://bugs.mojang.com/browse/MC-122731 rel=\"noopener noreferrer\"target=_blank>MC-122731</a> - Camera movement stutters when turning in a boat<li><a href=https://bugs.mojang.com/browse/MC-127939 rel=\"noopener noreferrer\"target=_blank>MC-127939</a> - Several keys are displayed as \"scancode.number\" in the Key Binds menu<li><a href=https://bugs.mojang.com/browse/MC-133407 rel=\"noopener noreferrer\"target=_blank>MC-133407</a> - Key binds switch when upgrading from before 1.13 if not using a QWERTY keyboard<li><a href=https://bugs.mojang.com/browse/MC-148541 rel=\"noopener noreferrer\"target=_blank>MC-148541</a> - <code>/spreadplayers</code> can spread players to seagrass near the surface of the water<li><a href=https://bugs.mojang.com/browse/MC-149058 rel=\"noopener noreferrer\"target=_blank>MC-149058</a> - Using hotkeys to move items into the anvil UI appends the character the used key types to the new item name<li><a href=https://bugs.mojang.com/browse/MC-151857 rel=\"noopener noreferrer\"target=_blank>MC-151857</a> - The success message of <code>/give</code> when affecting multiple players uses the wrong string<li><a href=https://bugs.mojang.com/browse/MC-154881 rel=\"noopener noreferrer\"target=_blank>MC-154881</a> - Dropping an item from your hotbar at the same time as switching to another hotbar slot desyncs the second item<li><a href=https://bugs.mojang.com/browse/MC-159283 rel=\"noopener noreferrer\"target=_blank>MC-159283</a> - Terrain generation fails in progressively shrinking rings centered around the End's center<li><a href=https://bugs.mojang.com/browse/MC-161885 rel=\"noopener noreferrer\"target=_blank>MC-161885</a> - Many transparent things do not render behind slimes<li><a href=https://bugs.mojang.com/browse/MC-161898 rel=\"noopener noreferrer\"target=_blank>MC-161898</a> - Transparent particles make other particles behind them invisible<li><a href=https://bugs.mojang.com/browse/MC-161926 rel=\"noopener noreferrer\"target=_blank>MC-161926</a> - The block breaking animation is more transparent when mining ice or stained glass<li><a href=https://bugs.mojang.com/browse/MC-162159 rel=\"noopener noreferrer\"target=_blank>MC-162159</a> - Riding boats above bubble columns causes players to teleport up 2 blocks<li><a href=https://bugs.mojang.com/browse/MC-168446 rel=\"noopener noreferrer\"target=_blank>MC-168446</a> - Single dark oak and pale oak saplings accept bone meal despite not being able to grow<li><a href=https://bugs.mojang.com/browse/MC-168653 rel=\"noopener noreferrer\"target=_blank>MC-168653</a> - Mobs, particles, clouds, water and transparent blocks don't render behind the transparent parts of shulker bullets<li><a href=https://bugs.mojang.com/browse/MC-174958 rel=\"noopener noreferrer\"target=_blank>MC-174958</a> - <code>/gamerule</code> succeeds even when the value is not changed<li><a href=https://bugs.mojang.com/browse/MC-175180 rel=\"noopener noreferrer\"target=_blank>MC-175180</a> - The <code>Silent</code> NBT tag still doesn't make some entities fully silent<li><a href=https://bugs.mojang.com/browse/MC-183446 rel=\"noopener noreferrer\"target=_blank>MC-183446</a> - Endermen still avoid projectiles when riding minecarts or boats<li><a href=https://bugs.mojang.com/browse/MC-187669 rel=\"noopener noreferrer\"target=_blank>MC-187669</a> - The world border is too dark with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-189953 rel=\"noopener noreferrer\"target=_blank>MC-189953</a> - The Super key on macOS is displayed as \"Win\" in the Key Binds screen<li><a href=https://bugs.mojang.com/browse/MC-190203 rel=\"noopener noreferrer\"target=_blank>MC-190203</a> - Transparent and specially rendered blocks, entities, clouds, water and particles don't render behind wind charges, and charged creeper, wither and breeze armor<li><a href=https://bugs.mojang.com/browse/MC-202197 rel=\"noopener noreferrer\"target=_blank>MC-202197</a> - Entities' name tag background is rendered behind transparent things<li><a href=https://bugs.mojang.com/browse/MC-206356 rel=\"noopener noreferrer\"target=_blank>MC-206356</a> - The motion of falling blocks is visually slow<li><a href=https://bugs.mojang.com/browse/MC-206540 rel=\"noopener noreferrer\"target=_blank>MC-206540</a> - Increased input delay when riding an entity<li><a href=https://bugs.mojang.com/browse/MC-210117 rel=\"noopener noreferrer\"target=_blank>MC-210117</a> - Sculk sensors don't detect ice and snow melting<li><a href=https://bugs.mojang.com/browse/MC-210584 rel=\"noopener noreferrer\"target=_blank>MC-210584</a> - Water does not render behind items modified to use semi-transparent textures<li><a href=https://bugs.mojang.com/browse/MC-210734 rel=\"noopener noreferrer\"target=_blank>MC-210734</a> - Translucent blocks and other entities render over invisible spiders' eyes regardless of positions<li><a href=https://bugs.mojang.com/browse/MC-212671 rel=\"noopener noreferrer\"target=_blank>MC-212671</a> - Loot table entries of type <code>tag</code> with <code>expand</code> set to true do not apply loot functions to the items<li><a href=https://bugs.mojang.com/browse/MC-214113 rel=\"noopener noreferrer\"target=_blank>MC-214113</a> - Endermen and shulkers can teleport onto the Nether roof<li><a href=https://bugs.mojang.com/browse/MC-218015 rel=\"noopener noreferrer\"target=_blank>MC-218015</a> - Translucent blocks and other entities render over invisible endermen's eyes regardless of positions<li><a href=https://bugs.mojang.com/browse/MC-218156 rel=\"noopener noreferrer\"target=_blank>MC-218156</a> - Shipwrecks and ocean ruins can generate with empty buried treasure maps<li><a href=https://bugs.mojang.com/browse/MC-222559 rel=\"noopener noreferrer\"target=_blank>MC-222559</a> - Block hitboxes and entity hitboxes don't render behind semi-transparent entities<li><a href=https://bugs.mojang.com/browse/MC-222818 rel=\"noopener noreferrer\"target=_blank>MC-222818</a> - You can ignite TNT in Adventure mode<li><a href=https://bugs.mojang.com/browse/MC-223321 rel=\"noopener noreferrer\"target=_blank>MC-223321</a> - You can destroy turtle eggs by standing or jumping on them in spawn protection<li><a href=https://bugs.mojang.com/browse/MC-223323 rel=\"noopener noreferrer\"target=_blank>MC-223323</a> - You can trample farmland in spawn protection<li><a href=https://bugs.mojang.com/browse/MC-223559 rel=\"noopener noreferrer\"target=_blank>MC-223559</a> - Transparent blocks, particles, and clouds are not rendered behind semi-transparent marker armor stands<li><a href=https://bugs.mojang.com/browse/MC-224528 rel=\"noopener noreferrer\"target=_blank>MC-224528</a> - Two splash texts use curly single quotes (’) instead of apostrophes (')<li><a href=https://bugs.mojang.com/browse/MC-227008 rel=\"noopener noreferrer\"target=_blank>MC-227008</a> - Endermen constantly try to teleport when riding a vehicle under daylight<li><a href=https://bugs.mojang.com/browse/MC-228273 rel=\"noopener noreferrer\"target=_blank>MC-228273</a> - Goats do not move correctly after they are tempted during a long jump<li><a href=https://bugs.mojang.com/browse/MC-229405 rel=\"noopener noreferrer\"target=_blank>MC-229405</a> - The inside of boats blocks the rendering of most translucent objects with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-229831 rel=\"noopener noreferrer\"target=_blank>MC-229831</a> - Enchanting tables' GUI has three pixels in the top right corner that shouldn't be there<li><a href=https://bugs.mojang.com/browse/MC-233888 rel=\"noopener noreferrer\"target=_blank>MC-233888</a> - Pressing the Space or Enter keys to interact with elements results in the pressed key being executed again<li><a href=https://bugs.mojang.com/browse/MC-236497 rel=\"noopener noreferrer\"target=_blank>MC-236497</a> - The head rotations of passengers in boats are not correctly displayed for other players<li><a href=https://bugs.mojang.com/browse/MC-237053 rel=\"noopener noreferrer\"target=_blank>MC-237053</a> - Block breaking particles cannot be seen by other players<li><a href=https://bugs.mojang.com/browse/MC-237165 rel=\"noopener noreferrer\"target=_blank>MC-237165</a> - Block breaking sounds cannot be heard by other players<li><a href=https://bugs.mojang.com/browse/MC-237679 rel=\"noopener noreferrer\"target=_blank>MC-237679</a> - 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<li><a href=https://bugs.mojang.com/browse/MC-239401 rel=\"noopener noreferrer\"target=_blank>MC-239401</a> - <code>items/light.png</code> never appears in-game; is pointlessly referenced by other game assets<li><a href=https://bugs.mojang.com/browse/MC-245030 rel=\"noopener noreferrer\"target=_blank>MC-245030</a> - The \"Bee buzzes\" closed caption only appears when a bee buzzes for the first time<li><a href=https://bugs.mojang.com/browse/MC-247034 rel=\"noopener noreferrer\"target=_blank>MC-247034</a> - Particles produced from entities growing cannot be seen by other players<li><a href=https://bugs.mojang.com/browse/MC-248600 rel=\"noopener noreferrer\"target=_blank>MC-248600</a> - Particles produced from moving in powder snow cannot be seen by other players<li><a href=https://bugs.mojang.com/browse/MC-248666 rel=\"noopener noreferrer\"target=_blank>MC-248666</a> - Particles produced from dragon eggs teleporting cannot be seen by other players<li><a href=https://bugs.mojang.com/browse/MC-249200 rel=\"noopener noreferrer\"target=_blank>MC-249200</a> - Several entities constantly deviate visually from their actual positions on the client when teleported<li><a href=https://bugs.mojang.com/browse/MC-252369 rel=\"noopener noreferrer\"target=_blank>MC-252369</a> - Data packs can fail to load due to a feature cycle when one does not exist<li><a href=https://bugs.mojang.com/browse/MC-252934 rel=\"noopener noreferrer\"target=_blank>MC-252934</a> - Placing structures with paintings, item frames, or glow item frames logs <code>Block-attached entity at invalid position: [BlockPosition]</code><li><a href=https://bugs.mojang.com/browse/MC-253023 rel=\"noopener noreferrer\"target=_blank>MC-253023</a> - Breaking paintings, item frames, or glow item frames cannot trigger sculk shriekers<li><a href=https://bugs.mojang.com/browse/MC-254353 rel=\"noopener noreferrer\"target=_blank>MC-254353</a> - A packet to remove the score is always broadcast when a score is reset<li><a href=https://bugs.mojang.com/browse/MC-254370 rel=\"noopener noreferrer\"target=_blank>MC-254370</a> - The <code>entity_scores</code> predicate type cannot check all possible scores<li><a href=https://bugs.mojang.com/browse/MC-254547 rel=\"noopener noreferrer\"target=_blank>MC-254547</a> - Villagers do not level up when exiting the world immediately after filling their experience bar<li><a href=https://bugs.mojang.com/browse/MC-254661 rel=\"noopener noreferrer\"target=_blank>MC-254661</a> - <code>/schedule clear</code> requires a namespace in its function argument<li><a href=https://bugs.mojang.com/browse/MC-256073 rel=\"noopener noreferrer\"target=_blank>MC-256073</a> - Miscolored pixel in <code>tab_inventory.png</code><li><a href=https://bugs.mojang.com/browse/MC-256096 rel=\"noopener noreferrer\"target=_blank>MC-256096</a> - Some entities on a team can harm teammates that walk into them when friendly fire is disabled<li><a href=https://bugs.mojang.com/browse/MC-256097 rel=\"noopener noreferrer\"target=_blank>MC-256097</a> - Some entities on a team can harm their teammates when they explode when friendly fire is disabled<li><a href=https://bugs.mojang.com/browse/MC-258347 rel=\"noopener noreferrer\"target=_blank>MC-258347</a> - Endermen no longer create an extra trail of particles when teleporting<li><a href=https://bugs.mojang.com/browse/MC-258579 rel=\"noopener noreferrer\"target=_blank>MC-258579</a> - The player's head does not rotate with a delay from the camera in third person view while riding a vehicle<li><a href=https://bugs.mojang.com/browse/MC-259512 rel=\"noopener noreferrer\"target=_blank>MC-259512</a> - Horizontal camera rotation lags when riding<li><a href=https://bugs.mojang.com/browse/MC-259583 rel=\"noopener noreferrer\"target=_blank>MC-259583</a> - Brewing with a single bottle of dragon's breath does not return a glass bottle afterward<li><a href=https://bugs.mojang.com/browse/MC-259812 rel=\"noopener noreferrer\"target=_blank>MC-259812</a> - Block and item displays, beds, clouds, signs, shulker boxes, and semi-transparent blocks and entities don't render behind text displays<li><a href=https://bugs.mojang.com/browse/MC-260780 rel=\"noopener noreferrer\"target=_blank>MC-260780</a> - Shulker bullets always push fireballs south<li><a href=https://bugs.mojang.com/browse/MC-263100 rel=\"noopener noreferrer\"target=_blank>MC-263100</a> - Cave biomes interfere with relief on exploration maps<li><a href=https://bugs.mojang.com/browse/MC-263708 rel=\"noopener noreferrer\"target=_blank>MC-263708</a> - The Key Binds screen renders keypad keys the same as regular keys<li><a href=https://bugs.mojang.com/browse/MC-264003 rel=\"noopener noreferrer\"target=_blank>MC-264003</a> - Boats carrying players sometimes stop abruptly when sliding along ice<li><a href=https://bugs.mojang.com/browse/MC-265423 rel=\"noopener noreferrer\"target=_blank>MC-265423</a> - When villagers acquire enough experience to level up more than once, they only gain a single level<li><a href=https://bugs.mojang.com/browse/MC-265584 rel=\"noopener noreferrer\"target=_blank>MC-265584</a> - TNT dispensed in bubble columns with soul sand right under visually moves through blocks above<li><a href=https://bugs.mojang.com/browse/MC-265743 rel=\"noopener noreferrer\"target=_blank>MC-265743</a> - Entities, block entities, clouds and semi-transparent blocks are always rendered in front of text displays with <code>see_through</code> enabled<li><a href=https://bugs.mojang.com/browse/MC-266231 rel=\"noopener noreferrer\"target=_blank>MC-266231</a> - Mouse buttons above 8 can't be set as key binds<li><a href=https://bugs.mojang.com/browse/MC-266429 rel=\"noopener noreferrer\"target=_blank>MC-266429</a> - Holding Shift on macOS causes the hotbar scroll direction to reverse when scrolling with the mouse<li><a href=https://bugs.mojang.com/browse/MC-267902 rel=\"noopener noreferrer\"target=_blank>MC-267902</a> - The failure message of <code>/random</code> when the specified range is too large states an incorrect maximum for the range<li><a href=https://bugs.mojang.com/browse/MC-268145 rel=\"noopener noreferrer\"target=_blank>MC-268145</a> - <code>cache_once</code> density functions don't work<li><a href=https://bugs.mojang.com/browse/MC-268155 rel=\"noopener noreferrer\"target=_blank>MC-268155</a> - Rendering gaps in the world under specific conditions<li><a href=https://bugs.mojang.com/browse/MC-268521 rel=\"noopener noreferrer\"target=_blank>MC-268521</a> - The game window doesn't have a minimal width and height<li><a href=https://bugs.mojang.com/browse/MC-269968 rel=\"noopener noreferrer\"target=_blank>MC-269968</a> - Can't scroll with the mouse while holding Shift on macOS (except in the hotbar)<li><a href=https://bugs.mojang.com/browse/MC-270706 rel=\"noopener noreferrer\"target=_blank>MC-270706</a> - Trying to brew an uncraftable potion into a splash or lingering potion consumes the reagent but keeps the potion exactly as is<li><a href=https://bugs.mojang.com/browse/MC-270970 rel=\"noopener noreferrer\"target=_blank>MC-270970</a> - The player's camera shakes when attempting to step up blocks with a boat above them<li><a href=https://bugs.mojang.com/browse/MC-271069 rel=\"noopener noreferrer\"target=_blank>MC-271069</a> - Item entities appear to fly towards the player when picked up by a dolphin that isn't being rendered<li><a href=https://bugs.mojang.com/browse/MC-271297 rel=\"noopener noreferrer\"target=_blank>MC-271297</a> - <code>/fillbiome</code> doesn't fail when no changes are made<li><a href=https://bugs.mojang.com/browse/MC-271723 rel=\"noopener noreferrer\"target=_blank>MC-271723</a> - Translucent blocks and other entities render over invisible phantoms' eyes regardless of positions<li><a href=https://bugs.mojang.com/browse/MC-271724 rel=\"noopener noreferrer\"target=_blank>MC-271724</a> - Translucent blocks and other entities render over invisible breezes' eyes regardless of positions<li><a href=https://bugs.mojang.com/browse/MC-272801 rel=\"noopener noreferrer\"target=_blank>MC-272801</a> - Particles and translucent objects do not render when behind the ender dragon's death animation<li><a href=https://bugs.mojang.com/browse/MC-273327 rel=\"noopener noreferrer\"target=_blank>MC-273327</a> - The <code>#convertable_to_mud</code> block tag misspells \"convertible\" as \"convertable\"<li><a href=https://bugs.mojang.com/browse/MC-273708 rel=\"noopener noreferrer\"target=_blank>MC-273708</a> - Endermen taking environmental damage attempt to teleport when riding an entity<li><a href=https://bugs.mojang.com/browse/MC-274924 rel=\"noopener noreferrer\"target=_blank>MC-274924</a> - Angry endermen suffocating while in boats or minecarts can attack their target from really far away<li><a href=https://bugs.mojang.com/browse/MC-275111 rel=\"noopener noreferrer\"target=_blank>MC-275111</a> - Two animals in a boat look sideways instead of at the player when lured<li><a href=https://bugs.mojang.com/browse/MC-275532 rel=\"noopener noreferrer\"target=_blank>MC-275532</a> - The abbreviation \"fps\" is inconsistently capitalized across strings<li><a href=https://bugs.mojang.com/browse/MC-276079 rel=\"noopener noreferrer\"target=_blank>MC-276079</a> - Sending a swing packet to the client causes it to send one back to the server<li><a href=https://bugs.mojang.com/browse/MC-276692 rel=\"noopener noreferrer\"target=_blank>MC-276692</a> - Lingering potions which land on the target's head do not grant their effects to the target<li><a href=https://bugs.mojang.com/browse/MC-277772 rel=\"noopener noreferrer\"target=_blank>MC-277772</a> - Stained glass renders incorrectly through item models in stained glass with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-277906 rel=\"noopener noreferrer\"target=_blank>MC-277906</a> - Ender pearls land incorrectly at high speeds<li><a href=https://bugs.mojang.com/browse/MC-278336 rel=\"noopener noreferrer\"target=_blank>MC-278336</a> - The player model still flickers at very high speeds<li><a href=https://bugs.mojang.com/browse/MC-278557 rel=\"noopener noreferrer\"target=_blank>MC-278557</a> - Exiting a spinning boat and then inserting a mob makes its head spin forever<li><a href=https://bugs.mojang.com/browse/MC-278771 rel=\"noopener noreferrer\"target=_blank>MC-278771</a> - The incorrect command context is used when providing suggestions for redirected commands<li><a href=https://bugs.mojang.com/browse/MC-279185 rel=\"noopener noreferrer\"target=_blank>MC-279185</a> - The <code>selectWorld.load_folder_access</code> string is missing an article before the word \"folder\"<li><a href=https://bugs.mojang.com/browse/MC-279285 rel=\"noopener noreferrer\"target=_blank>MC-279285</a> - Experience orbs that have been stuck inside blocks rapidly accelerate toward the ground if they've been disturbed by a player's presence<li><a href=https://bugs.mojang.com/browse/MC-279395 rel=\"noopener noreferrer\"target=_blank>MC-279395</a> - Trees can generate floating over ruined portals<li><a href=https://bugs.mojang.com/browse/MC-279561 rel=\"noopener noreferrer\"target=_blank>MC-279561</a> - Resin brick walls without a center post are not solid<li><a href=https://bugs.mojang.com/browse/MC-279586 rel=\"noopener noreferrer\"target=_blank>MC-279586</a> - Closed captions continue to fade when their sound plays again from farther away, causing visual delays in the overlay<li><a href=https://bugs.mojang.com/browse/MC-279819 rel=\"noopener noreferrer\"target=_blank>MC-279819</a> - The mining speed factor of Mining Fatigue is inconsistent at level 3<li><a href=https://bugs.mojang.com/browse/MC-280250 rel=\"noopener noreferrer\"target=_blank>MC-280250</a> - Projectiles sometimes desync when thrown or shot while moving<li><a href=https://bugs.mojang.com/browse/MC-293615 rel=\"noopener noreferrer\"target=_blank>MC-293615</a> - Tooltip formatting of \"[item] x [number]\" is inconsistent across different types of items<li><a href=https://bugs.mojang.com/browse/MC-293755 rel=\"noopener noreferrer\"target=_blank>MC-293755</a> - The ender dragon's neck and tail disconnect from its body when it turns<li><a href=https://bugs.mojang.com/browse/MC-295678 rel=\"noopener noreferrer\"target=_blank>MC-295678</a> - Translucent blocks above water flicker when crossing chunk borders<li><a href=https://bugs.mojang.com/browse/MC-295756 rel=\"noopener noreferrer\"target=_blank>MC-295756</a> - Pistons desync on the client, causing players to be moved differently compared to other entities<li><a href=https://bugs.mojang.com/browse/MC-296006 rel=\"noopener noreferrer\"target=_blank>MC-296006</a> - Entities do not face the player correctly while in a boat<li><a href=https://bugs.mojang.com/browse/MC-296368 rel=\"noopener noreferrer\"target=_blank>MC-296368</a> - The <code>entity.happy_ghast.riding</code> sound event displays no closed caption<li><a href=https://bugs.mojang.com/browse/MC-296773 rel=\"noopener noreferrer\"target=_blank>MC-296773</a> - Taken screenshots are rendered as a black image on Intel graphics of Gen7 and Gen7.5 architecture<li><a href=https://bugs.mojang.com/browse/MC-297741 rel=\"noopener noreferrer\"target=_blank>MC-297741</a> - Gravity-affected blocks in upwards bubble columns can visually clip through solid blocks above them<li><a href=https://bugs.mojang.com/browse/MC-298066 rel=\"noopener noreferrer\"target=_blank>MC-298066</a> - Directly entering a bed from a mount places the player in the wrong place<li><a href=https://bugs.mojang.com/browse/MC-298431 rel=\"noopener noreferrer\"target=_blank>MC-298431</a> - Boats are launched by slime blocks inconsistently<li><a href=https://bugs.mojang.com/browse/MC-298659 rel=\"noopener noreferrer\"target=_blank>MC-298659</a> - Translucent blocks and some entities render above text displays with <code>see_through</code> enabled<li><a href=https://bugs.mojang.com/browse/MC-298762 rel=\"noopener noreferrer\"target=_blank>MC-298762</a> - Phantoms deflect arrows shot from bows or crossbows<li><a href=https://bugs.mojang.com/browse/MC-299019 rel=\"noopener noreferrer\"target=_blank>MC-299019</a> - Using a bed while riding a rideable mob causes the player to sleep either on the ground, or on top of the mob<li><a href=https://bugs.mojang.com/browse/MC-299460 rel=\"noopener noreferrer\"target=_blank>MC-299460</a> - Saddled pigs in boats carried by happy ghasts can cause a desync when unequipping a carrot on a stick<li><a href=https://bugs.mojang.com/browse/MC-299582 rel=\"noopener noreferrer\"target=_blank>MC-299582</a> - Special crafting recipes cannot be given or taken with <code>/recipe</code> and do not respect the <code>limited_crafting</code> game rule<li><a href=https://bugs.mojang.com/browse/MC-300000 rel=\"noopener noreferrer\"target=_blank>MC-300000</a> - Players desync when teleporting all users riding a happy ghast<li><a href=https://bugs.mojang.com/browse/MC-300831 rel=\"noopener noreferrer\"target=_blank>MC-300831</a> - <code>/test locate</code> always fails<li><a href=https://bugs.mojang.com/browse/MC-301804 rel=\"noopener noreferrer\"target=_blank>MC-301804</a> - Test blocks' GUI does not pause the game in singleplayer<li><a href=https://bugs.mojang.com/browse/MC-302221 rel=\"noopener noreferrer\"target=_blank>MC-302221</a> - Moving entities deflect arrows<li><a href=https://bugs.mojang.com/browse/MC-302271 rel=\"noopener noreferrer\"target=_blank>MC-302271</a> - Sniffers stop sniffing after relog<li><a href=https://bugs.mojang.com/browse/MC-302537 rel=\"noopener noreferrer\"target=_blank>MC-302537</a> - <code>/give</code> succeeds when trying to give more than 100 stacks of an item despite the failure message and no items being given<li><a href=https://bugs.mojang.com/browse/MC-302661 rel=\"noopener noreferrer\"target=_blank>MC-302661</a> - Interacting with something while holding spears plays the spear jab animation<li><a href=https://bugs.mojang.com/browse/MC-302687 rel=\"noopener noreferrer\"target=_blank>MC-302687</a> - Throwing items out of your inventory while holding spears plays the spear jab animation<li><a href=https://bugs.mojang.com/browse/MC-302705 rel=\"noopener noreferrer\"target=_blank>MC-302705</a> - Having a spear in the main hand affects the hand animation speed for items held in the off hand<li><a href=https://bugs.mojang.com/browse/MC-303360 rel=\"noopener noreferrer\"target=_blank>MC-303360</a> - Flat-cached shifted noise density functions are recalculated for every Y level<li><a href=https://bugs.mojang.com/browse/MC-303493 rel=\"noopener noreferrer\"target=_blank>MC-303493</a> - The <code>apply_impulse</code> entity effect does not apply components of the impulse that would cause the affected entity to hit a solid block when used with a <code>tick</code> or <code>location_changed</code> advancement trigger<li><a href=https://bugs.mojang.com/browse/MC-303626 rel=\"noopener noreferrer\"target=_blank>MC-303626</a> - Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-303789 rel=\"noopener noreferrer\"target=_blank>MC-303789</a> - Looking directly up with an <code>apply_impulse</code> 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<li><a href=https://bugs.mojang.com/browse/MC-304195 rel=\"noopener noreferrer\"target=_blank>MC-304195</a> - The arm overlay textures of parched have unused pixels not used by the model<li><a href=https://bugs.mojang.com/browse/MC-304213 rel=\"noopener noreferrer\"target=_blank>MC-304213</a> - Zombies, husks and drowned hold out the incorrect arm when holding spears<li><a href=https://bugs.mojang.com/browse/MC-304594 rel=\"noopener noreferrer\"target=_blank>MC-304594</a> - Spears can dismount interaction entities from their vehicles<li><a href=https://bugs.mojang.com/browse/MC-304719 rel=\"noopener noreferrer\"target=_blank>MC-304719</a> - The <code>InhabitedTime</code> NBT tag for some chunks can be set to impossibly high values when a world is opened<li><a href=https://bugs.mojang.com/browse/MC-304920 rel=\"noopener noreferrer\"target=_blank>MC-304920</a> - Spears in third person look wrong when the left hand is the main hand<li><a href=https://bugs.mojang.com/browse/MC-305214 rel=\"noopener noreferrer\"target=_blank>MC-305214</a> - Arrows deflecting off of entities get offset<li><a href=https://bugs.mojang.com/browse/MC-305422 rel=\"noopener noreferrer\"target=_blank>MC-305422</a> - Players can sometimes get kicked due to a waypoint packet the client fails to handle<li><a href=https://bugs.mojang.com/browse/MC-305535 rel=\"noopener noreferrer\"target=_blank>MC-305535</a> - Elytra are activated after only single tapping the \"Jump\" key when the player is in lava<li><a href=https://bugs.mojang.com/browse/MC-305707 rel=\"noopener noreferrer\"target=_blank>MC-305707</a> - <code>/time</code> reports success when no changes are made<li><a href=https://bugs.mojang.com/browse/MC-306012 rel=\"noopener noreferrer\"target=_blank>MC-306012</a> - Armadillos can escape fenced areas when at the edge of the simulation distance<li><a href=https://bugs.mojang.com/browse/MC-306127 rel=\"noopener noreferrer\"target=_blank>MC-306127</a> - Block outlines are no longer visible behind translucent items<li><a href=https://bugs.mojang.com/browse/MC-306156 rel=\"noopener noreferrer\"target=_blank>MC-306156</a> - Breezes, slimes and players between translucent blocks or fluids appear behind them with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-306231 rel=\"noopener noreferrer\"target=_blank>MC-306231</a> - Boats are filled with water when viewed through translucent blocks with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-306318 rel=\"noopener noreferrer\"target=_blank>MC-306318</a> - Translucent items render through the head of players with a translucent item equipped on their head with the \"Improved Transparency\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-306619 rel=\"noopener noreferrer\"target=_blank>MC-306619</a> - Cannot jump while sneaking while using a Chinese input method<li><a href=https://bugs.mojang.com/browse/MC-306778 rel=\"noopener noreferrer\"target=_blank>MC-306778</a> - The fog color no longer transitions smoothly when the weather changes at night while under the Night Vision effect<li><a href=https://bugs.mojang.com/browse/MC-306891 rel=\"noopener noreferrer\"target=_blank>MC-306891</a> - Sneaking and then opening the chat forces the IME to switch to the corresponding CJK mode<li><a href=https://bugs.mojang.com/browse/MC-307122 rel=\"noopener noreferrer\"target=_blank>MC-307122</a> - The hanging roots drop from hoeing rooted dirt appears to be hardcoded<li><a href=https://bugs.mojang.com/browse/MC-307206 rel=\"noopener noreferrer\"target=_blank>MC-307206</a> - <code>Std140Builder</code> incorrectly pads <code>vec3s</code> and <code>ivec3s</code><li><a href=https://bugs.mojang.com/browse/MC-307285 rel=\"noopener noreferrer\"target=_blank>MC-307285</a> - Translucent blocks don't render behind sulfur cubes<li><a href=https://bugs.mojang.com/browse/MC-307319 rel=\"noopener noreferrer\"target=_blank>MC-307319</a> - Low performance with the Vulkan rendering backend on Intel Arc GPUs (especially on Linux)<li><a href=https://bugs.mojang.com/browse/MC-307345 rel=\"noopener noreferrer\"target=_blank>MC-307345</a> - The smoke particles produced by potent sulfur do not render behind stained glass<li><a href=https://bugs.mojang.com/browse/MC-307376 rel=\"noopener noreferrer\"target=_blank>MC-307376</a> - The CPU and GPU isn't fully utilized; the framerate is stuck at 25-35 fps<li><a href=https://bugs.mojang.com/browse/MC-307384 rel=\"noopener noreferrer\"target=_blank>MC-307384</a> - Screen tearing occurs with the Vulkan rendering backend in fullscreen mode with lower framerates, even if VSync is enabled<li><a href=https://bugs.mojang.com/browse/MC-307449 rel=\"noopener noreferrer\"target=_blank>MC-307449</a> - Spawners with their light limits set no longer spawn mobs underground at night time<li><a href=https://bugs.mojang.com/browse/MC-307452 rel=\"noopener noreferrer\"target=_blank>MC-307452</a> - Significant performance regression with the Vulkan rendering backend<li><a href=https://bugs.mojang.com/browse/MC-307596 rel=\"noopener noreferrer\"target=_blank>MC-307596</a> - The OpenGL rendering backend seems to be very laggy<li><a href=https://bugs.mojang.com/browse/MC-307616 rel=\"noopener noreferrer\"target=_blank>MC-307616</a> - Typo in a log message in <code>ActiveProfiler</code>: \"aprox\"<li><a href=https://bugs.mojang.com/browse/MC-307618 rel=\"noopener noreferrer\"target=_blank>MC-307618</a> - Typo in a log message in <code>SoundEngine</code>: \"disapeared\"<li><a href=https://bugs.mojang.com/browse/MC-307625 rel=\"noopener noreferrer\"target=_blank>MC-307625</a> - The glowing effect is not visible on block displays displaying End portals or End gateways<li><a href=https://bugs.mojang.com/browse/MC-307648 rel=\"noopener noreferrer\"target=_blank>MC-307648</a> - \"non-heap\" is misspelled as \"non-head\" in the system details section of crash reports<li><a href=https://bugs.mojang.com/browse/MC-307660 rel=\"noopener noreferrer\"target=_blank>MC-307660</a> - Typo in a log message in <code>GameRenderer</code>: \"coudln't\"<li><a href=https://bugs.mojang.com/browse/MC-307709 rel=\"noopener noreferrer\"target=_blank>MC-307709</a> - The texture of upward facing sulfur spikes' merged tip has a single wrong pixel at the very top<li><a href=https://bugs.mojang.com/browse/MC-307890 rel=\"noopener noreferrer\"target=_blank>MC-307890</a> - Some textures of geyser plume particles use the wrong color in some spots<li><a href=https://bugs.mojang.com/browse/MC-307902 rel=\"noopener noreferrer\"target=_blank>MC-307902</a> - Partially transparent blocks inside sulfur cubes don't render correctly<li><a href=https://bugs.mojang.com/browse/MC-307918 rel=\"noopener noreferrer\"target=_blank>MC-307918</a> - Sculk patches can cause errors in the log during world generation<li><a href=https://bugs.mojang.com/browse/MC-307933 rel=\"noopener noreferrer\"target=_blank>MC-307933</a> - Deepslate ores can generate on the surface by replacing tuff around sulfur springs<li><a href=https://bugs.mojang.com/browse/MC-307938 rel=\"noopener noreferrer\"target=_blank>MC-307938</a> - Low performance with the Vulkan rendering backend on AMD GPUs<li><a href=https://bugs.mojang.com/browse/MC-307996 rel=\"noopener noreferrer\"target=_blank>MC-307996</a> - The game cannot use hardware acceleration on devices lacking the <code>fillModeNonSolid</code> Vulkan feature<li><a href=https://bugs.mojang.com/browse/MC-308008 rel=\"noopener noreferrer\"target=_blank>MC-308008</a> - The success message of <code>/tag</code> reports that it affected more entities than it did<li><a href=https://bugs.mojang.com/browse/MC-308009 rel=\"noopener noreferrer\"target=_blank>MC-308009</a> - The success message of <code>/scoreboard players enable</code> reports that it affected more players than it did<li><a href=https://bugs.mojang.com/browse/MC-308011 rel=\"noopener noreferrer\"target=_blank>MC-308011</a> - The success message of <code>/recipe</code> reports that it affected more players than it did<li><a href=https://bugs.mojang.com/browse/MC-308012 rel=\"noopener noreferrer\"target=_blank>MC-308012</a> - The success message of <code>/enchant</code> reports that it affected more entities than it did<li><a href=https://bugs.mojang.com/browse/MC-308013 rel=\"noopener noreferrer\"target=_blank>MC-308013</a> - The success message of <code>/effect</code> reports that it affected more entities than it did<li><a href=https://bugs.mojang.com/browse/MC-308014 rel=\"noopener noreferrer\"target=_blank>MC-308014</a> - The success message of <code>/clear</code> reports that it affected more players than it did<li><a href=https://bugs.mojang.com/browse/MC-308125 rel=\"noopener noreferrer\"target=_blank>MC-308125</a> - Scroll wheel tilting/sideways scrolling appears to move the selected hotbar slot the wrong way<li><a href=https://bugs.mojang.com/browse/MC-308127 rel=\"noopener noreferrer\"target=_blank>MC-308127</a> - The \"Friends Screen\" key bind overrides debug hotkeys using the same key<li><a href=https://bugs.mojang.com/browse/MC-308222 rel=\"noopener noreferrer\"target=_blank>MC-308222</a> - World generation heightmaps do not persist properly through chunk saving and loading<li><a href=https://bugs.mojang.com/browse/MC-308254 rel=\"noopener noreferrer\"target=_blank>MC-308254</a> - Dying to a sulfur cube with a magma block doesn't increment the player's <code>killed_by:sulfur_cube</code> statistic<li><a href=https://bugs.mojang.com/browse/MC-308314 rel=\"noopener noreferrer\"target=_blank>MC-308314</a> - Custom player heads do not render their texture properly when inside a sulfur cube<li><a href=https://bugs.mojang.com/browse/MC-308344 rel=\"noopener noreferrer\"target=_blank>MC-308344</a> - Validation error when compiling shaders containing in/out array or matrix variables with the Vulkan rendering backend<li><a href=https://bugs.mojang.com/browse/MC-308405 rel=\"noopener noreferrer\"target=_blank>MC-308405</a> - <code>/unpublish</code> succeeds when the game is not published despite the failure message<li><a href=https://bugs.mojang.com/browse/MC-308406 rel=\"noopener noreferrer\"target=_blank>MC-308406</a> - Item models are shown incorrectly in the smithing table menu's armor stand<li><a href=https://bugs.mojang.com/browse/MC-308460 rel=\"noopener noreferrer\"target=_blank>MC-308460</a> - Some of the stems in wildflowers and pink petals render brighter<li><a href=https://bugs.mojang.com/browse/MC-308469 rel=\"noopener noreferrer\"target=_blank>MC-308469</a> - Hitting the ender dragon's head hitbox no longer causes the ender dragon to take more damage<li><a href=https://bugs.mojang.com/browse/MC-308490 rel=\"noopener noreferrer\"target=_blank>MC-308490</a> - The \"regular\" sulfur cube archetype produces stone sounds, despite no longer using stone blocks<li><a href=https://bugs.mojang.com/browse/MC-308593 rel=\"noopener noreferrer\"target=_blank>MC-308593</a> - Animated blocks (notably water and lava) render incorrectly on some graphics<li><a href=https://bugs.mojang.com/browse/MC-308647 rel=\"noopener noreferrer\"target=_blank>MC-308647</a> - The resource packs screen can cache font glyphs incorrectly after toggling the \"Font Settings\" option<li><a href=https://bugs.mojang.com/browse/MC-308694 rel=\"noopener noreferrer\"target=_blank>MC-308694</a> - Using <code>/defaultgamemode</code> changes everyone's game mode to the one set in \"Settings for Other Players\" in LAN worlds<li><a href=https://bugs.mojang.com/browse/MC-308699 rel=\"noopener noreferrer\"target=_blank>MC-308699</a> - Switching the host's game mode causes new LAN players to ignore the forced game mode<li><a href=https://bugs.mojang.com/browse/MC-308749 rel=\"noopener noreferrer\"target=_blank>MC-308749</a> - Exiting and rejoining the same LAN session resets your game mode<li><a href=https://bugs.mojang.com/browse/MC-308752 rel=\"noopener noreferrer\"target=_blank>MC-308752</a> - Frame presentation stutters heavily with the OpenGL rendering backend on Intel Arc if a GUI is opened in borderless fullscreen mode<li><a href=https://bugs.mojang.com/browse/MC-308765 rel=\"noopener noreferrer\"target=_blank>MC-308765</a> - Ender pearls don't cancel the player's velocity<li><a href=https://bugs.mojang.com/browse/MC-308789 rel=\"noopener noreferrer\"target=_blank>MC-308789</a> - Pointed dripstone and sulfur spikes can be destroyed by tridents in Adventure mode<li><a href=https://bugs.mojang.com/browse/MC-308798 rel=\"noopener noreferrer\"target=_blank>MC-308798</a> - Dolphins take much longer to pick up items<li><a href=https://bugs.mojang.com/browse/MC-308804 rel=\"noopener noreferrer\"target=_blank>MC-308804</a> - The input method does not switch to the corresponding CJK mode in the Create New World screen<li><a href=https://bugs.mojang.com/browse/MC-308809 rel=\"noopener noreferrer\"target=_blank>MC-308809</a> - Full-width spaces take up more space on signs now<li><a href=https://bugs.mojang.com/browse/MC-308830 rel=\"noopener noreferrer\"target=_blank>MC-308830</a> - Placing beds does not send block updates to the foot half's neighboring blocks<li><a href=https://bugs.mojang.com/browse/MC-308836 rel=\"noopener noreferrer\"target=_blank>MC-308836</a> - Obfuscated text no longer keeps a consistent width<li><a href=https://bugs.mojang.com/browse/MC-308849 rel=\"noopener noreferrer\"target=_blank>MC-308849</a> - Creakings can take knockback<li><a href=https://bugs.mojang.com/browse/MC-308851 rel=\"noopener noreferrer\"target=_blank>MC-308851</a> - The <code>chat_restriction.disabled_by_profile.action</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-308866 rel=\"noopener noreferrer\"target=_blank>MC-308866</a> - Unable to change online settings when in a world<li><a href=https://bugs.mojang.com/browse/MC-308914 rel=\"noopener noreferrer\"target=_blank>MC-308914</a> - End portals or End gateways held by glowing endermen do not glow<li><a href=https://bugs.mojang.com/browse/MC-308915 rel=\"noopener noreferrer\"target=_blank>MC-308915</a> - End portals and End gateways do not glow when inside glowing minecarts<li><a href=https://bugs.mojang.com/browse/MC-308916 rel=\"noopener noreferrer\"target=_blank>MC-308916</a> - Glowing TNT that renders as an End portal or End gateway does not glow<li><a href=https://bugs.mojang.com/browse/MC-308917 rel=\"noopener noreferrer\"target=_blank>MC-308917</a> - Items with the <code>end_cube</code> special model type do not show a glowing outline where expected<li><a href=https://bugs.mojang.com/browse/MC-308961 rel=\"noopener noreferrer\"target=_blank>MC-308961</a> - When changing the game mode using debug hotkeys while in the World Options screen, the \"Game Mode\" button does not update<li><a href=https://bugs.mojang.com/browse/MC-309081 rel=\"noopener noreferrer\"target=_blank>MC-309081</a> - Decorated pots and chorus flowers can be destroyed by projectiles in Adventure mode<li><a href=https://bugs.mojang.com/browse/MC-309262 rel=\"noopener noreferrer\"target=_blank>MC-309262</a> - Falling blocks disappear for a split second when landing<li><a href=https://bugs.mojang.com/browse/MC-309298 rel=\"noopener noreferrer\"target=_blank>MC-309298</a> - Sending chat messages while having the \"Chat Delay\" option set to a nonzero value can sometimes kick you from the game<li><a href=https://bugs.mojang.com/browse/MC-309479 rel=\"noopener noreferrer\"target=_blank>MC-309479</a> - The game crashes during the loading screen with the message \"Failed to wait for frame completion\" on some systems<li><a href=https://bugs.mojang.com/browse/MC-309501 rel=\"noopener noreferrer\"target=_blank>MC-309501</a> - Dropped shelves rotate off-center<li><a href=https://bugs.mojang.com/browse/MC-309565 rel=\"noopener noreferrer\"target=_blank>MC-309565</a> - Block outlines are rendered behind translucent elements if the \"High Contrast Block Outlines\" option is enabled<li><a href=https://bugs.mojang.com/browse/MC-309872 rel=\"noopener noreferrer\"target=_blank>MC-309872</a> - The system freezes when pressing the Windows key with the \"Exclusive Fullscreen\" option enabled<li><a href=https://bugs.mojang.com/browse/MC-309875 rel=\"noopener noreferrer\"target=_blank>MC-309875</a> - New translations for the tooltip of the \"Improved Transparency\" option are wrongly backported<li><a href=https://bugs.mojang.com/browse/MC-309891 rel=\"noopener noreferrer\"target=_blank>MC-309891</a> - The <code>chat_restriction.disabled_by_launcher</code> string lacks a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-309893 rel=\"noopener noreferrer\"target=_blank>MC-309893</a> - The <code>gamerule.minecraft.fire_spread_radius_around_player.description</code> string lacks a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-309897 rel=\"noopener noreferrer\"target=_blank>MC-309897</a> - The <code>gui.report_to_server</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309898 rel=\"noopener noreferrer\"target=_blank>MC-309898</a> - The <code>editGamerule.inGame.discardChanges.title</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309901 rel=\"noopener noreferrer\"target=_blank>MC-309901</a> - The <code>structure_block.position.x</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309902 rel=\"noopener noreferrer\"target=_blank>MC-309902</a> - Some strings contain stray spaces adjacent to line breaks<li><a href=https://bugs.mojang.com/browse/MC-309903 rel=\"noopener noreferrer\"target=_blank>MC-309903</a> - The \"Isn't It Iron Pick\" advancement name is missing a question mark<li><a href=https://bugs.mojang.com/browse/MC-309907 rel=\"noopener noreferrer\"target=_blank>MC-309907</a> - The word \"whoosh\" is misspelled as \"woosh\" in the <code>subtitles.block.bubble_column.upwards_inside</code> string<li><a href=https://bugs.mojang.com/browse/MC-309908 rel=\"noopener noreferrer\"target=_blank>MC-309908</a> - The <code>subtitles.entity.copper_golem.no_item_get</code> string is missing an article before the word \"item\"<li><a href=https://bugs.mojang.com/browse/MC-309911 rel=\"noopener noreferrer\"target=_blank>MC-309911</a> - The words \"blocks\" and \"seconds\" in the <code>commands.worldborder.set.grow</code> string are always pluralized<li><a href=https://bugs.mojang.com/browse/MC-309914 rel=\"noopener noreferrer\"target=_blank>MC-309914</a> - The <code>commands.op.failed</code> string has awkward and inconsistent adverb placement, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-309915 rel=\"noopener noreferrer\"target=_blank>MC-309915</a> - The <code>commands.kick.owner.failed</code> string is missing articles before the words \"server\" and \"LAN\"<li><a href=https://bugs.mojang.com/browse/MC-309916 rel=\"noopener noreferrer\"target=_blank>MC-309916</a> - Some <code>/stopwatch</code> strings incorrectly capitalize the word \"Stopwatch\" mid-sentence, which is inconsistent with other commands<li><a href=https://bugs.mojang.com/browse/MC-309918 rel=\"noopener noreferrer\"target=_blank>MC-309918</a> - The <code>commands.perf.started</code> string is missing a hyphen between the words \"10\" and \"second\" and an article before the word \"10\"<li><a href=https://bugs.mojang.com/browse/MC-309919 rel=\"noopener noreferrer\"target=_blank>MC-309919</a> - The <code>mco.errorMessage.6002</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309920 rel=\"noopener noreferrer\"target=_blank>MC-309920</a> - The <code>mco.configure.world.close.question.line1</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309921 rel=\"noopener noreferrer\"target=_blank>MC-309921</a> - The <code>mco.snapshot.subscription.info</code> string uses the \"to\" preposition instead of \"with\"<li><a href=https://bugs.mojang.com/browse/MC-309922 rel=\"noopener noreferrer\"target=_blank>MC-309922</a> - The <code>advMode.trackOutput</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309923 rel=\"noopener noreferrer\"target=_blank>MC-309923</a> - The <code>gamerule.minecraft.entity_drops.description</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309924 rel=\"noopener noreferrer\"target=_blank>MC-309924</a> - The <code>argument.enum.invalid</code> string surrounds the placeholder with double quotes instead of single quotes, unlike every other command<li><a href=https://bugs.mojang.com/browse/MC-309925 rel=\"noopener noreferrer\"target=_blank>MC-309925</a> - The <code>mount.onboard</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309926 rel=\"noopener noreferrer\"target=_blank>MC-309926</a> - The <code>selectWorld.edit.backupSize</code> string is improperly capitalized<li><a href=https://bugs.mojang.com/browse/MC-309927 rel=\"noopener noreferrer\"target=_blank>MC-309927</a> - The <code>gui.friends.error.unauthorized</code> string lacks a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-309928 rel=\"noopener noreferrer\"target=_blank>MC-309928</a> - The <code>multiplayer.confirm_command.signature_required</code> string lacks a period<li><a href=https://bugs.mojang.com/browse/MC-309937 rel=\"noopener noreferrer\"target=_blank>MC-309937</a> - The <code>argument.pos.outofbounds</code> string ends with a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-309938 rel=\"noopener noreferrer\"target=_blank>MC-309938</a> - The <code>quickplay.error.invalid_identifier</code> string is missing an article before the word \"world\"<li><a href=https://bugs.mojang.com/browse/MC-309940 rel=\"noopener noreferrer\"target=_blank>MC-309940</a> - The <code>datapackFailure.safeMode.failed.title</code> string ends with a period, unlike similar title strings<li><a href=https://bugs.mojang.com/browse/MC-310041 rel=\"noopener noreferrer\"target=_blank>MC-310041</a> - Under specific conditions, chunk loading frequently fails<li><a href=https://bugs.mojang.com/browse/MC-310057 rel=\"noopener noreferrer\"target=_blank>MC-310057</a> - Pressing the \"Advancements\" key bind while its menu was opened from the pause menu closes both menus<li><a href=https://bugs.mojang.com/browse/MC-310062 rel=\"noopener noreferrer\"target=_blank>MC-310062</a> - Armadillos stop following players holding spider eyes after relog<li><a href=https://bugs.mojang.com/browse/MC-310076 rel=\"noopener noreferrer\"target=_blank>MC-310076</a> - Mobs sometimes stop just far enough away from the player to be unable to attack them<li><a href=https://bugs.mojang.com/browse/MC-310182 rel=\"noopener noreferrer\"target=_blank>MC-310182</a> - Some descriptive tooltip strings lack a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310184 rel=\"noopener noreferrer\"target=_blank>MC-310184</a> - The <code>commands.bossbar.set.max.unchanged</code> string abbreviates \"maximum\" to \"max\", unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310186 rel=\"noopener noreferrer\"target=_blank>MC-310186</a> - The <code>options.languageWarning</code> string lacks a period, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310187 rel=\"noopener noreferrer\"target=_blank>MC-310187</a> - The <code>commands.bossbar.get.visible.visible</code> string uses \"shown\" instead of \"visible\", unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310188 rel=\"noopener noreferrer\"target=_blank>MC-310188</a> - Some <code>/tag list</code> success strings always pluralize the word \"tags\"<li><a href=https://bugs.mojang.com/browse/MC-310232 rel=\"noopener noreferrer\"target=_blank>MC-310232</a> - Resizing the game window in the Realms players menu misplaces UI elements<li><a href=https://bugs.mojang.com/browse/MC-310233 rel=\"noopener noreferrer\"target=_blank>MC-310233</a> - Some strings that contain percentages have spaces before the percentage sign, unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310236 rel=\"noopener noreferrer\"target=_blank>MC-310236</a> - Some strings use an ampersand instead of the word \"and\", unlike similar strings<li><a href=https://bugs.mojang.com/browse/MC-310289 rel=\"noopener noreferrer\"target=_blank>MC-310289</a> - Entity collisions fully above an entity's hitbox are ignored when stepping up blocks<li><a href=https://bugs.mojang.com/browse/MC-310300 rel=\"noopener noreferrer\"target=_blank>MC-310300</a> - Other windows cannot be displayed on top of the game window even with the \"Exclusive Fullscreen\" option disabled<li><a href=https://bugs.mojang.com/browse/MC-310337 rel=\"noopener noreferrer\"target=_blank>MC-310337</a> - The game log outputs the incorrect minimum format version requiring the <code>pack_format</code> field in <code>pack.mcmeta</code><li><a href=https://bugs.mojang.com/browse/MC-310372 rel=\"noopener noreferrer\"target=_blank>MC-310372</a> - Tripwires depowering breaks cross-chunk block tick processing order<li><a href=https://bugs.mojang.com/browse/MC-310476 rel=\"noopener noreferrer\"target=_blank>MC-310476</a> - Projectiles only collide outright with the world border when underwater<li><a href=https://bugs.mojang.com/browse/MC-310595 rel=\"noopener noreferrer\"target=_blank>MC-310595</a> - The Option key on macOS is displayed as \"Alt\" in the Key Binds screen<li><a href=https://bugs.mojang.com/browse/MC-310676 rel=\"noopener noreferrer\"target=_blank>MC-310676</a> - The <code>savanna_lamp_post_01</code> village structure contains a trailing closing square bracket in the jigsaw block's NBT<li><a href=https://bugs.mojang.com/browse/MC-310684 rel=\"noopener noreferrer\"target=_blank>MC-310684</a> - Camels stop following players holding cacti after relog<li><a href=https://bugs.mojang.com/browse/MC-310787 rel=\"noopener noreferrer\"target=_blank>MC-310787</a> - Villagers do not level up until the trading window is closed for several seconds<li><a href=https://bugs.mojang.com/browse/MC-310939 rel=\"noopener noreferrer\"target=_blank>MC-310939</a> - Interacting with camels with two passengers is preferred over using items<li><a href=https://bugs.mojang.com/browse/MC-310962 rel=\"noopener noreferrer\"target=_blank>MC-310962</a> - The trading UI opens and immediately closes when interacting with a villager whose trades were altered with commands<li><a href=https://bugs.mojang.com/browse/MC-311094 rel=\"noopener noreferrer\"target=_blank>MC-311094</a> - Villager discounts do not apply until the trading window is closed and reopened<li><a href=https://bugs.mojang.com/browse/MC-311113 rel=\"noopener noreferrer\"target=_blank>MC-311113</a> - The game does not hand off focus when clicking links on Wayland<li><a href=https://bugs.mojang.com/browse/MC-311186 rel=\"noopener noreferrer\"target=_blank>MC-311186</a> - The water overlay and fog does not render when the player's head is inside a block underwater<li><a href=https://bugs.mojang.com/browse/MC-311235 rel=\"noopener noreferrer\"target=_blank>MC-311235</a> - Upgrading a world from before 26.1 can cause data from other worlds to get saved inside it<li><a href=https://bugs.mojang.com/browse/MC-311245 rel=\"noopener noreferrer\"target=_blank>MC-311245</a> - Ruined portals can generate replacing End portal frames<li><a href=https://bugs.mojang.com/browse/MC-311271 rel=\"noopener noreferrer\"target=_blank>MC-311271</a> - Some loot context parameters are missing from the <code>generic</code> loot context type<li><a href=https://bugs.mojang.com/browse/MC-311272 rel=\"noopener noreferrer\"target=_blank>MC-311272</a> - The game crashes when referenced loot context parameters are not provided by certain loot tables<li><a href=https://bugs.mojang.com/browse/MC-311323 rel=\"noopener noreferrer\"target=_blank>MC-311323</a> - Locating a structure creates an empty region file for every candidate chunk in ungenerated terrain<li><a href=https://bugs.mojang.com/browse/MC-311414 rel=\"noopener noreferrer\"target=_blank>MC-311414</a> - Players can teleport arbitrary distances by using a desynced carrot on a stick on a pig<li><a href=https://bugs.mojang.com/browse/MC-311419 rel=\"noopener noreferrer\"target=_blank>MC-311419</a> - Breaking a falling block with another one on top causes the top block to briefly become invisible when landing, revealing unlit block particles<li><a href=https://bugs.mojang.com/browse/MC-311453 rel=\"noopener noreferrer\"target=_blank>MC-311453</a> - Particles from feeding flowers to brown mooshrooms cannot be seen by other players<li><a href=https://bugs.mojang.com/browse/MC-311454 rel=\"noopener noreferrer\"target=_blank>MC-311454</a> - Particles from water evaporating in the Nether are not properly displayed<li><a href=https://bugs.mojang.com/browse/MC-311579 rel=\"noopener noreferrer\"target=_blank>MC-311579</a> - The player can see through blocks when inside snow layers<li><a href=https://bugs.mojang.com/browse/MC-311593 rel=\"noopener noreferrer\"target=_blank>MC-311593</a> - Spears' charging animation jitters from another player's perspective when swapping to a spear and charging it in the same tick<li><a href=https://bugs.mojang.com/browse/MC-311722 rel=\"noopener noreferrer\"target=_blank>MC-311722</a> - Pressing Windows+↓ in fullscreen mode incorrectly restores the game window to a borderless windowed state</ul><p><img alt=\"An abandoned camp with a collapsed tent, unlit campfire and some green cushions.\"src=https://launchercontent.mojang.com/v2/images/camp1280x720.jpg>","id":"26-3","date":"2026-09-15T11:23:02.000Z","needsTranslation":false}