Bedrock Edition 1.17.10

Not to be confused with Java Edition 1.7.10 or Bedrock Edition 1.17.1.

**1.17.10** is a minor update to *Bedrock Edition* released on July 13, 2021, which added candles, brought additional parity with *Java Edition*, experimental features for 1.18.0 and fixed bugs.

## Additions

### Blocks

Candle
* Crafted with honeycomb and string.
* Comes with 16 dyed types and a yellowish non-dyed type.
* Can be lit by any item that produces fire.
* Up to 4 can be placed in a single block, similar to sea pickles, for a maximum light level of 12.
	+ Only candles of the same color can be placed on the same block.
* Only one can be placed on an uneaten cake and lit.
	+ If any of the cake is consumed, the candle pops off.

### Command format

`/dialogue`
* Used to create multi-page dialogues with branching narratives for NPCs via dialogue JSON files.

## Changes

### Blocks

Azalea and Flowering Azalea
* Can be placed inside flower pots.

Block of Quartz, Crafting Table, Polished Blackstone Bricks, Cracked Polished Blackstone Bricks, and Sculk Sensor
* Changed the textures to match *Java Edition*.

Blue Ice and Enchantment Table
* No longer emits light.

Rooted Dirt
* Rooted dirt texture is now randomly rotated, matching the behavior of the regular dirt block.

Signs
* Glowing text on signs now has an outer glow, making text in dark colors more visible in the dark.

### Items

Dried Kelp, Netherite Axe, Netherite Boots, Netherite Hoe, Netherite Ingot, Netherite Pickaxe, and Netherite Sword
* Changed the textures to match *Java Edition*.

### Mobs

Axolotl
* When fed with a bucket of tropical fish, it will now return to a water bucket instead of a bucket.
* Axolotl's hitbox is now smaller to match the size of the mob.
* Axolotls no longer move their tails while playing dead.

Drowned
* Drowned attack any nearby axolotl on sight, if the axolotl is not playing dead.

Goat
* Tempted goats now move at the same speed as goats in *Java Edition*.
* Goat fall damage reduction is now in parity with *Java Edition*. (-10 reduced fall damage)

Guardian and Elder Guardian
* Guardians and Elder Guardians fire their lasers at axolotls when the axolotls are not playing dead.

Skeleton
* Skeletons now turn into strays after 20 seconds inside powder snow, instead of 45 seconds.

### Non-mobs entities

End Crystal
* Changed the models to have three cubes again instead of two, and to match *Java Edition*.

### World generation

Bastion remnants
* Chest loot has been changed.
	+ Loot overall was improved; rarer items had their weights increased and many item amounts were increased. Many pools had their rolls increased as well.
	+ Removed all "empty" loot entries.
	+ Most items with damage had their average durability increased.
	+ Added enchanted golden axes, golden carrots, enchanted golden apples, and blocks of iron to various loot tables.
	+ Removed iron nuggets from treasure chests.
	+ Unenchanted diamond armor in treasure chests is no longer damaged.

### General

Realms
* Added three world upload slots.
	+ One world can be active at a time and can be switched between the three world slots.

Settings
* Added a new accessibility icon in the Settings menu.

Splashes
* Added the following splash text from Java 1.17-pre1:
	+ "[this splash text has been delayed until part 2]"
	+ "Contains simulated goats!"
	+ "Home-made!"
	+ "There's <<a cat on ,my keyboard!~" [*sic*]
	+ "The cutest predator you'll ever meet!"
	+ "Now you are thinking with pistons!"
	+ "Get to the coppah!"
	+ "Board game version also available!"
	+ "Honey, I waxed the copper!"
	+ "Plant-based light sources!"
	+ "Made by "real" people!"

### Technical

General
* Added `query.show_bottom` - a query for determining whether or not the entity's bottom is rendered.
* Added `query.death_time` - a query for determining the elapsed ticks since a mob started dying.
* Added `math.min_angle` - a math expression for minimizing the angle magnitude (in degrees) into the range [-180, 180].

Chunks
* Limits writing of chunks unless necessary. Chunks upgraded from older formats will not automatically save when loaded, but when modified (Through blocks or actors, for example) they will be marked for saving

Gameplay
* Loot chests with Seed = 0 now correctly randomize if placed on the same coordinates.
	+ Note that pick blocking a Vanilla loot chest before opening it will now result in identical loot in each copy unless the player set the seed to 0 in the NBT.

Data Driven Mobs
* Ender dragon and end crystal rendering and animations are now fully data-driven.
* The horse rendering and animations are now fully data-driven.
	+ This work supports all horse variants (horse, mule, donkey, zombie horse, skeleton horse) and all horse versions

