Bedrock Edition 1.21.70

| Edition | ||||||
|---|---|---|---|---|---|---|
| Official name | ||||||
| Release date |
March 25, 2025 | |||||
| Server version | ||||||
| Editor version | ||||||
| Build version |
31691410 | |||||
| Internal version |
Windows, Xbox: 1.21.7003.0 | |||||
| Version code |
Android: | |||||
| Development versions | ||||||
| Downloads | ||||||
| Protocol version |
786 | |||||
| ||||||
{
"title": "v1.21.70",
"images": [
"Bedrock 1.21.70.png"
],
"rows": [
{
"field": "''(link to Bedrock Edition article, displayed as Bedrock Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "(link to Spring to Life article, displayed as Spring to Life)",
"label": "Official name"
},
{
"field": "March 25, 2025",
"label": "Release date"
},
{
"field": "(link to Bedrock Dedicated Server 1.21.70.04 article, displayed as 1.21.70.04)",
"label": "Server version"
},
{
"field": "(link to Bedrock Editor 0.9.0 article, displayed as 0.9.0)",
"label": "(link to Bedrock Editor article, displayed as Editor) version"
},
{
"field": "31691410",
"label": "Build version"
},
{
"field": "'''Windows, Xbox''': 1.21.7003.0<br>'''ChromeOS, Android, iOS, iPadOS, Fire''': 1.21.70.03<br>'''PlayStation 4''': 3.08<br>'''PlayStation 5''': 1.015.000<br>'''Nintendo Switch''': v119",
"label": "Internal version"
},
{
"field": "<small>'''Android''':<br>\n952107003 (armeabi-v7a, 34)<br>\n962107003 (x86, 34)<br>\n972107003 (arm64-v8a, 34)<br>\n982107003 (x86_64, 34)</small>",
"label": "Version code"
},
{
"field": "<div class=\"hlist\"><span style=\"white-space:nowrap;\">(link to :Category:Bedrock Edition 1.21.70 previews article, displayed as '''Previews''') (6) </span><br/><span style=\"white-space:nowrap;\">(link to :Category:Bedrock Edition 1.21.70 betas article, displayed as '''Betas''') (6) </span><br/>((link to Bedrock Edition 1.21.70/Development versions article, displayed as View all))</div>",
"label": "<span style=\"white-space: normal;\">Development versions</span>"
},
{
"field": "'''Server'''<br> [https://www.minecraft.net/bedrockdedicatedserver/bin-win/bedrock-server-1.21.70.04.zip Windows]<br>\n[https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.21.70.04.zip Linux]",
"label": "Downloads"
},
{
"field": "786",
"label": "(link to Protocol version article, displayed as Protocol version)"
}
],
"invimages": [],
"footer": "<table style=\"margin: auto; word-break: break-word;\">\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\" >[[Bedrock Edition 1.21.0|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.21.0]]</td>\n<td rowspan=\"2\" style=\"padding: 0.4em\">''' 1.21.70'''</td>\n<td style=\"padding: 0.4em\" ></td>\n</tr>\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\">\n[[Bedrock Edition 1.21.62|◄ 1.21.62]]\n</td>\n\n<td style=\"padding: 0.4em\">\n[[Bedrock Edition 1.21.71| 1.21.71 ►]]\n</td>\n</tr>\n</table>"
}
1.21.70, the release of Spring to Life, is a game drop for Bedrock Edition, released on March 25, 2025,[1][2] which adds chicken, cow, and pig variants, adds several new plants, changes all spawn egg textures to be easier to tell apart and fixes bugs. This was the version when the A Minecraft Movie Live Event started.
Additions
Blocks
- A new type of decorative block which can be found in the forests, dark forests and wooded badlands.
- Works like pink petals.
- Can be smelted from any type of leaves block.
- A new type of flower which grow in birch forests, old growth birch forests and meadows.
- Works like pink petals.
- Generates in the following biomes:
- Generates in swamps and near rivers.
- When it's light level 13 or lower, glowing firefly particles appear around the firefly bush, up to 5 blocks away.
Items
- A variant of the egg laid by the cold chicken variant.
- Spawns the cold chicken variant when hatched.
- A variant of the egg laid by the warm chicken variant.
- Spawns the warm chicken variant when hatched.
Mobs
There are now cold[info 1] and warm[info 2] variants of pigs, cows, and chickens.
- The variant of naturally spawned mobs is determined by the biome they spawn in.
- When bred by a player, a baby of these mobs will not be a variant chosen by the current biome, but instead randomly be selected from one of its parent's variants.
- The temperate versions of the mobs spawn by default wherever the cold and warm variants do not.
Temperate Pig: The pre-existing pig variant.
Cold Pig: A variant that spawns in cold biomes.[info 1]
Warm Pig: A variant that spawns in warm biomes.[info 2]
Temperate Cow: The pre-existing cow variant.
- New texture and model.
Cold Cow: A variant that spawns in certain cold biomes.[info 1]
Warm Cow: A variant that spawns in certain warm biomes.[info 2]
Temperate Chicken: The pre-existing chicken variant.
Cold Chicken: A variant that spawns in certain cold biomes.[info 1]
Warm Chicken: A variant that spawns in certain warm biomes.[info 2]
- Added six new sound variants.
- The sound variants are Classic, Big, Cute, Puglin, Angry, Grumpy, and Sad. The existing wolf sounds are used for the Classic variant.
- Wolves receive a random sound variant when they spawn.
- Sound variants are not related to texture variants
Gameplay
- 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.
- 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.
Changes
Blocks
- The following blocks can now spawn falling leaf particles:
- Changed crafting recipe to require an iron ingot instead of a netherite ingot, making them renewable.
- Can now be found in Ruined Portal chests
Command format
- Has been moved from experimental features and is now available during normal gameplay.
Items
- Can now be found in some of the chests in villages.

