Minecraft Bedrock: 1.21.70 Update

Release: one month ago
The Spring to Life drop brings more reasons to explore both near and far! Warm winds have swept across biomes, bringing new mob variants, ambient sounds, and lush plants for you to discover. Befriend fluffy pigs, marvel at glittering firefly bushes, listen out for whispers of sand, and delight in a blooming Overworld humming with new beginnings. Play the Spring to Life drop in Minecraft now!
New Game Drop Features
Blocks
- Short Grass now generates slightly sparser in Meadows
Bush
- The Bush is a new type of decorative block that can be found in small patches in the following biomes:
- Plains
- Windswept Hills
- Windswept Gravelly Hills
- Windswept Forest
- River
- Forest
- Birch Forest
- Old Growth Birch Forest
- The Bush can be used in the Composter
- Using Bone Meal on a Bush places a new Bush next to the Bush if possible
Firefly Bush
- Added the Firefly Bush block
- Spawns Firefly particles that fly around it when in darkness
- Illuminates the area around it
- Using Bone Meal on a Firefly Bush places a new Firefly Bush next to it if possible
- Firefly Bushes are found naturally in clumps next to water in the Overworld
- In Swamp biomes they can be found anywhere and are twice as likely to be found next to water
- Added ambient sounds to the Firefly Bush that will play at night when the sky is visible
Cactus Flower
- Added the Cactus Flower, a new type of flower which has a chance of generating on Cactuses in Deserts and Badlands
- Cactus Flower can be placed on Cactus blocks or any block which has center support at the top of the block
- Cactus Flowers have a chance of growing on Cactus blocks
- If a Cactus is 1-2 blocks high the Cactus Flower has a 10% chance to grow instead of the Cactus getting higher
- If a Cactus is 3 blocks high the Cactus Flower has a 25% chance to grow instead of the Cactus getting higher
- Cactus Flowers can only grow if they have empty space on all four sides
- Cactus Flowers can be used in the Composter
- A Cactus Flower can be used to craft 1 Pink Dye
Leaf Litter
- Leaf Litter is a new type of decorative block which can be found in the Forests, Dark Forests and Wooded Badlands
- Leaf Litter can have different amounts of leaves in one block space
- Up to four Leaf Litter pieces can be placed in the same block space
- Placing a Leaf Litter into an already placed Leaf Litter block increases the amount of leaves
- Leaf Litter can be placed in four orientations
- Leaf Litter can be created by smelting any type of Leaves block
- Leaf Litter can be used as fuel for smelting
- Leaf Litter has unique block sounds
Short and Tall Dry Grass
- Added two new types of grass: Short Dry Grass and Tall Dry Grass
- Both are 1 block high, which makes Tall Dry Grass differ from Tall Grass which is 2 blocks high
- Both generate in the Desert and Badlands
- Both can be placed on types of Sand, Terracotta and Dirt blocks like the Dead Bush
- Both can be bone mealed
- Using Bone Meal on Short Dry Grass grows it into a Tall Dry Grass
- Using Bone Meal on Tall Dry Grass places a neighbouring Short Dry Grass next to the block if possible
- Both can be used in the Composter
- Sheep can eat both to regrow its wool
- Both can be used as fuel for smelting
Wildflowers
- Wildflowers are a new type of flower which grow in Birch Forests, Old Growth Birch Forests and Meadows
- Using Bone Meal on Grass Blocks in these biomes can grow Wildflowers
- Wildflowers can have different amounts of flowers in one block space
- Up to four Wildflowers can be placed in the same block space
- Placing Wildflowers into an already placed Wildflowers block increases the amount of flowers
- Using Bone Meal on Wildflowers will produce more Wildflowers
- Wildflowers can be placed in four orientations
- Wildflowers can be crafted into Yellow Dye
New Ambient Sounds for Desert and Badlands
Ambient sounds do not come from the biome settings but are generated by blocks found in the biome, building on the system that we introduced with the Garden Awakens drop.
- Sand, Red Sand and Terracotta of any color have a chance of playing ambient sounds when surrounded by any one of them on at least 3 sides 8 blocks away
block.sand.ambient
can be played in any biomeblock.sand.ambient.attached
only plays when in Desert or Badlands biomes
- Dead Bush blocks have a chance of playing ambient sounds when placed on top of two blocks that are any color of Terracotta, Sand or Red Sand blocks in any biome
Animal Variants
- Applied the warm and cold animal variant tags to all appropriate biomes, so that animals spawned in these biomes by spawn eggs or commands are an appropriate variant even if they still do not spawn in the biome naturally
- Cold Farm Animal Biomes:
- Deep Frozen Ocean
- Frozen Ocean
- Frozen Peaks
- Frozen River
- Grove
- Ice Spikes
- Jagged Peaks
- Snowy Beach
- Snowy Plains
- Snowy Slopes
- Snowy Taiga
- The End
- Cold Ocean
- Deep Cold Ocean
- Deep Dark
- Stony Peaks
- Old Growth Pine Taiga
- Old Growth Spruce Taiga
- Taiga
- Windswept Forest
- Windswept Gravelly Hills
- Windswept Hills
- Warm Farm Animal Biomes
- Mangrove Swamp
- Badlands
- Bamboo Jungle
- Basalt Deltas
- Crimson Forest
- Desert
- Eroded Badlands
- Jungle
- Nether Wastes
- Savanna Plateau
- Savanna
- Soul Sand Valley
- Sparse Jungle
- Warm Ocean
- Warped Forest
- Windswept Savanna
- Wooded Badlands
- Deep Lukewarm Ocean
- Lukewarm Ocean
- Temperate Farm Animal Biomes
- Swamp
- Beach
- Birch Forest
- Cherry Grove
- Dark Forest
- Dripstone Caves
- Flower Forest
- Forest
- Lush Caves
- Meadow
- Mushroom Fields
- Ocean
- Old Growth Birch Forest
- Plains
- River
- Stony Shore
- Sunflower Plains
- Lukewarm Ocean
- Pale Garden
Chicken Variants
- Added two new Chicken variants - Warm Chicken and Cold Chicken!
- These have their own unique texture and geometry, but not a separate spawn egg
- Chickens spawn in the same biomes as before, but will be a warm or cool variant if the biome is marked as warm or cool in the list above
- Two new Egg items have been added for the Warm and Cold Chicken variants
- Blue Egg - The Egg that is laid by and can hatch Cold Chicken variants
- Brown Egg - The Egg that is laid by and can hatch Warm Chicken variants
Cow Variants
- Added two new Cow variants - Warm Cow and Cold Cow!
- These have their own unique texture and geometry, but not a separate spawn egg
- Cows spawn in the same biomes as before, but will be a warm or cool variant if the biome is marked as warm or cool in the list above
Pig Variants
- Added two new Pig variants - Warm Pig and Cold Pig!
- These have their own unique texture and geometry, but not a separate spawn egg
- Pigs spawn in the same biomes as before, but will be a warm or cool variant if the biome is marked as warm or cool in the list above
Sheep wool color in warm and cold biomes
- Sheep have updated rules for which color of wool they have based on which biome they spawn in:
- Temperate Biomes: (these colors are unchanged from current behavior)
- Common sheep color is white
- Uncommon sheep colors are black, gray, light gray and brown
- There is a rare chance for a pink Sheep to spawn
- Cold biomes:
- Common Sheep color is black
- Uncommon Sheep colors are white, gray, light gray, and brown
- There is a rare chance for a pink Sheep to spawn
- Warm Biomes:
- Common Sheep color is brown
- Uncommon Sheep colors are black, white, gray, and light gray
- There is a rare chance for a pink Sheep to spawn
- Temperate Biomes: (these colors are unchanged from current behavior)
Spawn Eggs
Overhauled the visuals of each Spawn Egg to improve readability and accessibility
- Each Spawn Egg now has their own unique visual which captures the personality and character of the mob it spawns
- Each egg visual varies in shape to reflect the in-world size of the mob it spawns
- For example, smaller mobs tend to have a smaller Spawn Egg
Updated Trades
Cartographer Trades
- Cartographers now sell 7 new maps which each point to a different village or other structures in a different biome. These maps can help players who want to quickly find a specific location.
- Cartographers from different village types will sell a different range of maps and colored banners.
Wandering Trader Trades
- The Wandering Trader now has better prices, more trades and sells larger amounts of many items.
- They will also now buy basic supplies from players, so it's possible to get some emeralds by helping them prepare for their next journey even if you don't feel like buying anything.
- The Wandering Trader will offer to buy two items from this list:
- Water Bottle
- Water Bucket
- Milk Bucket
- Fermented Spider Eye
- Baked Potatoes
- Hay Bale
- Wandering Traders now have a chance of selling these items (in addition to their previous trades):
- Logs (Acacia, Birch, Dark Oak, Jungle, Oak, Spruce, Pale Oak, Mangrove or Cherry)
- Enchanted Iron Pickaxe
- Potion of Invisibility
Wolf Variant Sounds
Added 6 new Wolf audio variants with unique ambient, hurt, death, growl, whine, and pant sounds
- Every Wolf will have a random audio variant assigned to it from the 6 new variants and the original one
- The audio variant is not related to the texture variant
Experimental Features
Trade Rebalancing Experiment
- Moved the Cartographer and Wandering Trader changes out of the experiment
Features and Bug Fixes
Achievements with Add-Ons
- Enabled earning Achievements while playing in a world with Add-Ons applied.
Blocks
Placing a block in liquid, and then placing another block next to your first block in liquid will no longer replace your second placed block for a moment, causing you to fall into the liquid
Structure Blocks no longer briefly change textures when placed (MCPE-185531)
Sea Pickles can now be placed on any block with center support (MCPE-116152)
Barrier blocks will no longer prevent chunks rendering behind them (MCPE-153515)
Fixed a crash that would sometimes happen when entities with an excessively large hitbox entered liquid
Fixed blocks using the
minecraft:destructible_by_mining
component withitem_specific_speeds
defined flickering during their block breaking animation (MCPE-188401)Fixed trigger rate of Redstone powered Droppers and Dispensers (MCPE-189895)
Warped and Crimson Fungi no longer z-fight (MCPE-190389)
Gameplay
Fixed a mismatch between server and client when continuously building that caused orientation sensitive blocks to sometimes change to the wrong block
Using Riptide while standing in shallow water will once again launch the player as if they weren't standing in water. (MCPE-188795)
Players fall momentum is no longer reset after exiting and re-entering the world (MCPE-188490)
Fixed an issue where destroying and picking up a Shulker box would make it appear invisible in the inventory until world reload
Fixed a bug where using items with a use duration (fishing rods, food, potions, etc...) and changing slots would force your slot back to the original slot
Fixed an issue where attacking a mob while sprint jumping would remove all player momentum (MCPE-189501)
Fixed an issue where laggy players fighting would occasionally not be able to hit each other (MCPE-190552)
Fixed an issue where Player's collision box would sometimes be incorrect after using a bed (MCPE-190604)
Bundles no longer become empty after being held by an Armor Stand (MCPE-190093)
General
Fixed a crash that would occur on Xbox if you pressed "Cancel" in the Xbox UI when converting a world or importing a world from Retail to Preview
In Server Authoritative movement, when Players receive a movement correction it will use the current Player speed instead of a generic one, this should give a better experience.
In Server Authoritative movement, when Players receive a downward movement correction it will now use gravity acceleration, this should give a better experience.
In Server Authoritative movement, the Player will not constantly bop up and down if flying state change during small loss of connection with the server.
Removing experimental files cold_taiga, cold_taiga_hills, and cold_taiga_mutated from behavior packs. These files were only loaded with the custom biomes experiment enabled, and this change does not remove the biomes themselves.
In Server Authoritative movement, when Player is corrected, the movement will not have easing anymore. This is a better feel, as can be seen with upward, repeating, Pistons
Fixed typos in music definitions and sound definitions that were causing the wrong music to play for soulsand valley, desert mutated, and jungle mutated biomes.
Fixed an issue where chunks weren't saving properly on older worlds
Enabled Filter Profanity toggle on mobile platforms.
Graphics
Fire overlay will no longer animate while the game is paused (MCPE-188464)
Blocks will no longer play their animations while the game is paused (MCPE-188459)
Held items are no longer displayed incorrectly when the game is paused (MCPE-190218)
Hand position should remain the same while the game is paused (MCPE-190290)
Mobs
- Foxes now take damage from lava, and not only fire (MCPE-56926)
Realms
In Realms Stories, changed online indicator (green dot in corner of player image) to represent general online status rather than whether the user is playing in that specific Realm. In Members tab, added "Playing on Realm" status for users currently playing in that specific Realm. Added "Online members" filter that shows users playing on Realm.
Fixed Random Tick Speed and Respawn Radius settings resetting to default values (REALMS-11759)
Fixed "Reset Random Tick Speed" button not working when editing an existing world on Realms
Fixed ability to remove Realm members that are not friends of the Realm owner
Fixed ability to rejoin Realm with Hardcore world via invite link
Pause Feature
We are thrilled to include a highly requested feature: the ability to pause the game in single player. The feature will be rolled slowly to ensure stability. After two weeks, it will be available to everyone.
- Pause when alone: you can pause when you are alone in a local world owned by yourself.
- Un-pause when joined: your game will un-pause if someone joins you.
- Join notification: a notification will inform you that someone else has joined and that your game has resumed. The notification includes the option to takes you right back to the game, perfect if you are deep in a menu.
- Note: The game will NOT pause if you are playing on a Realm, server or when playing with a friend on your local server.
Sounds
- Fixed Block breaking sounds not playing (MCPE-190264)
User Interface
Bundle tooltip no longer flickers for players beyond the first when playing in split screen
Adjusted Minecoin purchase screen UI to not show stray pixels. Fixed overlapping issue on PS4.
Replacing items with the
lock_in_inventory
component with items from the creative inventory using touch input now fails gracefully and produces a warning message.Align rideable entity inventory transparent background with other screens (MCPE-189224)
Fixed problem with moving items from creative inventory to player inventory on pocket ui. (MCPE-185361)
Fixed some typos and inaccuracies in the minecraft Encyclopedia (MCPE-186358)
Screen Safe Area Settings: Disables Horizontal and Vertical Screen Position sliders if the Safe area is set to 100%
Stops Screen Position from displaying -0.0 due to a rounding error.
Long splash texts on the start screen will break into two lines to be more readable.
The invite button on the pause screen is moved up a bit and now has an icon.
Scaled and moved the title logo to make room for the friends drawer button.
Added new loading tips for creative mode.
Hand bobbing no longer occurs while the game is paused (MCPE-188457)
Minecraft logo misaligned on progress screen.
Touch controls: Fixed a bug where a player could stay moving diagonally after opening a menu (MCPE-190308)
Keep Inventory is back to being a cheat on all difficulties. (BDS-19921)
The "Place" controller tooltip is no longer incorrectly hidden when being able to place additional Pink Petals, Wildflowers, or Leaf Litter. (MCPE-190225)
Changes have been made to the Multiplayer tab in create new world and edit world! Player permission icons have been updated to better signal the roles, and on PlayStation and Nintendo consoles now shows a message informing the player that they need to sign in to access multiplayer features. Below the message there's a button that will take the player to respective console sign in flow.
Stacks are now correctly splitting across slots when moving cursor and holding the button to split stack
Fixed a potential crash that could occur when splitting stacks of items in the creative inventory
Encyclopedia now uses the correct term "Enchanting Table" rather than "Enchantment Table" (MCPE-190418)
Trying to craft a Bundle while holding a Bundle with a Bundle inside of it now correctly crafts a Bundle instead of only consuming ingredients (MCPE-190550)
Fixed an issue which prevented some users from accessing the Create New World screen in iOS Preview and PlayStation Preview
Touch controls: Camera perspective can now be changed from a HUD button. Enable this in the touch settings. Peeking over your shoulder has never been easier!
Removed the server IP address from the servers tab (MCPE-190747)
Player Permissions
- The Player Permissions screen has been upgraded to the new Ore UI, bringing a fresh look and a more intuitive and user friendly experience. We've improved the visual design, introduced new icons for permission levels, and simplified the flow for easier navigation. Additionally, players now receive better feedback after each action, and error handling has been improved for a smoother experience. Let us know how you like it, at aka.ms/mcplayerpermissionscreenfeedback
Friends Drawer Improvements
- Players can now also find the Friends Drawer in the Main Menu and Game Menu, in addition to the Play Screen, in the top right of the screen. We hope this will make it easier to connect and play with your friends! Let us know how you like it, at aka.ms/mcfriendsdrawerfeedback
- Players can now also find the Friends Drawer in Create New World, Edit World and your profile, in addition to the Play Screen, Main Menu and Game Menu, in the top right of the screen. We hope this will make it easier to connect and play with your friends! Let us know how you like it, at aka.ms/mcfriendsdrawerfeedback
Vanilla Parity
- Beacon rendering is no longer limited by the player's vertical distance from it (MCPE-25228)
Biomes
Fixed an issue where Dark Forests were missing trees along their northern borders with other biomes
Updated the tree composition in Dark Forests to match Java Edition, increasing the number of Dark Oak Trees and reducing the prevalence of other tree types
Mobs
Donkeys now spawn in Savannas
Donkeys now spawn in Plains in groups of 1-3 instead of 2-6 (MCPE-118688)
Fixed Pufferfish attack and inflate logic (MCPE-149129) (MCPE-69522)
- Pufferfish no longer only trigger inflate/deflate logic against monsters and players. Now triggers inflate/deflate logic against Axolotls, all non-aquatic mobs, and players
- Pufferfish no longer only attack players and monsters. Now they attack Axolotls, all non-aquatic mobs, and players that aren't in creative mode
- Pufferfish no longer only poison players and monsters. Now they poison Axolotls, all non-aquatic mobs excluding undead monsters, and players that aren't in creative mode
Fixed Iron Golem cracked texture not appearing at appropriate damage levels
Camels will naturally spawn in the Desert
Village Chest Bundles
- Added a 33% chance of finding a Bundle in various Villager chests:
- Cartographer
- Tannery
- Weaponsmith
- Desert House
- Plains House
- Snowy House
- Savanna House
- Taiga House
Wandering Trader Trades
- Wandering Traders' buying trades can now be used twice before they lock instead of only once
Technical Updates
API
- Unhandled rejected scripting promises in scripting now include callstacks when logged.
@minecraft/server
1.18.0
Moved
CameraFixedBoomOptions
from beta to stableMoved
LiquidType
enum from beta to stable.Moved liquid detection methods in
Block
from beta to stable.Moved liquid detection methods in
BlockPermutation
from beta to stable.Moved method
Player.spawnParticle
from beta to stable.
Biomes
Client Biome Components
- Add
minecraft:dry_foliage_color
component to override color fordry_foliage
tint method
@minecraft/server 1.18.0
Renamed
system.scriptEvent
tosystem.sendScriptEvent
Moved
NamespaceNameErrorReason
from beta to @minecraft/server 1.18.0Moved
system.sendScriptEvent
from beta to @minecraft/server 1.18.0Moved
NamespaceNameError
from beta to @minecraft/server 1.18.0Released
InputInfo.getButtonState
,InputButton
, andButtonState
to @minecraft/server 1.18.0Released
InputInfo.getMovementVector
to @minecraft/server 1.18.0Released
PlayerButtonInputAfterEvent
,AfterEvents.playerButtonInput
andInputEventOptions
to @minecraft/server 1.18.0Several APIs have been given the Readonly permission, which allows them to now be called inside Before Event callbacks.
- All methods for
BlockVolume
. - All methods for
Vector
.
- All methods for
Changed
spawnEntity
method onDimension
to now take a variant of either a string orEntityType
.Added
placeFeature
andplaceFeatureRule
APIs to theDimension
classAdded
isValid
property to the Camera class.
Biomes
- Fix client_biome loading so grass_appearance and foliage_appearance settings are added if not specified when format_version is lower than 1.21.60 (MCPE-189816)
Blocks
water
andlava
no longer will turn intoflowing_water
orflowing_lava
when neighbor updates happen.water
andlava
now will respond to queued ticks without needing to change into another block"minecraft:material_instances"
component has a new experimental boolean field"isotropic"
for format version 1.21.70 and higher, this field controls rotating the face UVs randomly based on BlockPosEmpty Bell blocks no longer crash the game when moved by a sticky piston JIRA: (MCPE-188687)
Updated the /fill, /clear and /testforblock Commands
- Fixed a bug where these commands would recognize IDs of some flattened blocks as block group names and affect all variants under those groups
Add
dry_foliage
tint method which uses thetextures/colormap/dry_foliage.png
color map
Commands
Fixed commands not executing when command is entered with leading spaces (MCPE-147815)
Moved the
place feature
andplace featurerule
subcommands out of the Upcoming Creator Features experimentRemoved set_movement_authority command.
Components
Added the 'minecraft:replaceable' component which determines if a new block can replace the existing block at a particular position. If the component is not added to a block it is not replaceable.
Multiple components that used effect durations can now be set to "infinite" including:
- "minecraft:attack": "effect_duration"
- "minecraft:healable": "duration" in the "effects" list
- "minecraft:mob_effect": "effect_time"
- "minecraft:projectile": "durationeasy", "durationnormal", and "durationhard" can now all use "infinite"
- "minecraft:food": "duration" in the "effects" list
- "minecraft:spell_effects": "duration" in the "add_effects" list
- "minecraft:combat_regeneration": "regeneration_duration"
Added the "minecraft:is_collidable" component
- This component allows other mobs to have vertical and horizontal collisions with the component's owner
- For a collision to occur, both mobs must have a "minecraft:collision_box" component
- This component can only be used on mobs and enables collisions exclusively between mobs
- Please note that this type of collision is unreliable for moving mobs
- It is recommended to use this component only in scenarios where the mob remains stationary
- Collidable behavior is closely related to stackable behavior
- While the "minecraft:is_collidable" component governs how other mobs interact with the component's owner, the "minecraft:is_stackable" component describes how an entity interacts with others of its own kind
- This component allows other mobs to have vertical and horizontal collisions with the component's owner
The "entity_sensor" component now has two additional fields:
- "y_offset", applies a vertical offset to the entity's position when calculating distances to other entities
- "find_players_only", restricts the search to Players only, affecting all subsensors
Added the "minecraft:body_rotation_axis_aligned" component, that causes the entity's body to automatically rotate to align with the nearest cardinal direction based on its current facing direction
- Combining this with the "minecraft:body_rotation_blocked" component will cause the entity to align to the nearest cardinal direction and remain fixed in that orientation, regardless of future changes in its facing direction
Added validation for asset references in components
- Content errors will log missing references for the following fields:
- item references
- block reference in item component in "minecraft:block_placer"
- loot table reference in block component "minecraft:loot"
- Content errors will log missing references for the following fields:
The "entity_sensor" component's "find_players_only" field now functions correctly, properly restricting searches to Players only and affecting all subsensors
Added the "minecraft:input_air_controlled" component, that enables controlling flying rideables
- Functions similarly to "minecraft:input_ground_controlled", but instead of limiting acceleration to the XZ-plane, this component applies acceleration in the direction the player is looking in three dimensions
- Supports adjustments to strafing and backward movement speeds, allowing entities to fly at equal speeds in all directions or move slower when strafing or reversing
- This component is experimental and as such requires "use_beta_features" to be enabled
- It may undergo significant changes or even be replaced as development progresses
Creator
- ItemTag support in the
match_tool
loot table condition no longer requires enabling the "Upcoming Creator Features" experiment toggle
Data-driven Jigsaw Structures
- Fixed placement of Jigsaw structures that contain blocks with
minecraft:tick
component.
Dedicated Server
Exposed two new parameters for dedicated server when in server-auth-with-rewind. These will make the server more strict on player positions. Look in server.properties for more information on what these do.
- server-authoritative-movement-strict default to false and can be set to true. Will affect Player position acceptance
- server-authoritative-dismount-strict default to false and can be set to true. Will affect Player position when dismounting
Exposed a new parameter for dedicated server. This will make the server more strict on entity interactions. Look in server.properties for more information on what these do.
- server-authoritative-entity-interactions-strict default to false and can be set to true. Will affect Entity interaction acceptance
Removed server-authoritative-movement parameter. It will now always use server-auth-with-rewind.
Editor
We are excited to announce Editor v0.9! To learn more about Editor and its multiblock world editing capabilities, check out the documents HERE, or learn how to build an Editor Extension HERE
Feature Highlights in Editor v0.9
Realms Integration
You can now publish your Editor Project directly to Realms, making it simple to play or test your world on any device. Need to tweak something? You can also download your Realms world back into the Editor for further edits. Just make sure you’re signed in with an active Realms subscription.
Grid Repeat
Grid Repeat is a new mode within the Repeater Tool which allows you to effortlessly repeat a selection in the x, y, and z directions, making tasks like adding windows to a building or creating an entire city a breeze. The Grid Repeat feature includes both Uniform and Separate repeat types, allowing you to customize the number of instances repeated in all directions.
Updated Structure Management
We have updated the Structure feature to provide better management of your structures. You can now rename, delete, and duplicate structures with ease. Additionally, you can rename the file/unique name and change the namespace for more precise organization. Please note that project structures will be exported to the editor/structuredb
subdirectory in the world folder.
Multiblock Workbench
We have updated the Workbench Tool to work with multiple blocks of the same type. Simply select the blocks you want to manipulate and then go to the Workbench Tool.
Block and Entity Inspector
Block and Entity Inspector allow you to view block states and entities and then customize specific properties. This is incredibly useful to fine tune details.
Full Editor Changelogs
Added Realms integration
- Users can now publish their Editor project directly to Realms
- Users can download their Realms world
- NOTE: Users must be signed in and have an active Realms subscription. For Preview builds, they must have a Preview Realms first. This can be created in non-Editor mode of Bedrock on Preview builds.
Added better management of Structures:
- Added the ability to rename a structure
- Added the ability to delete a structure
- Added the ability to duplicate a structure
- Added the ability to rename the file/unique name
- Added the ability to change the namespace
- NOTE: Project structures will be exported to the
editor/structuredb
subdirectory in the world folder
Added the Grid Repeat feature to the Repeater tool, which includes both Uniform and Separate repeat types
Added visualization for the first layer added/removed in the extrude tool.
Added Terracotta to block picker
Added Workbench support for selections allowing for updated to all blocks of the same type in the selection.
Added cursor support for selecting invisible blocks when the Show Invisible Blocks setting is enabled
Added
IPropertyPane.addProgressIndicator
API function to display a spinner or a progress bar property itemAdded
ImageAnimationData
API type to represent a sprite sheet animation for imagesAdded
iconAnimation: ImageAnimationData
property toIActionBarItemCreationParams
APIAdded
IPropertyPane.addLink
API function to create link buttons in panes.Added
system.isEditorWorld
property into @minecraft/server in betaAdded Block Inspector tool which allows you to view block states and permutations of blocks
Added Entity Inspector tool which allows you to view and modify entity components
Added a new
IRootPropertyPane.createModalOverlayPane
API function, allowing the creation ofIModalOverlayPane
to display on top of the pane content. Each pane supports one active modal overlay at a time, but it can own multiple modals. Modal overlays can be managed through the root pane'ssetActiveModalOverlay
function or the overlay pane'sshow
andhide
functionsAdded
IButtonPanePropertyItem
API for customizing button layouts.IPropertyPane.addButtonPane
andIModalControlPane.addButtonPane
API methods to create button pane items.
Removed End Gateway or Structure Block from block picker
Updated the mouse indicator for various tools to no longer linger after the app is suspended and resumed
Updated the maximum allowed line segments in Line Tool to 40 to address a crash.
Updated to minecraft/server 2.0.0-beta, see API section for more details on 2.0.0-beta.
registerEditorExtension
can be called in Early Execution.
Updated the Line Tool: Left Click no longer clears the line if two points already exist. Left Click now behaves the same as Shift + Left Click and always adds points to the existing line.
Updated the Block Picker search text field to have UI focus when the modal opens
Updated various icons in editor UI for better resolution and functional clarity
Updated Flatten Tool to no longer stays active when changing to Crosshair Mode
Updated pyramid brush maximum height to 40 blocks
Updated the default flyspeed to 4.0 while using Editor.
Updated
IPropertyPane.addTable
API function toIPropertyPane.addDataTable
Updated
IBlockListPropertyItem
and renameITablePropertyItem
toIDataTablePropertyItem
APIsFixed an assert encountered on client disconnect from dedicated server and re-entry into a world
- Fixed block picker UI dialog persisting after a client disconnect from a dedicated server
Fixed a bug that filtered stain glass blocks from block picker
Fixed a bug that caused Project Through Water checkbox to be active for Keyboard only cursor control in panes
Fixed a bug that caused custom time settings to be disabled for Time of Day pane.
Fixed a bug that caused player positions limit to have wrong values in Navigation Panel.
Fixed a bug where releasing the scrollbar after dragging outside the dropdown menu closed it.
Fixed a bug that caused button layout and inner icon size to be incorrect
Fixed a render issue related to Banner, Conduit, Creeper Head, Decorated Pot, Dragon Head, Piglin Head, Player Head, Skeleton Skull, Wither Skeleton Skull, and Zombie Head thumbnails
Fixed an assert/crash due to custom block rendering components in creator packs or addons
Fixed Workbench functionality with block that use the
minecraft:block_face
andminecraft:vertical_half
properties.Fixed Shulker box textures in Block picker and lists
Fixed a bug that excluded some blocks from block picker list with partial text search
Fixed missing Air and Sugarcane block images
Fixed a bug that would sometimes cause the refresh button to crash Editor.
Fixed a bug that caused farms to be placed near unloaded areas
Fixed a bug that prevented slider to be visually updated for
INumberPropertyItem.updateLimits
API function
Entities
- Fixed issue where
No more entities
assert failure occurred when flying through biomes during a storm
Entity Components
- Added
on_spawn
trigger tospawn_chance
on hit sub-component, triggered on the newly spawned entity withother
set to the owning entity - Added
particle_item_name
map toparticle_on_hit
on hit sub-component, maps an item name to an actor filter to determine what the name of the item used in the particle should be. Falls back to the name of the entity itself as before.
Entity Event Responses
Added the "stop_movement" entity event response, which stops the entity's movement
- The "stop_vertical_movement" field specifies whether vertical movement should be stopped
- The "stop_horizontal_movement" field specifies whether horizontal movement should be stopped
- This response does not stop navigation or prevent future movement
- If that's the desired outcome, also remove the components responsible for that
Added the "set_home_position" entity event response, which sets the entity's home position to its current position
- For this to have any effect, the entity must already have a "minecraft:home" component
Entity Events
- Added "first_valid" event type, it will evaluate every filter in order and execute the first valid one
Entity Filters
- The "in_clouds" entity filter now succeeds when an entity's bounding box intersects the cloud layer, rather than only when its bottom is within it
Gameplay
- CommandBlock hover name now shown in GUI messages generated from commands (MCPE-190606)
General
Fixed issue that occurs when cancelling world resource pack download.
Fixed crash that occurs when initializing
minecraft:decorated_pot
renderer.Server Authoritative movement is now turned on by default.
Goals
"minecraft:behavior.float_wander" AI goal will now restrict mobs to their home position if they have the "minecraft:home" component
Added "use_home_position_restriction" field to "minecraft:behavior.float_wander" AI goal to control whether mobs respect home position restrictions when selecting target positions
- Defaults to false for entities with format version below 1.21.70, and true for 1.21.70 and later
- When true, the mob will respect home position restrictions when selecting target positions
Jigsaw
Fixed
world_surface
type ofheightmap_projection
inminecraft:jigsaw
to generate on top of water and leaf blocks.Fixed gaps from appearing between data-driven jigsaw structure pieces.
JSON Events
- The parameter "duration" in the "add_mob_effect" event can now be set to "infinite"
Mobs
Added maximum value of
100000000.0
and minimum value of-100000000.0
to "minecraft:collision_box" componentAdded aquatic family-type for all aquatic mobs
Normal Minecart is no longer considered a mob
Network Protocol
- Added ActorFlags::COLLIDABLE
- Added ActorFlags::BODY_ROTATION_AXIS_ALIGNED
- Added ActorFlags::WASD_AIR_CONTROLLED
Particles
- Multiple controllers transitioning out of a state at the same time will now properly expire all intended particles instead of just the last one
Sounds
Added support for entity sound variants
- Entity sounds now have a "variants" field which defines sound variants based on the runtime entity
- Variants has a "key" field reading a Molang expression returning a string to select sound variant (eg: querying an enum entity property).
- Variants has a "map" field which contains key-value pairs of a variant identifier and the sound events it overrides.
- When playing a sound for an entity we first try to calculate their variant and see if that variant overrides the sound event, if not we play the sound form the base entity. If that fails we fall back to the existing logic of running from "defaults". Example: Given a mob with the following property
"minecraft:emotional_state": {
"type": "enum",
"values": [ "neutral", "angry", "happy", "sad" ],
"default": "neutral",
"client_sync": true
}
Sound variants can be played by querying the property:
{
"entity_sounds": {
"entities": {
"test_mob": {
"volume": 1.0,
"pitch": 1.0,
// The base sounds for various events
"events": {
"ambient": "mob.test_mob.ambient",
"death": "mob.test_mob.death",
"step": {
"sound": "mob.test_mob.step",
"volume": 0.8,
"pitch": 1.0
},
"attack": "mob.test_mob.attack"
},
"variants": {
// Key returning the enum string for variants, can use any Molang expression resulting in a string
"key": "query.property('minecraft:emotional_state')",
"map": {
// If a resulting variant key is not handled here then it will use the base sounds
"neutral": {
"volume": 1.0,
"pitch": 1.0,
"events": {
// If an event is not handled in a variant then it will use the base sound
"death": "mob.test_mob.death.netural"
}
},
"angry": {
"volume": 1.0,
"pitch": 1.0,
"events": {
// Variants can override different events than other variants
"death": "mob.test_mob.death.angry",
"ambient": "mob.test_mob.ambient.angry"
}
}
}
}
}
}
}
}
}
- Sound effects found in animations and animation controllers can now include an optional "locator" field similar to particle effects allowing them to originate from the locator on the entity rather than the origin
Structures
- Fixed mirroring and rotation of crafter blocks when part of a structure that is being placed:
Experimental Technical Updates
API
- Added new script module
@minecraft/diagnostics
version 1.0.0-beta. This module is dedicated server only for now and allows script modules to connect their script packs to Sentry. This enables remote error tracking and monitoring for script packs.
@minecraft/server
Component
minecraft:fluidContainer
has been renamed tominecraft:fluid_container
in V2.World
Added
getDifficulty(): Difficulty
method to beta. This method gets the worlds current game difficulty.Added
setDifficulty(difficulty: Difficulty): void
method to beta. This method sets the worlds current game difficulty.
BlockMapColorComponent
scripting API is now read-onlyBlockMapColorComponent
scripting API fields color and tintMethod are now properties instead of methodsFixed an issue where native constructors were not properly checking privileges when being called. Constructors now check privileges properly and produce correct errors when being used in Early Execution privilege.
Deprecated
ItemUseOnBeforeEvent
in@minecraft/server
2.0.0-beta. UsePlayerInteractWithBlockBeforeEvent
instead.Deprecated
ItemUseOnAfterEvent
in@minecraft/server
2.0.0-beta. UsePlayerInteractWithBlockAfterEvent
instead.BlockDestructionParticlesComponent
API has been added to@minecraft/server
2.0.0-betaEntityScaleComponent
has been changed to read-only in version 2.0.0-betaFixed a bug where call methods on
Player.inputInfo
,Player.inputPermissions
, orPlayer.aimAssist
on a player that left and rejoined the world would throw an error.
@minecraft/server-net
- Updated the execution privilege of most APIs to allow them to be called in read-only contexts ("before" events)
- Added new error
InternalHttpRequestError
- An error thrown when a platform-level HTTP error occurs. Information provided in this class may be useful for diagnostics purposes but will differ from platform to platform.
- Added new error
MalformedHttpRequestError
- An error thrown when a malformed HTTP request is attempted to be sent.
@minecraft/server-ui
ActionFormData
- Added method
divider(): ActionFormData;
. It adds a section divider into the form. - Added method
header(text: minecraftserver.RawMessage): ActionFormData;
. It adds a header into the form. - Added method
label(text: minecraftserver.RawMessage): ActionFormData;
. It adds a label into the form.
- Added method
ModalFormData
- Added method
divider(): ModalFormData;
. It adds a section divider into the form. - Added method
header(text: minecraftserver.RawMessage): ModalFormData;
. It adds a header into the form. - Added method
label(text: minecraftserver.RawMessage): ModalFormData;
. It adds a label into the form.
- Added method
@minecraft/server 2.0.0-beta
The beta for @minecraft/server
has been updated to 2.0.0-beta. This signifies that breaking changes have occurred, largely related to script execution timing. Version 1.X will continue to function as-is.
Visit our documentation portal for more information in the near future.
Added new privilege
EarlyExecution
- 2.0.0-beta and higher now executes with the early execution privilege, scripting below 2.0.0-beta will continue to execute without early execution
- All after and before event signals
and
unsubscribe` methods can now be called in early execution - The following
System
methods can now be called in early executionclearJob
clearRun
run
runInterval
runJob
runTimeout
waitTicks
BlockComponentRegistry
methodregisterCustomComponent
can now be called in early executionItemComponentRegistry
methodregisterCustomComponent
can now be called in early execution
Added
startup
property toSystemBeforeEvents
Added
StartupEvent
Added
StartupEventSignal
WorldAfterEvents
renamed propertyworldInitialize
toworldLoad
WorldBeforeEvents
removed propertyworldInitialize
WorldInitializeAfterEvent
renamed toWorldLoadAfterEvent
WorldInitializeAfterEventSignal
renamed toWorldLoadAfterEventSignal
Removed
WorldInitializeBeforeEvent
Removed
WorldInitializeBeforeEventSignal
Removed
Dimension.runCommandAsync
as most commands did not actually run asynchronously. If you are looking to run a function asynchronously, please investigate using Jobs viaSystem.runJob
.EntityComponent.getEntity
method throws if the underlying entity is invalid (instead of return undefined previously).EntityInventoryComponent.container
property throws if the underlying entity is invalid (instead of return undefined previously).isValid
methods on various classes have been changed to read only propertiesgetComponents
,getComponent
andhasComponent
now throw if the Entity is invalidapplyKnockback
method now takes a VectorXZ parameter for the knockback horizontal force (which includes the strength/magnitude), as well as a vertical strength parameter. To convert from V1, you should normalize your previous direction vector and multiply it by the old horizontal strength value. Vertical strength is the same as before.EffectType
getName
method now always returns theminecraft:
namespace prefix along with the name
Effect
typeId
property now always returns theminecraft:
namespace prefix along with the name
minecraft:air
item has been removed (it is still a valid block)Promises are now flushed along with after events and system tasks
system.waitTicks()
now can accept an argument bounds of 0 minimum to run this tickAdded a
GraphicsMode
enum andPlayer.graphicsMode
to query a player's current graphics mode on the server.Added
system.isEditorWorld
property into @minecraft/server in betaBlockLocationIterator
- Added
isValid(): boolean
method to beta. This method checks if the iterator as been invalidated by modifying the underlining block volume.
- Added
BlockMapColorComponent
API has been added to betaTintMethod
enum has been added to betaEarly execution changes in version @minecraft/server 2.0.0-beta
- The following
RegistrationBuilder
methods can now be called in early executionbatch
maxAttempts
maxTicks
padding
required
requiredSuccessfulAttempts
rotateTest
setupTicks
structureName
tag
register
function can now be called in early executionregisterAsync
function can now be called in early execution
- The following
Fixed a bug where the
typeid
property of theEffect
class was being translated based on your language option.Raised the limit for Lore Entry length from 50 to 1000 and the number of lines from 20 to 100 when using
ItemStack.setLore
Added three new methods to
Player
. These Entity Overrides are only applied to the targetPlayer
. Changes are not applied until the next tick and will not apply to other players.setPropertyOverrideForEntity
: Overrides an Entity Property on the target Entity to the provided value. This property must be client synced.removePropertyOverrideForEntity
: Removes the override of the specified Entity Property on the target Entity.clearPropertyOverridesForEntity
: Removes all overrides of any Entity Properties on the target Entity.
API - Molang
- Added
query.graphics_mode_is_any
to Molang which accepts any of the following parameters:simple
,fancy
,deferred
,raytraced
. These parameters are all graphics modes that are available in the settings menu.
Blocks
The minecraft:map_color component underwent a schema change
- It is now a JSON object with two fields "color" and "tint_method".
- "color" is a required string field expecting an HEX representation of the RGB, prefixed with a # character.
- "tint_method" is a string field that multiplies the color with a predefined tint. Supported values are "none, "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass" and "water".
- the old schema format is still supported for convenience. Examples:
or"minecraft:map_color": { "color": "#ABCDEF", "tint_method": "grass" }
or"minecraft:map_color": { "color": "#ABCDEF" }
"minecraft:map_color": "#ABCDEF"
The minecraft:material_instances component supports an optional "tint_method" field in its instance definitions
- "tint_method" is a string field that multiplies a face color with a tint computed with the biome the block is in. Supported values are "none, "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass", and "water".
- Held block-items are tinted as if they were in the "plains" biome. Example:
"*": {
"texture": "minimal",
"render_method": "opaque",
"tint_method": "water"
}
Exposed the Block component minecraft:destruction_particles as a JSON object. This represents the particles used when the Block is destroyed
- There is two fields for it:
- "texture" is a required string field to set the texture used by the particles
- "tint_method" is an optional string field that multiplies the texture color with a predefined tint. Default to "none". Supported values are "none", "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass" and "water".
- Block format before 1.21.70 will be upgraded to have the component added using the texture from the "down" or "*" of the minecraft:material_instances component if present and "none" for tint_method. This was the old behavior.
- Block format from 1.21.70 without the component will not be upgraded and uses the invalid texture
Examples:
or"minecraft:destruction_particles": { "texture": "my_particles_texture", "tint_method": "grass" }
"minecraft:destruction_particles": { "texture": "my_particles_texture" }
Experimental
- Removed the Experimental Third Person Cameras toggle and added an Experimental Creator Camera Features toggle for all future experimental cameras
General
- Removed unused experimental json field peaks_factor from minecraft:mountain_parameters in the behavior pack biome file