The Ice Cave is a new cave biome that generates under the colder biomes in the Overworld. It consists mainly of Packed Ice and Calcite
Features terrain composed primarily of Packed Ice and Calcite
Icicles generate hanging from the ceiling
Large icicles made of Packed Ice generate on the ground and hanging from the ceiling
Patches of Snow occasionally generates on the ground
Ores generate embedded in pockets of Stone and Deepslate
Dirt and Granite do not generate in this biome
Glow Lichen does not generate in this biome
In addition to the mobs that normally spawn in caves, Strays and Frostbites can also spawn here
Ice Crystals occasionally generate on the ground
Ice Caves appear under biomes with low temperature
Ice Crystals are the only light source found in Ice Caves, as there is no Glow Lichen there. They can generate naturally on top of Packed Ice blocks
A new crystal-like block similar to Amethyst Clusters
Breaks if the support block is removed
It emits light and can be placed in any direction
Known issue: Ice Crystals are currently smaller than intended
A new speleothem-like block similar to Dripstone and Sulfur Spikes
Can naturally grow up to 5 blocks long when pointing downward
Only grows in areas without nearby light sources and outside the Nether
Damages entities when it falls and deals extra damage to entities that land on it
Breaks when exposed to nearby light sources or while in the Nether, except for its base block
The Freezing Effect will cause players to shake, reduce their jump height, and eventually deal damage
Causes those affected to slowly become frozen as if in Powdered Snow for its duration
Leather Armor will keep them from becoming freezing, just like with Powder Snow, but will not keep the effect from being applied and will not remove the effect
Mobs will take additional damage from Freezing while they are affected by the mob effectMobs that are vulnerable to freezing have a five times multiplier to the damage taken
The Frostbite is a zombie variant that can throw ice balls. However, what they really like is to get close to you and use melee attacks that cause the Freezing Effect
A new Zombie variant
Spawns in cold/icy biomes
Switches between melee and ranged combat based on target distance and whether they have Ice Balls; melee attacks apply Freezing, while ranged attacks throw Ice Balls
Uses Zombie-style melee animations and dedicated Ice Ball throwing animations for both adult and baby variants
Transforms into a Zombie when underwater for long enough
Drops Rotten Flesh and Ice Balls
It can stand on top of Powder Snow
It is immune to freezing and does not get slowed by the Freezing effect or Powder Snow
Zombies and Husks now transform into Frostbites when inside Powder Snow
Ice balls are the projectile weapon of choice for the Frostbite. They deal a small amount of damage and have knockback
A new projectile that can be thrown by the Frostbite
Deals 4 damage to entities it hits, scaling down with velocity
Breaks on impact with blocks or entities, creating a particle effect and sound
Added custom sounds for Ice block
Features and Bug Fixes
Abandoned Camp
Camps in the Swamp no longer contain a Mycelium block
The Abandoned Camp no longer contains singular Coarse Dirt blocks
Accessibility Features
Screen narration now correctly announces the position of navigation controls in the Realms Timeline tab
Fixed closed captions for baby turtles and baby polar bears so they display "Baby Turtle" and "Baby Polar Bear" instead of the adult subtitle
Fixed multiple narration enumeration problems within modals
Updated order and descriptions of text background opacity options in Accessibility tab
Fixing enumeration problems with controller on various modals on Realms
Fixing Realm rate limit modal not being enumerated
Fixing close X button on moderation feed options modal not being enumerated
Screen narration now pauses between each bullet point in Realms Plan Picker details
Progress bars now meet the minimum 3:1 non-text contrast ratio against the default menu background
Fixing border focus issues on medium sized Realm Stories
Fixing text blocks below What are Realms? section on Realms PDP not being enumerated
Extra Large UI now returns to the default GUI scale when disabled
Fixed a bug on Android where the Disclosure pop-up couldn't be interacted with.
Accounts
Fixed silent Xbox Live sign-in hanging indefinitely by adding a timeout that surfaces a network error
Biomes
Lush Caves now generate instead of Dripstone Caves or Sulfur Caves in very humid regions
Blocks
Snow now produces vibrations when placed (MCPE-115444)
Updating Shelf Mushroom textures to match Java, removes hidden faces from texture
Wool and Concrete blocks now correctly produce instrument sounds when used with Note blocks (MCPE-241748) (MCPE-241749)
When placing blocks at the height limit the game no longer spams error messages
Fixed Redstone not visually connecting properly to custom blocks with a Redstone producer component (MCPE-242204)
Red and Brown Mushrooms now require central block support
Fixed Redstone dust not rendering the climb up the side of a block when the same wire also steps down to another wire on the opposite side
Cushions in unloaded chunks no longer disappear when the chunk reloads (MCPE-241970)
Straw Beds can no longer be placed on blocks occupied by an entity
Fixed the Straw Bed block reporting missing geometry content errors and rendering incorrectly in worlds and templates using a base game version older than 1.26.50
Commands
Fixed an issue where players are kicked when using a command with 'no entity' selectors into the message. (MCPE-241436) Sample commands fixed:
/kick <ClientNickname> @a[name=nonexistent_player]
/tell <ClientNickname> @a[tag=nonexistent_tag]
Running /time add <time> in worlds currently with a negative time will be fixed up to add the result from the first day
Cushion
Moved down the player by two pixels when sitting on a Cushion (MCPE-240499)
Effects
Regeneration from Axolotls can no longer be stacked infinitely (MCPE-183841)
Gameplay
Minecraft is now available on Nintendo Switch™ 2, with support for Vibrant Visuals. Find out more at minecraft.net.
Large fireball no longer ignites targets on hit (MCPE-186607)
Bonus Chests now generate correctly in Water World and Snowy Kingdom flat world presets (MCPE-223639) (MCPE-224162)
When placing a Bundle in a Double Chest, the contents will no longer randomly disappear (MCPE-188043)
Grown up baby Horses can no longer pass through two blocks high and one block wide corridors (MCPE-238139)
Players now take fall damage when landing on a solid block at the boundary of a water block
Villagers no longer become unresponsive when player interacts with them while opening the inventory menu (MCPE-138181)
Reduced the lag spike that could happen when opening an Abandoned Camp chest for the first time (MCPE-310693)
The following Explorer Maps have been renamed to have more consistent naming
Ocean Explorer Map -> Ocean Monument Map
Swamp Explorer Map -> Swamp Hut Map
Trial Explorer Map -> Buried Trial Chambers Map
Woodland Explorer Map -> Woodland Mansion Map
Jungle Explorer Map -> Jungle Pyramid Map
They still cannot spread unless the brightness at the new growth is less than 13, or its support block overrides light requirements like Mycelium
General
Fix untranslated text while importing worlds on PlayStation (MCPE-237739)
Graphical
Fixed the block selection outline not appearing when aiming at a block with a mob standing on top of it (MCPE-172630)
Fixed a bug which caused aliasing artifacts on Beds and Signs when colored block lighting is enabled.
Fixed instability when Block Light Quality is set to Volumetric Lights on PS4 and Android
Added warning for going above the 'visual' graphics level render distance for Vibrant Visuals
Shulkers no longer have comfort dithering applied as they are a stationary (block-like) mob
Fixed a crash when adjusting render resolution on PlayStation with high settings in Vibrant Visuals
Fix resource packs and fog command not affecting fog start and end distance when the dragon is dead or far away. The fog start and end are still overridden when the dragon is alive and nearby. (MCPE-239959)
Fade in sky when night vision and blindness are both active
Fix texture of minecarts with hopppers in ray traced graphics mode(MCPE-240625)
Fixed Character Creator items and custom skin layers, such as outerwear, footwear, leggings, socks, and belts, not being hidden underneath equipped armor
Corrected detection of cube-map array texture support on older Windows graphics hardware
Character Creator skins now consistently use the matching level-of-detail texture after changing profiles
The size of The End flash in Fancy graphics mode now more closely matches Java Edition.
Fixed UI elements appearing in world preview images when using Vibrant Visuals on Nintendo Switch 2 (MCPE-241596)
Fixed some inventory items appearing invisible with non-default Display Brightness and anti-aliasing set to 1 (MCPE-241108)
Fixed bug where distance fog was overly bright when rendered in front of a water surface.
Automatic upscaling now uses the closest supported resolution rounded down when switching to the Custom graphics settings, and Custom mode displays a notice that automatic resolution is only valid for presets
Input
Fixed instances of first inputs not appearing in chat window textbox on Android devices (MCPE-241422)
Fixed an issue for Switch where wireless controllers would not be usable on the world selection screen after leaving a world (MCPE-241768)
Improved cursor movement while scrolling
Items
Fixed issue where ice bombs (Education Feature) did not produce ice when thrown on water
Marketplace
Fixed marketplace updates not completing and progress screen not closing automatically
Imported custom skins are no longer reset to a default skin after relaunching the game (MCPE-241720)
Fixed a bug where declining to purchase a missing Marketplace pack could leave players stuck in an error loop
Improved frame time of subcategory piece screens
Worlds that had achievements incorrectly disabled due to add-on use will have them re-enabled on first play (MCPE-242586)
Skin info panel now displays on unpurchased skins
Mobs
The Drowned model now more closely matches Java Edition
Helmets equipped by Drowned are now visible (MCPE-153500)
Fix a rare issue where a healing a mob could result in its death
Armor Stands now correctly reject invalid equipment swaps and swap equipped items directly with items held by players
Fixed an issue where Sheep would get stuck in their grazing animation
Fixed a bug where split Slimes would have their parent's properties
Realms
Free trial is now available on Nintendo Switch!
World upload & download - Major improvements have been made to speed and reliability! (REALMS-474) (REALMS-419)
Added support for opening a specific Realm from a Realms Play deep link
Updated Realms purchase terms to include required automatic renewal notice
Realm Member screens have been updated to OreUI with improved functionality.
It's now faster to add members with search from the Members screen. You can now invite players to your Realm without the extra step of making them an Xbox friend.
The Members screen now shows 'Recommended' friends.
Added applied packs list to Realms hub world tab.
New 'Learn more' subtab in Settings tab has a new help guide for Realm owners and admins
Hardcore worlds are now identified correctly in Realm world slots
The correct active world size is now displayed consistently in the Realms Hub World tab
Fixed Realm world name wrapping too much on member-view worlds tab
User Interface
Updated Poplar Hanging sign's GUI to match Java and other hanging signs
Focus now follows a pack to its new position when it is reordered, instead of moving somewhere unrelated
Added extended Latin, Cyrillic and Greek characters to the bitmap font. Character size increased to 8x12px. Languages that use these characters will no longer be displayed in a mix of fonts in the menus.Let us know what you think here
Cod, Pufferfish, Salmon, and Tropical Fish have the correct closed caption when killed
Pufferfish, Salmon, Tropical Fish, and Elder Guardians have the correct closed caption when hurt
Pufferfish, Salmon, Tropical Fish, Tadpole, and Elder Guardian have the correct closed caption when flopping
Elder Guardian has the correct closed caption when flapping on land
Comparators, Tripwires, and Dispensers now have the correct closed captions when emitting their clicking sounds
Dispensers now have the correct closed captions when failing to dispense an item
Slime mobs now have the correct closed caption when killed and summoned
Eggs, Eyes of Ender, Ender Pearls, Fishing hooks, potions, Snowballs, and other throwables now have the correct closed captions when thrown
Creeper now has the correct closed caption when primed
Sounds
Fixed an issue where sounds could become out of sync after the game was paused and resumed
Stability and Performance
Dedicated servers now exit cleanly when incompatible allow-list and online-mode settings are configured
Reduced stutter associated with mobs and items across multiple play sessions (MCPE-241707)
Fixed a crash that could occur when loading a world containing large, densely connected structures of blocks such as fences, glass panes, iron bars, or walls (MCPE-242312)
Improved stability for Nintendo Switch devices connected to a network
Fixed a crash that could occur when loading malformed resource archives
Fixed a crash when trying to render too many hearts on the HUD
Players no longer become stuck on the "Generating World" loading screen when attempting to pause during dimension transfer
Fix crash when holding an invalid photo
Fixed an issue where joining a friend's world while already in a world could incorrectly load newer Vanilla resources when the friend's world used an older template
Fixed issue with infinitely growing string values in level data.
Technical Updates
AI Components
Made schemas for the following components stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.60 and newer.
minecraft:movement.basic
minecraft:movement.sway
minecraft:movement.skip
minecraft:movement.generic
minecraft:movement.amphibious
minecraft:movement.fly
minecraft:movement.hover
minecraft:movement.dolphin
minecraft:movement.glide
minecraft:pushable_by_block Made schema for the minecraft:movement.jump stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.60 and newer. Float Range field jump_delay now only accepts an object with min and max values. Other formats will fail to parse
seats field has changed to only accept an array format
minecraft:dash_action
minecraft:rail_movement
minecraft:scale_by_age
AI Goals
Made the schema for minecraft:behavior.float_tempt stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.60 and newer
Made the schema for minecraft:behavior.tempt stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.60 and newer
Made the schema for minecraft:behavior.send_event stricter when parsing, now will fail to load an entity json that has invalid data in versions 1.26.60 and newer
Made schema for the minecraft:behavior.panic component stricter when parsing so that it will fail to load an entity json that has invalid data in versions 1.26.60 and newer
Changed minecraft:behavior.panic to not stop and start every tick when the mob is stuck
API
Released @minecraft/server version 2.11.0
Added @minecraft/server version 2.12.0-beta
Releasing TextPrimitive.lineGapHeight from beta to 2.11.0.
Released Dimension.spawnXp from beta to scripts version 2.11.0
Released SoundInstance.setVolume, SoundInstance.setPitch, SoundInstance.fade, SoundInstance.seekTo, SoundInstance.pause, and SoundInstance.resume from beta to scripts version 2.11.0
Released the loopCount option on PlayerSoundOptions and WorldSoundOptions from beta to scripts version 2.11.0
Infinitely-looping sounds (loopCount: -1) stop automatically when the last SoundInstance reference is dropped; retain the handle to keep the sound playing
Released server sound definitions from beta with format version 1.26.60
The field trunk_width in mega_trunk now accepts int ranges, making it possible to configure trees to have varying thicknesses. Old configurations are still supported and will give the same behavior as previously
Fixed issue where onBreak API event would not trigger when a custom block with a filter component loses support and breaks (MCPE-240755)
Released EntityIsTamedComponent.tamedToPlayer and EntityIsTamedComponent.tamedToPlayerId from beta to stable in @minecraft/server v2.11.0
Shulker Box items now return a valid ItemInventoryComponent.
Renamed PoiBlockType.has to PoiBlockType.hasTag in beta
Being shown a player-scoped TextPrimitive or a CustomForm no longer corrupts a locator bar on next player joins
Released WorldClockRegistry from beta to v2.11.0 in @minecraft/server
Released WorldClock from beta to v2.11.0 in @minecraft/server
Released TimeMarker from beta to v2.11.0 in @minecraft/server
Released WorldClockRegistrationOptions from beta to v2.11.0 in @minecraft/server
Released TimeMarkerOptions from beta to v2.11.0 in @minecraft/server
Released WorldClockOnTimeModifiedAfterEvent from beta to v2.11.0 in @minecraft/server
Released WorldClockOnTimeModifiedAfterEventSignal from beta to v2.11.0 in @minecraft/server
Released WorldClockOnPausedAfterEvent from beta to v2.11.0 in @minecraft/server
Released WorldClockOnPausedAfterEventSignal from beta to v2.11.0 in @minecraft/server
Released WorldClockOnResumedAfterEvent from beta to v2.11.0 in @minecraft/server
Released WorldClockOnResumedAfterEventSignal from beta to v2.11.0 in @minecraft/server
Released WorldClockOnTimeMarkerAfterEvent from beta to v2.11.0 in @minecraft/server
Released WorldClockOnTimeMarkerAfterEventSignal from beta to v2.11.0 in @minecraft/server
Blocks
minecraft:collision_box will no longer accept single box objects from v1.26.60 onwards in favor of only using arrays. For example, this component...
n_way_visual_rotation states now properly synchronize from host to client in multiplayer worlds
Restore support for boolean bone visibility fields in geometry component (MCPE-238524)
Block Components
Chorus plant blocks now expose the minecraft:connection_north, minecraft:connection_east, minecraft:connection_south, minecraft:connection_west, minecraft:connection_up, and minecraft:connection_down block states reflecting which adjacent chorus plants and chorus flowers they connect to
Fire blocks now expose the minecraft:connection_north, minecraft:connection_east, minecraft:connection_south, minecraft:connection_west, and minecraft:connection_up block states reflecting the flammable blocks around them
Redstone dust blocks now expose the redstone_north, redstone_east, redstone_south, and redstone_west block states (none, side, up) reflecting how the dust connects to its neighbors
Redstone dust placed with a command or the Script API now keeps the redstone_north, redstone_east, redstone_south, and redstone_west states it was given, until a block update recalculates them from its surroundings (MCPE-242340)
Commands
Fixed listd command sometimes reporting one way ping, it now reports round trip ping time.
Removed the Creator World Clocks Features experiment
/time of commands no longer require the Creator World Clocks Features experiment
New /time commands no longer require the Creator World Clocks Features experiment
/time set <TimeMarker> (next|previous|stay)
/time pause
/time resume
/time query time
/time of <clock> add <time> - Adds time to the clock. Cannot result in a negative time
/time of <clock> set <time> - Sets the clock to the specified time. Cannot be set to negative.
/time of <clock> set <timemarker> (next|previous|stay) - Sets the clock to the occurrence of the time marker. Cannot result in a negative time
/time of <clock> pause - Pauses the clock
/time of <clock> resume - Resumes the clock
/time of <clock> query time - Outputs the clock's current time
/time pause - Pauses the Overworld clock
/time resume - Resumes the Overworld clock
/time query time - Outputs the Overworld clock's current time
Sets the Overworld clock to the occurrence of the time marker. By default this is next and works the same as the old TimeSpec variation
Debugger
Fixing live diagnostics display for 'ticking' chunks not being gathered correctly.
Dedicated Server
Updated the warning that suggests trying NetherNet to instead be an error when users are not using NetherNet, as RakNet is deprecated
Editor
Fixed a bug in the Vibrant Visuals Color Grading pane where the Midtones, Highlights, Shadows, and Temperature tooltips showed the parent Color Grading description instead of their own
Jigsaw Collections are no longer silently lost when their files cannot be written to disk, and a warning is now shown when a Jigsaw Collection cannot be fully saved or loaded
A Jigsaw Collection that failed to load completely is no longer saved back over the complete files on disk
Fixed a crash in the Editor Jigsaw pane when loading template pool files that contain JSON comments or trailing commas
Fixed a crash that could occur when pressing Preview Jigsaw in the Jigsaw tool
Fixed an Assert caused by the Mouse and a Grabbed Gizmo becoming disconnected
Added support for Shift = (+) and - shortcuts to add and remove nodes in Vibrant Visuals graphs
Fixed two potential crashes when an Editor Player enters an End Portal
Fixed a bug that selected chunks are not reflecting biome data assignments without reloading the game.
Fixed a bug that caused flickering after clicking the button of assign biome data.
Fixed the Uniform Length slider for Cuboid primitives to stop at the maximum placeable size
Fixed a bug that cause UI navigation and narration to not work for scripted panels
Added a rotation ring to Paste Preview Compose mode, which rotates the preview in 90 degree steps
Recentered Paste Preview when entering Compose mode and moved Position controls into Placement Settings
Added a rotation ring to Selection Move mode, which rotates the selection contents in 90 degree steps
Added rotation rings to the Custom Mesh and Shape tools, which rotate the preview freely on the X, Y and Z axes
Adding the first keyframe in the Cinematic tool now creates a whole camera seeded with four keyframes, and deleting keyframes that would leave fewer than four now offers to delete the camera instead
Duplicated keyframes now land on the nearest free timestamp instead of stacking on the source keyframe's time
Fixed keyframe widgets and spline preview dots being placed outside the world height limits
Selecting a keyframe in the timeline now highlights the matching keyframe in the world, and the selection is kept when the widgets are rebuilt
Fixed a performance issue where adding markers to the minimap caused the frame rate to drop
Fixed an issue where creating an Editor project with cheats enabled would disable cheats upon loading into the world (and wouldn't persist between sessions when manually re-enabled)
Added the ability to skip any Tutorial step
Fixed a bug that caused a lag spike when changing the mouse cursor icon
Editor location pointers, map markers, and ruler markers no longer take damage, flash red, or get knocked back when attacked
Entity Components
Made schemas for the following components stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.60 and newer.
minecraft:strength
minecraft:teleport Made schema for the minecraft:economy_trade_table component stricter when parsing and will fail to load an entity json that has invalid data in versions 1.26.60 and newer. Int Range fields cured_discount and max_cured_discount now only accept an object with min and max values. Other formats will fail to parse.
movement_type now only accepts none, waves, or bobbing; other values are invalid
liquid_blocks entries must be non-empty block identifiers or valid block descriptor objects; invalid descriptor combinations are rejected
items entries must now be objects; item identifier strings are no longer valid entries
effects within an items entry must now be an array of effect objects; a single effect object is no longer valid
time field now takes an object with min and max fields
damage now only accepts a scalar or an object with min and max values. Array values are no longer valid.
value, block_radius, and block_max fields under delay now reject negative values
block_assist_chance and block_chance fields under delay now take floats in the range 0.0 to 1.0
delay no longer accepts a bare number shorthand in versions 1.26.60 and newer; use the object form { "value": <seconds> } instead
begin_transform_sound and transformation_sound no longer accept a single string shorthand in versions 1.26.60 and newer; use an array of sound names instead
items now only accepts an array format
replaceable_blocks: A list of block descriptors for blocks that the trail can replace. Defaults to only replacing air when omitted.
radius: The radius of the horizontal square of blocks placed by the trail, centered on spawn_offset. Accepts values from -1 to 16; -1 uses the legacy four-corner placement behavior.
force_replace_matched_blocks: When true, replaces blocks matching replaceable_blocks even when normal block placement rules would prevent placement. Defaults to false.
Features
Added dedicated server properties for configuring persistent and transient ticking area limits, including unlimited settings
Replacement rules on Ore Features no longer get silently skipped if the may_replace field is omitted.
Gameplay
Added dismount mode "look_direction" that dismounts in the looking direction of the passenger to a neighboring block that is not Lava
Added new server authoritative system "ExitVehicleLookDirectionSystem" to handle the dismount_mode "look_direction"
The minecraft:clouds component in custom dimension JSON now accepts any cloud height across the full -512 to 512 dimension band, instead of being limited to the default Overworld range of -64 to 320 (MCPE-242282)
Loading a custom dimension JSON file no longer logs a spurious content warning claiming format_version is not present in the schema
Items
Starting with version 1.26.60, loot tables using "format_version": "1.26.60" or later will continue applying loot functions after an item's count is set to 0. Subsequent functions, including set_count, can restore the count, while the item's identity and data are preserved. (MCPE-238796)
Loot tables can opt into this behavior with:
{
"format_version": "1.26.60",
"pools": []
}
Item Components
sound_event now accepts the name of any sound event defined in sound_definitions.json, in addition to the built-in sound event names, starting with format version 1.26.50 and no longer requires the Upcoming Creator Features experiment
attack_miss, attack_hit, and attack_critical_hit now accept the name of any sound event defined in sound_definitions.json, in addition to the built-in sound event names, starting with format version 1.26.50 and no longer requires the Upcoming Creator Features experiment
start_sound now accepts the name of any sound event defined in sound_definitions.json, in addition to the built-in sound event names, starting with format version 1.26.50 and no longer requires the Upcoming Creator Features experiment
.mcstructure Files
Version 2 structure (.mcstructure) files can now use zlib compression to reduce file size
Added a root-level NBT integer tag, compression, with 0 for no compression and 1 for zlib compression; existing files without this tag continue to load as uncompressed structures
When compression is 1, the entire structure compound is serialized as NBT and stored as a zlib-compressed NBT byte array; other root-level metadata remains uncompressed
Structures exported from the game will now use this compression.
Mobs
Many mob properties are no longer saved if their values are the default
Stability and Performance
Changed approach to measuring memory consumption on Android. The new method captures additional graphics and code memory. As a result it may display higher values in Preview builds; actual memory usage is unchanged.
Memory measurement on Switch now includes code memory, which will cause higher values to be displayed in preview builds. Actual memory usage is unaffected.
Performance improvements for memory allocation on GDK platforms, particularly Xbox One
Fixed a crash that could occur when leaving or losing connection to a world as the loading screen finished
Improve performance of split screen on Switch 2
Hardened JSON parsing across resource loading and processing with iterative parsing and a maximum document size of 128 MB.
User Interface
Development resource and behavior packs are now refreshed when managing packs for a world, and take precedence over other copies when their version is equal or newer
Bitmap fonts can now configure ASCII glyph cell height and vertical offset in an optional JSON file beside their first ASCII atlas, using ascii_character_height and ascii_character_y_offset
Setting ascii_extended to true in the atlas metadata selects extended character mapping and defaults the glyph height to 12 and vertical offset to -3; explicit height and offset values override these defaults
Bitmap font textures without layout metadata in the same resource pack retain their legacy glyph layout and character mapping instead of inheriting vanilla's extended font metadata (MCPE-242277)
Added messages that explain why matchmaking queues are canceled
Experimental Technical Updates
API
Custom restart time set in WorldClockOnRestartBeforeEvent now properly overrides Overworld clock
Changes LevelStorage.saveHold() to return a Promise<void> which resolves when the hold has finished processing in @minecraft/server-admin in beta
Changes LevelStorage.saveQuery() to return a Promise<LevelStorageQuerySnapshotFile[]> which resolves when the query has finished processing in @minecraft/server-admin in beta
Changes LevelStorage.saveResume() to return a Promise<void> which resolves when the resume has finished processing in @minecraft/server-admin in beta
Added class PlayerCraftRecipeAfterEvent to beta
Added class PlayerCraftRecipeAfterEventSignal to beta
Added interface PlayerCraftRecipeEventOptions to beta
Added property WorldAfterEvents.playerCraftRecipe to beta
Added class BlockRecipeCraftingComponent to beta for accessing the slots/recipe relating to player crafting UIs (currently only minecraft:stonecutter_block)
Added class RecipeCraftingContext to beta
Added class InvalidRecipeError to beta
Added property hiddenFrom to DebugShape and PrimitiveShape.
Added property defaultVisibleToAll to DebugShape and PrimitiveShape.
Added the minecraft:entity_storage block component behind beta
It is only present on blocks defined with a minecraft:block_entity component with entity_storage set to true
It provides the methods store, transfer, release, getEntities and size
Up to 4 entities can be stored in a single block
Storage and API is compartmentalized per content pack, but the 4 entities limit applies globally
Fixed labels removing all whitespace adjacent to formatting codes.
Added support for multi button row at custom forms in beta.
New interface ButtonData.
Field label: ObservableString | ObservableUIRawMessage | string | UIRawMessage. Text to display.
Field onClick: () => void. Action to execute when button is pressed.
Field options?: ButtonOptions. Additional configuration for the button.
New method multiButtonRow(buttons: ButtonData[], options?: MultiButtonRowOptions): CustomForm;. Adds a multi button row.'
Parameter buttons is an array that allows maximum three elements.
Parameter options contains additional configuration for the row, like visibility.
Field showHorizontalButtons: boolean;. Sets the desired layout for the buttons, true for horizontal, false for vertical. Default value is false.
New constructor optional parameter options?: MessageBoxOptions. '
New method button3WithOptions(label: ObservableString | ObservableUIRawMessage | string | UIRawMessage, options?: MessageBoxButtonOptions): MessageBox. Allows to add a third button to the message box.
Blocks
Introducing a new block event that custom components can listen to, onNamedTick
A block can schedule a named tick with Block.scheduleNamedTick, which takes a name and tick delay as parameters.
A block can check if at least one named tick is already scheduled with Block.hasScheduledNamedTick, which takes a name as sole parameter.
A block can remove all scheduled named ticks matching a name with removeScheduledNamedTick, which takes a name as sole parameter.
When handling the event from onNamedTick, BlockComponentNamedTickEvent.isName can be leveraged to filter out events based on their name.
Named ticks are grouped by content packs, two content packs can schedule the same named tick, but BlockComponentNamedTickEvent.isName will return differently based on the content pack calling the method.
Up to 4 named ticks can be scheduled at a given time on the same block position.
The name of a scheduled named tick cannot be longer than 31 characters.
Changing the block at a position wipes its scheduled named ticks.
Changing the permutation at a position does not wipe its scheduled named ticks.
The named tick API is behind beta.
minecraft:collision_box now supports min/max coordinates in addition to origin/size with the "Upcoming Creator Features" experiment toggled.
The engine will upgrade any origin/size coordinates into min/max internally.
Added a new boolean field entity_storage inside the minecraft:block_entity component, only supported with Experimental Upcoming Creator Features toggled ON
Added an optional title field to container in the minecraft:block_entity block component, accepting literal text or localization keys of 1 to 256 characters with Upcoming Creator Features enabled; omitting the field leaves the container heading blank
Data-driven container titles now stay on one line and truncate with ... when needed in Classic and Pocket UI, including after localization
Added the experimental minecraft:enchantment_power_transmitter block component, which defines whether a block can transmit enchantment power. If set to true and a block with this component is placed in the 1 block gap between an enchantment table and a bookshelf, the enchantment table will remain powered by the bookshelf
Requires format version 1.26.60 and the Upcoming Creator Features experiment
Added the experimental minecraft:vibration_properties block component, which defines whether a custom block dampens or occludes vibrations through the dampen_vibrations and occlude_vibrations propertiesRequires format version 1.26.60 and the Upcoming Creator Features experiment
Added the beta onNeighborChanged event for custom block components
Use minecraft:neighbor_change.neighbor_directions to choose which neighboring directions trigger the event.
Call BlockComponentNeighborChangedAfterEvent.getChanges to get the neighboring block changes.
Commands
Added new overloads to the /time command for more control of the Overworld clock under the Creator World Clocks Features experiment
/time pause - Pauses the Overworld clock
/time resume - Resumes the Overworld clock
/time query time - Outputs the Overworld clock's current time
Sets the Overworld clock to the occurrence of the time marker. By default this is next and works the same as the old TimeSpec variation
Custom Dimensions
Added the minecraft:clouds component, letting custom dimensions configure the height at which clouds render. No component means clouds do not render.
Released WorldClockOnRestartBeforeEvent from beta to v2.11.0 in @minecraft/server
Released WorldClockOnRestartBeforeEventSignal from beta to v2.11.0 in @minecraft/server
Released WorldClockEventOptions from beta to v2.11.0 in @minecraft/server
Released WorldClockTimeMarkerEventOptions from beta to v2.11.0 in @minecraft/server
Released WorldClockRegistrationError from beta to v2.11.0 in @minecraft/server
Released WorldClockReloadNewWorldClockError from beta to v2.11.0 in @minecraft/server
Released WorldClockReloadTimeMarkerError from beta to v2.11.0 in @minecraft/server
Released WorldClockInvalidRegistryError from beta to v2.11.0 in @minecraft/server
Released WorldClockNotFoundError from beta to v2.11.0 in @minecraft/server
Released WorldClockTimeMarkerNotFoundError from beta to v2.11.0 in @minecraft/server
Released WorldClockAddTimeMarkerError from beta to v2.11.0 in @minecraft/server
Released WorldClockRemoveMinecraftTimeMarkerError from beta to v2.11.0 in @minecraft/server
Released WorldClockInvalidTimeMarkerError from beta to v2.11.0 in @minecraft/server
Released WorldClockRewindError from beta to v2.11.0 in @minecraft/server
Released StartupEvent.worldClockRegistry from beta to v2.11.0 in @minecraft/server
Released World.getClock from beta to v2.11.0 in @minecraft/server
Released tooltip support at DDUI custom forms at @minecraft/server-ui v2.3.0
Interface DropdownOptions added field tooltip?: ObservableString | ObservableUIRawMessage | string | UIRawMessage;.
Added the optional on_placed property to Jigsaw Structure definitions for specifying a callback to run after the structure is placed in the world (A creator exposed interface is still indevelopment)
Multiselect pack settings now render their name above the dropdown selection UI element. The dropdown selection now shows the currently selected elements of the multiselect setting
The multiselect pack settings type now can take an optional field "selection_text" which when set will display the text in the selection dropdown of the multiselect in the pack settings UI. When not set, the currently selected items will be shown instead.
setVolume and fade treat volume as a multiplier of the sound definition's volume rather than replacing it
Fixed fade not fading in from silence unless the volume was also set after the call
Fixed setVolume and fade being ignored when called before the sound finished loading
Fixed fade jumping to the previous target volume when called again before an earlier fade finished
Added WidgetComponentGizmo.rotation, which exposes the gizmo's rotation rings as a WidgetGizmoRotation
Added rotation configuration on WidgetGizmoRotation: the enabled rotation axes, the rotation origin offset, a preferred ring radius, and a visual-only step
Added rotation lifecycle events through WidgetGizmoRotation.setStateChangeEvent, which report grabbed, moved, released, and cancelled rotations in degrees with their source widget and component
Released the isBroadcast property to the stable API. When true, Dimension.playSound plays the sound as a server-managed broadcast that stays synchronized across listening players within the boradcast range
Added a Delete Flood Widget button to the Flood tool panel
The Clear Content Badges and Restore New Content Badges buttons now announce their labels when UI text-to-speech is enabled
Fixed block icons turning pink and the editor becoming stuck on "Refreshing graphics, please wait..." after changing the graphics mode, such as toggling Vibrant Visuals
Fixed sign blocks in the block palette showing a plank texture instead of the sign, which made every wood type look alike
Fixed icons for custom blocks with slashes in their identifiers
Editor block icons rendered through GeometryAtlas now display animated block textures
Fixed Vibrant Visuals biome controls not refreshing after a graphics mode change
Fixed block picker color swatches and color matching not updating when block color capture finishes after Editor initialization
Fixed a bug that caused Block Picker list items to be misaligned
Text will no longer change the mouse cursor to a pointer on hover
Removed ExportManager and PlaytestManager APIs, same functionality will be part of core editor UI
Fixed Double Slab blocks displaying the same name as their single slab variants, making them indistinguishable from each other and impossible to find by name
Fixed empty Jigsaw Collections being deleted when leaving and rejoining a Project
Fixed deleted Jigsaw Collections re-appearing after leaving and rejoining a Project
Fixed the Structure assigned to a Jigsaw Piece not being saved until another action was taken, causing it to be lost when switching Collections
Added an optional alert flag to LogProperties which overrides whether a message raises the Editor error state, flashing the viewport and opening the log panel. When unset the default applies, which is to raise it for errors only
Added a matching alert flag to IPlayerLoggerProperties so Editor extensions using session.log can reach it
Added missing animations riding.body and baby_zombie_attack_bare_hand to the legacy minecraft:zombie_villager entity
Fixed a bug where changing the Custom Time value causes the sky to flicker between Day and the custom time.
Released version 2.3.0 of @minecraft/server-ui.
Added 2.4.0 beta of @minecraft/server-ui.
For each tick, the game queues one event for each listening block with neighbor changes. Changes from different ticks create separate events, even if delivery is delayed.
Each chunk queues at most 4,096 events and delivers at most 100 events per tick. New events are dropped while the queue is full.
BlockComponentNeighborChangedAfterEvent.getChanges returns one NeighborChange for each direction that changed during the tick.
If one direction changes more than once during a tick, previousPermutation contains the permutation before the first change and blockPermutation contains the permutation after the last change. Intermediate permutations are not included.
NeighborChange.direction points from the listening block to the neighbor that changed.
BlockComponentNeighborChangedAfterEvent.block is a live handle to the listening block. The permutations returned by getChanges are snapshots of the changed neighbor.
If the block does not have minecraft:neighbor_change, changes from all neighboring directions can trigger the event.