Bedrock Edition beta 1.18.20.21

Preview**iOS, iPadOS**: 1.18.20.22

**Beta 1.18.20.21** is the first beta version for Bedrock Edition 1.18.30, released on January 27, 2022, which tweaks world seeds, frogs, and fixes bugs.

iOS and iPadOS would also receive this version on January 31, 2022, as **Preview 1.18.20.22**.

## Changes

### Mobs

Wolves
* Untamed wolves can now be leashed.

### Gameplay

Trading
* Updated villager trade tables for armorer, cleric, fisherman, and weaponsmith to match *Java Edition*.
	+ Fishermen boat trades now change wood type based on villager biome type.
	+ Clerics now offer glowstone instead of glowstone dust.
	+ Weaponsmith enchanted iron sword trade has been moved to Novice.
	+ Armorer diamond trade has been moved to Journeyman.

### Command format

Target selectors
* Added the `hasitem` filter for target selector of entities.
	+ Allows the player to target entities based on the items that have in their inventory or are wearing.

### General

Create New World
* The Create New World screen has been given a new design that is now available for some players.

Experiments
* Removed "Additional Modding Capabilities" toggle.

Seeds
* Worlds can now be created with 64-bit seeds.

RenderDragon
* Re-enabled on Android devices.

### Technical

General
* A world with "StorageVersion" 8 or lower will be increased to 9 and have its "RandomSeed" upgraded from using only the lower 32 bits of a 64-bit number to using the full 64-bit range while still representing the same number.
	+ This is only relevant for negative 32-bit seeds, which need a sign bit extension.

## Experimental

These additions and changes are accessible by enabling the "Wild Update", "Upcoming Creator Features", and "Enable GameTest Framework" experimental toggle.

### Additions

#### Command format

`/volumearea`
* Used to create, remove, and list volumes in the world.

### Changes

#### Blocks

Frog Spawn
* Renamed from "Frog Egg".
* Texture was slightly changed.
* The time to hatch into Tadpoles has been increased. [*more information needed*]

#### Mobs

Frog
* Frogs now jump more frequently.
* Frogs in Meadow biomes are now of the temperate variant.
* Tweaked frog's jump and tongue animations.

Tadpole
* Tadpole hitbox is now larger.

#### Gameplay

Animation
* Cleaned up the frog animation, entity and controller files.
* Changed frog water and swim animations from linear to smooth.

#### Technical

GameTest Framework
* Added a mojang-minecraft-ui module with API structures for creating simple dialog boxes:
	+ Added ActionFormData/ModalFormData/MessageFormData types in the mojang-minecraft-ui namespace.

* mojang-minecraft module
	+ World
		- Updated property directionto blockFace in world.events.beforeItemUseOn and world.events.itemUseOn
		- Added event World.event.beforeDataDrivenEntityTriggerEvent
			* Fires before the data driven trigger is applied
		- Added event World.event.dataDrivenEntityTriggerEvent
			* Fires after the data driven trigger is applied
		- For the above events, each accept an optional
	+ EntityDataDrivenTriggerEventOptions
		- (Breaking Change) property entityremoved
		- Added property entities: Entity[]
			* If specified, will restrict to just the specified entities.
		- Changed return type of function getPlayersto PlayerIterator
	+ EntityDataDrivenTriggerEventOptions
		- Inherited from EntityEventOptions
		- property eventTypes: string[]
			* If specified, will restrict to events with the specified name (I.E minecraft:ageable\_grow\_up)
		- (Inherited) property entities: Entity[]
			* If specified, will restrict to just the specified entities
		- (Inherited) property entityTypes: string[]
			* If specified, will restrict to entities with the specified type (I.E minecraft:creeper)
	+ DefinitionModifier
		- read only property componentGroupsToAdd: string[]
			* List of component groups that will be added as part of this modifier
		- read only property componentGroupsToRemove: string[]
			* List of component groups that will be removed as part of this modifier
		- property triggers: Trigger[]
			* List of triggers that will fire as part of this modifier
	+ Trigger
		- property eventName: string
			* Event name of the trigger
	+ DataDrivenEntityTriggerEvent
		- read only property entity: Entity
			* Entity that the event triggered on
		- read only property id: string
			* name of the event
	+ BeforeDataDrivenEntityTriggerEvent
		- read only property entity: Entity
			* Entity that the event triggered on
		- read only property id: string
			* name of the event
		- property modifiers: DefinitionModifier[]
			* List of modifiers that will be applied when the event triggers
		- property cancel: bool
			* If true, the event will not be triggered
	+ EnchantmentType
		- Added EnchantmentType class
		- Read-only property id: string
			* The name of the enchantment type
		- Read-only property maxLevel: int
			* The maximum level this type of enchantment can have
	+ EnchantmentInstance
		- Added EnchantmentInstance class. This represents a binding of an EnchantmentType and level that can be added to an item
		- Constructor EnchantmentInstance(type: EnchantmentType, level : int)
		- Read-only property type: EnchantmentType
			* The enchantment type of this instance
		- Property level: int
			* The level of this enchantment instance
	+ EnchantmentSlot
		- Added EnchantmentSlot enum. This enum represents the item slot or type that an enchantment can be applied to
	+ EnchantmentList
		- Added EnchantmentList class. This class represents a collection of enchantments that can be applied to an item
		- Constructor EnchantmentList(slot : EnchantSlot)
		- Read-only property slot: EnchantSlot
			* The item slot/type that this collection is to be applied to
		- Read-only property allEnchantments: EnchantmentInstance[]
			* All enchantments as part of this enchantment collection
		- Method canAddEnchantment(instance : EnchantmentInstance): bool
			* Returns whether or not the provided EnchantmentInstance can be added to this collection
		- Method addEnchantment(instance : EnchantmentInstance): bool
			* Attempts to add the enchantment to this collection. Returns true if successful
		- Method removeEnchantment(type : EnchantmentType)
			* Removes an EnchantmentInstance with type type from this collection if present
		- Method hasEnchantment(type : EnchantmentType): int
			* If this collection has an EnchantmentInstance with type type, returns the level of the enchantment. Returns 0 if not present
	+ ItemEnchantmentComponent
		- Added ItemEnchantmentComponent Item component class.
	+ ItemStack
		- Property enchantments: EnchantmentList
			* Gets a copy of the current set of enchantments on this ItemStack. Or allows the user to set the EnchantmentList for the ItemStack
		- Method removeAllEnchantments
			* Removes any enchantments that might be present on this ItemStack
		- Added function setLore(loreList: string[]): void
			* Sets the lore text for the item
		- Added function getLore(): string[]
			* Gets the lore text for the item

