Bedrock Edition beta 1.20.10.23

Beta 1.20.10.23 (Android) or Preview 1.20.10.23 (Windows, iOS, iPadOS, Xbox) is the third beta/Preview version for Bedrock Edition 1.20.10, released on June 14, 2023, which fixes bugs.

World Generation

 * Falling Trees
 * Now generate with mushrooms again

Experimental
These additions and changes are accessible by enabling the "Beta APIs" "Short Sneaking and Crawling" and "Experimental Cameras" experimental toggles.

Command format

 * Added the "example:example_player_effects" preset to demonstrate this
 * Added the "example:example_player_effects" preset to demonstrate this

Gameplay

 * Sneaking and Crawling
 * Players can now be forced into sneak/crawl state while flying

Command format

 * Camera command can now take a 'facing' option instead of a 'rot' option with a target entity or position specified
 * Camera command can now take a 'facing' option instead of a 'rot' option with a target entity or position specified

Technical

 * API
 * Dynamic Property identifiers are now limited to  characters.
 * Removed MinecraftEffectTypes defined in @minecraft/server. See @minecraft/vanilla-data NPM package for an equivalent.
 * 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
 * AfterEvents
 * Moved to
 * Moved to
 * Moved function to
 * Moved function to
 * Spawnpoint updates
 * Removed function
 * Removed property
 * Added function getSpawnPoint: DimensionLocation | undefined- Returns the player's spawn point
 * Added function setSpawnPoint(spawnPoint?: DimensionLocation): void- Sets the player's spawn point, or clears it if spawnPoint is undefined
 * Renamed function to
 * Renamed function to
 * DimensionLocation
 * Added new interface DimensionLocation- Represents a location in a dimension
 * Added  to.
 * The following functions in  can now accept Entity or string types as participants:
 * removeParticipant
 * Removed,   from ScoreboardIdentity and Scoreboard.
 * Removed the  function from ScoreboardIdentity
 * Raycasting
 * Changed function
 * Changed return type from to   | undefined
 * Changed function
 * Changed return type from to
 * Changed function
 * Changed return type from to   | undefined
 * 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 isValidto 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 isValidwill return true long after they are dead)
 * (checks the item context is valid: Container 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. BlockLavaContainerComponent 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
 * 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

Fixes

 * Other
 * 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.