Bedrock Edition beta 1.20.10.20

**Beta 1.20.10.20** (Android) or **Preview 1.20.10.20** (Windows, iOS, iPadOS, Xbox) is the first beta/*Preview* version for Bedrock Edition 1.20.10, released on May 25, 2023, which adds the crawl ability behind the experimental gameplay, brings more parity from *Java Edition*, and fixes bugs.

## Additions

### General

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

### Technical

JSON
* Released the `minecraft:cooldown` item component out of experimental in JSON formats 1.20.10 and higher.
* Released the `minecraft:repairable` item component out of experimental in JSON formats 1.20.10 and higher.

Recipe
* Added `unlock` field to the recipe JSON format.

## Changes

### Blocks

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

Concrete
* The ID's of `concrete` have now been split up into their own ID's.

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

Note Blocks
* 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 ID's of `shulker_box` have now been split up into their own ID's.

### Command format

Block states
* Now "equals" (`=`) are used instead of "colons" (`:`) to match *Java Edition*.
	+ Example: `oak_log["pillar_axis"**:**"x"]` -> `oak_log["pillar_axis"**=**"x"]`

### Gameplay

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".
	+ Now also contains the ability to crawl.

### Items

Boats
* Recipe no longer needs a shovel to match *Java Edition*.
	+ Except bamboo raft.

Cobwebs
* Now can't craft into strings to match *Java Edition*.

### 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.

### 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 `CTRL` + `H` 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".

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

## Experimental

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

### Additions

#### 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.

### Changes

#### Command format

`/camera`
* Changed camera command fade color to take integer values from `0` to `255` rather than `0.0` to `1.0` fractional values.
* Camera fade command now enforces fade duration limits; fade in, hold, and fade out must be between `0` and `10` seconds.
* Ensuring camera pitch can only be between `-90` and `90` degrees.
* Added `example:example_player_listener` camera preset.

#### Technical

API
* Dynamic properties can now optionally have default values.
* Increased dynamic property registration limits:
	+ Actors: `~1KB` -> `128KB`
	+ World: `~10KB` -> `1MB`
* `ScreenDisplay`
	+ Removed `clearTitle()-` Use `setTitle` with an empty string to clear the title.
	+ Updated `fadeInSeconds`, `staySeconds`, `fadeOutSeconds` to `fadeInDuration`, `stayDuration`, `fadeOutDuration` on `TitleDisplayOptions` (seconds to ticks).
	+ Updated `setTitle` to reset the times per each new title.
	+ Added `RawMessage` support for `setTitle`, `updateSubtitle`, and `setActionBar`.
* *Entity*
	+ Added `read-only` property `isGliding-` Returns whether the player is gliding with elytra.
	+ Added `read-only` property `isJumping-` Returns whether the player is using the jump action.
	+ Added `read-only` property `sFlying-` Returns whether the player is flying (e.g. creative or spectator mode).
	+ Added `read-only` property `isSprinting-` Returns whether the entity is sprinting.
	+ Added `read-only` property `isSwimming-` Returns whether the entity is swimming.
	+ Added `read-only` property `isClimbing-` Returns whether the entity is climbing (e.g. player on a ladder or spider on a wall).
	+ Added `read-only` property `isOnGround-` Returns whether the entity is on the ground.
	+ Added `read-only` property `isInWater-` Returns whether the entity is in water.
	+ Added `read-only` property `isFalling-` Returns whether the entity is falling.
	+ Added `read-only` property `fallDistance-` Returns the current fall distance (used for calculating fall damage).
	+ Added function `fly-` Makes the player fly (e.g. creative or spectator mode).
	+ Added function `stopFlying-` Makes the player stop flying (e.g. creative or spectator mode).
	+ Added function `glide-` Makes the player glide with elytra.
	+ Added function `stopGliding-` Makes the player stop gliding with elytra.
	+ Added function `swim-` Makes the player swim.
	+ Added function `stopSwimming-` Makes the player stop swimming.
* *Entity* effects
	+ Updated function `addEffect(effectType: EffectType | string, duration: number, options?: EntityEffectOptions): void` to return void and to throw if the effect does not exist or the parameters are out of bounds.
	+ Updated function `getEffect(effectType: EffectType | string): Effect | undefined` to throw if the effect does not exist.
	+ Updated function `removeEffect(effectType: EffectType | string): boolean` to throw if the effect does not exist.
* `BlockEvents`
	+ Added events `PressurePlatePushEvent`, `PressurePlatePopEvent`, `TargetBlockHitEvent`, and `TripWireTripEvent`.
* `ContainerSlot`
	+ Removed function `clone-`.
* `EntityHealableComponent`
	+ Removed `filters: FilterGroupproperty`.
* `EntityAttributeComponent`
	+ Added `effectiveMin: number` Returns the minimum possible value for the component.
	+ Added `effectiveMax: number` Return the maximum possible value for the component.
	+ Renamed `value` property to `defaultValue`.
	+ Renamed `current` property to `currentValue`.
	+ Renamed `setCurrent` method to `setCurrentValue`.
* Added `EntityHealthChangedAfterEvent` It is triggered when any health change happens for an entity.

JSON
* Items with the `minecraft:block_placer` component will now place blocks with correct orientation.
* Items in format version 1.20.10 and above with the `minecraft:throwable` component will trigger "item use" events when thrown.
* Custom items with `minecraft:block_placer` will no longer place certain blocks in the wrong location.
* Changed `minecraft:shooter` to only consume ammo when charging the item if `charge_on_draw` is set `true`.

## Fixes

37 issues fixed
From released versions before 1.20.10
* MCPE-46795 – Cannot move items if "Quick Move" isn't canceled.
* MCPE-54294 – Jump boost has no effect on magma cubes.
* MCPE-122663 – Player model isn't centered when swimming.
* MCPE-142918 – Holding two shields in RTX only shows you one.
* MCPE-152002 – `hasitem` doesn't check items in the cursor, unlike `/clear`.
* MCPE-155371 – Sculk sensor doesn't detect composter changes.
* MCPE-155372 – Placing an eye of ender doesn't produce a vibration.
* MCPE-156199 – Sculk sensors don't detect most game events post-Java 1.19 Pre-release 1.
* MCPE-156575 – Xbox: On screen keyboard won't move and is in front of the sign and chat.
* MCPE-157409 – Sculk sensors do not detect respawn anchors charging.
* MCPE-160189 – Item drop location for inventory contents of storage entities is offset to the southeast.
* MCPE-160238 – Sculk patches don't replace polished deepslate upon world gen inside ancient city.
* MCPE-161207 – Packed mud can be mined faster with a shovel.
* MCPE-162785 – Blocks are placed upwards when continuing to build.
* MCPE-163670 – Zombie villagers don't drop armor or held items when converting to a regular villager.
* MCPE-164064 – Camel's dash sound continues playing.
* MCPE-166411 – Blocks push the player when automatically initiated to sneaking.
* MCPE-166741 – Sculk sensors do not detect item frame & glow item frame interactions.
* MCPE-168054 – Block state autocomplete does not work unless you put a space between block name and first bracket.
* MCPE-168056 – Block state values don't autocomplete unless you type a space after the colon.
* MCPE-168129 – Invalid objects in entitiy component `minecraft:behavior.nearest_attackable` crash the game.
* MCPE-168368 – `/inputpermission` doesn't send you successful messages after executing it.
* MCPE-169974 – `/execute positioned` gets syntax error after 1.19.80 update.
* MCPE-170610 – Forced crouch interacts with entities as if the sneak button was being held.
* MCPE-170613 – Player is able to crouch while riding a camel.

From the 1.20.0 development versions
* MCPE-169758 – Villagers cannot pickup, plant or harvest torchflower seeds and pitcher pods.
* MCPE-170427 – When water is put in the cauldron, the water looks like lava.

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 `execute`.

## References

1. ↑ "Minecraft Beta & Preview - 1.20.10.20" – Minecraft Feedback, May 25, 2023.