{"title":"Minecraft: Bedrock Edition 26.20 Changelog","version":"26.20","patchNoteType":"retail","date":"2026-05-05T15:41:47.683Z","image":{"title":"26.20.jpg","url":"/v2/images/26.20.jpg"},"body":"<p>We've got an exciting release for you today – because alongside chaos and cubes in testing, we have Closed Captions coming in this release! Closed Captions have been a hotly requested feature – and now you can try it out for yourself alongside customisable positioning of the captions, duration, and sounds. Alongside this we've made some sound fixes and tweaks to the baby mobs after our Tiny Takeover drop, some texture and geometry fixes, and more. And don't forget there's plenty to test from our upcoming Chaos Cubed drop – including its hero mob, the sulfur cube, the home of said curious cube, the sulfur caves, plus sulfur springs and potent sulfur! With so much to talk about, we'd better dive in!<h1>Chaos Cubed - Experimental Features</h1><ul><li><strong>Please note:</strong> These features are still in development and may change. The physics for the Sulfur Cube is still a work in progress, and the directional knockback behavior is not fully implemented yet. Please keep sending us your feedback and bug reports!</ul><h2>Sulfur Cubes</h2><ul><li>Sulfur Cubes are a new mob coming to Minecraft with a curious appetite for... blocks! Found in Sulfur caves, this curious mob transforms depending on which block the player feeds it. Experiment and discover how to send Sulfur Cubes bouncing, sliding, and more!<li>When the Sulfur Cube is hit by a Player its knockback is now affected by the attacker's hit angle, position and damage<ul><li>When it is hit on the left it moves to the right and vice versa<li>When it is hit on the top it moves along the ground<li>When it is hit on the bottom it moves higher upwards<li>When it is hit with a greater damage it is knocked back more<li>When the attacker is positioned higher it moves downwards<li>When the attacker is positioned lower it moves upwards</ul></ul><h2>Sulfur Springs</h2><ul><li>Found across the Overworld, you'll know if you've spotted a Sulfur pool thanks to its Sulfur and Cinnabar blocks – and the noxious gas coming from it! But dig beneath these and you'll discover a Sulfur cave, filled with new blocks to mine and a new mob to meet!</ul><h2>Potent Sulfur</h2><ul><li>Potent Sulfur is a new block you can use to create bubbling hot pools! Place potent Sulfur beneath water and you'll soon spy bubble columns, as well as puffs of noxious gas. Build with caution – noxious gas will trigger nausea in players and nearby mobs!</ul><h2>Sulfur Caves</h2><ul><li>Discover this new cave type, with shallow pools of water and glow lichen. Sulfur caves are filled with yellow blocks of Sulfur, red blocks of Cinnabar, and a curious mob called the Sulfur Cube!</ul><h2>New Block Sets</h2><ul><li>You'll find two new block sets in Sulfur caves – Cinnabar and Sulfur! These new blocks allow you to add rich reds and yellows into your builds, and each comes with its own full block set. Cobble them, craft with them, turn them into stairs or bricks – the choice is yours!</ul><h1>Features and Bug Fixes</h1><h2>Accessibility Features</h2><ul><li>Added closed captions with customisable sound, position and duration options<ul><li>To provide feedback on the closed captions feature, please do so over at <a href=https://aka.ms/mcclosedcaptionsfeedback rel=\"noopener noreferrer\"target=_blank>https://aka.ms/mcclosedcaptionsfeedback</a></ul><li>Fixed incorrect UI scales when changing resolution<li>Damage tilt slider now affects rotation of player's hands (<a href=https://bugs.mojang.com/browse/MCPE-229437 rel=\"noopener noreferrer\"target=_blank>MCPE-229437</a>)</ul><h2>Accounts</h2><ul><li>Fixed issue where large values for player profile stats are incorrectly displayed (<a href=https://bugs.mojang.com/browse/MCPE-185186 rel=\"noopener noreferrer\"target=_blank>MCPE-185186</a>)</ul><h2>Achievements</h2><ul><li>Fixed the Time Played stat briefly showing \"-1 hours\" on the Achievements screen while loading (<a href=https://bugs.mojang.com/browse/MCPE-230285 rel=\"noopener noreferrer\"target=_blank>MCPE-230285</a>)</ul><h2>Blocks</h2><ul><li>Grass Blocks can now spawn Tall Grass when bone mealed<li>Tall Seagrass no longer breaks when generated using Bonemeal (<a href=https://bugs.mojang.com/browse/MCPE-112509 rel=\"noopener noreferrer\"target=_blank>MCPE-112509</a>)<li>Bone Meal no longer produces Seagrass's upper half above other plants (<a href=https://bugs.mojang.com/browse/MCPE-224063 rel=\"noopener noreferrer\"target=_blank>MCPE-224063</a>)<li>Fixed issue placing leaves on top of leaves after decay (<a href=https://bugs.mojang.com/browse/MCPE-237327 rel=\"noopener noreferrer\"target=_blank>MCPE-237327</a>)<li>Using Bone Meal on a Moss Block connected to Polished Diorite, Polished Andesite, or Polished Granite no longer replaces them with a Moss Block , (<a href=https://bugs.mojang.com/browse/MCPE-129262 rel=\"noopener noreferrer\"target=_blank>MCPE-129262</a>) (<a href=https://bugs.mojang.com/browse/MCPE-189928 rel=\"noopener noreferrer\"target=_blank>MCPE-189928</a>)<li>Blocks can now only be placed above a Flowerpot when sneaking (<a href=https://bugs.mojang.com/browse/MCPE-237222 rel=\"noopener noreferrer\"target=_blank>MCPE-237222</a>)<li>Fixed interacting with a Jukebox or Composter while holding armor creating a ghost item (<a href=https://bugs.mojang.com/browse/MCPE-227535 rel=\"noopener noreferrer\"target=_blank>MCPE-227535</a>)</ul><h2>Gameplay</h2><ul><li>Fixed knockback effect to behave more like Java edition (<a href=https://bugs.mojang.com/browse/MCPE-190868 rel=\"noopener noreferrer\"target=_blank>MCPE-190868</a>, <a href=https://bugs.mojang.com/browse/MCPE-170242 rel=\"noopener noreferrer\"target=_blank>MCPE-170242</a>)<li>Fixed an issue that caused players camera to rotate while interacting with blocks when using Full Keyboard Mode (<a href=https://bugs.mojang.com/browse/MCPE-235656 rel=\"noopener noreferrer\"target=_blank>MCPE-235656</a>)<li>Fixed mouse camera sensitivity being higher than expected on Windows (<a href=https://bugs.mojang.com/browse/MCPE-235748 rel=\"noopener noreferrer\"target=_blank>MCPE-235748</a>)<li>Fixed a bug to maintain aiming stick capabilities while the small emote screen is visible<li>Fixed a bug where Minecarts on the same track would not properly transfer momentum when colliding with each other<li>Smelting damaged armor now outputs nuggets (<a href=https://bugs.mojang.com/browse/MCPE-237404 rel=\"noopener noreferrer\"target=_blank>MCPE-237404</a>)</ul><h2>General</h2><ul><li>Fall damage visual effects now trigger when the entity hits the ground<li>Fixed most cases where offline multiplayer would load infinitely (<a href=https://bugs.mojang.com/browse/MCPE-173418 rel=\"noopener noreferrer\"target=_blank>MCPE-173418</a>)<li>Fall damage audio effects now trigger when the entity hits the ground<li>Fall damage visual and audio effects for non-player entities are no longer delayed past hitting the ground (MCPE-237211)</ul><h2>Graphical</h2><ul><li><p>Fixed an issue where Spyglass and Carved Pumpkin overlay were not being hidden while taking a screenshot in Vibrant Visuals. (<a href=https://bugs.mojang.com/browse/MCPE-219934 rel=\"noopener noreferrer\"target=_blank>MCPE-219934</a>)<li><p>Fixed a bug where MERS textures were visible on the front of shields with banner patterns in Vibrant Visuals. (<a href=https://bugs.mojang.com/browse/MCPE-235081 rel=\"noopener noreferrer\"target=_blank>MCPE-235081</a>)<li><p>Fixed a bug where emissive, metalness, and roughness values would not be loaded properly when switching to the Ray Traced graphics mode while in a world.<li><p>Added Vibrant Visuals support for all Shelf blocks<li><p>The baby Bees' textures have been updated to match the adult Bees' textures (<a href=https://bugs.mojang.com/browse/MCPE/issues/MCPE-236685 rel=\"noopener noreferrer\"target=_blank>MCPE-236685</a>)<li><p>Fixed an issue where Static Colored Lighting wouldn't propagate in chunks that were completely empty in Vibrant Visuals mode.<li><p>Fixed broken or incorrect textures after loading a world (<a href=https://bugs.mojang.com/browse/MCPE-202009 rel=\"noopener noreferrer\"target=_blank>MCPE-202009</a>)<li><p>Fixed an issue that caused mushrooms on the back of mooshrooms to have incorrect illumination . (<a href=https://bugs.mojang.com/browse/MCPE-225482 rel=\"noopener noreferrer\"target=_blank>MCPE-225482</a>)<li><p>Adding vibrant visual support for the following:<ul><li>Shelf blocks<li>Nautilus Armors<li>Happy Ghast Ropes<li>Music Disc: Lava Chicken<li>Music Disc: Tears</ul><li><p>Updated MERS texture for Baby Lazy Panda (<a href=https://bugs.mojang.com/browse/MCPE-236812 rel=\"noopener noreferrer\"target=_blank>MCPE-236812</a>)<li><p>Fixed a bug where Bows and Crossbows used by players disappear with Texture Streaming enabled (<a href=https://bugs.mojang.com/browse/MCPE-235735 rel=\"noopener noreferrer\"target=_blank>MCPE-235735</a>)<li><p>Fixed an issue where some devices would get artifacts on pixelated shadows in Vibrant Visuals<li><p>Fixed incorrect variation in block lighting during the slime jump animation in Vibrant Visuals<li><p>Fixed an issue causing cobweb blocks to not dither when player camera is nearby. (<a href=https://bugs.mojang.com/browse/MCPE-235972 rel=\"noopener noreferrer\"target=_blank>MCPE-235972</a>)</ul><h2>Input</h2><ul><li>Fixed changing from handheld to docked Joy-Cons preventing input</ul><h2>Items</h2><ul><li>Baby Mobs no longer show green growth particles when being fed while their growth is stopped by a Golden Dandelion<li>The Torch recipe is now unlocked by acquiring a Stick, Coal, Charcoal, or a Pickaxe of any type<li>Golden Dandelion growth particles now emit from above Baby Mobs instead of from inside them</ul><h2>Marketplace</h2><ul><li>Fixed an issue where free trials were incorrectly being advertised for Marketplace Pass and Realms Plus on Nintendo Switch and Nintendo Switch 2 platforms</ul><h2>Mobs</h2><ul><li><p>Added Vibrant Visual support for Nautilus Armors<li><p>Baby Squid hitbox correctly bounds the mob<li><p>Baby Turtle now has swimming animations<li><p>Baby Glow Squid hitbox correctly bounds the mob<li><p>Baby Striders are no longer floating above ground (<a href=https://bugs.mojang.com/browse/MCPE-236393 rel=\"noopener noreferrer\"target=_blank>MCPE-236393</a>)<li><p>Villagers move at correct speed when moving to workstations (<a href=https://bugs.mojang.com/browse/MCPE-236656 rel=\"noopener noreferrer\"target=_blank>MCPE-236656</a>)<li><p>Fixed Baby Zombie Piglin snout texture to be front facing<li><p>Fixed adult Rabbit textures which had a line under their head<li><p>Got rid of extra pixels in Warm Baby Pig texture<li><p>Fixed Baby Hoglin's crest texture so its on both sides<li><p>Updates the Brown Baby Panda texture to be more consistant with the other's<li><p>Got rid of the dark stripe on the back of the Baby Panda's heads<li><p>Fixed underside texture of Baby Goat and Baby Snifflet to be consistant with the adults. Fixed back of Baby Dolphin's head which had inconsistent pixels<li><p>Updated the top of the Chainmail Baby Armor Helmet to match the adult's<li><p>Mobs now correctly bounce after making contact with Slime Blocks and Beds, instead of bouncing mid-air before impact<li><p>Mobs now emit a vibration of frequency 2 when bouncing on Beds and Slime Blocks<li><p>Updated the Snow Fox baby's sleeping texture; eyes are now dark blue to match adult's sleeping texture (<a href=https://bugs.mojang.com/browse/MCPE-236972 rel=\"noopener noreferrer\"target=_blank title=https://bugs.mojang.com/browse/mcpe-236972>MCPE-236972</a>)<li><p>Baby Zombies are no longer levitating when riding baby mobs<li><p>The rabbits' idle animation has been disabled while they are leashed<li><p>The baby Wolves' hind legs are now rotated correctly while sitting<li><p>Fixed a bug where Slime family mobs' bounce animations would snap abruptly<li><p>Baby Camel hitbox size increased to match model geometry (<a href=https://bugs.mojang.com/browse/MCPE-236077 rel=\"noopener noreferrer\"target=_blank>MCPE-236077</a>)<li><p>The baby humanoid Chestplate Armor is now centered on the mob<li><p>Baby Hoglin hitbox size increased to match model geometry<li><p>Baby Zoglin hitbox size increased to match model geometry<li><p>Adjusted the hitboxes for the following mobs, to better match Java:<ul><li>Baby Villager<li>Baby Zombie Villager<li>Baby Zombie<li>Gurgle<li>Baby Husk<li>Baby Piglin<li>Baby Zombie Piglin<li>Baby Squid<li>Baby Glow Squid<li>Baby Fox<li>Adult Chicken</ul><li><p>Librarians no longer offer Name Tags, and instead offer Red Candles or Yellow Candles on Master Level (<a href=https://bugs.mojang.com/browse/MCPE-237281 rel=\"noopener noreferrer\"target=_blank>MCPE-237281</a>)</ul><h2>Party System (Beta)</h2><p>The Party System is now available! Create a party, chat with your friends, and follow the party leader seamlessly from world to world — including into Realms and featured servers.<ul><li><p>Available on Xbox, Windows, PlayStation, and Nintendo Switch. iOS and Android support is coming soon<li><p>Party Text Chat lets you stay connected with your party across worlds — separate from in-game world chat<li><p>The Party System is launching as a Beta as we continue to improve the experience — please give us your feedback at <a href=https://aka.ms/MinecraftPartyFeedback rel=\"noopener noreferrer\"target=_blank>aka.ms/MinecraftPartyFeedback</a></ul><h2>Realms</h2><p>Introducing Realm Hub, your new home base for all things Realms, accessible from the Realms Play screen.<p>Key features:<ul><li>Administrator Role – Realm owners can promote trusted players to help manage the world, members, and settings.<li>Admin Log – Track actions administrators take, for full accountability.<li>Edit World Screen – A redesigned screen for world changes, add-ons, and pack management.<li>Story Feed – A social hub for sharing screenshots and auto-celebrating major Minecraft milestones.<li>Timeline – See who's been playing on your Realm over the last month.<li>Subscription management – view and change your subscription to Minecraft Realms.<li>Note: Some screens like Member management are still to be updated. Stay tuned for more!</ul><p>Other Realms changes:<ul><li><p>Support added to join Realms with a Party.<li><p>Migrated pack management in the Realm edit world screen to OreUI.<li><p>Removed subscriptions tabs from in-game Realms settings<li><p>Fixed an issue where the save world modal would remain active after use.<li><p>Fixed issue where player can be softlocked trying to join a Realm they're not a member of.<li><p>Fixed crash in Realms Stories for high member count Realms</ul><h2>Sounds</h2><ul><li><p>Adult Pigs and Baby Pig now have eating sounds<li><p>Trumpet note block instrument is now added to all Copper variants<li><p>Baby spawn sounds now play with the correct pitch for the following baby mobs:<ul><li>Baby Pig<li>Baby Cat<li>Baby Chicken<li>Baby Horse<li>Baby Wolf</ul><li><p>Fixed placement sound not playing when placing waterloggable blocks in water (<a href=https://bugs.mojang.com/browse/MCPE-236601 rel=\"noopener noreferrer\"target=_blank>MCPE-236601</a>)</ul><h2>User Interface</h2><ul><li>Fixed PS4/5 store logo not appearing after navigating to the sidebar pages<li>Fixed caret movement acting twice and backspace deleting too many characters when using a physical keyboard on iOS<li>Improved how scrollable screen content is displayed in Ore UI menu screens on devices with notches, rounded corners or safe zones applied. Content now smoothly scrolls beneath the safe area instead of being cut off.<li>Furnace recipes will now unlock when you collect the corresponding material. The feature is available under \"Experimental\"<li>Fixed empty space appearing on screens with text input when using a physical keyboard on iOS<li>Fixed several issues with text input on iOS when using a physical keyboard<li>Updated the text on the beta feedback popup. (<a href=https://bugs.mojang.com/browse/MCPE-236391 rel=\"noopener noreferrer\"target=_blank>MCPE-236391</a>)<li>Add missing closed captions for some baby mobs (<a href=https://bugs.mojang.com/browse/MCPE-237205 rel=\"noopener noreferrer\"target=_blank>MCPE-237205</a>)<li>Added two missing strings that are only shown for a brief moment.<li>Fixed a bug where emojis were not rendering at the small text tooltip when selecting an item in the HUD's hotbar<li>Fixed the Delayed Breaking Blocks setting visibility for the \"Joystick &#38 tap to interact\" and \"D-Pad &#38 tap to interact\" control modes of the Touch Tab of the New Settings Screen. (<a href=https://bugs.mojang.com/browse/MCPE-236872 rel=\"noopener noreferrer\"target=_blank>MCPE-236872</a>)</ul><h1>Technical Updates</h1><h2>AI Goals</h2><ul><li>Made the schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer<ul><li><code>minecraft:behavior.hide</code><li><code>minecraft:behavior.mingle</code><li><code>minecraft:behavior.move_to_poi</code><li><code>minecraft:behavior.move_to_village</code><li><code>minecraft:behavior.sleep</code><li><code>minecraft:behavior.stroll_towards_village</code></ul><li>Made the schema for <code>minecraft:behavior.equip_item</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer<li>Made the schema for <code>minecraft:behavior.move_outdoors</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer<li>Made the schema for <code>minecraft:behavior.move_indoors</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer<li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.admire_item</code><li><code>minecraft:behavior.barter</code><li><code>minecraft:behavior.eat_carried_item</code></ul><li>The <code>sound_interval</code> float range field in <code>minecraft:behavior.admire_item</code> now only accepts an object with <code>min</code> and <code>max</code> values. Other formats will fail to parse<li>Made the schema for <code>minecraft:behavior.jump_around_target</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer. Float Range fields <code>valid_distance_to_target</code> and <code>landing_distance_from_target</code> now only accepts an object with <code>min</code> and <code>max</code> values. Other formats will fail to parse<li>Made the schema for <code>minecraft:behavior.jump_to_block</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer. Float Range field <code>cooldown_range</code> now only accepts an object with <code>min</code> and <code>max</code> values. Other formats will fail to parse<li>Made the schema for <code>minecraft:behavior.move_around_target</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer. Float Range field <code>destination_position_range</code> now only accepts an object with <code>min</code> and <code>max</code> values. Other formats will fail to parse<li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.find_cover</code><li><code>minecraft:behavior.find_mount</code><li><code>minecraft:behavior.find_underwater_treasure</code><li><code>minecraft:behavior.flee_sun</code></ul><li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.float</code><li><code>minecraft:behavior.follow_owner</code><li><code>minecraft:behavior.follow_parent</code><li><code>minecraft:behavior.hold_ground</code></ul><li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.hover</code><li><code>minecraft:behavior.lay_down</code><li><code>minecraft:behavior.mount_pathing</code></ul><li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.move_through_village</code><li><code>minecraft:behavior.move_to_random_block</code><li><code>minecraft:behavior.move_towards_target</code></ul><li>Added \"on_pickup_item_start\" and \"on_pickup_item_end\" to \"minecraft:behavior.pickup_items\"<li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.pet_sleep_with_owner</code><li><code>minecraft:behavior.pickup_items</code><li><code>minecraft:behavior.player_ride_tamed</code></ul><li>Made schemas for the following goals stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.20 and newer.<ul><li><code>minecraft:behavior.random_hover</code><li><code>minecraft:behavior.random_sitting</code><li><code>minecraft:behavior.random_stroll</code></ul><li>The <code>hover_height</code> field in <code>minecraft:behavior.random_hover</code> now only accepts an object with <code>min</code> and <code>max</code> values. Other formats will fail to parse<li>Made the schema for <code>minecraft:behavior.go_home</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer<li>Made the schema for <code>minecraft:behavior.go_and_give_items_to_owner</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer<li>Made the schema for <code>minecraft:behavior.go_and_give_items_to_noteblock</code> stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.20 and newer</ul><h2>API</h2><ul><li>Released <code>@minecraft/server</code> version 2.7.0.<li>Added <code>@minecraft/server</code> version 2.8.0-beta.<li>Released <code>AimAssistCategory</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>AimAssistCategorySettings</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>AimAssistPreset</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>AimAssistPresetSettings</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>AimAssistRegistry</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>PlayerAimAssist</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>PlayerAimAssistSettings</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>AimAssistTargetMode</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>World.getAimAssist</code> from <code>beta</code> to <code>v2.6.0</code><li>Released <code>Player.getAimAssist</code> from <code>beta</code> to <code>v2.6.0</code><li>A new field <code>embed_in_surface</code> has been added to the schema of <code>snap_to_surface_feature</code>, which allows specifying whether the snapped feature should be embedded in the located surface. Defaults to <code>false</code><ul><li>Added <code>maximumRenderDistance</code> property to <code>DebugShape</code> .<li>Added <code>maximumRenderDistance</code> property to <code>PrimitiveShape</code> .<li>The default render distance used by <code>DebugShape</code> and <code>PrimitiveShape</code> is now your client's render distance, instead of infinity. If you'd like to match the old behavior, you can set <code>maximumRenderDistance</code> to a very large number (Infinity isn't valid in scripting due to platform differences unfortunately).</ul><li>Added <code>InvalidType</code> and <code>UnsupportedValue</code> to <code>InvalidArgumentErrorType</code> enum in <code>@minecraft/common</code> v1.3.0<li>Added <code>Observable.toJSON</code> to <code>@minecraft/server</code> beta so that observables can be easily be stringified with <code>JSON.stringify</code>.<li>Added the pack name to Error content log lines.<li>Added <code>locale</code> property to <code>ClientSystemInfo</code> that provides the player's selected language (e.g., en_US, fr_FR, ja_JP)<li>Added beta read-only property <code>partyInfo</code> to <code>Player</code> that returns a <code>PartyInfo</code> object (<code>{ partyId: string, isLeader: boolean }</code>) or <code>undefined</code> if the player is not in a party<li>Moved <code>function Entity.addItem</code> from <code>beta</code> to <code>v2.7.0</code><li>Moved <code>class InvalidEntityComponentError</code> from <code>beta</code> to <code>v2.7.0</code></ul><h3>DDUI</h3><ul><li>Made close buttons client authoritative so that forms close more quickly.<li>Added <code>DataDrivenScreenClosedReason</code> to <code>@minecraft/server-ui</code> beta.<li>Replaced <code>MessageBoxResult.wasShown</code> with <code>MessageBoxResult.closeReason</code> which is a <code>DataDrivenScreenClosedReason</code>.<li>Changed return type of <code>CustomForm.show(): Promise&#60boolean></code> to <code>Promise&#60DataDrivenScreenClosedReason></code>.<li>Added <code>FormCloseError</code>, <code>PlayerLeftError</code>, <code>ServerShutdownError</code> to <code>@minecraft/server-ui</code> beta for use with <code>CustomForm</code> and <code>MessageBox</code>.</ul><h2>Audio</h2><ul><li>Fixed an issue where content packs that override entity sound events without defining variants could incorrectly clear the variant key from the base sounds.json, causing content warnings during loading.</ul><h2>Biomes</h2><ul><li>Added <code>minecraft:subsurface_builder</code> field to Biome Json API<ul><li>Sub Surface Builders allow specifying a <code>minecraft:surface_builder</code> to be applied to biomes located underneath the Overworld's terrain surface. Note, however, that pre-existing surface builder types' processing have not been updated to accommodate the ability to specify them for sub-terrain height ranges, which may lead to unexpected results when using them.</ul><li>Added <code>minecraft:noise_gradient</code> sub surface builder type, which places continuous bands of blocks according to a noise distribution. This surface builder's processing has been implemented with sub-terrain height ranges in mind.<ul><li>This surface builder has the following parameters:<ul><li><code>non_replaceable_blocks</code>: a list of blocks that the surface builder is not allowed to replace. Leaving this list empty or unspecified will allow the replacement of any (non-air or non-liquid) block type.<li><code>gradient_blocks</code>: a list of block names that will be sampled according to a Perlin noise distribution. Specifying <code>minecraft:air</code>-blocks is permitted, and will result in the original block not being replaced, meaning it is possible to adjust the density/intensity of block replacement in the biome using this surface builder type.</ul></ul></ul><h2>Blocks</h2><ul><li>Fixed issue causing items with item lock component to be put in decorated pots (<a href=https://bugs.mojang.com/browse/MCPE-184636 rel=\"noopener noreferrer\"target=_blank>MCPE-184636</a>)<li>For <code>format_version</code> >= <strong>1.26.20</strong> the component <code>minecraft:redstone_producer</code> cannot be defined in the <strong>permutations</strong> array without defining it in the base <strong>components</strong> object as well (<a href=https://bugs.mojang.com/browse/MCPE-234647 rel=\"noopener noreferrer\"target=_blank>MCPE-234647</a>)<li>Removed the warning message if the optional property <code>strongly_powered_face</code> of component <code>minecraft:redstone_producer</code> is not defined (<a href=https://bugs.mojang.com/browse/MCPE-234635 rel=\"noopener noreferrer\"target=_blank>MCPE-234635</a>)<li>Custom block with an icon item will now correctly display the icon in setblock command. (<a href=https://bugs.mojang.com/browse/MCPE-235787 rel=\"noopener noreferrer\"target=_blank>MCPE-235787</a>)<li>Fixed <code>\"minecraft:placement_filter\"</code> for blocks with trait <code>minecraft:multi_block</code><li>If no value is given for the \"texture\" field in \"minecraft:destruction_particles\", the \"down\" or \"*\" texture will be used from \"minecraft:material_instances\" instead of the dirt texture. (<a href=https://bugs.mojang.com/browse/MCPE-234708 rel=\"noopener noreferrer\"target=_blank>MCPE-234708</a>)<li>Fixed custom blocks with the 'minecraft:tick' component ticking more than expected when placed via a structure (<a href=https://bugs.mojang.com/browse/MCPE-236362 rel=\"noopener noreferrer\"target=_blank>MCPE-236362</a>)<li>Fixed minecraft:block_placer component's replace_block_item property. The block will now properly use the overridden block item. (<a href=https://bugs.mojang.com/browse/MCPE-236314 rel=\"noopener noreferrer\"target=_blank>MCPE-236314</a>)<li>Fixed y-offset for 'flower_pottable' blocks in flower pots to match vanilla for versions <code>1.26.20+</code> (<a href=https://bugs.mojang.com/browse/MCPE-234585 rel=\"noopener noreferrer\"target=_blank>MCPE-234585</a>)<li>We are fully enabling the block schema parsing update that was tested during <code>1.26.10</code> previews. These changes will be shipping as part of <code>1.26.20</code> and start with this first preview.<li>The custom block json api has the following changes that will affect loading of block json with format version <code>1.26.20</code> and up.<ul><li><strong>General</strong><ul><li>Namespace constraints have been tweaked but everything permitted before should still be valid.<ul><li>This can affect the identifiers used for the block, states and menu category groups.</ul></ul><li><strong>Block Traits</strong><ul><li>\"<code>placement_direction</code>\" trait, validation change: The rotation offset does not accept a 0.5 tolerance anymore.<ul><li>Input value must be a multiple of 90.0<li>The value must be in the range 0.0 to 360.0 inclusive.</ul><li>\"<code>blocks_to_corner_with</code>\" now requires \"<code>minecraft:corner_and_cardinal_direction</code>\" to be one of the \"<code>enabled_states</code>\" for the \"<code>placement_direction</code>\" trait.</ul><li><strong>Category</strong><ul><li>\"<code>menu_category</code>\", validation change: An empty \"<code>group</code>\" value is not allowed.<li>The \"<code>group</code>\" field can either exist with a non-empty value or not exist at all.<li>\"<code>category</code>\" is now a required field, when using \"<code>menu_category</code>\". This is strictly enforced now.</ul><li><strong>Components</strong><ul><li>\"<code>minecraft:flower_pottable</code>\", validation change: It is restricted outside of root components object.<li>\"<code>minecraft:geometry</code>\", validation change: The constraint on \"<code>culling_shape</code>\" identifier is strictly enforced now.<ul><li>When using the minecraft namespace, the only currently available culling shape identifiers are : \"<code>minecraft:empty</code>\" or \"<code>minecraft:unit_cube</code>\".<li>When using no namespaces or a custom one, the names must start and end with an alpha-numeric character.</ul><li>\"<code>minecraft:light_dampening</code>\" and \"<code>minecraft:light_emission</code>\", validation change: They now strictly enforce the value to be between 0 and 15 inclusive.<li>There is a breaking change to how tags are defined.<ul><li>As of version <code>1.26.20</code>, tags cannot freely live as top level entities in the components array.<li>They must live inside the \"<code>minecraft:tags</code>\" component, which accepts an array of tags of the format :<ul><li>\"<code>minecraft:tags</code>\": <code>[\"minecraft:crop\", \"custom:custom_tag\"]</code>.</ul><li>The values must have the format \"<code>&#60namespace>:&#60tag_name></code>\".<li>They no longer need to be prefixed with <code>tag:</code></ul></ul></ul><li>The pick-block action will now give the desired item in a flowerpot when the \"minecraft:block_placer\" component is defined with \"replace_block_item\" set to true (<a href=https://bugs.mojang.com/browse/MCPE-234586 rel=\"noopener noreferrer\"target=_blank>MCPE-234586</a>)<li>Fix validation of large geometries that are scaled down with a transformation component (<a href=https://bugs.mojang.com/browse/MCPE-236317 rel=\"noopener noreferrer\"target=_blank>MCPE-236317</a>)<li>Custom blocks will no longer have darker shade when occluded by a small set of vanilla blocks like the minecraft:kelp. (<a href=https://bugs.mojang.com/browse/MCPE-236304 rel=\"noopener noreferrer\"target=_blank>MCPE-236304</a>)<li>Blocks that use the \"flower_pottable\" component without the \"geometry\" and \"minecraft:material_instances\" components will now generate a content error (<a href=https://bugs.mojang.com/browse/MCPE-234599 rel=\"noopener noreferrer\"target=_blank>MCPE-234599</a>)<li>Blocks with a missing menu_category will correctly be accepted again instead of giving the error: \"Menu Category should not have an empty value\"<li>Fixed custom components not parsing with modern block definition loader (<a href=https://bugs.mojang.com/browse/MCPE-13541 rel=\"noopener noreferrer\"target=_blank>MCPE-13541</a>)<li><code>minecraft:material_instances</code>, validation change: <code>ambient_occlusion</code> does not accept booleans as valid input. It must be a float between 0.0 - 10.0 inclusive. It defaults to 1.0 if not provided.<li>Fixed content warning regarding texture variations for block components <code>minecraft:item_visual</code> and <code>minecraft:embedded_visual</code><li>Added content warning for component <code>minecraft:item_visual</code> trying to use texture variations. Variation textures are not supported for this component<li>The \"minecraft:selection_box\" component will correctly give an error again when the y is over the 16 limit<li>Fixed legacy <code>tag:</code> entries in block permutations being silently dropped when upgrading to format version 1.26.20, which could cause scripts relying on permutation-specific tags to fail<li>Items with \"replace_block_item\" set to true will no longer take the planted block in a flowerpot (<a href=https://bugs.mojang.com/browse/MCPE-237222 rel=\"noopener noreferrer\"target=_blank>MCPE-237222</a>)</ul><h2>Block Components</h2><ul><li>Released the component <code>minecraft:chest_obstruction</code> from experimental for block format versions 1.26.20 or higher.</ul><h2>Commands</h2><ul><li>Fixed issue where player could still auto-jump after using the /inputPermissions command to disable jumping (<a href=https://bugs.mojang.com/browse/MCPE-235573 rel=\"noopener noreferrer\"target=_blank>MCPE-235573</a>)<li><code>/loot</code> failing no longer stops the rest of an <code>/execute</code> command from continuing (<a href=https://bugs.mojang.com/browse/MCPE-185887 rel=\"noopener noreferrer\"target=_blank>MCPE-185887</a>)</ul><h2>Components</h2><ul><li>Fixed issue with mob projectile accuracy going negative on higher difficulty settings<li>Fixed bug in \"minecraft:interact\" where combining \"drop_item_slot\" and \"equip_item_slot\" would not equip the given item<li>The \"minecraft:damage_sensor\" component's \"deals_damage\" field now supports an additional value:<ul><li>\"no_but_entity_effects_apply\":<ul><li>Damage is not applied to the entity<li>Knockback and enchantments are applied<li>The attacker's weapon is used as normal<li>The entity does not flash red</ul></ul><li>Descriptions for custom blocks with <code>minecraft:display_name</code> now return correct values (<a href=https://bugs.mojang.com/browse/MCPE-236308 rel=\"noopener noreferrer\"target=_blank>MCPE-236308</a>)</ul><h2>Editor</h2><ul><li><p>Fixed a bug in Terrain Flatten mode where adjusting the brush height made the brush harder to use<li><p>Changed default X and Z axis mirror keybindings for Paste Preview to use SHIFT + CTRL modifiers<li><p>Changed default axis lock keybinding for Ruler tool to use SHIFT + CTRL modifiers<li><p>Added unbound keybindings for core panels<li><p>Fixed a bug where can't undo/redo the operations of deselect and replace blocks from manifest table in Marquee and Freehand mode.<li><p>Fixed Vector3 Timeline bug to avoid time values beyond neighboring nodes' time bounds in the edit popup<li><p>Added optional drag and drop support for <code>ICollectionTreePropertyItem</code> API entries<li><p>Added <code>location</code> to <code>IRootPropertyPaneOptions</code> to display root panes over the viewport instead of within a drawer<li><p>Added view control pane API support for <code>ICollectionTreePropertyItem</code><li><p>The Local Lights and Shadow configurations in the Vibrant Visuals pane no longer has a non functioning plus button and is disabled<li><p>Toast notifications are grouped when multiple errors are triggered rapidly.<li><p>Disabled left mouse button paste in Paste Preview when Keyboard-only cursor mode is active<li><p>Added the Primitives tool to the Editor tool rail<li><p>Fixed Paste Preview appearing at an unpredictable position when entering Keys Only cursor mode from the dropdown, T key, or tool activation while Keys Only is already selected. The preview now appears at the block the player is looking at, or 32 blocks in front of the camera if no block is in view.<li><p>Implemented auto-save for structure detail setting and removed Save button and Save menu from structure detail pane<li><p>The Vibrant Visuals generate resource pack button now exports any edited configurations to a resource pack with a folder link provided<li><p>Updated outdated tooltip for 2-point select checkbox in Selection Tool<li><p>Updated how incomplete 3-point select volumes are handled by Selection Tool<ul><li>Switching between tools now clears the incomplete 3-point select volume<li>Deselect (Ctrl+D) correctly clears the incomplete 3-point select volume and no longer logs an error<li>Fill (Ctrl+F) correctly ignores the incomplete 3-point select volume and no longer logs an error</ul><li><p>Fixed label values for the 'Deselect' and 'Delete Instance' shortcuts for the layout instance editor.<li><p>Fixed tooltips for the mode selectors for the layout instance editor.<li><p>Fixed issue in 3-point selection mode where single-clicking to create a volume didn't finalize it, preventing further actions on it.<li><p>Fixed a bug that caused the Test World panel to not open when the menu item was clicked<li><p>Added Ignore Air Blocks toggle to Paste Preview, allowing air blocks in the clipboard to be excluded from the paste operation<li><p>Ensure proper offsets are applied when switching flatten modes in the Terrain Tool<li><p>Fixed issue where Flatten Up was sampling too far into the ground<li><p>Fixed an error that occurred when running the /reload command from tool mode chat shortcut<li><p>Fixed Jigsaw Collection names allowing case-variant duplicates which caused file conflicts and potential data loss on case-insensitive file systems</ul><h2>Entity Components</h2><ul><li>The behavior of the <code>minecraft:friction_modifier</code> component now matches its description<ul><li>The higher its value, the more friction affects an entity:<ul><li>0.0 means no friction<li>1.0 means regular friction<li>2.0 means double friction</ul><li>The component now affects ground friction only, and no longer partially affects air or liquid drag<li>The legacy incorrect behavior can be re-enabled by adding the <code>minecraft:uses_legacy_friction</code> component<ul><li>This component is automatically added to all entities with a format version lower than 1.26.20, to ensure their behavior stays unaltered</ul><li>The component now properly works on players, and on other client-predicted entities</ul><li>Added the <code>minecraft:uses_uniform_air_drag</code> component<ul><li>When present, air drag is applied uniformly on both the vertical and horizontal axes, instead of being biased toward horizontal movement</ul><li>Added the \"minecraft:on_equipment_changed\" component, which allows executing entitiy events when items are equipped or unequipped in specific equipment slots<ul><li>Contains a \"slots\" field with a list of entries, each with:<ul><li>\"slot\", the equipment slot to monitor<li>\"on_equip\", event to fire when a non-empty item is placed in the slot<li>\"on_unequip\", event to fire when the slot is cleared</ul><li>When equipment changes, the first matching slot entry is used<li>Does not apply to \"minecraft:inventory\" slots, use \"minecraft:equippable\" instead</ul><li>Add <code>minecraft:spawn_on_death</code> Component for spawning entities when an entity perishes.<ul><li><code>entity_to_spawn</code> (optional) What entity to spawn, defaults to owning entity when not set<li><code>spawn_method</code> (optional) Spawn method. born, spawned, or summoned, defaults to spawned when not set<li><code>spawn_amount</code> (optional) How many entities to spawn, defaults to 1 when not set<li><code>inherit_parent_name</code> (optional) If true, the entity will inherit the name of the parent entity, defaults to true when not set<li><code>additional_spawn_range</code> (optional) Additional random range of entities to spawn, defaults to 0, 0 when not set</ul><li>Fixed a bug where removing the movement controller from an entity entirely did not reset the input velocity given by the controller<ul><li>This would cause entities to keep sliding in the given direction until friction bled the velocity off, even if the entity hit a wall</ul><li>Fixed a bug that caused the \"minecraft:behavior.delayed_attack\" AI behavior to sometimes fail to exit after killing a target<li>Added the <code>minecraft:bounciness</code> component, which controls how an entity bounces when colliding with surfaces<ul><li>Contains a single field, <code>value</code>, defining the bounce strength:<ul><li>0 results in no bounce<li>1 results in a perfectly elastic collision with full energy preservation</ul><li>If the component is not present, bounciness defaults to 0<li>Only available if the entity's <code>format_version</code> is set to <code>beta</code></ul><li>Added the \"minecraft:apply_knockback_rules\" component which controls how an entity applies knockback to a target<ul><li>\"horizontal_power\" defines how much the target is hit backwards<li>Defaults to 1.0 if not defined<li>\"vertical_power\" defines how much the target is hit upwards<li>Defaults to 0.4 if not defined<li>\"vertical_velocity_cap\" defines the target's maximum vertical upwards velocity after the target's knockback rules have been evaluated<li>Defaults to 0.4 if not defined<li>\"check_if_target_is_immersed_in_water\" defines whether the target should be fully immersed in water for the knockback rules to apply<li>Defaults to false if not defined</ul><li>Not defining this component results in default knockback behavior<li>Added the <code>minecraft:air_drag_modifier</code> component<ul><li>The higher its value, the more air drag affects an entity:<ul><li>0.0 means no air drag<li>1.0 means regular air drag<li>2.0 means double air drag</ul><li>Only available if the entity's <code>format_version</code> is set to <code>beta</code></ul><li>The <code>minecraft:knockback_resistance</code> component now accepts negative values down to a minimum of -2, resulting in knockback being increased instead of being diminished<li>Non-Ocelot and non-Cat mobs can now use \"minecraft:behavior.ocelotattack\" (<a href=https://bugs.mojang.com/browse/MCPE-237713 rel=\"noopener noreferrer\"target=_blank>MCPE-237713</a>)<li>The component \"minecraft:apply_knockback_rules\" now takes an array of presets<ul><li>\"presets\" is an array of elements with the same parameters as \"minecraft:apply_knockback_rules\" had previously</ul><li>The preset elements have the following new field:<ul><li>\"filter\" is an actor filter with the default syntax</ul><li>Add <code>filters</code> parameter to <code>minecraft:spawn_on_death</code>.</ul><h2>Entity Filters</h2><ul><li>Added \"has_same_equipment_in_slot_as\" entity filter</ul><h2>Features</h2><ul><li>Added a boolean \"rotate_around_center\" field to the \"minecraft:structure_template_feature\" feature<ul><li>When set to \"true\", it rotates the structure around its center when placing it in the world<li>Defaults to \"false\" if omitted</ul><li>: refactor <code>minecraft:behavior.follow_target_captain</code> to <code>minecraft:behavior.follow_target_leader</code>. The following fields have been added to the behavior:<ul><li><code>always_look_for_leader</code> (default: false) If true, the mob will always search for a valid leader to follow if none is found or current leader is not valid anymore<li><code>leader_filters</code> (required) The filters to use when determining if a mob is a suitable leader or not.<li><code>search_cooldown</code> (default: 20) Number of ticks that must pass before a new search is initiated after a target is not found, lost, or becomes invalid.</ul></ul><h2>General</h2><ul><li>Upgraded particles, trading, and cameras JSON resources to Cereal slice 1.26.10 and re-serialized to align with the updated schema.<li>Updated new features in structure pools to include data driven features</ul><h2>Graphical</h2><ul><li>Added <code>static_light</code> shading to weather<li>Fixed an issue that prevented per-biome directional light orbital offset provided by resource packs from being applied in Vibrant Visuals. Such offset can be provided through the field \"orbital_offset_degrees\" in lighting configuration files.<li>Added new version of atmospheric scattering config.<ul><li>New format version is 1.26.20<li>Fields \"minecraft:atmosphere_settings\" and \"minecraft:atmosphere_settings/description\" are now required</ul><li>Changed means of accessing Atmospherics Graphics Overrides to be accessed through getBiomeAtmospherics</ul><h2>Items</h2><ul><li>Items that have their \"item_lock\" mode set to either \"lock_in_inventory\" or \"lock_in_slot\" can no longer be placed in shelf blocks (<a href=https://bugs.mojang.com/browse/MCPE-230341 rel=\"noopener noreferrer\"target=_blank>MCPE-230341</a>)<li>Added new version for the water configuration JSON file.<ul><li>new format version is \"1.26.20\".<li>fields \"minecraft:water_settings\" and \"minecraft:water_settings/description\" are now required.</ul><li>Fixed pickblock overriding items in hotbar with item_lock (<a href=https://bugs.mojang.com/browse/MCPE-152556 rel=\"noopener noreferrer\"target=_blank>MCPE-152556</a>)<li>New 1.26.10 attachablmes now use a new 'controller.render.armor.v2' render_controller rather than using an updated 'controller.render.armor'. Fixes some creator content's custom armor not rendering properly<li>Fixed furnace recipe categorization so custom items using <code>minecraft:block_placer</code> with <code>replace_block_item</code> are correctly treated as block recipes. (<a href=https://bugs.mojang.com/browse/MCPE-236444 rel=\"noopener noreferrer\"target=_blank>MCPE-236444</a>)<li>Added tags for Sulfur Cube to make use of for physics determination and absorbing<ul><li>\"minecraft:sulfur_cube_archetype_bouncy\"<li>\"minecraft:sulfur_cube_archetype_regular\"<li>\"minecraft:sulfur_cube_archetype_slow_flat\"<li>\"minecraft:sulfur_cube_archetype_fast_flat\"<li>\"minecraft:sulfur_cube_archetype_light\"<li>\"minecraft:sulfur_cube_archetype_fast_sliding\"<li>\"minecraft:sulfur_cube_archetype_slow_sliding\"<li>\"minecraft:sulfur_cube_archetype_sticky\"<li>\"minecraft:sulfur_cube_archetype_high_resistance\"</ul></ul><h2>Mobs</h2><ul><li>Fixed a bug where the summon_cap for custom entities was ignored (<a href=https://bugs.mojang.com/browse/MCPE-153307 rel=\"noopener noreferrer\"target=_blank>MCPE-153307</a>)<li>Fixed actor textures not loading properly when applying packs with older min engine version<li>Fixed player friction not resetting for older content</ul><h2>Network Protocol</h2><ul><li><p>Modified the binary format of PlayerEnchantOptionsPacket<li><p>Packet <code>UpdateClientOptionsPacket</code>, added bool <code>Filter Profanity Change</code>.</ul><h2>Scripting</h2><ul><li>Values returned by <code>localizationKey</code> on <code>Block</code>, <code>BlockPermutation</code>, and <code>BlockType</code> will now correctly respect <code>minecraft:display_name</code> keys for custom blocks.(<a href=https://bugs.mojang.com/browse/MCPE-235802 rel=\"noopener noreferrer\"target=_blank>MCPE-235802</a>)<li>Added <code>CustomTexture</code> type to beta<ul><li><code>textureBoundsList</code> in the <code>WaypointTextureSelector</code> now has the option of passing in a <code>CustomTexture</code> with a specified path, height, and width</ul></ul><h2>Stability and Performance</h2><ul><li><p>Fixed crash loading level with incomplete explorer map (<a href=https://bugs.mojang.com/browse/MCPE-226793 rel=\"noopener noreferrer\"target=_blank>MCPE-226793</a>)<li><p>Improved sign-in speed on most platforms by triggering authentication earlier during game startup<li><p>Fixed a crash that could occur when loading the Token FAQ page on PlayStation<li><p>Fixed crash that could occur when logging Molang content<li><p>Fixed realms region bindings crash when indexing out of bounds region data<li><p>Fixed a crash that can occur when prompted about extra Joy-Con controllers that are connected<li><p>Fixed a crash that may occur when suspending title while \"Syncing user data\" UI is displayed<li><p>Fixed crashing issue when exiting Realms plan picker screen before it finishes loading.<li><p>Syncing of Xbox world data now occurs when specific world is selected.</ul><h2>User Interface</h2><ul><li>Fixed a bug where entering custom settings of a behavior pack screen disables the pack.<li>Fixed an issue causing the HUD to fail to load after disabling Screen Animations in-game, sometimes causing a soft-lock issue (<a href=https://bugs.mojang.com/browse/MCPE-236881 rel=\"noopener noreferrer\"target=_blank>MCPE-236881</a>)</ul><h2>World Generation</h2><ul><li>Can now use <code>minecraft:feature_pool_element</code> in Jigsaw Structure Template Pools in order to place Features<li><code>feature</code>s can now connect to a Jigsaw Block with any Target Name, rather than only <code>minecraft:bottom</code></ul><h1>Experimental Technical Updates</h1><h2>Add-Ons</h2><ul><li>Added experimental toggle \"Custom Projectiles\" which enables improvements around custom projectiles in add-ons without the use of runtime identifiers<ul><li>Adds <code>isolated_physics</code> property to <code>minecraft:projectile</code> component for easier trajectory control<li><code>fire_at_target</code> goal now applies projectile offsets relative to entity rotation<li>Custom projectiles now:<ul><li>can be reflected<li>update their owner upon launch and reflection<li>no longer collide with their owner on launch<li>apply their offsets on launch<li>remain at their point of impact when using <code>stick_in_ground</code></ul></ul></ul><h2>API</h2><ul><li><p>Adjusted <code>GameTest</code> to no longer run call backs from methods such as <code>succeedWhen</code> and <code>failIf</code> after the test has already completed.<li><p>Changed <code>color</code> property of <code>DebugShape</code> (in @minecraft/debug-utilities) from <code>RGB</code> to <code>RGBA</code>.<li><p>Added <code>depthTest</code> property to <code>DebugText</code> (in @minecraft/debug-utilities).<li><p>Added <code>backgroundColorOverride</code> property to <code>DebugText</code> (in @minecraft/debug-utilities).<li><p>Added <code>useRotation</code> property to <code>DebugText</code> (in @minecraft/debug-utilities).<li><p>Added <code>kickPlayer()</code> to the <code>@minecraft/server-admin</code> module in beta<li><p>Added new tech to support 3D world text objects and rendering to <code>@minecraft/server</code>.<ul><li>Added new beta <code>PrimitiveShapesManager</code> class used to add and remove text primitives to the world.<li>Added new beta <code>PrimitiveShape</code> base class used to repesent 3D shape objects in the world.<li>Added new beta <code>TextPrimitive</code> class used to render 3D text shape objects in the world.<li>Added new beta <code>primitiveShapesManager</code> property to <code>World</code>.</ul><li><p>Added localization support to <code>DebugText</code>.<ul><li><code>DebugText</code> constructor changed allow using either <code>RawMessage</code> or string for the text paramter.<li><code>DebugText.text</code> changed to be a readonly property.<li><code>DebugText.setText</code> method added which allows using either <code>RawMessage</code> or string.<li><code>DebugText.rawText</code> readonly property added to get the text if <code>RawMessage</code> is used via <code>setText</code>.</ul><li><p>Changes to error types in @minecraft/server-net in beta<ul><li>HttpRequestBodyTooLargeError has been renamed to RequestBodyTooLargeError<li>HttpRequestNotAllowedError has been renamed to UriNotAllowedError<li>HttpsOnlyError has been renamed to TLSOnlyError<li>MalformedHttpRequestError has been renamed to MalformedUriError</ul><li><p>@minecraft/server-net configuration module permissions parameter 'force_https' has been renamed to 'force_tls'<li><p>Added <code>interface ContainerAccessSource</code> to <code>beta</code><li><p>Added <code>interface ContainerAccessSourceFilter</code> to <code>beta</code><li><p>Added <code>class EntityContainerClosedAfterEvent</code> to <code>beta</code><li><p>Added <code>class EntityContainerClosedAfterEventSignal</code> to <code>beta</code><li><p>Added <code>class EntityContainerOpenedAfterEvent</code> to <code>beta</code><li><p>Added <code>class EntityContainerOpenedAfterEventSignal</code> to <code>beta</code><li><p>Added <code>interface EntityContainerAccessEventOptions</code> to <code>beta</code><li><p>Added <code>class BlockContainerClosedAfterEvent</code> to <code>beta</code><li><p>Added <code>class BlockContainerClosedAfterEventSignal</code> to <code>beta</code><li><p>Added <code>class BlockContainerOpenedAfterEvent</code> to <code>beta</code><li><p>Added <code>class BlockContainerOpenedAfterEventSignal</code> to <code>beta</code><li><p>Added <code>interface BlockContainerAccessEventOptions</code> to <code>beta</code><li><p>Added <code>StructureManager.getPackStructureIds</code> to <code>beta</code>.<li><p>Added <code>EntityEnderInventoryComponent</code> for accessing a player's EnderChest container contents to <code>beta</code><li><p>Added <code>opPlayer</code> and <code>deopPlayer</code> functions to <code>@minecraft/server-admin</code> in beta<li><p>Added <code>allowCheats</code> boolean property to the <code>World</code> class in <code>@minecraft/server</code> in beta<li><p>Added WebSocket clients to <code>@minecraft/server-net</code> in beta<ul><li><code>WebSocket</code> class added which is used to create and connect websocket clients. This is created as the global <code>websocket</code> object in <code>@minecraft/server-net</code><li><code>WebSocketClient</code> class added to interact with the websocket and receive data from the server through events</ul><li><p>Moving <code>BiomeTypes.getAll</code> to <code>2.7.0</code> in <code>@minecraft/server</code><li><p>Moving <code>BiomeTypes.get</code> to <code>2.7.0</code> in <code>@minecraft/server</code><li><p>Moving <code>BiomeType.hasTags</code> to <code>2.7.0</code> in <code>@minecraft/server</code><li><p>Moving <code>BiomeType.getTags</code> to <code>2.7.0</code> in <code>@minecraft/server</code><li><p>Added two functions to <code>DedicatedServerUtils</code> of <code>@minecraft/server-admin</code> in beta<ul><li>Added <code>reloadScriptingConfig()</code> to reload scripting configuration files from disk<li>Added <code>reloadPermissions()</code> to reload the server permissions file from disk<li>Added <code>reloadCDNConfig()</code> to reload cdn configuration files from disk</ul><li><p>Added <code>backfaceVisible</code> property to <code>DebugText</code> in the <code>@minecraft/debug-utilities</code> module. .<li><p>Added <code>backfaceVisible</code> property to <code>TextPrimitive</code> in the <code>@minecraft/server</code> module. .<li><p>Added <code>textBackfaceVisible</code> property to <code>DebugText</code> in the <code>@minecraft/debug-utilities</code> module. .<li><p>Added <code>textBackfaceVisible</code> property to <code>TextPrimitive</code> in the <code>@minecraft/server</code> module. .<li><p>Added new property <code>maxShapes</code> to <code>PrimitiveShapesManager</code>.<li><p>Changed the maximum number of <code>PrimitiveShape</code> objects to 1000.<li><p>Changed the maximum length of the <code>text</code> param of <code>setText</code> on <code>TextPrimitive</code>, to 128.<li><p>Changed the min and max scale value of <code>PrimitiveShape</code> objects to -1000 and 1000 respectively.<li><p>Added <code>Dimension.spawnXp</code> method to spawn experience orbs at a specified location in <code>@minecraft/server</code><li><p>Fixed a bug when <code>attachedTo</code> on a <code>ShapePrimitive</code> or <code>DebugShape</code> wouldn't update if the attached entity was unloaded and reloaded.<li><p>Fixed a bug where <code>DebugText</code> in <code>minecraft@debug-utilities</code> could be invisible.<li><p>Added <code>maximumRenderDistance</code> to <code>DebugShape</code> in <code>minecraft@debug-utilities</code> could be invisible.<li><p>Added Script Entity property <code>nameplateDepthTested</code> to <code>beta</code><li><p>Added Script Entity property <code>nameplateRenderDistance</code> to <code>beta</code><li><p>Added <code>EntityHealCause.TotemOfUndying</code> to <code>beta</code><li><p>Added <code>minecraft:totem_of_undying</code> support to entity heal before/after events<li><p>Added <code>Player.chatNamePrefix</code> to <code>beta</code> - an optional string prepended to the player's name in chat messages<li><p>Added <code>Player.chatNameSuffix</code> to <code>beta</code> - an optional string appended to the player's name in chat messages<li><p>Added <code>Player.chatDisplayName</code> to <code>beta</code> - a read-only property returning the composed chat name (chatNamePrefix + name + chatNameSuffix)<li><p>Added <code>Player.chatMessagePrefix</code> to <code>beta</code> - an optional string prepended to the text of the player's chat messages, useful for applying color/formatting codes<li><p>Added <code>BlockComponentBlockStateChangeEvent</code> to <code>beta</code>. Custom Block components can subscribe to <code>onBlockStateChange</code>.<li><p>Added beta Boolean property <code>firstUpdate</code> to <code>BlockComponentRedstoneUpdateEvent</code><li><p>Fixed a bug where in-flight http requests could freeze the game when the http client is destroyed in scripting.<li><p>Changed the maximum length of the <code>text</code> param of <code>setText</code> on <code>TextPrimitive</code>, to be 128 lines and 128 characters per line.<li><p>Fixed issue that caused websockets to not complete their connection with the server<li><p>Fixing a bug with Debug Drawing and Primitive Shapes where they could get into a bad state when used with Simulated Players.<li><p>Class <code>DimensionRegistry</code>.<ul><li>Added method <code>registerCustomDimension</code> to allow registrations of new custom dimensions in beta.</ul><li><p>Startup event<ul><li>Added the ability to register custom dimensions during the before startup event.</ul></ul><h3>Data Driven UI</h3><ul><li>Added support for localization for dropdown items.<li>Changed interface <code>DropdownItem</code><ul><li>Changed type for <code>description</code> from <code>string</code> to <code>UIRawMessage | string</code><ul><li>New Signature: <code>description?: UIRawMessage | string</code><li>Old Signature: <code>description?: string</code></ul><li>Changed type for <code>label</code> from <code>string</code> to <code>UIRawMessage | string</code><ul><li>New Signature: <code>label: UIRawMessage | string</code><li>Old Signature: <code>label: string</code></ul></ul><li>Fixed issue where text input areas are covered by the virtual keyboard at some platforms like Android.<li>Fix for players getting stuck when DDUI screen is open and server crashes.<li>Fixed buttons getting clipped when in a focused state.<li>Fixed an issue where showing forms (CustomForm or MessageBox) back to back resulted in the second form not showing<li>Class Observable.<ul><li>Added method <code>getFilteredText</code>. Gets filtered data from the Observable (only available for strings). -<code>getFilteredText(this: Observable&#60T &#38 string>, player: Player): Promise&#60string | TextFilteringError>;</code></ul><li>Added enum <code>TextFilteringError</code>. An enum representing the errors that can occur during text filtering. This is used at Observable.getFilteredText to provide more context about the filtering process.<li>Adding support for multiline texts for <code>MessageBox.body</code>, <code>CustomForm.label</code>, <code>CustomForm.header</code> using <code>\\n</code>.</ul><h2>Blocks</h2><ul><li>Added snow_log_no_collision behavior to precipitation_behavior in minecraft:precipitation_interactions component. This behavior will allow creators to specify whether snow should cover their custom block or not.<li>Fixed trait <code>minecraft:multi_block</code> not loading properly with modern block definition loader</ul><h3>Voxel Shapes</h3><ul><li>Added non-unit-cube voxel shapes for 70 Vanilla blocks when the Voxel Shapes experiment is enabled. These shapes improve face culling so that hidden faces between adjacent blocks are correctly removed.<ul><li>Slab shapes (62 blocks)<li>Other shapes (8 blocks): Calibrated Sculk Sensor, End Portal Frame, Powered Comparator, Powered Repeater, Snow Layer, Stonecutter, Unpowered Comparator, Unpowered Repeater</ul><li>Fixed Vanilla slab face culling so that the top face of a block directly above or below a slab is now correctly culled against the slab's shape<ul><li>Fixed <code>minecraft:replaceable</code> to work with all parts of a <strong>multi-block</strong>. Also the component can no longer be defined in the <strong>permutations</strong> array, only allowed in the base <strong>components</strong> object</ul><li>Fixed selection outline for <strong>multi-blocks</strong> using <code>minecraft:random_offset</code>. Also for <strong>multi-blocks</strong> <code>minecraft:random_offset</code> can no longer be defined in the <strong>permutations</strong> array only in the base <strong>components</strong> object (<a href=https://bugs.mojang.com/browse/MCPE-237071 rel=\"noopener noreferrer\"target=_blank>MCPE-237071</a>)<li>Fix <code>minecraft:placement_filter</code> not working for block with trait <code>minecraft:multi_block</code> (<a href=https://bugs.mojang.com/browse/MCPE-237498 rel=\"noopener noreferrer\"target=_blank>MCPE-237498</a>)<li>Multi-blocks that don't have a <code>minecraft:selection_box</code> component will now default to a full block outline shape for each part (<a href=https://bugs.mojang.com/browse/MCPE-237089 rel=\"noopener noreferrer\"target=_blank>MCPE-237089</a>)<li>Added non-unit-cube voxel shapes for 19 Vanilla blocks when the Voxel Shapes experiment is enabled. These shapes improve face culling so that hidden faces between adjacent blocks are correctly removed<ul><li>Cake shapes (1 block): 7 bite-counter shapes for each slice of cake<li>Candle Cake shape (17 blocks)<li>Composter shapes (1 block): 8 fill-level shapes for each stage of composting</ul></ul><h2>Entities</h2><ul><li>Added a new <code>entity_version</code> description field to entity behavior definitions that enables per-entity versioning and upgrade handling<ul><li>The <code>entity_version</code> field is a JSON object containing an <code>upgrades</code> array, where each entry specifies an integer <code>upgrade_to</code> version and a <code>name</code> string referencing an upgrade handler defined in a new top-level <code>upgrades</code> section of the entity definition.<li>Upgrade versions must start at <code>1</code> and be contiguous (e.g., 1, 2, 3), gaps or duplicates are rejected with a content error.<li>Version <code>0</code> is reserved for entities that have no version set (\"versionless\"), which is the default for all existing entities.<li>When an entity is loaded with a version older than the current definition version, all upgrade handlers between the entity's saved version and the current version are executed sequentially.<li>Newly spawned entities are set directly to the latest version without running any upgrade handlers.<li>Upgrade handlers reuse the existing event system but are defined in a separate <code>upgrades</code> section, keeping them distinct from regular <code>events</code>.<li>The entity's version is persisted and loaded/saved automatically.<li>This feature is gated behind the Upcoming Creator Features experiment toggle.</ul></ul><h2>Entity Components</h2><ul><li>The following fields have been added to the preset element exclusively in the beta version of \"minecraft:apply_knockback_rules\":<ul><li>\"scale_previous_velocity\" scales the previous velocity of the target when hit<li>\"horizontal_hit_angle_scale\" scales the horizontal angle response of the target when hit based on the attacker's aim direction<li>\"vertical_hit_angle_scale\" scales the vertical angle response of the target when hit based on the attacker's aim direction<li>\"vertical_position_angle_scale\" scales the vertical angle response of the target when hit based on the attacker's relative feet position<li>\"scale_with_damage\" enables scaling the magnitude of knocback based on the inverse square of the damage</ul><li>There is currently a known issue where knockback is applied twice<ul><li>the first is the custom knockback defined by \"minecraft:apply_knockback_rules\"<li>the second is the default knockback with the custom \"horizontal_power\", \"vertical_power\" and \"vertical_velocity_cap\" defined by \"minecraft:apply_knockback_rules\"</ul></ul><h2>Graphical</h2><ul><li><p>Removed point lights visually fading out once past a certain distance from the camera<li><p>Fixed an issue where the RenderDragon Features for Creators Experimental resource pack would override other resource packs on the stack<li><p>Fixed an issue where point lights were over exposed at their center<ul><li>This behavior can be replicated using emissive textures if desired</ul><li><p>Under the RenderDragon Features for Creators Experiment<ul><li>Migrated colored block light storage to the GPU<ul><li>There may be new artifacts with light leaking through or around blocks</ul><li>Colored block lights now influence Volumetrics</ul></ul><h2>Scripting</h2><ul><li>Added scripting method that allows creators to check the snow logging behavior of a block.</ul>","id":"836e028cbc075d74fafc83c998f151bca82287c30b0b74649bc2ef1e9d5c1665","needsTranslation":false}