- Changed the visuals of all spawn eggs to make them easier to distinguish: each type of spawn egg now has its own unique icon instead of all just being colored variants of the same spotted egg.
- Each egg visual varies in shape to reflect the in-world properties of the mob it spawns: for example, smaller mobs tend to have a smaller spawn egg icon.
Mobs
General
- Farm animals can now spawn in badlands.
- Is now attracted to, and can be bred using wildflowers and cactus flowers.
- Now spawns in deserts.
- Textures have been changed.
- Nose now protrudes from model.
- Now spawns in savannas.
- Changed the rules for sheep coloring to be based on which biome they spawn in:
- Temperate biomes:
- Common:
- Uncommon:
- Rare:
- Cold biomes:
- Common:
- Uncommon:
- Rare:
- Warm biomes:
- Common:
- Uncommon:
- Rare:
- Temperate biomes:
- Sheep colors for temperate biomes is unchanged from current behavior.
- The changes to cartographer trades have been moved from experimental features and are now available during normal gameplay.
- Added seven new explorer maps which cartographers can sell, each pointing to a different village or other structures in a different biome, depending on the biome they come from. These maps can help players who want to quickly find a specific location.
- Each of the 5 village maps points to a village in the specific biome.
- Jungle explorer map points to a jungle pyramid.
- Swamp explorer map points to a swamp hut.
- Cartographers from different village types will sell a different range of maps and colored banners.
- Some prices and quantities have also been adjusted.