## Fixes

Vanilla Parity
* Worlds can now be created with 64-bit seeds (-9223372036854775808 to 9223372036854775807) and those can be copied between Bedrock and Java to produce the same world (MCPE-144994, MCPE-148168)
* Non-numeric seed UI inputs now produce the same seeds as Java Edition
* Player's arm no longer twitches while charging a bow (MCPE-148486)
* Falling blocks have full-block hitbox again
* Fixed an error where journeymen clerics would offer glowstone dust instead of glowstone blocks (MCPE-57524)
* Untamed wolves can now be leashed (MCPE-82050)

Blocks
* TNT blocks now correctly move in a random X/Z direction once lit
* Fixed an issue with resource drops occasionally remaining black after breaking and placing a block quickly in its place
* Top Snow no longer clips with the block beneath when falling

Gameplay
* Fixed fangs from the illager spells not being spawnable in blocks with no bounding boxes
* Water and lava buckets can now be used on underwater blocks cohabitating with water, such as light blocks or big dripleaves (MCPE-148392)
* Players in Visitor Mode can no longer break paintings and minecarts (MCPE-132869)
* Teleporting vertically beyond the visibility distance now loads the terrain correctly (MCPE-150021)
* Improved accuracy of damage calculations
* Fixed an issue where interacting with the bell while holding a chargeable item would not continuously ring it (MCPE-56968)
* Fixed a bug where the player could switch to gliding when riding in certain scenarios (MCPE-147904)

Mobs
* Mobs are now able to path over azalea blocks (MCPE-129373)
* Mobs are now able to path over dripleaf blocks and properly pathfind on top of them, when not fully tilted
* Mobs are now able to path over pointed dripstone blocks and properly pathfind on top of them (MCPE-133270)
* Mobs can now move properly on top of solid partial blocks, like bells, brewing stands, and enchanting tables
* Mobs can now jump from high enough solid partial blocks to full ones at a higher position
* Mobs can now jump over fences if they are standing on an adjacent slab or on another block high enough
* Mobs can now move through less than half-block tall top snow even when the ceiling, if any, is as tall as the mobs themselves (MCPE-148355)
* Mobs can now move through coral and coral fans, as they do not consider them as solid obstacles anymore (MCPE-128687)
* Fixed an issue where players could not access a villager's trades while holding a spawn egg (MCPE-76153)
* Fixed an issue where witches spawned during village raids could despawn during the raid (MCPE-149883)
* Cod, salmon, pufferfish, tropical fish, and dolphins once again spawn in deep variants of ocean biomes (MCPE-150191)

Stability and Performance
* Fixed a crash that could occur upon leaving the Zooming menu in the Dressing Room.

User Interface
* Default tabs changed to "Craftable" on left side and to "Crafting" on right side of the Pocket UI inventory screen
* Removed the question mark button on the Pocket UI inventory screen
* Items requiring 3x3 recipes are no longer shown when the crafting table is not used
* Players can now use auto-move to take off or equip armor in crafting table's menu while in Pocket UI (MCPE-148970)
* Updated generic controller face button icons on mobile
* Control + Backspace will now erase the whole word before the caret
* Control + Delete will now erase the whole word after the caret
* Control + Left Arrow will now move the caret to the beginning of the word before the caret
* Control + Right Arrow will now move the caret to the beginning of the next word after the caret

Villagers
* Fixed an issue where villagers did not hold the item they would trade when presented with Emeralds by the player (MCPE-150303)
* Villagers no longer avoid zombified piglins (MCPE-94102)
* Villagers no longer share seeds and beetroot seeds.

## Notes

1. ↑ Bedrock Edition 1.18.20 is not a version of the game and its betas are instead part of 1.18.30.

## References

1. ↑ 1.18.20 rolled into 1.18.30; CornerHard on Twitch - March 30, 2022
2. ↑ "Minecraft Beta - 1.18.20.21 (Xbox / Windows / Android)" – feedback.minecraft.net, January 27, 2022.