Bedrock Edition Preview 1.21.90.20
Preview 1.21.90.20


| Edition | ||||||
|---|---|---|---|---|---|---|
| Release date |
April 22, 2025 | |||||
| Server version | ||||||
| Editor version | ||||||
| Build version |
32724063 | |||||
| Internal version |
Windows, Xbox: 1.21.9020.0 | |||||
| Version code |
Android: | |||||
| Type |
Preview | |||||
| Preview for | ||||||
| Downloads | ||||||
| Protocol version |
806 | |||||
| ||||||
{
"title": "Preview 1.21.90.20",
"images": [
"Bedrock 1.21.90.20 PatchNotes.jpeg",
"Bedrock 1.21.90.20.png"
],
"rows": [
{
"field": "''(link to Bedrock Edition article, displayed as Bedrock Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "April 22, 2025",
"label": "Release date"
},
{
"field": "(link to Bedrock Dedicated Server 1.21.90.20 article, displayed as 1.21.90.20)",
"label": "Server version"
},
{
"field": "(link to Bedrock Editor 0.9.6 article, displayed as 0.9.6)",
"label": "(link to Bedrock Editor article, displayed as Editor) version"
},
{
"field": "32724063",
"label": "Build version"
},
{
"field": "'''Windows, Xbox''': 1.21.9020.0<br>'''Android''': 1.21.90.20",
"label": "Internal version"
},
{
"field": "<small>'''Android''':<br />\n952109020 (armeabi-v7a, 34)<br />\n962109020 (x86, 34)<br />\n972109020 (arm64-v8a, 34)<br />\n982109020 (x86_64, 34)</small>",
"label": "Version code"
},
{
"field": "Preview",
"label": "(link to Version types article, displayed as Type)"
},
{
"field": "(link to Bedrock Edition 1.21.90 article, displayed as 1.21.90)",
"label": "Preview for"
},
{
"field": "'''Server'''<br>[https://www.minecraft.net/bedrockdedicatedserver/bin-win-preview/bedrock-server-1.21.90.20.zip Windows]<br>[https://www.minecraft.net/bedrockdedicatedserver/bin-linux-preview/bedrock-server-1.21.90.20.zip Linux]",
"label": "Downloads"
},
{
"field": "806",
"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\" rowspan=\"2\">[[Bedrock Edition 1.21.84|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.21.84]]</td>\n<td style=\"padding: 0.4em\">'''[[Bedrock Edition 1.21.90|1.21.90]]'''</td>\n<td style=\"padding: 0.4em\" >[[Bedrock Edition 1.21.91| 1.21.91 <span style=\"margin-right:-0.35em\">►</span>►]]</td>\n</tr>\n<tr style=\"background: inherit;\">\n\n<td style=\"padding: 0.4em\">''' Preview 1.21.90.20'''</td>\n<td style=\"padding: 0.4em\">\n[[Bedrock Edition Preview 1.21.90.21| Preview 1.21.90.21 ►]]\n</td>\n</tr>\n</table>"
}
Beta 1.21.90.20 (ChromeOS, Android) or Preview 1.21.90.20 (Windows, iOS, iPadOS, Xbox, PlayStation) is the first beta/Preview version for Bedrock Edition 1.21.90, released on April 22, 2025,[1] which improves lead functionality and makes Vibrant Visuals the default graphics mode on supported devices.
Changes
Blocks
- The rarity is now common, matching its ingredients.
- Has been moved from experimental features and is now available during normal gameplay.
Items
- Using a firework rocket to boost while flying with an elytra now causes leashed mobs to unleash.
- Entities can now be leashed to a pre-existing leash knot by interacting with it.
- Players can retrieve entities tied to a leash knot by interacting with it.
- Shears can now be used to remove leash knots.
- Any leashable entity can now be leashed to any other leashable entity.
- To leash an entity to another entity, the player must:
- Have the entity already leashed to themselves.
- Sneak and interact with the target entity while holding the lead.
- Leashed entities can now be "stolen" by leashing them again, transferring ownership to the player.
- If re-leashing an entity would result in immediate leash snapping due to distance, the re-leashing cannot be done.
- To prevent erratic behavior when leashed to each other, llamas that are leashed no longer attempt to form caravans.
- A leashed entity cannot be leashed to itself.
- Baby mobs can only be leashed one way - to another entity; they cannot have other mobs leashed to them.
- To leash an entity to another entity, the player must:
- When leashed to a happy ghast, horses, camels, donkeys, mules, boats, chest boats, and sniffers now adjust their position gradually over time, aligning smoothly with their leash holder when suspended mid-air.
- In all other cases, entities align to the direction they are being pulled and no longer behave erratically when suspended mid-air.
- Mid-air friction now applies to Boats just like any other entity, meaning they can no longer orbit the player or behave excessively bouncily.
- The distance at which leads break has been increased to 12 blocks, except for the happy ghast, which has a break distance of 16 blocks.
- When the lead is pulled, leashed objects will now orient themselves towards the player who has the lead.
- The distance between centers of entities bounding boxes is used to determine the distance between two leashed entities.
- Boats and large leashable mobs that cannot fit in a boat (horses, donkeys, mules, camels, and sniffers) when leashed to a happy ghast are rendered with four leashes instead of one.
- In this configuration, the happy ghast also features a rope layer wrapping around it.
- Shears can now be used on leashed entities to unleash them, removing both incoming and outgoing leash connections.
- Players cannot cut other players' leashes.
- Dispensers can now use shears to unleash leashed entities.
- Has been moved from experimental features and is now available during normal gameplay.
Mobs
- The happy ghast now turns more smoothly.
- Harness goggles will now always be down as long as the harnessed Happy Ghast has at least one mounted player.
- Has been moved from experimental features and is now available during normal gameplay.
General
Graphical
- Made Vibrant Visuals the default graphics mode for supported devices.
- Added the ability to data-drive some of the Vibrant Visuals / Deferred Graphics related settings per biome. Creators can provide multiple versions of atmospherics, color grading, lighting and/or water configurations as long as each has a unique
identifierand file name. The reserved JSON names for each group of settings (e.g.,lighting/global.json) will continue to function as before. Creators can utilize theminecraft:atmosphere_identifier,minecraft:color_grading_identifier,minecraft:lighting_identifier, andminecraft:water_identifierin Client Biome JSONs to connect particular rendering settings to a given biome. Note that certain parameters, such as tone mapping operators, caustics and wave simulation on/off cannot be customized per biome at this time. Parameters will be spatially blended as players move between biomes. - Increased back-scattering of light underwater in Vibrant Visuals.
- Cloud shadows no longer pop in and out of view when looking around using Vibrant Visuals on Android devices.
- Painting now renders with correct PBR properties, shadows and illumination when using Vibrant Visuals.
- Added MERS texture support for signs in Vibrant Visuals.
- Added new texture assets for a variety of trims, particles, spawn eggs, water and the dark oak boat in Vibrant Visuals.
- Updated the appearance of metals for a variety of block textures in Vibrant Visuals.
- Updated the cave vines, chorus flower, pumpkin, fire fly bush and a variety of other plant textures in Vibrant Visuals.
- Updated the bee, dolphin, ghast, pig saddle and strider textures in Vibrant Visuals.
Technical
@minecraft/server-ui 2.0.0is now released,2.1.0-betais the new beta version for@minecraft/server-ui.- Added integer overflow detection in
ScoreboardObjective.addScore. Original value will be retained when overflow is detected. NamespaceNameErrornow has better error information and the name property value will now be set toNamespaceNameError.BlockComponentPlayerDestroyEventrenamed toBlockComponentPlayerBreakEvent.PlayerPlaceBlockBeforeEventpermutationBeingPlacedrenamed topermutationToPlace.
BlockCustomComponentonPlayerDestroyrenamed toonPlayerBreak.
- Added
lookAtmethod onEntity. - Added
customComponentParameters: CustomComponentParameterstoItemCustomComponentInstance. - Added
customComponentParameters: CustomComponentParameterstoBlockCustomComponentInstance. - Custom components V2 now support assigning string, array, object, bool, or number.
GameModeenum member names changed:survivalrenamed toSurvival.creativerenamed toCreative.adventurerenamed toAdventure.spectatorrenamed toSpectator.
- Added a parameter to the culling rules schema to disable culling against full and opaque blocks.
conditionfield is now optional.- removed
defaultas a value forconditionfield in the culling rules schema. - added new optional
cull_against_full_and_opaqueboolean field in the culling rules schema.- if not specified, it will be set to
true. - if set to
falseculling against full and opaque blocks will not be considered.
- if not specified, it will be set to
- When custom components v2 experiment is enabled, custom components can be assigned string, array, object, bool, or number:
"components": {
"example_namespace:example_component": "foo", "example_namespace:example_component2": 4, "example_namespace:example_component3": [ "hello", "world" ], "example_namespace:example_component4": true, "example_namespace:example_component5": { "stuff": 4 },}
- Custom components v2 experiment no longer required to use custom components v2.
- Custom components v2 is available in JSON versions 1.21.90 and higher
minecraft:custom_componentsdeprecated in 1.21.90.- The
minecraft:material_instancescomponent will no longer produce a content error if the*material is missing.
- Added integer overflow detection in
/scoreboard players operationfor +=, -=, *=, /= and %=. Original value will be retained when overflow is detected.
Components
- Added the
minecraft:remove_in_peacefulcomponent:- Determines whether an entity should despawn on "Peaceful" difficulty
- Content warnings will log missing texture references for
minecraft:material_instancesblock component. - Added the
minecraft:leashable_tocomponent:- Allows players to leash entities to the owner entity, retrieve those already leashed, or free them using shears.
- Players can leash entities to the owner entity by sneaking and interacting while having entities leashed to themselves.
- The
can_retrieve_fromfield determines whether players can retrieve entities leashed to the owner entity.
- Added new fields to the
minecraft:leashablecomponent:can_be_cut: Determines whether players can cut both incoming and outgoing leashes by using shears on the entity.spring_type: Apresetssubfield that defines the type of spring-like force pulling the entity toward its leash holder.- Available values:
bouncy: Simulates a highly elastic spring that never reaches equilibrium if the leashed entity is suspended mid-air.dampened: Simulates a dampened spring attached to the front of the leashed entity’s collision that reaches equilibrium if the entity is suspended mid-air and aligns with its movement direction.quad_dampened: Simulates four dampened springs connected to the center of each side of the entity's collision that reaches equilibrium if the entity is suspended mid-air and gradually aligns with the leash holder over time.
- Available values:
rotation_adjustment: Apresetssubfield that adjusts the rotation at which the entity reaches equilibrium.
Entity Components
- Added
minecraft:body_rotation_always_follows_headentity component:- Ensures the entity's body is always aligned with the head.
- Does not override the
minecraft:body_rotation_blockedcomponent.
- Custom Components v2 experiment removed. Custom Components v2 is enabled when using
@minecraft/serverversion2.0.0and above.
- When using Custom Components v2, custom components can be assigned string, array, object, bool, or number:
"components": {
"example_namespace:example_component": "foo", "example_namespace:example_component2": 4, "example_namespace:example_component3": [ "hello", "world" ], "example_namespace:example_component4": true, "example_namespace:example_component5": { "stuff": 4 },}
- Custom components v2 experiment no longer required to use custom components v2.
- Custom components v2 is available in JSON versions 1.21.90 and higher
minecraft:custom_componentsdeprecated in 1.21.90.
Network Protocol
- Added
ActorFlags::BODY_ROTATION_ALWAYS_FOLLOWS_HEAD.
Experimental
These additions and changes are accessible by enabling the "Beta APIs" and "Locator Bar" experimental toggles.
Additions
Technical
API
@minecraft/server 2.1.0-beta
- Added class
PlayerHotbarSelectedSlotChangeAfterEvent. This will be triggered every time the hotbar slot changes. - Added enum
PlayerInventoryType. - Added class
PlayerInventoryItemChangeAfterEvent. This will be triggered every time an item changes in the player's inventory. This includes the 27 inventory slots and 9 for hotbar. - Added
stopSoundandstopAllSoundstoDimensionandPlayer.
@minecraft/debug-utilities 1.0.0-beta
- Added new Debug Drawing feature:
- Added new classes:
DebugArrow,DebugBox,DebugCircle,DebugDrawer,DebugLine,DebugShape,DebugSphere,DebugText. - Added new global object for accessing and using this new feature:
debugDrawer: DebugDrawer.
- Added new classes:
Changes
General
UI
- The jump and dash bars no longer take precedence over the locator bar while inactive in Creative Mode.
- The interaction button in Creative Mode is now moved up for Touch devices so that it no longer covers the locator bar.
- Player dots on the locator bar now show correctly while using split-screen.
- The item name tooltip is no longer cut off while the locator bar is enabled in Creative Mode.
- Player dots on the locator bar now show correctly in third person view while using split-screen.
Technical
API
- Custom command registration will create an alias from the command name without the namespace.
- If the name has already been claimed, then the alias will not be created and a content log warning will appear.
- Removed unused classes:
EntityIterator,EntityTypeIterator,FilterGroup, andPlayerIterator. - Updated class
Container:reverseFindhas been renamed tofindLast.containsnow returns undefined if it fails to find the item.firstEmptySlotnow returns undefined if it fails to find an empty slot.firstItemnow returns undefined if it fails to find the item.findnow returns undefined if it fails to find the item.reverseFindnowreturns undefined if it fails to find the item.
Fixes
From released versions before 1.21.90
- MCPE-79331 – Text Background Opacity doesn't work for most text
- MCPE-80066 – Crimson and warped roots can be lit on fire and burn
- MCPE-88837 – Piglin brutes do not despawn in Peaceful mode
- MCPE-181002 – Trident isn't grouped next to tools/weapons in the creative tab
- MCPE-184566 –
/playsoundleaks across dimensions - MCPE-187171 – Bundle tootip was overlaps with the item tooltip
- MCPE-189370 – Pressing up on the left thumbstick or D-pad while in the Graphics Mode dropdown menu takes the user to the top of the Video Settings menu
- MCPE-190647 – Item breathing animation is not smooth when a world's Days Played count is high
- MCPE-191029 – Block breaking animations do not stop after pausing the game
- MCPE-194367 – The top layer of the Snowy Kingdom Preset uses full snow blocks instead of snow layers
- MCPE-199213 – New items added in 1.21.80.25 preview have extra spaces in their names
- MCPE-201851 – Happy ghast can be pushed too easily
- MCPE-212378 – Baby Happy Ghast does not grow up naturally
Other
- Fixed a bug where directional lighting cut out 8 blocks under the water surface while using Vibrant Visuals.
- Non-waterlogged Dried Ghast blocks now only play ambient sounds when on top of a Soul Sand or a Soul Soil block.
- Fixed issue where jungle leaves did not become transparent when setting all leaf types to be transparent.
- Fixed crash that would sometimes occur when using command blocks.
- Players mounted on the Happy Ghast no longer appear invisible to other players when the Happy Ghast is immobile.
- Players mounted on the Happy Ghast no longer have their hitbox displaced when the Happy Ghast is immobile.
- Happy Ghast no longer becomes a platform when a Player is standing next to it.
- Fixed bug where piloted Happy Ghast could be moved while non-riding players were standing on it.
- Fixed a bug where Happy Ghast would keep looking at you after no longer being tempted.
- Bundle UI now correctly disappears when switching Inventory tabs with controller input.
- Tapping on the Bundles Tooltip on Touch devices no longer interacts with the UI behind it.
- Fixed an issue where only changing the access of PlayStation friends to your world would not be saved when exiting the menu.
- Fixed incorrect warnings for using valid older block ids with
minecraft:block_placercomponent. - Fixed
query.healthin resource packs to return 0 for the Wither once it has died. - Fixed the Nether having overworld fog in Vibrant Visuals.
References
- ↑ "Minecraft Beta & Preview - 1.21.90.20" – Minecraft Feedback, April 22, 2025.