Bedrock Edition 1.17.30

1.17.30 is a minor update to released on September 21, 2021, which brought additional parity with, and fixed bugs.

Command format

 * Gamerules
 * Used to prevent beds/respawn anchors from exploding in other dimensions.
 * Used to prevent beds/respawn anchors from exploding in other dimensions.


 * Options
 * Added new "Respawn Blocks Explode" in the world settings.

Blocks

 * Enchantment Tables
 * Now emits light level 7, instead of 12.


 * Light Block
 * Light blocks now reveal a particle when the player is holding the item.
 * Unlike in Java Edition, the respective item texture is used as the particle instead of four yellow stars.


 * Mob Spawner
 * No longer emits light to match Java Edition.


 * Structure Block
 * Added Corner Mode
 * Automatically set the area based on the corner when using save mode.

Items

 * Campfires and Soul Campfires
 * Can now stack to 64.


 * Shulker Boxes
 * Now when destroyed as an entity, it drops the items it currently has.

Mobs

 * Axolotls
 * Axolotls now spawn only where there's a stone block less than 10 blocks below the spawning space.


 * Ghast
 * No longer spawn in less than a 5x4x5 area.


 * Goats
 * Baby goats model no longer have horns.


 * Magma Cubes
 * Medium Magma Cubes now have a larger hitbox (1.04 x 1.04 blocks) to match Slimes.
 * No longer spawn in less than a 3x3x2 area.


 * Zombies, Zombie Villagers, Husks and Drowned
 * No longer pick up glow ink sacs.

World generation

 * Bastion remnants
 * Hoglin stable chests may contain an enchanted diamond pickaxe.

Gameplay

 * Experimental Gameplay
 * Re-added "Experimental Molang Features" toggle to support experimental Molang features.


 * Options
 * Added "Clear Hotbar" option to the controller settings.
 * Added "Show Border Effect" in the world settings.

General

 * Menu Screen
 * "Profile" button menu to Character Creator has been renamed to "Dressing Room".


 * User Interface
 * Slightly changed the Minecraft logo of the loading screen.

Technical

 * Gameplay
 * Data-driven blocks can now be added to the Creative menu
 * New chemistry material reductions for Education Edition can now be defined in the JSON files
 * "potion.prefix" and "potion..postfix" potion string resources have been renamed to "potion..name"
 * Potion name string resources have been changed so there are separate "Splash" and "Lingering" string resources
 * The old style of using "potion.prefix" and "potion.*.postfix" is still supported
 * UI bind objects can now utilize the 'ignore' field
 * Attachables that are visible in first person view will no longer render backwards


 * Commands
 * Commands ran through animations now will run in the order defined in animation files on all platforms, including Realms
 * Animations and events defined in Behavior Packs can now run commands that require cheats without the player enabling cheats (such as setting certain rules with the command)
 * Target selectors ry and rym now support wrapping around north
 * The command position argument is now optional
 * The command will now output on success
 * The command no longer shows an error when run successfully through '/execute'
 * The command now copies signal strength for Levers and Redstone Dust
 * The command can now specify a  position argument with y below 0 as long as it is equal or above the minimum height for that dimension
 * Added functionality for Intellisense options: "d" and "default" in the gamemode command selector
 * Minecart with Command Block can now use the self selector (@s) in its commands to target itself
 * The command now sets the correct time and day when specifying a time above 24000 or below the current time (e.g.  sets the day to 0,  sets the day to 1), and  can now set or add to a negative world time
 * The command can now be used while the player is sleeping and outputs success when setting to the player's existing spawnpoint
 * The camera shake command no longer shakes every player's screen when "@s" is used as the selector


 * Molang
 * Updated many Molang content errors to specify which operator or query was involved
 * 'min_engine_version' from Resource Pack and Behavior Pack manifests is now passed into Molang expression parsing. This allows for future breaking changes tied to a specific engine version
 * Added 'query.facing_target_to_range_attack', which returns whether or not the queried actor's 'minecraft:behavior.ranged_attack' goal is currently running
 * Versioned Changes are now detailed in the documentation, starting with the 'query.item_remaining_use_duration' fix

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

