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
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 biome
- block.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 with item_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)
- In the 1.21.80.21 Preview changelog we mentioned that mobs related to MCPE-188731 will be unaffected in this release. We have made every effort to make sure of this, but there’s a possibility that these mobs may become invisible after the update. If this happens we believe the change will be reversible and the mobs will just be invisible and not lost completely – please keep us updated at bugs.mojang.com.
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!
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 stable
- Moved 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 for dry_foliage tint method
@minecraft/server 1.18.0
- Renamed system.scriptEvent to system.sendScriptEvent
- Moved NamespaceNameErrorReason from beta to @minecraft/server 1.18.0
- Moved system.sendScriptEvent from beta to @minecraft/server 1.18.0
- Moved NamespaceNameError from beta to @minecraft/server 1.18.0
- Released InputInfo.getButtonState, InputButton, and ButtonState to @minecraft/server 1.18.0
- Released InputInfo.getMovementVector to @minecraft/server 1.18.0
- Released PlayerButtonInputAfterEvent, AfterEvents.playerButtonInput and InputEventOptions to @minecraft/server 1.18.0
- Several 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.
- Changed spawnEntity method on Dimension to now take a variant of either a string or EntityType.
- Added placeFeature and placeFeatureRule APIs to the Dimension class
- Added 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 and lava no longer will turn into flowing_water or flowing_lava when neighbor updates happen. water and lava 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 BlockPos
- Empty 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 the textures/colormap/dry_foliage.png color map
Commands
- Fixed commands not executing when command is entered with leading spaces (MCPE-147815)
- Moved the place feature and place featurerule subcommands out of the Upcoming Creator Features experiment
- Removed 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 item
- Added ImageAnimationData API type to represent a sprite sheet animation for images
- Added iconAnimation: ImageAnimationData property to IActionBarItemCreationParams API
- Added IPropertyPane.addLink API function to create link buttons in panes.
- Added system.isEditorWorld property into @minecraft/server in beta
- Added 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 of IModalOverlayPane 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’s setActiveModalOverlay function or the overlay pane’s show and hide functions
- Added IButtonPanePropertyItem API for customizing button layouts.
- IPropertyPane.addButtonPane and IModalControlPane.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 to IPropertyPane.addDataTable
- Updated IBlockListPropertyItem and rename ITablePropertyItem to IDataTablePropertyItem APIs
- Fixed 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 and minecraft: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 to spawn_chance on hit sub-component, triggered on the newly spawned entity with other set to the owning entity
- Added particle_item_name map to particle_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 of heightmap_projection in minecraft: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” component
- Added 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 to minecraft: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-only
- BlockMapColorComponent scripting API fields color and tintMethod are now properties instead of methods
- Fixed 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. Use PlayerInteractWithBlockBeforeEvent instead.
- Deprecated ItemUseOnAfterEvent in @minecraft/server 2.0.0-beta. Use PlayerInteractWithBlockAfterEvent instead.
- BlockDestructionParticlesComponent API has been added to @minecraft/server 2.0.0-beta
- EntityScaleComponent has been changed to read-only in version 2.0.0-beta
- Fixed a bug where call methods on Player.inputInfo, Player.inputPermissions, or Player.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.
- 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.
@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 subscribe and unsubscribe` methods can now be called in early execution
- The following System methods can now be called in early execution
- clearJob
- clearRun
- run
- runInterval
- runJob
- runTimeout
- waitTicks
- BlockComponentRegistry method registerCustomComponent can now be called in early execution
- ItemComponentRegistry method registerCustomComponent can now be called in early execution
- Added startup property to SystemBeforeEvents
- Added StartupEvent
- Added StartupEventSignal
- WorldAfterEvents renamed property worldInitialize to worldLoad
- WorldBeforeEvents removed property worldInitialize
- WorldInitializeAfterEvent renamed to WorldLoadAfterEvent
- WorldInitializeAfterEventSignal renamed to WorldLoadAfterEventSignal
- 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 via System.runJob.
- EntityComponent.getEntity method throws if the underlying entity is invalid (instead of return undefined previously).
- EntityInventoryComponent.containerproperty throws if the underlying entity is invalid (instead of return undefined previously).
- isValid methods on various classes have been changed to read only properties
- getComponents, getComponent and hasComponent now throw if the Entity is invalid
- applyKnockback 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 the minecraft: namespace prefix along with the name
- Effect
- typeId property now always returns the minecraft: 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 tick
- Added a GraphicsMode enum and Player.graphicsMode to query a player’s current graphics mode on the server.
- Added system.isEditorWorld property into @minecraft/server in beta
- BlockLocationIterator
- Added isValid(): boolean method to beta. This method checks if the iterator as been invalidated by modifying the underlining block volume.
- BlockMapColorComponent API has been added to beta
- TintMethod enum has been added to beta
- Early execution changes in version @minecraft/server 2.0.0-beta
- The following RegistrationBuilder methods can now be called in early execution
- batch
- maxAttempts
- maxTicks
- padding
- required
- requiredSuccessfulAttempts
- rotateTest
- setupTicks
- structureName
- tag
- register function can now be called in early execution
- registerAsync function can now be called in early execution
- The following RegistrationBuilder methods can now be called in early execution
- Fixed a bug where the typeid property of the Effect 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 target Player. 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:
"minecraft:map_color": {
or
"color": "#ABCDEF",
"tint_method": "grass"
}"minecraft:map_color": {
or
"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"
}- The minecraft:material_instances component supports an optional “tint_method” field in its instance definitions
- 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:"minecraft:destruction_particles": {
or
"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