Available new tradable maps Desert Jungle Plains Savanna Snow Swamp Taiga Group 1 Savanna Village Map Savanna Village Map Savanna Village Map Desert Village Map Plains Village Map Snowy Village Map Plains Village Map Group 2 Plains Village Map Desert Village Map Taiga Village Map Plains Village Map Taiga Village Map Taiga Village Map Snowy Village Map Group 3 Jungle Explorer Map Swamp Explorer Map – Jungle Explorer Map Swamp Explorer Map Jungle Explorer Map Swamp Explorer Map
| Cartographer Economic Trades | ||||||||
|---|---|---|---|---|---|---|---|---|
| Level | Bedrock Edition | Java Edition | Item wanted | Item given | Trades in stock | Price multiplier | Villager XP | |
| Slot | Probability | Probability | ||||||
| Novice | 1 | 100% | 100% | 24 × | 16 | Low | 2 | |
| 2 | 100% | 100% | 7 × | 12 | Low | 1 | ||
| Apprentice | 3 | 100% | 50% | 11 × | 16 | Low | 10 | |
| 4 | 100% | 100% | 8 × + | 12 | High | 5 | ||
| Journeyman | 5 | 50% | 67% | 12 | Low | 10 | ||
| 50% | 67% | 13 × + | 12 | High | 10 | |||
| 6 | 100% | 67% | 12 × + | 12 | High | 10 | ||
| Expert | 7 | 100% | 12% | 7 × | 12 | Low | 15 | |
| 8 | 100% | 100% | 3 × | Any color Banner[t 3] | 12 | Low | 15 | |
| Master | 9 | 100% | 100% | 8 × | 12 | Low | 30 | |
| 10 | 100% | 100% | 14 × + | 12 | High | 30 | ||
- ↑ The structure that the map leads to depends on the biome the villager is from. See the table above for more details. Each of the three possible maps are counted as independent trades, so a villager trading multiple maps is possible.
- ↑ a b in Java Edition, all copies of the map traded by a particular villager lead to the same structure. In worlds that do not have the structure, this trade is not offered. in Bedrock Edition, Cartographers adopting the profession in the Nether or the End do not offer explorer maps.
- ↑ The list of possible offers contains individual offers for each color, so multiple colors may be offered by the same villager as separate trades.

- The changes to wandering trader trades have been moved from experimental features and are now available during normal gameplay.
- The Wandering Trader now has better prices, more trades and a larger amount of stock for many items.
- They will also now buy basic supplies from players.
- The Wandering Trader will offer to buy two items from this list:
- 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 or Cherry)
- Enchanted
Iron Pickaxe
Potion of Invisibility
- Trade list now made up by following trades, in order:
- Buying Trade (new) × 2
- Special Selling Trade × 2
- Ordinary Selling Trade × 5
- Added new buying trades, some selling trades, and changed some existing selling trades:
New trades of wandering traders Category Item wanted Quantity Item given Quantity Trades until disabled Buying
Baked Potato
4
Emerald
1 2 Buying
Fermented Spider Eye
1
Emerald
3 2 Buying
Hay Bale
1
Emerald
1 2 Buying
Milk Bucket
1
Emerald
2 2 Buying
Water Bottle
1
Emerald
1 2 Buying
Water Bucket
1
Emerald
2 2 Special Selling
Emerald
1
Acacia Log
8 4 Special Selling
Emerald
1
Birch Log
8 4 Special Selling
Emerald
1
Cherry Log
8 4 Special Selling
Emerald
1
Dark Oak Log
8 4 Special Selling
Emerald
1
Jungle Log
8 4 Special Selling
Emerald
1
Oak Log
8 4 Special Selling
Emerald
1
Spruce Log
8 4 Special Selling
Emerald
1
Pale Oak Log
8 4 Special Selling
Emerald
6-20
Iron Pickaxe (Enchanted)
1 1 Special Selling
Emerald
5
Potion of Invisibility (Long)
1 1
Changed trades of wandering traders Category Item wanted Quantity Item given Quantity Trades until disabled Special Selling
Emerald
1
Gunpowder
1 → 4 8 → 2 Special Selling
Emerald
3 → 1
Packed Ice
1 6 Special Selling → Ordinary Selling
Emerald
5 → 3
Bucket of Pufferfish
1 4 Special Selling → Ordinary Selling
Emerald
5 → 3
Bucket of Tropical Fish
1 4 Ordinary Selling
Emerald
1
Lily Pad
2 → 5 5 → 2 Ordinary Selling
Emerald
1
Brown Mushroom
1 → 3 12 → 4 Ordinary Selling
Emerald
1
Red Mushroom
1 → 3 12 → 4 Ordinary Selling
Emerald
1
Vines
1 → 3 12 → 4

