Bedrock Edition beta 1.20.40.20

**Beta 1.20.40.20** (Android) or **Preview 1.20.40.20** (Windows, iOS, iPadOS, Xbox) is the first beta/*Preview* version for Bedrock Edition 1.20.40, released on September 7, 2023, which adds further experimental changes to villagers, explorer maps, more parity from *Java Edition*, and fixes bugs.

## Changes

### Blocks

Note Block
* Updated the sound that’s played when wither skeleton skulls are placed on top.

Sculk
* No longer drops XP when mined with Silk Touch.

Sculk Sensor and Calibrated Sculk Sensor
* Can now detect closing the inventory of a boat with chest, a bamboo raft with chest, or a minecart with chest.

Water
* Mobs no longer receive fall damage when falling into a 1 block deep water pool.

### Command format

`/give`
* The sound for picking up items is now played when using the command.

Chest, Ender Chest, Stonecutter, and Trapped Chest
* Now they use the `minecraft:cardinal_direction` block state instead of `facing_direction`.
	+ `minecraft:cardinal_direction` uses four string values `["east", "north", "south", "west"]`.

### General

Options
* The "Respawn radius" advanced option is now set to `10` by default instead of `5`.

### Items

Bottle
* Now emit sounds when filling it from water.
* Pouring liquid from a bottle into a cauldron emits the appropriate sound.
* Filling a bottle from a cauldron now emits the appropriate sound.
* Drinking from a bottle now emits the appropriate sound.

Explorer Map
* Updated structure icons on explorer maps sold by cartographers.

### Mobs

Cat
* Now plays a sound when begging for food.

Guardian and Elder Guardian
* Makes flopping sounds again when on land.

Villager
* Cartographers no longer offer exploration maps as a trade item when not in the overworld.

Wither Skeleton
* Now have their own unique sounds.

Zombie Villager
* Curing time is now randomized between 3 and 5 minutes, to match *Java Edition*.

### Non-mob entities

Boat and Boat with Chest
* Falling from a great height while riding it no longer deals fall damage.

## Experimental

These additions and changes are accessible by enabling the "Villager Trade Rebalancing", "Beta APIs", "Molang Features", and "Render Dragon Features for Creators" experimental toggles.

### Changes

#### Gameplay

Trading
* Added seven new maps which cartographers can selling, depending on the biome they come from.
	+ Jungle and swamp villages do not generate naturally. Thus, players must breed villagers or cure zombie villagers in these biomes to access their trades.
	+ Village maps points to a village in specific biome. Jungle explorer map points to a jungle pyramid. Swamp explorer map points to a swamp hut.

* Changed trades of armorers, change summary:
	+ Buying diamond armor now also requires a small amount of diamonds.
	+ Most master-level armorers buy iron blocks and pay 4 emeralds for them.
	+ Chainmail armor is exclusively sold by jungle and swamp armorers.
	+ The savanna armorer sells cursed diamond armor at reduced prices.
	+ The taiga armorer can swap one piece of diamond armor for another.

#### World generation

Ancient City
* Increases the chance of generating enchanted books with Mending.

Desert Temple
* Increases the chance of generating enchanted books with Unbreaking (level I to III).

Jungle Temple
* Increases the chance of generating enchanted books with Unbreaking (level I to III).

Mineshaft
* Increases the chance of generating enchanted books with Efficiency (level I to V).

Pillager Outpost
* Increases the chance of generating enchanted books with Quick Charge (level I to III).

#### Technical

API
* Changed the names of the `CameraSetOptions` options to not include the word 'Script'.
* Added the `chat(message: string)` method.
* Changed `get` to return `ItemType | undefined`.
* Changed source on `ItemDefinitionTriggeredAfterEvent` to be optional.
* Added the following methods to `Player`:
	+ `above(steps?: number): Block | undefined`
	+ `below(steps?: number): Block | undefined`
	+ `north(steps?: number): Block | undefined`
	+ `east(steps?: number): Block | undefined`
	+ `south(steps?: number): Block | undefined`
	+ `west(steps?: number): Block | undefined`
	+ `offset(offset: Vector3): Block | undefined`
	+ `center(): Vector3`
	+ `bottomCenter(): Vector3`
	+ Made `getItemStack` function return `ItemStack` or `undefined`.
	+ `playMusic(trackId: string, musicOptions?: MusicOptions): void`
	+ `queueMusic(trackId: string, musicOptions?: MusicOptions): void`
	+ `stopMusic(): void`
* `BlockStates`
	+ Made get function return `BlockStateType` or `undefined`.
* Updated ExplosionAfterEvent and ExplosionBeforeEvent.
	+ `getUpdatedBlocks()` will now return `Block[]`.
	+ `setUpdatesBlocks(blocks: Block[])` now takes in a `Block[]`.
* Dynamic Properties
	+ Property registration is no longer required and `propertyRegistry` has been removed from the `worldInitialize` event.
	+ Removed limits on the count and size of properties that can set on an entity or the world.
	+ Default values have been removed. `getProperty` will now always return undefined for unset properties.
	+ String dynamic property values are now restricted to a length of `32767` *bytes*.
	+ Removed function `removeDynamicProperty`.
	+ Added function `getDynamicPropertyIds` - Returns an array of all dynamic property ids on an entity/world used by the behavior pack.
	+ Added function `getDynamicPropertyTotalByteCount` - Returns the total number of bytes used by all dynamic properties on an entity/world by the behavior pack.
	+ Added function `clearDynamicProperties` - Removes all dynamic properties added by this behavior pack from an entity/world.
	+ Dynamic property numbers are now stored with double precision (`64` *bits*)
* Adding `PlayerInteractWithBlock` and `PlayerInteractWithEntity` before & after events.
* Adding `PlayerDimensionChangeBeforeEvent` and `PlayerDimensionChangeAfterEvent`.

JSON
* Added a content error when attempting to load a damage sensor with an invalid "cause" value.
* Allow single value parsing for `minecraft:icon` item component.
* The camel mob dash component can now be applied to rideable mobs other than horse, donkey, and mule using `minecraft:dash`.
* Trade items now have a `filters` property to determine if a trade should be considered.
* Trade items no longer support the `biome` property to check villager biome types, the `is_mark_variant` filter can be used in the `filters` property instead to check the villager biome type.

Molang
* Updated to version `1.20.40`.

Render Dragon Features for Creators
* Soul torches are now treated as point lights in the "Deferred Technical Preview".
* Allow data-driving of point lights and their colors for any block via resource packs in the "Deferred Technical Preview".
* Improved chunk rendering performance in "Deferred Technical Preview".

## Fixes

25 issues fixed
From released versions before 1.20.0
* MCPE-26929 – Guardians no longer make flopping sounds while on land.
* MCPE-73307 – Elytra ceiling clip.
* MCPE-99972 – Sheep don't drop wool after being previously sheared.
* MCPE-100598 – Buckets instantly pick up liquids after placing (MLG/bucket clutch doesn't work).
* MCPE-131980 – Rabbits rarely eat carrot crops.
* MCPE-152129 – Item name overlaps oxygen bar.
* MCPE-152130 – Item name overlaps mob health bar.
* MCPE-152131 – Item name overlaps Absorption health bar.
* MCPE-152753 – Boats no longer negate fall damage.
* MCPE-154385 – New UI for brewing stand doesn't fit the screen.
* MCPE-157918 – Missing sound for filling water bottles from source blocks and cauldrons.
* MCPE-160290 – Command `/damage` override type not working correctly.
* MCPE-164734 – Command candidates are not displayed if `@e[type=item]` is entered in `/execute`.
* MCPE-168369 – Purple border and tooltip text are broken when upgrading diamond gear to netherite.
* MCPE-173155 – Soul speed effect does not work when crawling on soul soil.

From 1.20.0 version
* MCPE-169577 – Diagonal patterns get inverted in shields.

From 1.20.x versions
* MCPE-172377 – Zombie villagers don't have biome or rank overlays.
* MCPE-172785 – Player can pass through blocks by spamming jump and sneak.
* MCPE-173362 – `/recipe` is still highlighted in blue in the chat box.
* MCPE-173898 – Foxes can't pick up equippable items (armor, mob heads, carved pumpkin, etc.).

Others
* Fixed an issue where text to speech did not say how to open chat or emotes.
* Text-to-speech message for popup title/description is now played properly.
* Clicking off the game window will not unselect a friend.
* Fixed a bug where the tooltip for the v-sync setting was showing without being hovered.
* Fixed a bug where "PBR" was not included in HUD while in level using "Deferred Technical Preview".

## Notes

1. ↑ Divided into 3 groups, pulled independently.
2. ↑ The list of possible offers contains individual offers for each color, so multiple colors may be offered by the same villager as separate trades.

## References

1. ↑ "Minecraft - Beta & *Preview* 1.20.40.20" – Minecraft Feedback, September 7, 2023.