Bedrock Edition 1.17.40

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

General

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

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

General

 * Clouds
 * Raised cloud level from 128 to 192.

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
 * Improved world visibility culling for underground situations to eliminate seeing sky at the end of tunnels/stairs
 * Players can no longer eat food at full hunger in Survival mode
 * Amethyst geodes are now much less likely to generate in Strongholds, and if they do they will not destroy End Portals (, )
 * Dungeons are no longer misplaced or missing outside of the Caves & Cliffs experimental toggle
 * Vanilla Parity: Players are now able to activate Elytra gliding while moving upward


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


 * Blocks
 * Falling Stalactites are now offset properly to avoid interacting with entities outside their intended hitbox
 * Beehives now generate in the world facing South
 * Trapdoors now rotate correctly when loaded from a Structure Block
 * Powder Snow no longer disappears when looking at it from a distance
 * 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


 * 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
 * Fixed an issue where the D-pad and directional keys could not be used to navigate in certain parts of the user interface
 * Fixed an issue where an error message could be shown after suspending the game on the Achievements screens with Screen Animations disabled
 * Fixed an issue where an obscure game rule was added to Settings
 * 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


 * 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
 * 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
 * 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=]
 * Command Blocks with 'Needs Redstone' and a non-zero 'Delay in Ticks' will now execute only if they remain powered for the delay duration
 * 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


 * 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
 * Fixed a bug where property id would return "Unknown" for custom entities