- Pigs, cows, and chickens can now spawn on spawn events and they used command
/summonor/eventto spawn this variants cold and warm animals.
World generation
- 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.
- Now generate slightly sparser in meadows.
Gameplay
- Enabled earning achievements while playing in a world with add-ons applied.
- Players no longer keep their inventory by default on Peaceful and Easy difficulties.
- Keep inventory is now considered a cheat on all difficulties.
Sounds
- Lowered volume in sound files for leaf litter (break, step, place), and grass (dig).
General
- Removed the "Drop 1 2025" and "Aim Assist" experimental toggles.
- Integrated the Villager Trade Rebalance experiment changes to the cartographer and wandering trader.
- Removed the Experimental "Third Person Cameras" toggle and added an Experimental "Creator Camera Features" toggle for all future experimental cameras.
- Enabled Filter Profanity toggle on mobile platforms.
- The panorama was changed to showcase the Spring to Life.
UI
- 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.
- Taking screenshots no longer takes the player out of the pause screen.
- Changes have been made to the Multiplayer tab. Player permission icons have been updated, and on PlayStation and Nintendo consoles now show 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.
- Touch controls: camera perspective can now be changed from a HUD button., enable this in the touch settings.
- The game will now pause when the pause menu is opened.[3]
- The Player Permissions screen has been upgraded to the new Ore UI, bringing a fresh look and a more intuitive and user friendly experience.

"Friends Drawer Improvements" .
- Players can now also find the friends drawer in create new world, edit world, player profile, main menu and game menu, in the top right of the screen.

