Bedrock Edition 1.17.40

**1.17.40** is a minor update to *Bedrock Edition* released on October 19, 2021, which brought new features behind the experimental toggle and fixed bugs.

## Changes

### General

Achievements
* Now available on Windows 10 ARM-based PCs.

Clouds
* Raised cloud level from 128 to 192.

### Technical

Data-Driven Blocks
* Updated documentation for the Block Rotation component.
* Updated documentation for 'BlockExplosionResistance'.
* Added required toggles to documentation and to content error for block components.

Graphical
* Added a content error for using a material but not providing the required number of textures to the render controller.

Molang
* Fixed 'item\_remaining\_use\_duration'having improperly scaled or inverted results (This fix is a Versioned Change as of engine version 1.17.30).
* Add new compile errors for expressions like 'text' + 3, which were previously ignored (This is a Versioned Change as of engine version 1.17.40).
* Molang expressions that contain capital letters are properly evaluated now
* 'query.get\_equipped\_item\_name' will now recognize Sea Lanterns (MCPE-67893).
* Added new compile errors for expressions like 1 + (9 10), which were previously ignored (This is a Versioned Change as of engine version 1.17.40).

## Experimental

These additions and changes are accessible by enabling the "Caves & Cliffs" and "Enable GameTest Framework" experimental toggle.

### Mobs

Donkey and Sheep
* Can now spawn in meadow biome.

Fox
* Can now spawn in grove biome.

Goat
* Now only spawn in snowy slopes, stony peaks, lofty peaks, and snow capped peaks biomes.

Rabbit
* Can now spawn in meadow and snowy slopes biome.

### World generation

Biomes
* Re-added ice spikes, eroded badlands, jungle edge, and savanna plateau.

Caves
* The cavern now generates in 2 layers of different stone bases depending on the depth.
	+ Cavern layer above Y=0 is made up of regular stone.
	+ Stone transitions to deepslate from Y=0 to Y=-7.
	+ Deepslate now completely replaces stone from Y=-8 to bedrock.
		- Certain types of ores and structures still generate in the deepslate layer.
		- Dirt, diorite, granite and andesite do not generate in this layer.

Dripstone Caves
* In world generation, grass is replaced with stone (if generated near grass).

Mountains
* Meadows sometimes spawn a lone oak or birch, often with a bee nest.
* Infested stone now generate in the new mountain biomes.

Ore distribution
* Tweaked ore distribution to match in parity with *Java Edition*.

Pillager outposts
* Now generate in all the new mountain biomes.

Stony peaks
* A new mountains biome that is a variant of lofty/snowcapped peaks that uses stone and strips of gravel, instead of snow and ice.
	+ Is used to avoid temperature clashes.

Stone shores
* Sometimes generate layers (strips) of gravel.

Villages
* Now generate in meadows.

General
* Tweaked biome placement, river size, and terrain shapes for a better overworld experience.
* Added new world/cave generation when upgrading saved chunks below Y=0 using the Caves and Cliffs experimental toggle.
	+ Chunks previously upgraded with Bedrock underneath will not see this change.
* Upgrades older flat worlds to the new extended heights available with the Caves & Cliffs experimental toggle
* New flat worlds using the Caves & Cliffs experimental toggle will generate starting at "y=-64"

### Technical

GameTest Framework
* Renamed method succeedWhenBlockTypePresent to succeedWhenBlockPresent
* Identifier strings returned from property idnow include the item's namespace
* Updated the GameTest Framework interface and added a new SimulatedPlayer capability:
	+ Added 'SimulatedPlayer'class to GameTest. This class enables GameTest to simulate a variety of player behaviors such as movement, using items, and interacting with blocks and entities. See the GameTest API reference documentation for more details.
		- Added function spawnSimulatedPlayer(blockLocation: BlockLocation, name: string): SimulatedPlayer
		- Added function removeSimulatedPlayer(simulatedPlayer: SimulatedPlayer): void
	+ mojang-gametest.Test type
		- Changed signature of function assertEntityInstancePresent(entity: Entity, blockLocation: BlockLocation, isPresent: boolean = true)
	+ mojang-minecraft components
		- Component inventory now works with Player inventories

* GameTestSequence
	+ Removed method thenWaitWithDelay
	+ Added method thenWaitAfter(delayTicks: number, callback: () => undefined) - After a delay, executes the given callback every tick until it succeeds. Exceptions thrown within the callback will end sequence execution

* Player
	+ Fixed a bug where the location property would return an incorrect height for players
	+ Added property id

* Block
	+ Replaced method getLocationwith property location
	+ Replaced method getPermutationwith property permutation
	+ Replaced method getTypewith property type
	+ Replaced methods isWaterloggedand setWaterlogged with property isWaterlogged
	+ Replaced method getBlockDatawith property permutation
	+ Replaced method isEmptywith property isEmpty
	+ Removed property canBeWaterlogged

* BlockType
	+ Replaced method getNamewith property id
	+ Replaced method canBeWaterloggedwith property canBeWaterlogged

* BlockPermutation
	+ Replaced method getTypewith property type

## Fixes

Performance / Stability
* Fixed a crash that could occur when using Character Creator
* Fixed a softlock that could occur when on the Realms world slots screen and the internet connection was lost

