Bedrock Edition 1.20.10

1.20.10 is a minor update to released on July 11, 2023, which brings more parity from  and fixes bugs.

General

 * Experiments
 * Added "Crawling" experimental toggle.
 * Allow players crawl under 1 block gaps.
 * Added "Recipe Unlocking" experimental toggle.
 * Enable the new recipe unlocking system and the command.


 * Options
 * Added the slider "GUI Scale Modifier" to the accessibility section.
 * Added "Extra Large GUI Scaling" accessibility and video option, to make the UI "bigger" (only works on some devices).


 * Splashes
 * Added a new splash text:
 * Joule is neat too!

Technical

 * JSON
 * Released the following components out of experimental in JSON formats 1.20.10 and higher:
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * item component.
 * Added  field to the recipe JSON format.

Blocks

 * Barrel
 * Recipe now use planks instead of sticks to match.


 * Concrete
 * The IDs of  have now been split up into their own IDs.


 * Decorated Pot
 * If they crafted with at least one pottery sherd now have a hover tooltip displaying the pottery sherd and brick ingredients.


 * Note Block
 * Now produces the "harp" sound instead of "snare" using soul soil.


 * Packed Mud
 * Can no longer mine faster with a shovel.


 * Sculk Sensor
 * Can now detect the following events:
 * Placing, rotating, or removing an item in an item frame or a glow item frame.
 * Charging a respawn anchor.
 * Scraping or applying wax to blocks of the copper block set.
 * Switching a daylight detector to an inverted daylight detector or vice-versa.
 * Adding food to a campfire.
 * Adding or removing a music disc to a jukebox.
 * Mud turning into clay.
 * Harvesting sweet berries.
 * Placing an eye of ender in an end portal frame.
 * Bees entering or exiting a beehive or a bee nest.
 * Interacting with composter.
 * Attaching or detaching a lead from a fence.
 * Attaching or detaching a lead from a mob.
 * Dying a sheep.
 * Picking glow berries.
 * Farmland turning into dirt.
 * Using a spawn egg on a monster spawner.
 * Silverfish merging with blocks.
 * Using a hoe on rooted dirt.
 * Using a shovel to create dirt paths.
 * Placing a door.
 * Planting seeds in farmland.


 * Shulker Box
 * The IDs of  have now been split up into their own IDs.

Command format

 * Block states
 * Now "equals" are used instead of "colons"  to match.
 * Example:  ->


 * Observer
 * Now uses the  block state instead of.
 * has six values.

Gameplay

 * Sneaking
 * Sneak under 1.5 blocks tall is now available without the "Short Sneaking/Short Sneaking and Crawling" experimental toggle.
 * Players can now be forced into sneak state while flying.


 * Sound
 * Camera position is now used for audio listening and ambient sounds.
 * Previously the player position and rotation were sometimes used for audio listening.


 * Rendering engine
 * Rendering of snow or rain is now based on camera position instead of player position.

General

 * Experiments
 * Renamed the "Short Sneaking" experimental toggle to "Short Sneaking and Crawling". ("Removed/Changed" later in beta/preview 1.20.10.23)
 * Now also contains the ability to crawl.


 * Fog
 * Underwater and fog effects are now based on camera position rather than player position.


 * Options
 * "Chat message duration" accessibility option is now set to 10 seconds by default.
 * "Text to Speech" narrator now reads item names when selecting items in the hotbar and the "/" button in the chat screen.

Items

 * Boats
 * Recipe no longer needs a shovel to match.


 * Cobweb
 * Now can't craft into strings to match.

Mobs

 * Horse, Mule, and Donkey
 * Can now be tempted using a golden apple, golden carrot, or enchanted golden apple.


 * Llama
 * Can now be tempted using a hay bale.


 * Magma Cube
 * Can now be affected from Jump Boost.

World generation

 * Chiseled Deepslate and Polished Basalt
 * Can no longer be replaced by sculk.


 * Polished Deepslate
 * Can now be replaced by sculk.


 * Falling Trees
 * Now generate with mushrooms again.

Technical

 * Bedrock Editor
 * Resolved an issue where the selection cursor was causing the glass block to render invisible.
 * Added "Log Panel" for "Tool Mode" to display log messages. It can be accessed from the "View Menu" or by using the shortcut.
 * Fixed a bug that prevented additional servers to be added from "Servers Tab" in "Editor mode".
 * Fixed a bug that caused the gizmo to be hidden in "Crosshair Mode".
 * Converted "properties" to "states" for custom blocks.
 * Fixed a crash that could occur when attempting to change a mob’s scale while it was colliding with blocks.
 * can now be used in the editor without the need to enable the "Beta APIs" experimental toggle.


 * JSON
 * Added deprecation error message for the  component.
 * Fixed an issue where adding a  component to a custom entity would cause the game to crash.
 * Updated the  block component to allow bone visibility to be defined with a molang expression.
 * Added a content error when  is used on   to prevent issues as this component is not supported in this way.
 * Invalid JSON objects within the entity component  will no longer crash the game.

