![]() |
VOOZH | about |
| Edition | Bedrock Edition | |||||
|---|---|---|---|---|---|---|
| Official name | Spring to Life | |||||
| Release date | March 25, 2025 | |||||
| Server version | 1.21.70.04 | |||||
| Editor version | 0.9.0 | |||||
| Build version | 31691410 | |||||
| Internal version | Windows, Xbox: 1.21.7003.0 ChromeOS, Android, iOS, iPadOS, Fire: 1.21.70.03 PlayStation 4: 3.08 PlayStation 5: 1.015.000 Nintendo Switch: v119 | |||||
| Version code | Android: 952107003 (armeabi-v7a, 34) | |||||
| Development versions | ||||||
| Downloads | Server Windows | |||||
| 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": "'''Android''':<br>\n952107003 (armeabi-v7a, 34)<br>\n962107003 (x86, 34)<br>\n972107003 (arm64-v8a, 34)<br>\n982107003 (x86_64, 34)<br>\n'''iOS''':<br>\n872977864",
"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.50|<span style=\"margin-right:-0.35em\">β</span>β 1.21.50]]</td>\n<td rowspan=\"2\" style=\"padding: 0.4em\">'''1.21.70'''</td>\n<td style=\"padding: 0.4em\" >[[Bedrock Edition 1.21.90| 1.21.90 <span style=\"margin-right:-0.35em\">βΊ</span>βΊ]]</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][3] 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.
π Image
π Image
π Image
π Image
Leaf Litter
π Image
π Image
π Image
π Image
Wildflowers
There are now cold[info 1] and warm[info 2] variants of pigs, cows, and chickens.
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
π Image
Spawn eggs
General
| 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 |
| Category | Item wanted | Quantity | Item given | Quantity | Trades until disabled |
|---|---|---|---|---|---|
| Special Selling | π Image Emerald |
1 | π Image Gunpowder |
1 β 4 | 8 β 2 |
| Special Selling | π Image Emerald |
3 β 1 | π Image Packed Ice |
1 | 6 |
| Special Selling β Ordinary Selling | π Image Emerald |
5 β 3 | π Image Bucket of Pufferfish |
1 | 4 |
| Special Selling β Ordinary Selling | π Image Emerald |
5 β 3 | π Image Bucket of Tropical Fish |
1 | 4 |
| Ordinary Selling | π Image Emerald |
1 | π Image Lily Pad |
2 β 5 | 5 β 2 |
| Ordinary Selling | π Image Emerald |
1 | π Image Brown Mushroom |
1 β 3 | 12 β 4 |
| Ordinary Selling | π Image Emerald |
1 | π Image Red Mushroom |
1 β 3 | 12 β 4 |
| Ordinary Selling | π Image Emerald |
1 | π Image Vines |
1 β 3 | 12 β 4 |
/summon or /event to spawn this variants cold and warm animals.Sounds
UI
"Friends Drawer Improvements" .
API - Scripting
@minecraft/server 1.18.0system.scriptEvent to system.sendScriptEvent.NamespaceNameErrorReason from beta to @minecraft/server 1.18.0.system.sendScriptEvent from beta to @minecraft/server 1.18.0.NamespaceNameError from beta to @minecraft/server 1.18.0.InputInfo.getButtonState, InputButton, and ButtonState to @minecraft/server 1.18.0.InputInfo.getMovementVector to @minecraft/server 1.18.0.PlayerButtonInputAfterEvent, AfterEvents.playerButtonInput and InputEventOptions to @minecraft/server 1.18.0.Readonly permission, which allows them to now be called inside Before Event callbacks.
BlockVolume.Vector.spawnEntity method on Dimension to now take a variant of either a string or EntityType.placeFeature and placeFeatureRule APIs to the Dimension class.isValid property to the Camera class.CameraFixedBoomOptions from beta to stable.LiquidType enum from beta to stable.Block from beta to stable.BlockPermutation from beta to stable.Player.spawnParticle from beta to stable.API
minecraft:fluidContainer has been renamed to minecraft:fluid_container in V2.minecraft:dry_foliage_color component to override color for dry_foliage tint method.Blocks
minecraft:map_color component underwent a schema change: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, grass and water."minecraft:map_color":{ "color":"#ABCDEF", "tint_method":"grass" }
or
"minecraft:map_color":{ "color":"#ABCDEF" }
or
"minecraft:map_color":"#ABCDEF"
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.plains biome. Example:"minecraft:material_instances":{ "*":{ "texture":"minimal", "render_method":"opaque", "tint_method":"water" }
dry_foliage tint method which uses the textures/colormap/dry_foliage.png color map.minecraft:destruction_particles as a JSON object. This represents the particles used when the block is destroyed.
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.down or * of the minecraft:material_instances component if present and none for tint_method. This was the old behavior."minecraft:destruction_particles":{ "texture":"my_particles_texture", "tint_method":"grass" }
or
"minecraft:destruction_particles":{ "texture":"my_particles_texture" }
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.Commands
place feature and place featurerule subcommands out of the Upcoming Creator Features experiment.set_movement_authority command.Components
infinite including:
minecraft:attack: effect_durationminecraft:healable: duration in the effects listminecraft:mob_effect: effect_timeminecraft:projectile: durationeasy, durationnormal, and durationhard can now all use infiniteminecraft:food: duration in the effects listminecraft:spell_effects: duration in the add_effects listminecraft:combat_regeneration: regeneration_durationminecraft:is_collidable component
minecraft:collision_box component.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.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.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.
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.minecraft:block_placer.minecraft:loot.entity_sensor component's find_players_only field now functions correctly, properly restricting searches to Players only and affecting all subsensors.Creator
ItemTag support in the match_tool loot table condition no longer requires enabling the "Upcoming Creator Features" experiment toggle.Dedicated Server
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.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.server-authoritative-movement parameter. It will now always use server-auth-with-rewind.Entity Components
on_spawn trigger to spawn_chance on hit sub-component, triggered on the newly spawned entity with other set to the owning entity.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
stop_movement entity event response, which stops the entity's movement.
stop_vertical_movement field specifies whether vertical movement should be stopped.stop_horizontal_movement field specifies whether horizontal movement should be stopped.set_home_position entity event response, which sets the entity's home position to its current position.
minecraft:home component.Entity Events
first_valid event type, it will evaluate every filter in order and execute the first valid one.Entity Filters
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.General
Goals
minecraft:behavior.float_wander AI goal will now restrict mobs to their home position if they have the minecraft:home component.use_home_position_restriction field to minecraft:behavior.float_wander AI goal to control whether mobs respect home position restrictions when selecting target positions.
false for entities with format version below 1.21.70, and true for 1.21.70 and later.true, the mob will respect home position restrictions when selecting target positions.JSON Events
duration in the add_mob_effect event can now be set to infinite.Mobs
100000000.0 and minimum value of -100000000.0 to minecraft:collision_box component.Network Protocol
ActorFlags::COLLIDABLE.ActorFlags::BODY_ROTATION_AXIS_ALIGNED.ActorFlags::WASD_AIR_CONTROLLED.Sounds
variants field which defines sound variants based on the runtime entityvariants has a key field reading a Molang expression returning a string to select sound variant (e.g.: 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.defaults."minecraft:emotional_state":{ "type":"enum", "values":["neutral","angry","happy","sad"], "default":"neutral", "client_sync":true }
{ "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" } } } } } } } } }
locator field similar to particle effects allowing them to originate from the locator on the entity rather than the origin.These additions and changes are accessible by enabling the "Beta APIs" experimental toggles.
API - Scripting
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 executionsubscribe and unsubscribe methods can now be called in early executionSystem methods can now be called in early execution
clearJobclearRunrunrunIntervalrunJobrunTimeoutwaitTicksBlockComponentRegistry method registerCustomComponent can now be called in early executionItemComponentRegistry method registerCustomComponent can now be called in early executionstartup property to SystemBeforeEventsStartupEventStartupEventSignalWorldAfterEvents renamed property worldInitialize to worldLoadWorldBeforeEvents removed property worldInitializeWorldInitializeAfterEvent renamed to WorldLoadAfterEventWorldInitializeAfterEventSignal renamed to WorldLoadAfterEventSignalWorldInitializeBeforeEventWorldInitializeBeforeEventSignalDimension.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 propertiesgetComponents, getComponent and hasComponent now throw if the Entity is invalidapplyKnockback method now takes a VectorXZ parameter for the knockback horizontal force (which includes the strength/magnitude), as well as a vertical strength parameter. To convert from V1, you should normalize your previous direction vector and multiply it by the old horizontal strength value. Vertical strength is the same as before.EffectType
getName method now always returns the minecraft: namespace prefix along with the nameEffect
typeId property now always returns the minecraft: namespace prefix along with the nameminecraft:air item has been removed (it is still a valid block)system.waitTicks() now can accept an argument bounds of 0 minimum to run this tickGraphicsMode enum and Player.graphicsMode to query a player's current graphics mode on the server.system.isEditorWorld property into @minecraft/server in betaBlockLocationIterator
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 betaTintMethod enum has been added to beta@minecraft/server 2.0.0-beta
RegistrationBuilder methods can now be called in early execution:
batchmaxAttemptsmaxTickspaddingrequiredrequiredSuccessfulAttemptsrotateTestsetupTicksstructureNametagregister function can now be called in early executionregisterAsync function can now be called in early executionAPI - Molang
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.API
World
getDifficulty(): Difficulty method to beta. This method gets the worlds current game difficulty.setDifficulty(difficulty: Difficulty): void method to beta. This method sets the worlds current game difficulty.ActionFormData
header(text: minecraftserver.RawMessage): ActionFormData;. It adds a header into the form.label(text: minecraftserver.RawMessage): ActionFormData;. It adds a label into the form.ModalFormData
header(text: minecraftserver.RawMessage): ModalFormData;. It adds a header into the form.label(text: minecraftserver.RawMessage): ModalFormData;. It adds a label into the form.@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-net
InternalHttpRequestError.
MalformedHttpRequestError.
@minecraft/server-ui
divider(): ActionFormData;. It adds a section divider into the form.divider(): ModalFormData;. It adds a section divider into the form.Blocks
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.API
@minecraft/server 2.0.0-betaItemStack.setLore.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.BlockMapColorComponent scripting API is now read-only.BlockMapColorComponent scripting API fields color and tintMethod are now properties instead of methods.ItemUseOnBeforeEvent in @minecraft/server 2.0.0-beta. Use PlayerInteractWithBlockBeforeEvent instead.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.Behavior packs
peaks_factor from minecraft:mountain_parameters in the behavior pack biome file.Components
minecraft:input_air_controlled component, that enables controlling flying rideables.
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.use_beta_features to be enabled.General
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.@minecraft/server-net
From released versions before 1.21.60
item_specific_speeds cannot be destroyedclient_biome files without foliage_appearance and grass_appearance components cause biomes to fall back to incorrect colorsOther
lock_in_inventory component with items from the creative inventory using touch input now fails gracefully and produces a warning message.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.No more entities assert failure occurred when flying through biomes during a storm.world_surface type of heightmap_projection in minecraft:jigsaw to generate on top of water and leaf blocks.minecraft:tick component.Player.inputInfo, Player.inputPermissions, or Player.aimAssist on a player that left and rejoined the world would throw an error.typeid property of the Effect class was being translated based on your language option./fill, /clear and /testforblock commands would recognize IDs of some flattened blocks as block group names and affect all variants under those groups.minecraft:decorated_pot renderer.From released versions before 1.21.60