Blocks

 * Glow Lichen
 * Can now generate below Y=0 to Y=-64.

Mobs

 * Axolotl
 * Now only spawn in lush caves.
 * Can now spawn below Y=0 to Y=-64.


 * Glow Squid
 * Can now spawn below Y=0 to Y=-64.


 * Goat
 * Now only spawn in mountain meadow biome.


 * General
 * Hostile mobs will only spawn in areas where the light level is equal 0.
 * This change only affects block-light and not sky-light.
 * Hostile mobs can now spawn in the new mountain and cave biomes.

World generation

 * Dripstone Cluster
 * Can now generate below Y=0 to Y=-64.


 * Dripstone Caves and Lush Caves biome
 * Can now generate below Y=0 to Y=-64.


 * Deep Warm Ocean
 * Now generates naturally.


 * Noodle caves
 * A thinner, squigglier, tighter variant of spaghetti caves.
 * These are an improved version of the mesh caves announced around Minecraft Live.


 * Overworld
 * Now uses the multi-noise biome source type.


 * Ore veins
 * Long and rare ore formations.
 * Copper ore veins mixed with granite and raw copper block generate above Y=0.
 * Iron ore veins mixed with tuff and raw iron block generate below Y=0.


 * Sub-biomes
 * Wooded hills, birch forest hills, tall birch hills, taiga hills, taiga mountains, gravelly mountains+, desert hills, desert lakes, shattered savanna plateau, swamp hills, dark forest hills, snowy mountains, snowy taiga hills, snowy taiga mountains, modified jungle, jungle hills, bamboo jungle hills, modified jungle edge, giant tree taiga hills, giant spruce taiga hills, eroded badlands, badlands plateau, modified badlands plateau, modified wooded badlands plateau, and mushroom field shore biomes no longer generate naturally.
 * It is unknown whetever jungle edge are unused or not, as Java Edition 1.18 experimental snapshot 5 re-added it.
 * The same with savanna plateau, as it currently exist in Java Edition latest experimental snapshot.
 * Whether any of the biomes listed will be re-added, or if any will be removed from the game outright, is currently unknown.


 * General
 * Terrain generation is now independent from biomes, with biomes adapting to whatever terrain they happen to generate throughout.
 * This allows for natural variation in the terrain of any individual biome, both in terms of shape and elevation.
 * For example, forests and deserts could form up on a hill without needing a special biome just for that purpose.
 * This additionally allows for smoother transitions between biomes.
 * Terrain is now smoother and more extreme.