Graphics
* Graphics hardware that supports a maximum D3D11 feature level of 9\_3 or below are no longer supported.

Stability and Performance
* Added better error handling for JSON parsing. Also added several new content errors for item parsing as well as for loot tables.

Actors
* Incoming client-sync properties for newly seen types will properly register with client-side Actor Property Manager groups.

## Experimental

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

### General

* Added the Caves & Cliffs experimental toggle for non-beta users.

### Blocks

Sculk Sensor
* A redstone component that detects vibrations.
* Currently, it does not generate naturally, but natural generation is planned for future versions.
* Senses vibrations such as block placement, footsteps, and projectiles, and emits a redstone signal.
* Emits particles when it senses a vibration nearby.
* A comparator connected to it emits different signal strengths based on what caused the signal.
* Does not detect ambient weather such as rain.

### Items

Goat Horn
* Dropped by a goat if it rams into a block.
* When used for a short period of time, it makes a sound identical to the horn heard during raids.

### World generation

Caves
* Completely overhauled.
* Now stretch down to Y=-62.
* Biomes inside of caves introduced such as dripstone caves and lush caves.
* Contain aquifers, bodies of water with different heights, independent of sea level (Y=63).
	+ Aquifers below Y=0 sometimes generate with lava instead of water.
* Improved old caves to blend in with the new generations of caves better.
* New noise caves, coming in 2 forms, cheese, and spaghetti.
	+ The original caves still exist with their generation slightly tweaked to better blend in with noise caves.
	+ Cheese caves have large stone towers stretching from the bottom of the cave to the top.
		- Very large, often large enough to fly with an elytra.
		- Abundant with aquifers and ores.
	+ Spaghetti caves are long, thin caves that have small aquifers and are more similar to original caves.

Mineshafts
* Mineshaft pieces no longer generate if they were fully floating in the air.
* Corridors now generate with wooden logs as pillars for support, or chains and oak fences as hanging support if needed.
* Cobwebs no longer generate floating without an adjacent block.

Mountains
* Height-dependent generation.
* Revamped, featuring some new small spruce trees on the slopes and ice and packed ice above the peaks.
* Contain goats, rabbits, snow blocks, snow layers and powder snow.
* Iron ore, emerald ore and coal ore are found in abundance.
	+ Emerald ore no longer generates in blobs of only one.
* Can generate up to Y=256.
* Generates with new sub biomes.

Ore distribution
* Changed ore generation of all ores making them have a spread value like lapis lazuli ore. Some still retain a linear generation alongside a spread generation.
* Coal ore, emerald ore, and copper ore no longer generate below Y=0.
	+ Copper ore generates between the Y=0 and Y=96 and like all other ores, uses spread. It peaks at Y=48.
	+ Emerald ore generates above Y=32 as a spread, peaking at Y=256 and decreasing in quantity as the altitude decreases.
	+ Coal ore attempts to generate twice: once, evenly between an altitude of Y=136 and Y=256; and as a spread, peaking at an altitude of Y=96 and generating between an altitude of Y=0 and Y=192.
* Other ores also generate differently.
	+ Iron ore attempts to generate three times: once as a spread peaking at an altitude of Y=256, generating above Y=128; another as a spread peaking at Y=16 and generating with a minimum height of Y=-24 and a maximum height of Y=57, and a smaller one spreading evenly between the altitudes of Y=-64 and Y=-32.
	+ Gold ore generates between the altitudes of Y=-64 and Y=32, peaking at Y=-16. The extra gold that generates in the badlands biome was left untouched.
	+ Lapis lazuli ore attempts to generate twice: once, as a spread between the altitudes of Y=32 and Y=-32, peaking at an altitude of 0; and evenly between the altitudes of Y=64 and Y=-64, generating buried like ancient debris.
	+ Redstone ore attempts to generate twice: once, evenly between an altitude of Y=15 and Y=-64; and as a spread, peaking at an altitude of -64 and generating below an altitude of Y=-32.
	+ Diamond ore now generate as a spread, generating below Y=16 and peaking at altitudes near y=-64.
* Tweaked size and positioning of diorite, andesite & granite generation.
	+ Pockets of diorite, granite, and andesite are now larger and more spherical but less common.

#### Biomes

Dripstone Caves
* Can naturally generate in the world.
* Contains pointed dripstone (both stalactites and stalagmites) and dripstone blocks.
* Dripstone clusters are abundant here, often forming pillars.