Technical
API - Scripting
- Unhandled rejected promises in scripting now include callstacks when logged.
@minecraft/server1.18.0
- Renamed
system.scriptEventtosystem.sendScriptEvent. - Moved
NamespaceNameErrorReasonfrombetato@minecraft/server 1.18.0. - Moved
system.sendScriptEventfrombetato@minecraft/server 1.18.0. - Moved
NamespaceNameErrorfrombetato@minecraft/server 1.18.0. - Released
InputInfo.getButtonState,InputButton, andButtonStateto@minecraft/server 1.18.0. - Released
InputInfo.getMovementVectorto@minecraft/server 1.18.0. - Released
PlayerButtonInputAfterEvent,AfterEvents.playerButtonInputandInputEventOptionsto@minecraft/server 1.18.0. - Several APIs have been given the
Readonlypermission, which allows them to now be called inside Before Event callbacks.- All methods for
BlockVolume. - All methods for
Vector.
- All methods for
- Changed
spawnEntitymethod onDimensionto now take a variant of either a string orEntityType. - Added
placeFeatureandplaceFeatureRuleAPIs to theDimensionclass. - Added
isValidproperty to theCameraclass. - Moved
CameraFixedBoomOptionsfrombetatostable. - Moved
LiquidTypeenum frombetatostable. - Moved liquid detection methods in
Blockfrombetatostable. - Moved liquid detection methods in
BlockPermutationfrombetatostable. - Moved method
Player.spawnParticlefrombetatostable.
API
- Component
minecraft:fluidContainerhas been renamed tominecraft:fluid_containerin V2.
- Client Biome Components
- Add
minecraft:dry_foliage_colorcomponent to override color fordry_foliagetint method.
Blocks
- The
minecraft:map_colorcomponent underwent a schema change: - It is now a JSON object with two fields
colorandtint_method. coloris a required string field expecting an HEX representation of the RGB, prefixed with a # character.tint_methodis a string field that multiplies the color with a predefined tint. Supported values arenone,default_foliage,birch_foliage,evergreen_foliage,grassandwater.- The old schema format is still supported for convenience.
- Examples:
"minecraft:map_color": {
"color": "#ABCDEF",
"tint_method": "grass"
}
or
"minecraft:map_color": {
"color": "#ABCDEF"
}
or
"minecraft:map_color": "#ABCDEF"
- The
minecraft:material_instancescomponent supports an optionaltint_methodfield in its instance definitions.tint_methodis a string field that multiplies a face color with a tint computed with the biome the block is in. Supported values arenone,default_foliage,birch_foliage,evergreen_foliage,dry_foliage,grass, andwater.- Held block-items are tinted as if they were in the
plainsbiome. Example:
"minecraft:material_instances": {
"*": {
"texture": "minimal",
"render_method": "opaque",
"tint_method": "water"
}
- Add
dry_foliagetint method which uses thetextures/colormap/dry_foliage.pngcolor map. - Exposed the block component
minecraft:destruction_particlesas a JSON object. This represents the particles used when the block is destroyed.- There is two fields for it:
textureis a required string field to set the texture used by the particles.tint_methodis an optional string field that multiplies the texture color with a predefined tint. Default tonone. Supported values arenone,default_foliage,birch_foliage,evergreen_foliage,dry_foliage,grassandwater.
- Block format before 1.21.70 will be upgraded to have the component added using the texture from the
downor*of theminecraft:material_instancescomponent if present andnonefortint_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:
- There is two fields for it:
"minecraft:destruction_particles": {
"texture": "my_particles_texture",
"tint_method": "grass"
}
or
"minecraft:destruction_particles": {
"texture": "my_particles_texture"
}
- Components
- Added the
minecraft:replaceablecomponent 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.
Commands
- Moved the
place featureandplace featurerulesubcommands out of the Upcoming Creator Features experiment. - Removed
set_movement_authoritycommand.
Components
- Multiple components that used effect durations can now be set to
infiniteincluding:minecraft:attack:effect_durationminecraft:healable:durationin theeffectslistminecraft:mob_effect:effect_timeminecraft:projectile:durationeasy,durationnormal, anddurationhardcan now all useinfiniteminecraft:food:durationin theeffectslistminecraft:spell_effects:durationin theadd_effectslistminecraft:combat_regeneration:regeneration_duration
- Added the
minecraft:is_collidablecomponent- 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_boxcomponent. - This component can only be used on mobs and enables collisions exclusively between mobs.
- For a collision to occur, both mobs must have a
- 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_collidablecomponent governs how other mobs interact with the component's owner, theminecraft:is_stackablecomponent describes how an entity interacts with others of its own kind.
- While the
- This component allows other mobs to have vertical and horizontal collisions with the component's owner.
- The
entity_sensorcomponent 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_alignedcomponent, 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_blockedcomponent 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.
- Combining this with the
- 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_sensorcomponent'sfind_players_onlyfield now functions correctly, properly restricting searches to Players only and affecting all subsensors.
Creator
ItemTagsupport in thematch_toolloot table condition no longer requires enabling the "Upcoming Creator Features" experiment toggle.
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 inserver.propertiesfor more information on what these do.server-authoritative-movement-strictdefault tofalseand can be set totrue. Will affect Player position acceptance.server-authoritative-dismount-strictdefault tofalseand can be set totrue. 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.propertiesfor more information on what these do.server-authoritative-entity-interactions-strictdefault tofalseand can be set totrue. Will affect entity interaction acceptance.
- Removed
server-authoritative-movementparameter. It will now always useserver-auth-with-rewind.
Entity Components
- Added
on_spawntrigger tospawn_chanceonhitsub-component, triggered on the newly spawned entity with other set to the owning entity. - Added
particle_item_namemap toparticle_on_hitonhitsub-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_movemententity event response, which stops the entity's movement.- The
stop_vertical_movementfield specifies whether vertical movement should be stopped. - The
stop_horizontal_movementfield 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.
- The
- Added the
set_home_positionentity 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:homecomponent.
- For this to have any effect, the entity must already have a
Entity Events
- Added
first_validevent type, it will evaluate every filter in order and execute the first valid one.
Entity Filters
- The
in_cloudsentity filter now succeeds when an entity's bounding box intersects the cloud layer, rather than only when its bottom is within it.
General
- Server Authoritative movement is now turned on by default.
Goals
minecraft:behavior.float_wanderAI goal will now restrict mobs to their home position if they have theminecraft:homecomponent.- Added
use_home_position_restrictionfield tominecraft:behavior.float_wanderAI goal to control whether mobs respect home position restrictions when selecting target positions.- Defaults to
falsefor entities with format version below1.21.70, andtruefor1.21.70and later. - When
true, the mob will respect home position restrictions when selecting target positions.
- Defaults to
JSON Events
- The parameter
durationin theadd_mob_effectevent can now be set toinfinite.
Mobs
- Added maximum value of
100000000.0and minimum value of-100000000.0tominecraft:collision_boxcomponent. - 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.
- 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
variantsfield which defines sound variants based on the runtime entity variantshas akeyfield reading a Molang expression returning a string to select sound variant (e.g.: querying an enum entity property).variantshas amapfield 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.
- Entity sounds now have a
- 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
locatorfield similar to particle effects allowing them to originate from the locator on the entity rather than the origin.
Experimental
These additions and changes are accessible by enabling the "Beta APIs" experimental toggles.
Additions
Technical
API - Scripting
- @minecraft/server 2.0.0-beta
- Added new privilege
EarlyExecution2.0.0-betaand higher now executes with the early execution privilege, scripting below2.0.0-betawill continue to execute without early execution- All after and before event signals
subscribeandunsubscribemethods can now be called in early execution - The following
Systemmethods can now be called in early executionclearJobclearRunrunrunIntervalrunJobrunTimeoutwaitTicks
BlockComponentRegistrymethodregisterCustomComponentcan now be called in early executionItemComponentRegistrymethodregisterCustomComponentcan now be called in early execution
- Added
startupproperty toSystemBeforeEvents - Added
StartupEvent - Added
StartupEventSignal WorldAfterEventsrenamed propertyworldInitializetoworldLoadWorldBeforeEventsremoved propertyworldInitializeWorldInitializeAfterEventrenamed toWorldLoadAfterEventWorldInitializeAfterEventSignalrenamed toWorldLoadAfterEventSignal- Removed
WorldInitializeBeforeEvent - Removed
WorldInitializeBeforeEventSignal - Removed
Dimension.runCommandAsyncas most commands did not actually run asynchronously. If you are looking to run a function asynchronously, please investigate using Jobs viaSystem.runJob. EntityComponent.getEntitymethod throws if the underlying entity is invalid (instead of return undefined previously).EntityInventoryComponent.containerpropertythrows if the underlying entity is invalid (instead of return undefined previously).isValidmethods on various classes have been changed to read only propertiesgetComponents,getComponentandhasComponentnow throw if the Entity is invalidapplyKnockbackmethod 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.EffectTypegetNamemethod now always returns theminecraft:namespace prefix along with the name
EffecttypeIdproperty now always returns theminecraft:namespace prefix along with the name
minecraft:airitem 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
GraphicsModeenum andPlayer.graphicsModeto query a player's current graphics mode on the server. - Added
system.isEditorWorldproperty into@minecraft/serverinbeta BlockLocationIterator- Added
isValid(): booleanmethod tobeta. This method checks if the iterator as been invalidated by modifying the underlining block volume.
- Added
BlockMapColorComponentAPI has been added tobetaTintMethodenum has been added tobeta- Early execution changes in version
@minecraft/server 2.0.0-beta- The following
RegistrationBuildermethods can now be called in early execution:batchmaxAttemptsmaxTickspaddingrequiredrequiredSuccessfulAttemptsrotateTestsetupTicksstructureNametag
registerfunction can now be called in early executionregisterAsyncfunction can now be called in early execution
- The following
API - Molang
- Added
query.graphics_mode_is_anyto 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.
API
World- Added
getDifficulty(): Difficultymethod tobeta. This method gets the worlds current game difficulty. - Added
setDifficulty(difficulty: Difficulty): voidmethod tobeta. This method sets the worlds current game difficulty.
- Added
ActionFormData- 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
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
- Added new script module
@minecraft/diagnosticsversion1.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-net
- 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
- Added method
divider(): ActionFormData;. It adds a section divider into the form. - Added method
divider(): ModalFormData;. It adds a section divider into the form.
Blocks
minecraft:material_instancescomponent has a new experimental boolean fieldisotropicfor format version 1.21.70 and higher, this field controls rotating the face UVs randomly based onBlockPos.
Changes
Technical
API
@minecraft/server2.0.0-beta
- 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.
BlockMapColorComponentscripting API is now read-only.BlockMapColorComponentscripting API fieldscolorandtintMethodare now properties instead of methods.- Deprecated
ItemUseOnBeforeEventin@minecraft/server 2.0.0-beta. UsePlayerInteractWithBlockBeforeEventinstead. - Deprecated
ItemUseOnAfterEventin@minecraft/server 2.0.0-beta. UsePlayerInteractWithBlockAfterEventinstead. BlockDestructionParticlesComponentAPI has been added to@minecraft/server 2.0.0-beta.EntityScaleComponenthas been changed to read-only in version2.0.0-beta.
Behavior packs
- Removed unused experimental json field
peaks_factorfromminecraft:mountain_parametersin the behavior pack biome file.
Components
- Added the
minecraft:input_air_controlledcomponent, 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_featuresto be enabled. - It may undergo significant changes or even be replaced as development progresses.
- Functions similarly to
General
- 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, andcold_taiga_mutatedfrom behavior packs. These files were only loaded with the custom biomes experiment enabled, and this change does not remove the biomes themselves.
@minecraft/server-net
- Updated the execution privilege of most APIs to allow them to be called in read-only contexts ("before" events).
Fixes
From released versions before 1.21.50
- MCPE-25228 – Beacon Beam disappears when moving 70 blocks up/down away from it.
- MCPE-56926 – Foxes don't take lava damage
- MCPE-69522 – Pufferfish no longer trigger inflate/deflate logic against minecarts.
- MCPE-116152 – Sea pickle cannot be placed on lightning rod
- MCPE-118688 – Donkeys don't spawn in savanna biomes
- MCPE-147815 – Spaces before the command prevent the command from being executed
- MCPE-149129 – 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.
- MCPE-153515 – Barrier blocks cull chunk rendering
- MCPE-181679 – Decorated pots have a glitched texture in the Deferred Technical Preview
- MCPE-185361 – Items can't be moved from creative inventory to player inventory
- MCPE-185531 – Structure blocks' texture flickers when placed
- MCPE-186358 – Minecraft Encyclopedia uses outdated info/wording (English)
- MCPE-187461 – The phrase "Chat e Comandos" on Minecraft is starting with small letter
- MCPE-188401 – Blocks with
item_specific_speedscannot be destroyed - MCPE-188457 – The player's hand still bobs if you hold an item while the game is paused
- MCPE-188457 – The player's hand still bobs if you hold an item while the game is paused
- MCPE-188459 – Animated blocks still play their animation when the game is paused
- MCPE-188461 – Fix so data driven particles pause properly when game is paused.
- MCPE-188464 – Fire overlay animation still plays when the game is paused
- MCPE-188490 – Players fall momentum is no longer reset after exiting and re-entering the world.
- MCPE-188795 – Riptide does not go as far vertically as previously.
- MCPE-189224 – Rideable Entity inventory transparent background is too dark
- MCPE-189501 – Attacking a mob while sprint jumping randomly removes all of the player's momentum, sometimes even teleporting the player backwards
- MCPE-189689 – Summoning a pig with commands or a spawn egg in snowy plains creates temperate pig
- MCPE-189693 – Leaves in cold biomes no longer turn white while it's snowing
- MCPE-189712 – Leash on pigs float above them when the "Drop 1 2025" experiment is enabled
- MCPE-189749 – Pig saddle texture is no longer symmetrical
- MCPE-189751 – Saddle model change breaks Marketplace resource packs because it was not given a v2 texture
- MCPE-189800 – Pig saddle attachable change causes resource packs with old pigs to show 2 saddles
- MCPE-189816 –
client_biomefiles withoutfoliage_appearanceandgrass_appearancecomponents cause biomes to fall back to incorrect colors - MCPE-189889 – Water does not flow on Magma or Soul Sand
- MCPE-189895 – dropper or dispenser may not work every 4gt, even though it is activated by a 4gt frequency signal
- MCPE-190093 – Bundles lose contents when given to armour stand
- MCPE-190225 – Pink petals/wildflowers/leaf litter do not display "Place" controller tooltip when 1/4 of the block is placed in the block
- MCPE-190418 – Outdated Enchanting Table name still used in Minecraft Encyclopedia and Achievements
- MCPE-190550 – Crafting a Bundle consumes materials but does not create a new Bundle if holding one in Survival
- MCPE-190552 – New bedrock pvp is broken after update
- MCPE-190604 – Sleeping in a bed causes the player's collision to break
- MCPE-190606 – Hover Note is broken on bedrock
- MCPE-190747 – Server IP Address Visible
Other
- 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.
- Fixed a mismatch between server and client when continuously building that caused orientation sensitive blocks to sometimes change to the wrong block.
- 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.
- Fix "Reset Random Tick Speed" button not working when editing an existing world on Realms.
- 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_inventorycomponent with items from the creative inventory using touch input now fails gracefully and produces a warning message. - Fixed an issue where dark forests were missing trees along their northern borders with other biomes.
waterandlavano longer will turn intoflowing_waterorflowing_lavawhen neighbor updates happen.waterandlavanow will respond to queued ticks without needing to change into another block.- Fixed issue where
No more entitiesassert failure occurred when flying through biomes during a storm. - Fixed
world_surfacetype ofheightmap_projectioninminecraft:jigsawto generate on top of water and leaf blocks. - Fixed a crash that would sometimes happen when entities with an excessively large hitbox entered liquid.
- Fixed placement of Jigsaw structures that contain blocks with
minecraft:tickcomponent. - 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.
- 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 an issue where other players in multiplayer scenarios would sometimes get stuck in their dying animation after respawning.
- Player characters no longer rotate sideways when moving forward.
- Fixed the Minecraft logo being misaligned on the progress screen.
- Fixed gaps from appearing between data-driven jigsaw structure pieces.
- Fixed a bug where call methods on
Player.inputInfo,Player.inputPermissionsorPlayer.aimAssiston a player that left and rejoined the world would throw an error. - Fixed crash on dedicated server when submitting error reports to Sentry.
- Fixed an issue where destroying and picking up a Shulker box would make it appear invisible in the inventory until world reload.
- Fixed an issue where chunks weren't saving properly on older worlds.
- Fixed a bug where the
typeidproperty of theEffectclass was being translated based on your language option. - Potted plants are no longer clipping through flower pots.
- Fixed wildflower item texture being slightly offset compared to Java.
- Temperate cows no longer have harsh borders on their legs.
- Red and brown mooshrooms no longer have harsh borders on their legs.
- Fixed iron golem cracked texture not appearing at appropriate damage levels.
- Fixed texture on the sides of a cold cow's head to be mirrored correctly.
- 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.
- 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.
- Fixed an issue which prevented some users from accessing the Create New World screen in iOS and iPadOS Preview and PlayStation Preview.
- Empty bell blocks no longer crash the game when moved by a sticky piston.
- Fixed a bug where
/fill,/clearand/testforblockcommands would recognize IDs of some flattened blocks as block group names and affect all variants under those groups. - Fixed issue that occurs when cancelling world resource pack download.
- Fixed crash that occurs when initializing
minecraft:decorated_potrenderer. - Fixed mirroring and rotation of crafter blocks when part of a structure that is being placed.
- 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.
From released versions before 1.21.50
- REALMS-11759 – Unable to change Random Tick speed back to 1 after changing to a higher value.
Video
- Updates for Creators
Notes
References
- ↑ "Minecraft: Bedrock Edition 1.21.70 - Spring to Life" – Minecraft Feedback, March 25, 2025.
- ↑ "Minecraft 1.21.70 Bedrock Changelog" by Jay Wells – Minecraft.net, March 25, 2025.
- ↑ "How to pause in Bedrock Edition" by Sophie Austin – Minecraft.net, March 26, 2025.