Technical

 * GameTest Framework
 * Renamed module "Minecraft" to "mojang-minecraft"
 * Renamed module "GameTest" to "mojang-gametest"
 * GameTest (now mojang-gametest)
 * Added helper method spawnAtLocation(location : Location) : Entity
 * Spawns an entity at the given Location
 * Added helper method walkToLocation(mob : Entity, location : Location, speedModifier : number)
 * Commands an entity to move to the given Location
 * Added method assertCanReachLocation(mob : Entity, location : BlockLocation, bool canReach)
 * Asserts that the given mob can reach the target block location
 * Renamed helper method worldLocation(location : BlockLocation) to worldBlockLocation(location : BlockLocation)
 * Renamed helper method relativeLocation(location : BlockLocation) to relativeBlockLocation(location : BlockLocation)
 * Added helper method worldLocation(relativeLocation : Location) : Location
 * From a Location with coordinates relative to the GameTest structure block, returns a new Location with coordinates relative to the world
 * Added helper method relativeLocation(worldLocation : Location) : Location
 * From a Location, returns a new Location with coordinates relative to the current GameTest structure block
 * Added helper method spawnWithoutBehaviorsAtLocation(entityIdentifier : string, location : Location) : Entity
 * Spawns an entity at a location without any AI behaviors
 * Added helper method rotateDirection(direction : Direction) : Direction
 * Rotates the given direction relative to the GameTest structure rotation
 * Added helper method getTestDirection : Direction
 * Returns the direction the GameTest is facing based on its structure rotation
 * Renamed function assertBlockTypePresent to assertBlockPresent
 * Renamed function assertEntityData to assertEntityState
 * Removed function assertBlockTypeNotPresent (added boolean isPresent to assertBlockPresent instead)
 * Removed function assertEntityNotPresent (added boolean to assertEntityPresent instead)
 * Removed function assertEntityNotPresentInArea (added boolean to assertEntityPresentInArea instead)
 * Removed function assertEntityNotTouching (added boolean to assertEntityTouching)
 * Removed function succeedWhenEntityNotPresent (added boolean to succeedWhenEntityPresent)
 * Modified signature of function assertBlockState(blockLocation: BlockLocation, callback: (Block) => boolean)
 * Modified signature of function assertBlockPresent(blockType: BlockType, blockLocation: BlockLocation, isPresent: boolean)
 * Modified signature of function assertEntityPresent(entityTypeIdentifier: string, blockLocation: BlockLocation, isPresent: boolean)
 * Modified signature of function assertEntityPresentInArea(entityTypeIdentifier: string, isPresent: boolean)
 * Modified signature of function assertEntityTouching(entityTypeIdentifier: string, location: Location, isTouching: boolean)
 * Modified signature of function succeedWhenEntityPresent(entityTypeIdentifier: string, location: Location, isPresent: boolean)
 * Minecraft (now mojang-minecraft)
 * Renamed BlockTypes class to MinecraftBlockTypes
 * Renamed Effects class to MinecraftEffectTypes
 * Renamed Items class to MinecraftItemTypes
 * Events
 * Added event World.events.beforeExplosion
 * Fires before an explosion occurs
 * Added event World.events.explosion
 * Fires when an explosion occurs
 * Added event World.events.explodeBlock
 * Fires when a block breaks due to an explosion
 * Added event World.event.beforeActivatePiston
 * Fires before a piston is activated
 * Added event World.event.activatePiston
 * Fires when a piston is activated
 * Added read-only property currentTick to tick event
 * Returns the current server tick
 * Renamed event createEntity to entityCreate
 * Renamed event addEffect to effectAdd
 * Renamed event activatePiston to pistonActivate
 * Renamed event beforeActivatePiston to beforePistonActivate
 * Renamed event explodeBlock to blockExplode
 * Renamed event changeWeather to weatherChange
 * Block
 * Added method getDimension : Dimension
 * Added BlockPistonComponent


 * Molang
 * Added experimental queries for item cooldowns: 'query.is_cooldown_type', 'query.cooldown_time', and 'query.cooldown_time_remaining'
 * Added 'BlockPartVisibilityComponent'
 * Allows creators to specify Molang conditions for each “bone” listed in the geometry JSON that turn on/off bones based on the block state
 * Fixed experimental 'query.bone_orientation_trs' to have correct translation Y and scale results
 * Added experimental 'block_neighbor_has_any_tags' and 'block_neighbor_has_all_tags' Molang queries
 * Takes a block relative position and a set of tags
 * Returns 0/1
 * Added 'query.facing_target_to_range_attack', which returns whether or not the queried actor's 'minecraft:behavior.ranged_attack' goal is currently running
 * Moved experimental Molang queries (other than those related to Actor Properties) to a new 'Experimental Molang Features' toggle
 * Improved Molang documentation related to experiments
 * Experimental queries and language expressions now list which experiment(s) they require to be available
 * Versioned Changes are now detailed in the documentation, starting with the 'query.item_remaining_use_duration' fix