Lush Caves
* Can naturally generate in the world.
* Contain moss, moss carpet, spore blossom, glow berry vines, big dripleaf and small dripleaf.
* Moss covers the ceilings and floors.
* Clay pools generate inside.

Mountains
* Come in 5 sub-biomes:
	+ Mountain Meadow
		- The lowest layer of a mountain.
		- Contain flowers and sweet berry bushes.
	+ Mountain Grove
		- The second lowest layer of a mountain.
		- Covered in snow, snow blocks and powder snow, and is filled with spruce trees.
		- Rabbits spawn in this biome.
	+ Snowy Slopes
		- The second highest layer of a mountain.
		- Covered in snow, snow blocks, powder snow, and ice.
	+ Lofty Peaks
		- The highest layer of a mountain, and will only generate if the mountain is high enough.
		- Generates if the surrounding biomes are too warm for snow-capped peaks.
		- Covered in snow and ice.
	+ Snow Capped Peaks
		- The highest layer of a mountain, and will only generate if the mountain is high enough.
		- Generates if the surrounding biomes are too cold for lofty peaks.
		- Covered in snow, snow blocks, powder snow, ice and packed ice.

### Technical

GameTest Framework
* Updated the /clearall command to also clear tests outside of loaded areas
* Dimension
	+ `getEntitiesAtBlockLocation(location : BlockLocation) : Entity[]`
		- Returns an array of all entities at the given block location
	+ `spawnEntity(identifier : String, location : BlockLocation) : Entity`
		- Spawns an entity with the given identifier at the given block location
	+ [Removed] function getName()
	+ `property id : String`
		- Gets the entity's identifier
	+ `property nameTag : String`
		- Gets or sets the entity's name tag
* Player
	+ `property name : String`
		- Gets the player's name
* `method getPlayers() : Player[]`
	+ Returns all players in the server
* Updates to how blocks are handled in APIs:
	+ BlockType, BlockPermutation, and Block instances replace BlockState-based updating
* Exposed chest block component and Container
* Added location and velocity read-only properties to Entity
* `function createExplosion(location : Location, radius : number, explosionOptions : ExplosionOptions)`
	+ Creates an explosion
		- `ExplosionOptions : class`
			* Provides additional configuration parameters for createExplosion
* `method triggerEvent(eventName : string)`
	+ Triggers an event on an entity
* Added `thenExecuteFor` to `GameTestSequence`, which repeatedly calls the callback for the specified number of ticks
* Events
	+ Renamed `World.event.weatherChanged` to `World.event.changeWeather`
	+ Added event `World.event.addEffect`
		- Fires when an effect is applied to an entity.
	+ Added event `World.event.createEntity`
		- Fires when an entity is added to the world.
	+ Removed function `World.addEventListener`
	+ Changed function 'getDuration()' to property 'duration'
	+ Changed function 'getAmplifier()' to property 'amplifier'
	+ Added property `displayName`
		- Gets the display name of the effect

## Fixes

Performance / Stability
* Fixed a crash that could occur if a structure was placed with a command in an unloaded area and that structure was deleted

Gameplay
* Underwater fog is once again dependent on biome and appears as it should (MCPE-124266)
* Fixed a bug that could cause Nether Portals to sometimes take players to the wrong coordinates (MCPE-115933)
* Fixed split-screen players not able to rename items on Anvils (MCPE-108405)
* Thunderstorms now happen as often as Java Edition (MCPE-72798)
* Bastion loot now closely matches Java Edition (MCPE-104330)
* Players can no longer swim through the air under a platform, though it looked pretty cool (MCPE-48958)
* Fixed players going through Cobwebs taking fall damage before hitting the ground (MCPE-121550)
* Descending through Powder Snow with touch controls now uses the same button as descending through Scaffolding
* Fixed an issue that was causing the player's head to not animate properly with emotes (MCPE-126902)