Experimental
These additions and changes are accessible by enabling the "Crawling", "Recipe Unlocking", "Beta APIs", and "Experimental Cameras" experimental toggles.

Command format

 * A new command that gives or takes (unlocks or locks) recipes for a player.
 * Syntax:
 * Gives (unlocks) a specified recipe to a player.
 * Takes (locks) a specified recipe from a player.
 * If  is specified in , it will unlock or lock all recipes for the player.
 * Takes (locks) a specified recipe from a player.
 * If  is specified in , it will unlock or lock all recipes for the player.
 * If  is specified in , it will unlock or lock all recipes for the player.

Gameplay

 * Crawling
 * Added the ability to crawl.
 * Created new player crawling animation.
 * Players will now begin crawling when in a 1 block gap, similar to sneaking.
 * Crawling is the same speed as sneaking.
 * Players will automatically stand up or begin sneaking if they leave the 1 block gap.
 * Players can now be forced into crawl state while flying.

Command format

 * Changed camera command fade color to take integer values from  to   rather than   to   fractional values.
 * Camera fade command now enforces fade duration limits; fade in, hold, and fade out must be between  and   seconds.
 * Ensuring camera pitch can only be between  and   degrees.
 * Added  camera preset.
 * Added  camera preset.
 * Rendering of experimental  camera no longer affected by player state like night vision.
 * Rendering of experimental  camera no longer affected by player state like night vision.

Gameplay

 * Recipe book
 * Recipes are now unlocked when the player collect materials for it.
 * Picking up an item teaches the player how to craft that item.
 * A new notification appears when the player find a new crafting material.