Fixes

 * Performance / Stability
 * Optimised pasting Unicode text into Book & Quill
 * Fixed a crash that could occur when crafting a Crafting Table with Gameplay Tips enabled
 * Fixed a crash that could occur after disconnecting from the internet while playing in an online session as the client on iOS
 * Fixed a crash that could sometimes occur when downloading large Marketplace worlds


 * Gameplay
 * Worlds with the Caves & Cliffs experimental toggle enabled are now more likely to have the same default world spawn position as worlds without the experiment using the same seed
 * Matched respawn from Bed behavior with Java Edition by attempting to avoid placing players on damage dealing blocks when waking up and attempting to place players on the side of the bed they entered from
 * Nether Portals placed between chunks no longer break when leaving the Nether
 * Damaging buff effects no longer bypass absorption hearts
 * Enchanting Table's enchantment probability is now weighted
 * Fixed incorrect position when dismounting at a negative world height
 * Abandoned villages are now far rarer, more closely matching the Java Edition
 * Fixed emissive light propagation in ray tracing mode by increasing irradiance cache sample size
 * Fall damage is no longer applied when falling into Scaffolding


 * Mobs
 * Cartographers will now only give maps to undiscovered monuments
 * Tweaked Iron Golem spawning logic to better match Java Edition
 * Axolotls now spawn only when there is stone up to 10 blocks under them, and not inside bubble columns
 * Collecting Fish or Axolotl with a Bucket no longer immediately releases them
 * Armor Stands now drop equipped items when destroyed by fire or lava
 * Limited the maximum number of Phantom mobs that can spawn
 * Goats now play their "impact 3" sound
 * Grown up Goats no longer lose their Horns when reloading a world
 * Baby Goats no longer have horns
 * Fixed an animation parity issue with Skeletons not using both arms to hold their Bows
 * Undead mobs standing near Powder Snow now burn normally
 * Powder Snow above undead mobs now prevents burning effect
 * Multiple Shulkers are no longer able to spawn in the same position from spawn eggs or End City generation
 * Mobs can now pathfind correctly when standing on Amethyst Buds
 * Lightning no longer randomly strikes mobs that are under blocks
 * Fixed mobs sometimes rendering with incorrect geometry when viewed from the Structure Block preview window
 * Experimental Features: Wither can now be spawned at negative heights
 * Ghasts no longer spawn in less than 5x4x5 areas
 * Magma Cubes no longer spawn in less than 3x3x2 areas
 * Medium Magma Cubes now have a larger hitbox
 * The Thorns enchantment now does Knockback to mobs


 * Blocks
 * Cave Vines can now be pollinated by Bees
 * Enchantment Tables now emit light level 7
 * The falling position of Pointed Dripstone is no longer slightly offset
 * Disabled biome tinting for Spruce and Birch Leaves
 * Bubble Columns are now placed properly when loaded with a Structure Block
 * Vanilla Parity: Using Bone Meal on Moss Blocks now also replaces Tuff blocks
 * Grass and water block tint colors are no longer slightly randomized with noise
 * Fixed Light Block not being displayed correctly when being held
 * Weeping and Twisting Vines now grow correctly after the player breaks them
 * Minecart with Chest will now copy over its chest contents when advanced pick blocked
 * Crimson Roots now have a small chance of growing on Warped Nylium blocks when using Bone Meal
 * Candle now drops when Candle Cake is pushed by a Piston
 * Renamed Structure Blocks will no longer have the incorrect data mode on creation
 * Unicode font now correctly highlights on Signs with glowing text
 * Pumpkins placed facing South, East, or West now can now be used to trade with Villagers if they were mined with Silk Touch tools
 * More Candles can no longer be added to Candles placed without any support block
 * Shulker Boxes now remain in Dispensers when dispensed at world height limit
 * Monster Spawners no longer emit light
 * Powder Snow can now be collected with a Dispenser
 * Target Blocks now conduct Redstone signals
 * Fixed text from signs drawing on maps on ray tracing enabled hardware
 * Amethyst Cluster and Amethyst Bud can no longer be placed on Grass Path blocks
 * Corrected "Deepslate Lapis Lazuli Ore" name from "Deepslate Lapis Ore"
 * Fixed Bed display if the foot of the Bed is in a brighter area than the head
 * Fixed Large Chest display so the brightest end of the Chest is chosen to light the whole Chest
 * Dispensers now remove bubble columns when removing water
 * Sea Pickles now change light depending on being in underwater or not
 * Snow layers are now melted by light from torches, etc.
 * Vanilla Parity: Falling gravity blocks will no longer break when landing on certain blocks
 * Half of the Enchantment Table book doesn't render dark anymore
 * Blocks moved by a Piston no longer appear white while moving
 * Spore Blossoms no longer have a randomly offset hitbox
 * Measurements of hitbox of Spore Blossoms now match Java Edition
 * Moss Block and Moss Carpet now break when moved by Pistons and Sticky Pistons can no longer pull them
 * Water dripping from Pointed Dripstone can no longer fill Cauldrons with Potions.
 * Fixed an issue causing Slime and Honey Block movement slowdown to not be fully applied to players
 * Light Blocks are once again visible while holding one and properly show their brightness value
 * Fixed Light Blocks not being removed when destroying them while holding a Light Block
 * Fixed Light Block brightness not being adjustable when interacting with it
 * Fixed Barrier Blocks being destructible while not holding a Barrier Block


 * Items
 * Shulker Boxes now drop their contents when destroyed as an item
 * Bows and Tridents are now held more similarly to Java Edition
 * Eating Chorus Fruit while gliding no longer deals fall damage to the player
 * Swords now break Bamboo in a single swing
 * Fixed a bug that could cause the Trident, Shield, and Crossbow to render incorrectly when an additional player is connected over the internet using a Marketplace skin
 * Fixed a bug which could cause the Spyglass to appear as if it's being thrown when using a custom skin
 * Using a Powder Snow Bucket on a Cauldron filled with Powder Snow no longer creates a new Powder Snow block
 * Clock and Compass items no longer function in the Recipe Book
 * Lava Buckets can now be emptied into a Cauldron filled with Lava
 * Fixed offhand Shields clipping into players’ arms while in third-person perspective
 * Holding a Shield in Marketplace maps no longer shows a content error
 * Made projectile items move more smoothly when far from players
 * Strong/Long/Splash/Lingering Potions can now be placed in the Brewing Stand manually
 * Soul Speed Boots can now be unequipped properly after losing durability
 * Diamond Pickaxes found in Hoglin Stable chests are now enchanted
 * Fixed held items not disappearing visually to other players after a player dies when the Keep Inventory game rule is enabled
 * Shears now correctly cut Vines and Glow Lichen faster
 * Campfires and Soul Campfires now stack in the inventory


 * Audio
 * Amethyst walking sounds are now affected by the "Player" volume slider
 * Deepslate walking sounds are now affected by the "Player" volume slider
 * Moss Block walking sounds are now affected by the "Player" volume slider
 * Sounds of moving in/on Powder Snow are now affected by the "Player" volume slider
 * Jumping and landing on blocks have now their sounds affected by the "Player" volume slider
 * Dripstone drip sounds are now affected by the "Block" volume slider
 * Block interaction "click" sounds are now affected by the "Blocks" volume slider
 * Turtle Eggs no longer produce the Bone Meal sound when placed on Sand
 * Swapped the toggle sounds for Levers so they are now parity with Java Edition
 * Using a Water Bucket on a fully filled Cauldron now produces the correct sound


 * Accessibility
 * Text to Speech chat setting once again correctly narrates chat messages
 * Text to Speech now correctly reads item names in the inventory
 * Inventory grid slots are no longer double counted for Text to Speech focus controls


 * User Interface
 * Fixed the hotbar being misaligned with XP bar by 1 pixel
 * The hotbar is no longer too dark when anti-aliasing is increased
 * The crosshair no longer flickers during multiplayer sessions
 * Using the touch interface, holding the output slot on the Stonecutter or Loom will now rapidly craft items
 * Fixed an incorrect popup when attempting to activate a pack with a missing dependency
 * Fixed translation issues for some keys containing upper case letters
 * Replaced loading bars with new loading spinner in the Marketplace
 * Recipe Book crafting estimates no longer differ from the actual results
 * Cursor items no longer count towards recipe ingredient in Recipe Book
 * The selected recipe in the Recipe Book is now deselected when the player runs out of ingredients
 * Non-craftable recipes no longer displayed in Recipe Book when search mechanism is used
 * Nether blocks now appear in the crafting grid if any other ingredient is unavailable
 * Fixed a wireless network connection error message that appeared when players were connected via a wired network
 * Fixed various spelling errors in Character Creator
 * Hover of widget buttons were showing corrupted appearance before full load was complete
 * Fixed a legibility issue with some Japanese font characters
 * Riding an animal now displays the correct tooltip term when played on a non-touch screen
 * Experimental warning message is no longer displayed inconsistently when loading beta worlds
 * A debug string is no longer shown for how to open chat
 * Fixed an issue where the item category text color did not match the item text color if it was changed in Resource Packs
 * Fixed an issue where patterns in the Loom would not display correctly with some texture packs
 * The emote wheel no longer appears when pressing Ctrl+B in-game
 * Fixed Input Method Editor (IME) not working after suspending the game on Windows 10
 * Added a new sidebar to some Marketplace and Dressing Room related screens to help better improve the experience of navigating these areas
 * There is now an item transferring animation when deselecting a recipe
 * Sidebar text is now localized properly when a new language is loaded or the current language changes
 * Fixed a bug that could cause the Sign In button to appear behind the Marketplace button
 * Fixed the Noto Sans Smooth font on Windows and Xbox platforms with the Japanese locale to address legibility and usage of correct characters
 * Fixed "CR" characters incorrectly appearing at the end of lines for some display languages
 * Enabled new achievements screens for VR (not including PS VR)
 * Placing a Sign on Rooted Dirt now correctly opens the text editor
 * The Sign In dialog is no longer shown on a split-screen game to anyone other than the primary player on PlayStation 4
 * Fixed tamed Wolves being transparent on the Structure Block screen


 * Realms
 * Improved responsiveness of Realms menus, particularly on Nintendo Switch
 * The "Download World" button is now visible for worlds on expired Realms
 * 2 player Realms no longer count against the 10 player realm limit
 * Realms reset button will now navigate to the loading screen while reset is happening
 * The Realms Slots screen will now open faster and have a loading dialog if it takes a long time
 * The Realms Backup page now only shows the most recent 1100 Realms backups to prevent text overlap issues
 * Switching the active world slot in Realms no longer spams the "Fetching World Info" prompt
 * Renaming a Realm now takes effect immediately while playing
 * Fixed some issues with being unable to kick players via the user interface or the '/kick' command
 * The text on the Realms Plus trial button on the play screen no longer changes when hovered
 * Pressing the View Privacy Policy button now opens properly on Nintendo Switch


 * Commands
 * Fixed a crash that could occur if a structure was placed with a command in an unloaded area, and that structure was deleted
 * Teleporting a mob between dimensions no longer causes the mob to despawn
 * Loading a structure with the '/structure' command now displays the correct output messages


 * Technical
 * Fixed a bug where an entity might fail to initialize its tag component
 * Sky no longer renders through walls of a large enclosed area when using fog
 * Updated documentation formatting for item components and how they work within Resource Packs and Behavior Packs
 * Using Water Buckets to collect fish has been version locked to prevent breaking old world templates
 * Fixed controller support when editing NPC dialog
 * 'behavior.knockback_roar' now has a vertical and horizontal strength value
 * Adjusted padding for HD Textures in mipmaps level 1 in texture atlas to fix texture bleeding
 * Killing a custom mob with an unknown loot table entry type will no longer cause a crash, and will now throw a content error
 * Rabbit with initialEvent specified now scales properly to adult rabbit size
 * Similar to the spawns_on_block_filter, the spawns_above_block_filter specifies a list of blocks and a distance. The mob can then spawn only if the * nearest block within the specified distance below the desired spawnpoint is in that list (water and air not included). "minecraft:spawns_above_block_filter": { "blocks": "minecraft:stone", "distance": 10 }
 * Improved documentation for 'DamageableItemComponent'
 * Fixed the ability to add launch point positional offset for projectiles spawned with the 'spawn_entity' component
 * Fixed the ability to add angular offset to launch vector for projectiles spawned with the 'spawn_entity' component
 * Fixed offset not working for projectiles summoned through an interaction
 * Fixed projectile 'angleoffset' value only reflected if shooter is riding another entity
 * Fixed rotation of projectile launch point around a mob when projectile offset specified
 * Parsing of UI json field "ignored" now throws a content error if it is invalid
 * Fixed movement prediction interpolating with invalid data in even more scenarios
 * Removed the "replace" element from 'sound_definitions.json' for being ambiguous in its usage (and was never used)
 * Fixed a crash that could occur when entering a world with a custom Resource Pack that contained 'query.armor_color_slot'
 * Fixed 'query.item_remaining_use_duration' having improperly scaled or inverted results (This is to fix a Versioned Change as of engine version 1.17.30)