Mobs
* Empty Buckets can no longer be used to collect Fish
* Axolotls no longer move their tails while playing dead (MCPE-123309)
* Feeding Axolotls with Bucket of Tropical Fish now returns a Water Bucket instead of an empty Bucket (MCPE-127382)
* Axolotls now only spawn in complete darkness to prevent spawning in unwanted places
* The hitbox on Axolotls is now smaller to match the size of the mob
* Drowned, Guardians and Elder Guardians now attack Axolotls on sight
* Skeletons now turn into Strays after 20 seconds in Powder Snow, reduced from 45 seconds
* Strays no longer drop Wither Skeleton Skulls when killed by Charged Creepers (MCPE-35876)
* Burning mobs can no longer destroy Powder Snow when the Mob Griefing world option is disabled (MCPE-221842)
* Tempted Goats now move at the same speed as goats in Java Edition, and other similar mobs that are being tempted (MCPE-123261)
* When Goats are performing a ram attack, mobs no longer retaliate against the Goats (MCPE-129619)
* Goat fall damage reduction is now in parity with Java Edition (-10 reduced fall damage)
* Goats can now continue ramming when on Slime Blocks and Honey Blocks
* Baby Sea Turtles no longer despawn after being hatched (MCPE-70664)
* Baby Horses, including their variants, are now taller and no longer exhibit Z-fighting from their legs (MCPE-92462)
* Iron Golems and Evokers are no longer sometimes aggressive on Peaceful difficulty (MCPE-47012)
* Amphibious mobs no longer get stuck when pathing over slabs and Daylight Sensors
* Attacked Glow Squids no longer go dark only for the aggressor in multiplayer sessions
* Glow Squid now darkens to match the surrounding light level when hurt (MCPE-121754)
* Villagers spawned from Villager spawners on Marketplace worlds that were created after version 1.11 now correctly spawn as V2 villagers
* Fixed a warning that could appear in split-screen when encountering Guardians

Blocks
* Falling Anvils and Stalactites now deal damage to mobs when landing in liquid
* Azaleas can now be Bone Mealed when placed on Clay
* Using Pick Block on Azalea Leaves and Flowering Azalea Leaves now results in the correct blocks being picked (MCPE-128092)
* Hanging Roots are now destroyed by water (MCPE-121676) (MCPE-127677)
* Lightning Rods no longer break falling blocks that land on them (MCPE-116545)
* Rooted Dirt texture is now randomly rotated, matching the behavior of regular Dirt blocks (MCPE-123197)
* Small Dripleaf now only drops itself when broken with Shears
* Glow Lichen now only drops itself when broken with Shears
* Jukeboxes now only eject Music Disks into non-solid blocks (MCPE-85635)

Items
* Projectiles, such as Snowballs and Eggs, no longer cast shadows
* All dropped items now have a similar floating height
* Disenchanting an item using the Grindstone once again resets the enchantment cost penalty correctly (MCPE-107211)
* Data-driven items now swing faster when not targeting blocks (MCPE-119702)
* Firework Rockets obtained from '/replaceitem' command now have a flight duration (MCPE-109037)
* Firework Stars obtained from '/replaceitem' command now have proper color values (MCPE-109037)
* Glowing text on Signs now has an outline (MCPE-129123)
* Black text on Signs can now be lit by using a Glow Ink Sac (MCPE-128079)
* Tooltips are now present when holding Ink Sac and Glow Ink Sac when using a controller
* Ink Sac and Glow Ink Sac can no longer be used indefinitely on signs in Adventure mode
* Players can no longer dye text on Signs in Adventure mode (MCPE-126489)
* Pumpkins are once again accepted by Farmer Villagers regardless of their rotation when mined (MCPE-105540)

User Interface
* Glow Item Frame is now placed after regular Item Frame in the Creative inventory (MCPE-117532)
* Copper Ore is now placed after other Overworld ores in the Creative inventory (MCPE-119724)
* Deepslate is now placed after other stones in the Creative inventory (MCPE-127592)
* Hotbar item tooltip duration now scales with the length of the tooltip's text
* Added a new Accessibility icon in the Settings menu
* Items can now be previewed in the Character Creator and equipped using the Equip button
* Added Equip button to Classic Skins and Capes tabs
* The profile screen reload button is now properly localized to all supported languages
* The "Reset to Default" button in the Accessibility settings now resets the Text Background Opacity slider
* Fixed a typo in the "Loom" section of "How to Play" (MCPE-128735)
* The counters on empty tabs of the Play screen now display zero instead of an empty, grey box (MCPE-110535)
* Featured Item thumbnails now fit within the Featured Items window in Character Creator
* When not signed into a Microsoft Account, players are now presented with a button prompting them to sign in on the Play screen so that they can view Realms
* Realms Plus content expiration timers now appear properly
* Realms Plus timers now only appear within 30 days of expiring

Commands
* '/title clear' now correctly clears the title and subtitle from the HUD (MCPE-97636)
* Frosted Ice can now be used in any command that accepts a block, such as '/setblock' and '/testforblock' (MCPE-126741)

## References

1. ↑ "Minecraft - 1.17.10 (Bedrock)" – feedback.minecraft.net, July 13, 2021.
2. ↑ "New world generation in Bedrock available for testing" – Minecraft.net, July 13, 2021