Technical

 * API
 * Dynamic properties can now optionally have default values.
 * Increased dynamic property registration limits:
 * Actors:  ->
 * World:  ->
 * Removed  Use   with an empty string to clear the title.
 * Updated,  ,   to  ,  ,   on   (seconds to ticks).
 * Updated  to reset the times per each new title.
 * Added  support for ,  , and.
 * Entity
 * Added  property   Returns whether the player is gliding with elytra.
 * Added  property   Returns whether the player is using the jump action.
 * Added  property   Returns whether the player is flying (e.g. creative or spectator mode).
 * Added  property   Returns whether the entity is sprinting.
 * Added  property   Returns whether the entity is swimming.
 * Added  property   Returns whether the entity is climbing (e.g. player on a ladder or spider on a wall).
 * Added  property   Returns whether the entity is on the ground.
 * Added  property   Returns whether the entity is in water.
 * Added  property   Returns whether the entity is falling.
 * Added  property   Returns the current fall distance (used for calculating fall damage).
 * Added function  Makes the player fly (e.g. creative or spectator mode).
 * Added function  Makes the player stop flying (e.g. creative or spectator mode).
 * Added function  Makes the player glide with elytra.
 * Added function  Makes the player stop gliding with elytra.
 * Added function  Makes the player swim.
 * Added function  Makes the player stop swimming.
 * Entity effects
 * Updated function  to return void and to throw if the effect does not exist or the parameters are out of bounds.
 * Updated function  to throw if the effect does not exist.
 * Updated function  to throw if the effect does not exist.
 * Added events,  ,  , and.
 * Removed function.
 * Removed.
 * Added  Returns the minimum possible value for the component.
 * Added  Return the maximum possible value for the component.
 * Renamed  property to.
 * Renamed  property to.
 * Renamed  method to.
 * Added  It is triggered when any health change happens for an entity.
 * System
 * Replaced  with   and.
 * Renamed event  to   and moved it to.
 * Moved  to.
 * MessageReceiveAfterEvent
 * Removed property.
 * Replaced enum  a new enum.
 * Changed property  from   to.
 * Increased maximum message length from 256 to 2048 characters.
 * Dynamic Property identifiers are now limited to  characters.
 * Removed MinecraftEffectTypes defined in.
 * Moved several APIs to stable.
 * Moving  to.
 * Moving  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved  to.
 * Moved function  to.
 * Moved function  to.
 * Spawnpoint updates
 * Removed function.
 * Removed property.
 * Added function  - Returns the player's spawn point.
 * Added function  - Sets the player's spawn point, or clears it if spawnPoint is undefined.
 * Renamed function  to.
 * Renamed function  to.
 * Added new interface  - Represents a location in a dimension.
 * Added  to.
 * The following functions in  can now accept Entity or string types as participants:
 * Removed,   from   and.
 * Removed the  function from.
 * Raycasting
 * Changed function.
 * Changed return type from  to.
 * Changed function.
 * Changed return type from  to.
 * Changed function.
 * Changed return type from to.
 * Changed function.
 * Changed return type from  to.
 * Added interface.
 * Added interface.
 * Renamed  after event to.
 * Removed class.
 * Added class.
 * Added class.
 * Class.
 * Removed property.
 * Added property.
 * Added property.
 * Added helper function  to several classes in order to check if the object is valid. This can safely be used on any handle to a native object before accessing or using the object, to ensure the underlying object still exists and is valid to use.
 * (checks the block is a valid position in bounds and the containing chunk is loaded & ticking).
 * (checks the relevent container inventory exists and is valid).
 * (checks the owning entity is valid and the effect exists on that entity).
 * (checks the owning player is valid).
 * (checks the objective entry exists and is attached to a valid scoreboard).
 * (checks that the entity exists in the world. Will return true if the entity is dead).
 * (Note simulated players do not automatically get removed from the world, so  will return true long after they are dead).
 * (checks the item context is  exists in the world, such as the owning entity, and the slot is within the container bounds).
 * Already existed as a readonly property, changed to a method for consistency.
 * (checks the owning entity is valid and the attribute exists on the entity).
 * (checks block exists and is a valid cauldron type).
 * Added read only method isValidLiquidwhich checks if the liquid in the cauldron matches the component in question (EG.  checks for lava liquid).
 * (checks the owning entity exists).
 * (checks the owning item exists).
 * World
 * Renamed  to.
 * Renamed  to.
 * now accepts a  enum as an argument.
 * The  argument for   must now be within  -  (inclusive).
 * Added.
 * Updated the following enums' values to be  instead of.
 * Already existed as a readonly property, changed to a method for consistency.
 * (checks the owning entity is valid and the attribute exists on the entity).
 * (checks block exists and is a valid cauldron type).
 * Added read only method isValidLiquidwhich checks if the liquid in the cauldron matches the component in question (EG.  checks for lava liquid).
 * (checks the owning entity exists).
 * (checks the owning item exists).
 * World
 * Renamed  to.
 * Renamed  to.
 * now accepts a  enum as an argument.
 * The  argument for   must now be within  -  (inclusive).
 * Added.
 * Updated the following enums' values to be  instead of.
 * Updated the following enums' values to be  instead of.


 * JSON
 * Items with the  component will now place blocks with correct orientation.
 * Items in format version 1.20.10 and above with the  component will trigger "item use" events when thrown.
 * Custom items with  will no longer place certain blocks in the wrong location.
 * Changed  to only consume ammo when charging the item if   is set.
 * Deprecate  component in JSON formats 1.20.10 and higher.

Fixes

 * Others
 * Players will now always spawn projectiles from the camera position when sneaking, swimming, or gliding.
 * Loyalty tridents will always return to the player's camera.
 * Players will now spawn particle effects when eating in the correct position if they are sneaking, swimming, or gliding.
 * Players will no longer suffocate when short sneaking in certain scenarios.
 * Players without permission to open/close containers can no longer interact with chiseled bookshelves.
 * Switch: Fixed issues with highlighted blocks and mob shadows appearing through the pumpkin head overlay.
 * Shields no longer flicker when held in both hands on RTX.
 * Fixed sleep and camera fade effect not covering the screen until after first-person rendering happens.
 * Fixed black pixels being generated on maps when "Client-Side Chunk Generation" is enabled.
 * Command positions will now use the current position/rotation when running mcfunctions via.
 * The paper doll will now show up properly when crawling.
 * Suspicious blocks now display correctly on maps.
 * Shield no longer clips inside the armor stand model while in the riposte pose.
 * Sniffer can no longer dig up seeds in the air.
 * Fixed a crash that could happen when running the  goal.
 * Custom items with  will no longer place certain blocks in the wrong location.
 * Fixed command to shake camera without also shaking player.
 * Reordered the gamepad tooltips for UI screens so that the buttons align with the same side as a controller.
 * Fixed an issue where legacy crawling was not working correctly with the sneak and crawl toggle turned off.
 * Fixed bug where scoreboard values would not be updated on the client when updated from script.
 * Fixed a crash.