General
* Fixed an issue causing Marketplace downloads on Nintendo Switch to fail after entering and leaving a world
* World settings are now carried over on to Realms when replacing worlds

Gameplay
* Fixed a most unfortunate issue that caused players to be set on fire upon changing dimensions if there was Lava underneath the Nether Portal (MCPE-28765)
* Improved world visibility culling for underground situations to eliminate seeing sky at the end of tunnels/stairs (MCPE-128372)
* Players can no longer eat food at full hunger in Survival mode (MCPE-60807)
* Amethyst geodes are now much less likely to generate in Strongholds, and if they do they will not destroy End Portals (MCPE-129861, MCPE-128799)
* Dungeons are no longer misplaced or missing outside of the Caves & Cliffs experimental toggle (MCPE-121708)
* Vanilla Parity: Players are now able to activate Elytra gliding while moving upward (MCPE-59580)

Mobs
* Tropical Fish no longer lose their colors upon grabbing them with a Water Bucket and then releasing them (MCPE-137158)
* Bees now spawn properly in the world (MCPE-132195)
* Mobs no longer casually stroll into open flames (MCPE-23835)
* Villagers can no longer spam doors open and closed (MCPE-28055)
* Cartographers now more consistently give new maps on all platforms
* Improved mob pathing around partial blocks (MCPE-127381)
* Armor no longer renders on Pillagers and Vindicators, but the mobs are still granted armor effects (MCPE-74242)
* Fixed an issue with mob rendering that caused Vindicator Axes to be visible even when they're not attacking on older Resource Packs (MCPE-123229)
* More mobs will now spawn underground in the Overworld
* Fixed failure to render Leads when attached to mobs out of view (MCPE-63931)
* Iron Golems now spawn only on solid blocks (MCPE-140145)

Blocks
* Falling Stalactites are now offset properly to avoid interacting with entities outside their intended hitbox (MCPE-132772)
* Beehives now generate in the world facing South
* Trapdoors now rotate correctly when loaded from a Structure Block (MCPE-66933)
* Powder Snow no longer disappears when looking at it from a distance (MCPE-127565)
* Sea Grass no longer spawns under Lily Pads during world generation to avoid breaking them
* Holding Top Snow in hand while hovering over Grass Blocks no longer causes incorrect behavior (MCPE-140659, MCPE-140660)

User Interface
* Riding an animal now displays the correct button prompt when playing with non-touch controls
* Using Dye on Signs that contain formatted color text will now overwrite the formatted color text
* Fixed text on Signs losing their formatting when new lines or word-wrapping are encountered. Formatting will now persist until the reset code or an overriding code is found. This is not retroactive and previously created Signs will not be changed
* Altered the message that is displayed when players change skins in-game (MCPE-92772)
* Fixed an issue where the D-pad and directional keys could not be used to navigate in certain parts of the user interface (MCPE-132826)
* Fixed an issue where an error message could be shown after suspending the game on the Achievements screens with Screen Animations disabled (MCPE-132269)
* Fixed an issue where an obscure game rule was added to Settings (MCPE-139025)
* The sign in text on the main menu no longer overlaps the Marketplace button
* Added space between tab title and the word 'Tab' for text-to-speech on Settings screen
* Added a "More Info" button to the sign in error screen
* Several seeds have been removed from the seed picker in preparation for the 1.18 release, which introduces significant changes to terrain generation.

Realms
* All changes to settings made on new worlds before creation are now transferred to the world after creation

Character Creator
* In Character Creator, tweaked color tint for the default Steve skin to match default Steve (MCPE-120818)
* Back appearance pieces will no longer cover the left and right arrows in the profile screen
* Sidebar no longer opens upon expanding any of the classic skin packs in the Dressing Room
* Improved the navigation flow for Character Creator so that it always switches to the selected Character Creator profile (MCPE-139022)
* Skins that are equipped from Marketplace while in-game now apply to the player’s character

Commands
* Education Edition items are no longer shown as an option when using @e[type=] (MCPE-78363)
* Command Blocks with 'Needs Redstone' and a non-zero 'Delay in Ticks' will now execute only if they remain powered for the delay duration (MCPE-74281)
* Fixed alignment of the sidebar display from the '/scoreboard' command when text length changes
* Fixed the ability to summon experience orbs via the '/summon' command (MCPE-130835)

Technical
* Fixed display only entity destruction in chunk discard scenarios
* Fixed a bug that caused animations to be restarted when changing render controllers
* Fixed 'item\_remaining\_use\_duration'having improperly scaled or inverted results (This fix is a Versioned Change as of engine version 1.17.30)
* Add new compile errors for expressions like 'text' + 3, which were previously ignored (This is a Versioned Change as of engine version 1.17.40)
* Molang expressions that contain capital letters are properly evaluated now
* 'query.get\_equipped\_item\_name' will now recognize Sea Lanterns (MCPE-67893)
* Fixed a bug where property id would return "Unknown" for custom entities (MCPE-137786)

## References

1. ↑ "Minecraft - 1.17.40 (Bedrock)" – feedback.minecraft.net, October 19, 2021.