Software updatesSwitch

Minecraft (Switch): all the updates (Archives: 2023)

In this post, you will find all there is to know about the various updates for Minecraft on Nintendo Switch (originally released on June 21st 2018 worldwide).

This page lists all the updates released in 2023. For the latest updates, make sure to check out this page instead!

Minecraft – Ver. 1.20.51

  • Release date: December 19th 2023 (North America, Europe) / December 20th 2023 (Japan)
  • Patch notes:
  • Fixed a crash that could occur when playing on Realms
  • Items no longer have the possibility of duplicating after switching selecting slots while using them (MCPE-177351, MCPE-177353, MCPE-177355)
  • All owned and unowned emotes should now appear within the Emotes section of Dressing Room
  • The block component “minecraft:random_ticking” is now supported again
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.50

  • Release date: December 5th 2023 (North America, Europe) / December 6th 2023 (Japan)
  • Patch notes:
  • The Bat has a brand new look
  • Improvements to Decorated Pots, like the ability to place items inside and smash them with projectiles
  • New experimental features from the upcoming 1.21 update, including the Crafter and new Copper blocks
  • The ‘How to Play’ screen has been completely revamped into the ‘Encyclopedia’ screen
  • A wealth of fixes, improvements, and technical changes

New Features

Improvements to Decorated Pots

  • Decorated Pots now store up to a single stack of items
  • Hoppers, Hopper Minecarts, and Droppers can now insert and/or extract items from Decorated Pots
  • Comparators can now read the number of items in Decorated Pots
  • Players can interact with Decorated Pots to insert items into them
  • Decorated Pots have no user interface and need to be broken to retrieve or discover their content
  • Player interactions with Decorated Pots cause Decorated Pots to wobble and emit a vibration of frequency 11
  • Decorated Pots can be smashed by projectiles, which cause them to shatter and drop their content
  • Increased the maximum stack size of identical Decorated Pots to 64

Bat

  • The Bat now has a new look, thanks to an updated model, animations, and texture

Encyclopedia

  • Completely remodeled the “How to Play” screen and created a new “Encyclopedia” screen
  • Fixed various spelling mistakes
  • Removed obsolete references to “Old world”
  • Added missing references to Netherite related items (MCPE-90770, MCPE-165370)

Vanilla Parity

  • Vindicators and Evokers can no longer be spawned in a Peaceful world (MCPE-124736)

Experimental Features

Crafter

  • Added the Crafter block to the game
  • Crafter can be crafted with Redstone Dust, Iron Ingots, Crafting Table, and Dropper
  • Crafter uses distinct particles when crafting
  • Crafter has distinct sounds for crafting and failing
  • Crafter has a blast resistance of 3.5
  • A Comparator connected to a Crafter now outputs a signal that is equal to the amount of non-empty slots plus disabled slots
  • Moving items into crafter from Hopper or Dropper distributes them evenly instead of first filling the first stack
  • Powering Crafter with Redstone signal makes it craft and output the item

Copper Family

  • The Copper family of blocks has been expanded, including:
    • Chiseled Copper
    • Copper Grate
    • Copper Bulb
    • Copper Door
    • Copper Trapdoor
    • Oxidized and waxed variants of all the above

Chiseled Copper

  • Crafted with 2 Cut Copper Slabs of a shared oxidation level
  • Can be crafted in the Stonecutter

Copper Grate

  • A new type of decorative block unique to the Copper family
  • Crafted with 4 Copper Blocks of a shared oxidation level
    • Can be crafted in the Stonecutter
  • Properties:
    • Transparent and allows light to pass through
    • Mobs cannot suffocate inside them
    • Cannot conduct Redstone
    • Hostile mobs cannot naturally spawn on them

Copper Bulb

  • A light-emitting block that can toggle its light emission through Redstone pulses
  • Oxidizes like other Copper blocks, and emits less light the more oxidized they are
    • Copper Bulb: Light level 15
    • Exposed Copper Bulb: Light level 12
    • Weathered Copper Bulb: Light level 8
    • Oxidized Copper Bulb: Light level 4
  • When placed, its light is off by default
    • While the Copper Bulb is unpowered, it will toggle its light on or off when it receives a Redstone pulse
    • Copper Bulb light will stay on even when the Redstone source is removed until it receives another Redstone pulse to toggle it off
  • A Redstone crystal will glow in the center of Copper Bulbs while it is powered by a Redstone signal
  • Comparators will read a signal strength of 15 if the Copper Bulb’s light is on
  • Does not conduct Redstone power
  • Can craft 4 Copper Bulbs with:
    • 3 Copper Blocks of a shared oxidation level
    • 1 Blaze Rod
    • 1 Redstone Dust

Copper Doors and Trapdoors

  • Copper variants of Doors and Trapdoors that can oxidize over time and be waxed
  • Works like wooden Doors in that they can be opened and closed with interaction as well as Redstone
  • Crafted with Copper Blocks of a shared oxidation level

Tuff Family

  • Tuff has been expanded to have its own family of blocks, including:
    • Stair, Slab, Wall, and Chiseled variants
    • Tuff Bricks with Stair, Slab, Wall, and Chiseled variants
    • Polished Tuff with Stair, Slab, and Wall variants
  • All Tuff variants can be crafted in the Stonecutter and Crafting Table

Villager Trade Rebalancing

  • Fixed an issue where experimental Librarians never sold the highest level of their common enchantments (MCPE-174861)

Fixes and Changes

Performance / Stability

  • A Sticky Piston pulling a retracting Sticky Piston that is pulling a player and another block no longer crashes the game (MCPE-175790)
  • Fixed a bug where the screen would freeze when uploading a world template to a Realm

General

  • The maximum render distance in Realms can be adjusted via backend updates. Expect an increase to the maximum render distance on Realms in the next week
  • Players can now download worlds larger than 1GB from Realms on Xbox
  • Improved handling of unexpected errors during world export and better error messaging is now provided (MCPE-41898)
  • You can now launch Minecraft directly into a Realm using a link, even when the game isn’t running
    • Example link: minecraft://connectToRealm?realmId=<ID number>

Gameplay

  • Phantoms will no longer miss players who are gliding
  • Decreased the likelihood of players spawning above Leaves
  • Suspicious Sand no longer generates in Cold Ocean Ruins (MCPE-173492)
  • Fixed an issue where players couldn’t block with a Shield after releasing to use an item that had left their inventory (MCPE-171346)

Mobs

  • Witches spawned via spawn eggs now join raids and throw potions at raiders
  • Raid mobs can now join existing raids
  • Mobs that grow up to be adults and are too large to fit inside Boats will now jump out (MCPE-171870)
  • Leads will no longer break if a leashed mob is not in the same chunk as the leash holder upon reloading a world (MCPE-157182)
  • Mobs on fire no longer spread fire to their target when holding something in their main hand
  • The calculations to determine whether a mob can attack a player or other mobs have been changed. Previously a mob’s horizontal width was used to determine their attack reach and their height had no effect. The area where a mob can attack is now their bounding box extended in horizontal directions
    • The mobs affected by this change are Axolotl, Bee, Blaze, Cave Spider, Dolphin, Drowned, Enderman, Endermite, Fox, Hoglin, Husk, Iron Golem, Panda, Piglin, Piglin Brute, Pillager, Silverfish, Skeleton, Spider, Stray, Vindicator, Warden, Wither Skeleton, Wolf, Zoglin, Zombie, Zombie Pigman, and Zombie Villager
    • The new reach calculation is the attacking mob’s bounding box extended by 0.8 blocks horizontally. If this extended box overlaps the target’s bounding box, then the attack can reach
    • This change does not affect the reach of players

Blocks

  • Horizontal End Rod hitboxes are now rotated correctly (MCPE-171597)
  • Chorus Flowers can now be destroyed by any projectile, which will no longer disappear after impact (MCPE-176184)

Touch Controls

  • Sneaking in water is now possible with touch controls (MCPE-167218)
  • Touch input used for the Leave Boat button no longer continues to register input (MCPE-168574)
  • Fixed an issue where the player could enter touch control customization without having touch controls (MCPE-175530)

User Interface

  • Inventory option states such as the all/craftable toggle and selected inventory tab are now saved between sessions (MCPE-175159)
  • The loading screen now displays 3 categories of tips based on player progression
  • Added a game rule to turn off recipe unlocking messages
  • Recipe unlocking notifications no longer speed up when unlocking a lot of items
  • The search bar inside of the inventory is now aligned with the rest of the UI (MCPE-174298)
  • Added Menu Cancel as a remappable action and set Mouse Back button as its default
  • Fixed tips display for custom vehicles from Marketplace packs when using touch controls with a joystick
  • The Xbox On-Screen Keyboard now moves to a different position if it’s in front of the text user is inputting (MCPE-170831)
  • Fixed grammatical error in Magma death message (MCPE-64168)
  • Updated death message when killed by a Bed explosion in the Nether (MCPE-123604)
  • Made the hotbar less transparent (MCPE-31014)
  • Added background dimming on screens that didn’t have it (MCPE-168598)
  • Fixed an issue where the border around the ‘Creator’ tab in Settings would not be highlighted (MCPE-169617)
  • The classic skins info popup now sends you to the correct settings page (MCPE-175854)

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.50 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

Performance / Stability

  • Removed CraftingEventPacket

Add-Ons and Script Engine

  • Improved some of the common scripting error messages to provide better context and information
  • Added a Clear button to the content log screen

Animations

  • Fixed unreliability around is_alive on Server

Blocks

  • Blocks with the “minecraft:cardinal_direction”, “minecraft:facing_direction”, or “minecraft:block_face” states as part of the “minecraft:placement_direction” or “minecraft:placement_position” BlockTraits are rotated/mirrored properly by Structure Blocks
  • Structure Void blocks once again prevents interaction with blocks and entities placed behind them (MCPE-175237)
  • “planks” block is now split into unique instances “oak_planks”, “spruce_planks”, “birch_planks”, “jungle_planks”, “acacia_planks”, “dark_oak_planks”
  • Commands will still work with “planks”, however, “planks” block will not be suggested
  • “stone” block is now split into unique instances: “stone”, “granite”, “polished_granite”, “diorite”, “polished_diorite”, “andesite” and “polished_andesite”

Graphical

  • When a particle emitter is added to an entity but particles simulate in world, particles now correctly collide with the world

Items

  • Renamed “minecraft:use_duration” to “minecraft:use_modifiers” and added a “movement_modifier” parameter in json format versions 1.20.50 and higher
  • Deprecated “minecraft:chargeable” in json format versions 1.20.50 and higher. Use “minecraft:use_modifiers” instead for “movement_modifier” behavior
  • Deprecated “on_dig” event triggers from “minecraft:digger” in format versions 1.20.50 and higher

Cameras

  • Added a content warning for when the camera is placed outside of the player’s chunk radius

AI Goal Components

  • Added “minecraft:behavior.melee_box_attack” behavior which functions the same as “minecraft:behavior.melee_attack” but uses bounds based attack reach calculations
    • The reach_multiplierattribute is removed and replaced with box_increase
    • Reach is calculated by increasing the bounds of the attacking mobs in the xz-plane by box_increaseblocks to create an “attack box”. If the attack box intersects with the target’s bounds the attacking mob can reach it

API

  • Added BlockComponentTypeMapEntityComponentTypeMap, and ItemComponentTypeMap aliases which map Component IDs to their TypeScript types
  • Changed getComponentEntity.getComponent, and ItemStack.getComponent to return the correct derived Component type
  • Added BlockComponentTypesEntityComponentTypes, and ItemComponentTypes enums that enumerate component ID strings
  • Moved PlayerInteractWithBlockAfterEvent from beta to 1.7.0
  • Moved PlayerInteractWithBlockBeforeEvent from beta to 1.7.0
  • Moved PlayerInteractWithEntityAfterEvent from beta to 1.7.0
  • Moved PlayerInteractWithEntityBeforeEvent from beta to 1.7.0
  • Moved PlayerLeaveBeforeEvent from beta to 1.7.0
  • Moved NumberRangeinterface to minecraft/common
    • Moved heightRange: NumberRange from beta to 1.7.0
    • Moved matchesfrom beta to 1.7.0
    • Moved function clearDynamicProperties from beta to 1.7.0
    • Moved function getDynamicProperties from beta to 1.7.0
    • Moved function getDynamicPropertyIds from beta to 1.7.0
    • Moved function getDynamicPropertyTotalByteCount from beta to 1.7.0
    • Moved function setDynamicProperty from beta to 1.7.0
    • Moved function clearDynamicProperties from beta to 1.7.0
    • Moved function getDynamicProperties from beta to 1.7.0
    • Moved function getDynamicPropertyIds from beta to 1.7.0
    • Moved function getDynamicPropertyTotalByteCount from beta to 1.7.0
    • Moved function setDynamicProperty from beta to 1.7.0
  • TicksPerSecond
    • Moved from beta to 1.7.0
    • Moved offset from beta to 1.7.0
    • Moved above from beta to 1.7.0
    • Moved below from beta to 1.7.0
    • Moved north from beta to 1.7.0
    • Moved east from beta to 1.7.0
    • Moved south from beta to 1.7.0
    • Moved west from beta to 1.7.0
    • Moved center from beta to 1.7.0
    • Moved bottomCenter from beta to 1.7.0
  • Added initial NPC support to scripting with the EntityNpcComponent
  • MovedEntity.remove from beta to 1.7.0

Items

  • Deprecated the “tag:” legacy item component and released the “minecraft:tags” item component out of experimental in json formats 1.20.50 and higher

Mobs

  • Fixed an issue preventing mobs from spawning further than 6 chunks away from the nearest player even if the server’s simulation range is larger than 6 chunks
  • Added “minecraft:can_join_raid” component to allow entities to join existing raids

Molang

  • Fixed animation controller loading to use the pack’s min_engine_version rather than the file’s format_version to determine the Molang Version. This fix applies to animation controllers in packs with a min_engine_version of 1.20.50 or higher
  • The following Molang queries are Deprecated and will no longer be available in packs with a min_engine_version of 1.20.50 or higher
    • is_scenting
      • Replaced with timer_flag_1, set by behavior.timer_flag_1
    • is_rising
      • Replaced with timer_flag_2, set by behavior.timer_flag_2
    • is_feeling_happy
      • Replaced with timer_flag_3, set by behavior.timer_flag_3
    • dash_cooldown_progress
      • It was only used to adjust the head animation of the camel as it came out of dash cooldown
      • Camel animation uses dash_cooldown_progress in camel.entity.json now
  • query.is_moving now detects vertical motion for the player again

Experimental Technical Updates

Gametest

  • SimulatedPlayer
    • stopUsingItem now returns the item that was being used
  • Dynamic Properties
    • NBT change: Dynamic properties are now stored using the behavior pack manifest UUID, rather than the module UUID. Existing worlds using dynamic properties will continue to work, and will be migrated to the new format when properties are read or modified

Script API

  • Fixed @minecraft/server-uiforms not correctly rendering player scoreboard information when embedded in rawtext

API

  • Added effectAddBeforeEvent and removed effectState from effectAddAfterEvent
  • Fixed target property to be of type Entity or undefined as the entity may not have a target
  • EntityHitInformation
    • Fixed entity property to be of type Entity or undefined as the entity may be undefined
  • EntityInventoryComponent
    • container member variable now correctly reflects it can be a Container or undefined
    • entity member variable now correctly reflects it can be an Entity or undefined
  • ItemStartUseOnAfterEvent
    • itemStack is now optional
  • ItemStopUseAfterEvent
    • itemStack is now optional
  • DataDrivenEntityTriggerAfterEvent
    • Renamed property id to eventId for clarity
    • Changed getModifier to work in read-only mode
  • Changed DefinitionModifier from a class to an interface with properties
  • Made getproperly reflect that it can return EntityType | undefined instead of just EntityType
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.41

  • Release date: November 3rd 2023 (North America, Europe) / November 4th 2023 (Japan)
  • Patch notes:
  • Fixed a crash that could occur when joining a Realm after doing other things for a while
  • Fixed a crash that could occur when joining Featured Servers
  • Fixed a crash on Amazon devices when the player had a prior Realms purchase and the Realm had not been created yet
  • Fixed a possible soft lock when performing different actions within Marketplace
  • Fixed searching, filtering, and sorting only displaying the first row of results when using the search feature inside the Marketplace
  • World type filters now apply properly when using search filters in the Marketplace
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.40

  • Release date: October 24th 2023 (North America, Europe) / October 25th 2023 (Japan)
  • Patch notes:
Vanilla Parity

Gameplay

  • Changed the default value of the Respawn Radius in the Advanced Settings to 10
  • Falling from a great height while in a Boat no longer deals fall damage (MCPE-152753)
  • Fall damage is now absorbed by the entity that lands on the ground when mounted and passed on to passengers if the mount dies
  • Goat Horns can now be heard up to 256 blocks away (MCPE-153254)
  • Tweaked the boss bar HUD color (MCPE-43591)
  • Flowing Lava and Water mixing mechanics now match Java Edition (MCPE-41103)
  • Closing the inventory of Boat, Raft, or Minecart with Chest now emits vibrations

Mobs

  • Zombified Villager curing time is now randomized between 3 and 5 minutes, to match Java Edition
  • Zombified Villagers now have the correct biome overlays (MCPE-172377)
  • Witches now target players within a 16 block distance
  • Sheep that have been sheared previously and have since grown back wool will now drop wool on death (MCPE-99972)
  • Camels can no longer dash while in Lava or Water
  • Iron Golems no longer spawn naturally in 2-block-high spaces where they would start suffocating (MCPE-173006)
  • Iron Golems and Snow Golems now have a crumbling-like particle effect when they are created
  • Cartographers no longer offer exploration maps as a trade item when not in the overworld

Audio

  • Guardians and Elder Guardians now make flopping sounds when on land (MCPE-26929)
  • Wither Skeletons now have their own unique sounds (MCPE-174857)
  • Updated the sound that’s played when Wither Skeleton Skulls are placed on top of Note Blocks
  • The sound for picking up items is now played when using the ‘/give’ command
  • Stray Cats now play a sound when begging for food
  • Changes to Bottles (MCPE-157918)
    • Bottles now emit sounds when filling from Water Blocks
    • Pouring water or potions from a Glass Bottle into a Cauldron emits the appropriate sound
    • Filling a Glass Bottle with Water or Potion from a Cauldron now emits the appropriate sound
    • Drinking from a Glass Bottle now emits the appropriate sound
  • Changes to water splash sounds (MCPE-174524)
    • The ambient sounds for entering exiting water is now played only when actor is submerged below eye-level in water, matching Java Edition
    • The splash sound for entering water has been updated to match Java Edition
Experimental Features

Villager Trade Rebalancing

This experiment has no effect on normal worlds. If you want to try these changes, you must turn on the Feature Toggle in the Experiments Menu when creating a new world.

Thank you to everyone that has sent in their suggestions and feedback regarding the experimental trade change! We are trying out these changes to rebalance the villager trade system and make it more fair and fun for everyone. However, these changes are not yet final and they will stay as experimental features while we continue to work on them. We appreciate your feedback on these changes. Visit this link to share your thoughts! We have been following the discussions about the previous Librarian and Wandering Trader updates and look forward to seeing the conversation continue.

Cartographer

Before now, Cartographers only sold maps to the Ocean Monument and Woodland Mansion. In this experiment Cartographers can sell seven new maps as well. These new maps each point to a different village or structure and can be used to find seven different biomes. This will help players who want to quickly find a specific location without waiting until they come across it by chance.

Cartographers from different biomes will sell a different selection of maps. Starting from one village, it will be possible to find every other village type by following maps from village to village.

 

Cartographers now sell 7 new maps: Desert Village Map, Jungle Explorer Map, Plains Village Map, Savanna Village Map, Snow Village Map, Swamp Explorer Map, and Taiga Village Map.

Armorer

The Armorer’s trades have been updated with many changes.

The biggest change is that buying diamond armor now requires paying a small amount of Diamonds as well as Emeralds. This is meant to make the Armorer’s diamond armor trades less useful at the start of the game when players don’t have any Diamonds, while still giving a powerful advantage to advanced players who have spent some time collecting Diamonds.

Early-game players will find Armorers useful as a great source of iron armor, Shields, and Emeralds.

Other changes include:

  • Most master-level Armorers buy Iron Blocks (and pay very well for them)
  • Chainmail armor is exclusively sold by the secret Jungle and Swamp Armorers
  • The Savanna Armorer sells cursed diamond armor at reduced prices
  • The Taiga Armorer can swap one piece of diamond armor for another

Structure Loot

Certain Enchanted Books now have a high chance of generating in some structures:

  • Ancient Cities: Mending
  • Mineshafts: Efficiency (I to V)
  • Pillager Outposts: Quick Charge (I to III)
  • Desert Temples: Unbreaking (I to III)
  • Jungle Temples: Unbreaking (I to III)
Fixes and Changes

Performance / Stability

  • Fixed several crashes that could occur during gameplay
  • Fixed a crash that could occur when running in the Archold room in the Spellrune Marketplace map
  • Fixed a crash related to tessellation of water blocks
  • Fixed an issue where the game would lock up if a mob would move on a block with 0 friction (MCPE-173073)

Gameplay

  • Players are no longer affected by Arrow effects if the Arrow is blocked (MCPE-52904)
  • Villages in the End and Nether are no longer saved to the Overworld (MCPE-85954)
  • Players can no longer sometimes clip through blocks when gliding with Elytra into blocks (MCPE-73307)
  • Buckets can no longer pick up liquids for a few ticks after they’ve been placed (MCPE-100598)
    • This should help make placing and retrieving liquid in a quick succession far more consistent as well as help players that are using a water bucket to quickly avoid fall damage
  • Fixed an issue where moving slowly on Soul Sand would sometimes cause the player to not receive the Soul Speed movement speed (MCPE-173155)
  • Players can no longer sometimes clip through blocks when flying in Creative Mode and spamming the sneak button (MCPE-172785)

Mobs

  • Fixed a bug where the Sniffer ended digging as soon as item was created, not at the end of the specified dig duration
  • Camels no longer appear to slide when walking (MCPE-169666)
  • Camels no longer move their legs when standing still (MCPE-172846)
  • Camels no longer dash indefinitely when in Lava (MCPE-172369)
  • Mobs no longer receive fall damage when falling into a 1 block deep water pool (MCPE-173094)
  • Rabbits can once again eat partially and fully grown Carrot crops (MCPE-131980)

Blocks

  • Fixed a bug where the wrong side of Signs would sometimes be edited (MCPE-169067)
  • Fixed an extremely rare bug (~0.000003% chance) that could cause Item Frames to not drop their item when hit or destroyed
  • Third person camera no longer phases through the lower part of Cauldron (MCPE-173010)
  • Falling in Powder Snow no longer causes any damage, no matter the height fallen from (MCPE-174859)
  • Lightweight mobs and entities wearing Leather Boots once again sink into the top layer of Powder Snow when falling from a height of more than two and a half blocks
  • Sculk Block no longer drops XP when mined with Silk Touch (MCPE-174656)

Items

  • Diagonal Banner patterns no longer get inverted when applied to a Shield (MCPE-169577)
  • Placing invalid items into offhand slot will no longer cause them to drop
  • Warped Fungus on a Stick is no longer held backwards in first person view (MCPE-169765)
  • Updated structure icons on Explorer Maps sold by Cartographers

Accessibility

  • Fixed an issue where text-to-speech did not say how to open chat or use emotes
  • Text-to-speech message for popup title/description is now played properly

User Interface

  • Added a sprint button for Camels when “sprint using the joystick” option is turned off (MCPE-172674)
  • Fixed Sneak button partially blocking the D-Pad Up button when using touch controls (MCPE-38566)
  • Smithing Table no longer shows double overlapping tooltips for some slots (MCPE-168369)
  • Item names no longer overlaps with the absorption health bar (MCPE-152131)
  • Item names no longer overlaps with the mount health bar (MCPE-152130)
  • Item names no longer overlaps with the oxygen bar (MCPE-152129)
  • Updated Brewing Stand interface to always stay within its background when scaled (MCPE-154385)
  • Improved disconnect message when trying to join a Realm when not a member
  • Autocompleting text now moves the caret to end of the line

Graphical

  • Equipped enchanted armor now has an overall weaker glint, however its intensity more noticeably increases and decreases over time
  • Random lights no longer appear in the world without a source (MCPE-169001)
  • Splash particles are now emitted at an actor’s waist instead of above their head
Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.40 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

Stability and Performance

  • The Sounds definition file sound_definitions.json will no longer crash the game if the wrong json type is used for a specific sound definition (MCPE-168913)

Commands

  • Re-entering a world no longer breaks command autocomplete after a command using “@e[type=item]” was used (MCPE-164734)
  • The /damage command with the “override” cause now causes damage through post hit invulnerability (MCPE-160290)
  • The recipe command color has been changed to white instead of blue (MCPE-173362)

Mobs

  • Added a new “query.is_in_lava” Query Function to Molang, to know if a mob is currently in Lava

Molang

  • Molang updated to version 1.20.40 which replaces “block_property” and “has_block_property” with “block_state” and “has_block_state”
    • This is a Molang Versioned Change that only takes effect for Molang expressions in packs that use a min_engine_version of 1.20.40 or higher

Trade Tables

  • Trade items now have a “filters” property to determine if a trade should be considered
  • Trade items no longer support the “biome” property to check villager biome types, the “is_mark_variant” filter can be used in the “filters” property instead to check the villager biome type

API

  • Released World.getMoonPhaseMoonPhase, and MoonPhaseCount v1.6.0
  • Camera APIs moved from beta to 1.6.0
    • Camera 
      • setCamera
      • fade
      • clear
    • EasingType
    • CameraSetRotationOptions
    • CameraSetFacingOptions
    • CameraSetPostionOptions
    • CameraDefaultOptions
    • CameraSetLocationOptions
  • Changed the names of the CameraSetOptions options to not include the word ‘Script’
  • Released Entity.is* APIs from beta to 1.6.0
    • isSleeping
    • isSneaking
    • isSprinting
    • isSwimming
    • isClimbing
    • isOnGround
    • isInWater
    • isFalling
  • Released Player level & XP APIs from beta to 1.6.0
    • addLevels
    • addExperience
    • level
    • getTotalXP
    • xpEarnedAtCurrentLevel
    • totalXpNeededForNextLevel
    • resetLevel
  • Released Player.is* APIs from beta to 1.6.0
    • isEmoting
    • isGliding
    • isJumping
    • isFlying
  • Updated all methods besides show on ActionFormDataMessageFormData, and ModalFormData to be callable in read-only mode
  • BlockInventoryComponent
    • container member variable now correctly reflects it can be a Container or undefined
  • Fixed a versioning bug preventing @minecraft/server-ui module from working with @minecraft/server above version 1.2.0
  • WeatherType moved to 1.6.0
    • Moved function setWeather to 1.6.0
    • Moved event/property entityRemove from beta to 1.6.0
    • Moved event/property entityRemove from beta to 1.6.0
  • Moved class EntityRemovedAfterEvent from beta to 1.6.0
  • Moved class EntityRemoveAfterEventSignal from beta to 1.6.0
  • Moved class EntityRemovedBeforeEvent from beta to 1.6.0
  • Moved class EntityRemoveBeforeEventSignal from beta to 1.6.0
    • Moved event/property entityLoad from beta to 1.6.0
  • Moved class EntityLoadAfterEvent from beta to 1.6.0
  • Moved class EntityLoadAfterEventSignal from beta to 1.6.0
    • Moved event/property entitySpawn from beta to 1.6.0
  • Moved enum EntityInitializationCause from beta to 1.6.0
  • Moved class EntitySpawnAfterEvent from beta to 1.6.0
  • Moved class EntitySpawnAfterEventSignal from beta to 1.6.0
    • Moved event/property playerBreakBlock from beta to 1.6.0
    • Moved event/property playerBreakBlock from beta to 1.6.0
  • Moved class PlayerBreakBlockAfterEvent from beta to 1.6.0
  • Moved class PlayerBreakBlockAfterEventSignal from beta to 1.6.0
  • Moved class PlayerBreakBlockBeforeEvent from beta to 1.6.0
  • Moved class PlayerBreakBlockBeforeEventSignal from beta to 1.6.0
    • Moved event/property playerPlaceBlock from beta to 1.6.0
  • Moved class PlayerPlaceBlockAfterEvent from beta to 1.6.0
  • Moved class PlayerPlaceBlockAfterEventSignal from beta to 1.6.0
  • Moved class BlockEventSignalOptions from beta to 1.6.0
    • Move isAir(): boolean from beta to 1.6.0
    • Move isLiquid(): boolean from beta to 1.6.0
    • Moved amount from beta to 1.6.0
    • Moved keepOnDeath: boolean from beta to 1.6.0
    • Moved lockMode: ItemLockMode from beta to 1.6.0
    • Moved nameTag?: string from beta to 1.6.0
    • Moved clone(): ItemStack from beta to 1.6.0
    • Moved getTags(): string[] from beta to 1.6.0
    • Moved hasTag(tag: string): boolean from beta to 1.6.0
    • Moved setCanDestroy(blockIdentifiers?: string[]): void from beta to 1.6.0
    • Moved getCanDestroy(): string[] from beta to 1.6.0
    • Moved setCanPlaceOn(blockIdentifiers?: string[]): void from beta to 1.6.0
    • Moved getCanPlaceOn(): string[] from beta to 1.6.0
    • Moved function getProperty to 1.6.0
    • Moved function resetProperty to 1.6.0
    • Moved function setProperty to 1.6.0
  • Moved getRotation from beta to 1.6.0
  • Move setRotation from beta to 1.6.0
  • Released PlayerDimensionChangeAfterEvent from beta to 1.6.0

Blocks

  • “minecraft:transformation” now prevents blocks from being transformed past the 30x30x30 pixel limit and “minecraft:unit_cube” from being translated or scaled. Invalid block will instead display the “update” block (MCPE-173799)
  • Chest blocks, Trapped Chest blocks, Ender Chest blocks, and Stonecutter blocks now use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]

Items

  • Added a content error when attempting to load a damage sensor with an invalid “cause” value
  • Allow single value parsing for “minecraft:icon” item component
  • The Camel mob Dash Component can now be applied to rideable mobs other than Horse, Donkey, and Mule using “minecraft:dash”
  • Deprecated “minecraft:weapon” component starting in version 1.20.40
  • Deprecated “minecraft:on_use” component starting in version 1.20.40
  • Deprecated “minecraft:on_use_on” component starting in version 1.20.40

Entity Components

  • Unlocked “behavior.random_search_and_dig” for creators to use
  • “target_blocks” field added. List of blocks that the mob can dig on. Default if “target_blocks” isn’t added is Dirt, Grass, Podzol, Dirt with Roots, Moss, Mud, and Muddy Mangrove Roots
  • “item_table” field added. Path to a loot table that specifies what the mob can dig up. “item_table” takes precedence over “items”
  • Content errors added if the behavior has trouble reading or finding “item_table” and if unable to get an item from “items”
  • ‘on_item_found’ event now fires on item found AND digging finished. Before the event firing caused the digging to stop early
  • The “behavior.random_look_around_and_sit” now has the field “continue_sitting_on_reload” exposed for Creators to use. This is how the Camel stays sitting on reload
  • behavior.is_scenting” renamed to generic “behavior.timer_flag_1” and released to creators
  • behavior.is_rising” renamed to generic “behavior.timer_flag_2” and released to creators
  • behavior.is_feeling_happy” renamed to generic “behavior.timer_flag_3” and released to creators
  • behavior.timer_flag 1”: Fires an event when this behavior starts, then waits for a duration before stopping. When stopping due to that timeout or due to being interrupted by another behavior, fires another event. query.timer_flag_1 will return 1.0 on both the client and server when this behavior is running, and 0.0 otherwise
  • behavior.timer_flag 2”: Fires an event when this behavior starts, then waits for a duration before stopping. When stopping due to that timeout or due to being interrupted by another behavior, fires another event. query.timer_flag_2 will return 1.0 on both the client and server when this behavior is running, and 0.0 otherwise
  • behavior.timer_flag 3”: Fires an event when this behavior starts, then waits for a duration before stopping. When stopping due to that timeout or due to being interrupted by another behavior, fires another event. query.timer_flag_3 will return 1.0 on both the client and server when this behavior is running, and 0.0 otherwise
Experimental Technical Updates

Script API

  • Added function getWeather
  • Added the chat(message: string) method
  • Changed ItemTypes.get to return ItemType | undefined
  • Changed source on ItemDefinitionTriggeredAfterEvent to be optional
  • Added the following methods to Player
    • above(steps?: number): Block | undefined;
    • below(steps?: number): Block | undefined;
    • north(steps?: number): Block | undefined;
    • east(steps?: number): Block | undefined;
    • south(steps?: number): Block | undefined;
    • west(steps?: number): Block | undefined;
    • offset(offset: Vector3): Block | undefined;
    • center(): Vector3;
    • bottomCenter(): Vector3;
    • Made getItemStack function return ItemStack or undefined
  • BlockStates
    • Made get function return BlockStateType or undefined
  • getSculkSpreader
    • Made getSculkSpreader return SculkSpreader or undefined
  • Updated ExplosionAfterEvent and ExplosionBeforeEvent
    • getUpdatedBlocks() will now return Block[]
    • setUpdatesBlocks(blocks: Block[]) now takes in a Block[]
  • Added the following methods to Player playMusic(trackId: string, musicOptions?: MusicOptions): void; queueMusic(trackId: string, musicOptions?: MusicOptions): void; stopMusic(): void;
  • Dynamic Properties
    • Property registration is no longer required and propertyRegistry has been removed from the worldInitialize event
    • Removed limits on the count and size of properties that can set on an entity or the world
    • Default values have been removed. getProperty will now always return undefined for unset properties
    • String dynamic property values are now restricted to a length of 32767 bytes
  • Dynamic Properties
    • Removed function removeDynamicProperty – Please use setDynamicProperty with a value of undefined to remove a property
    • Added function getDynamicPropertyIds – Returns an array of all dynamic property ids on an entity/world used by the behavior pack
    • Added function getDynamicPropertyTotalByteCount – Returns the total number of bytes used by all dynamic properties on an entity/world by the behavior pack
    • Added function clearDynamicProperties – Removes all dynamic properties added by this behavior pack from an entity/world
  • Dynamic Properties
    • Dynamic property numbers are now stored with double precision (64 bits)
  • Adding PlayerInteractWithBlock + PlayerInteractWithEntity before & after events
  • Adding PlayerDimensionChangeBeforeEvent and PlayerDimensionChangeAfterEvent in beta
  • Added matches function called on an entity, which takes in EntityQueryOptions and returns true if the entity matches and false otherwise
  • Added PlayerLeaveBeforeEvent – This event fires when a player leaves the server, before the Player object is removed
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.32

  • Release date: October 5th 2023 (North America, Europe) / October 6th 2023 (Japan)
  • Patch notes:
  • Fixed an issue that caused the keyboard to become unresponsive when placing multiple Signs successively (MCPE-175072)
  • Buttons and some other non-full blocks once again prevent Spiders and other mobs from spawning on them and on adjacent blocks (MCPE-175119)
  • Fixed purchased content not transferring to a Microsoft account when logging in for the first time
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.31

  • Release date: September 26th 2023 (North America, Europe) / September 27th 2023 (Japan)
  • Patch notes:
  • Fixed a crash that could occur when playing in splitscreen multiplayer
  • Fixed a crash that could occur when opening the Realms Plus page
  • Fixed a crash that could occur on PlayStation when opening the control center or a controller notification appeared on screen
  • Improved server performance when Villagers are grouped together (MCPE-175100)
  • Fixed an issue that caused Marketplace to become inaccessible after leaving the game on for extended periods of time
  • Fixed issues with @minecraft/server-ui dependencies failing to load with newer versions of the @minecraft/server module
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.30

  • Release date: September 19th 2023 (North America, Europe) / September 20th 2023 (Japan)
  • Patch notes:
Highlights
  • Updated “You died” experience
  • Players can now crawl under single block gaps
  • A new “Recipe Unlocked” notification will now tell you when you’ve found a new crafting material
  • Increased the amount of Diamond Ore found in the deepest parts of the world
  • Adjustments to block destroy times and explosion resistance values
  • Fixes to over 100 community reported issues

New Features

Updated “You Died” Experience

Today we’re making some changes to the screen you see when you die in Minecraft. The camera now zooms out so it’s easier to see why you died, the hotbar is visible at all times, and you can change certain settings before respawning.

 

These changes are available to everyone, except if you have add-ons applied. Also, the screen has limited text formatting code support, so it might look a bit different. To use the old screen, go to Settings -> Video, and turn off ‘New “You Died” Screen (Experimental)’.

Crawling

  • The Crawling experimental toggle has been removed and Crawling under 1 block gaps is now fully implemented into the game
  • Updated the camera interpolation rate when crawling to match Java Edition (MCPE-170841)
  • Fixed some scenarios where crawling was not correctly being triggered on the server (MCPE-171225)

Recipe Unlocking

  • Recipe Unlocking is no longer an Experimental Feature, but can still be turned on and off per world
  • You can now enable Recipe Unlocking on the Create New World screen (MCPE-172956)
  • The command for unlocking recipes has been updated. The autosuggestion to give a player a recipe now says “player: target” instead of “victim: target” (MCPE-172402)
  • ‘Recipe unlocked’ message is no longer visible on the pause menu (MCPE-171112)
  • Stained Glass Pane recipe now gets unlocked when obtaining any dyes (MCPE-171118)
  • Recipes unlocked notification now fit text in different languages and no longer bleed out of the screen (MCPE-171141)
  • Command line auto-complete has been added for recipe unlocking. Useful when you want to see what recipes you can unlock (MCPE-171086)
  • The order of command inputs was changed to be the same as on Java Edition (MCPE-171098)
  • Recipe Unlocking Game Rule
    • Added an optional game rule for limited crafting. The game rule is only relevant when recipe unlocking is enabled. When set to “true” it prevents players from crafting recipes they have not yet unlocked. It is off by default and can only be modified through the “/gamerule” command.

Recipe Book Search

  • The recipe book search has been updated when playing in Survival mode with the following changes:
    • The search will only match the beginning of any word in the item’s name. For example, searching for “tor” will now show Torch and Redstone Torch but not Daylight Detector)
    • Search will now work better together with the Recipe Unlocking system – recipes that haven’t been unlocked will show up in search results.
  • This change will enable experienced players to find items they are looking for (even if it hasn’t been unlocked yet) while not overwhelming new players with recipes they aren’t yet ready for.
  • These changes are planned for both Bedrock and Java Edition, but they are still being tweaked and we definitely want to hear your feedback! Send us your thoughts at aka.ms/MinecraftRecipeSearch

Sleeping Percentage Gamerule

  • Added the ‘playersleepingpercentage’ gamerule, allowing night to be skipped when the specified percent of players logged into a world are sleeping (MCPE-114425)
    • A zero or a negative value will only require one player to sleep to skip the night
    • When set to over 100, the night cannot be skipped

Vanilla Parity

Block Breaking

  • We have adjusted the breaking times of 188 blocks to match Java Edition and our intended design. Some blocks couldn’t be changed yet for technical reasons and Obsidian was left unchanged because we’re still deciding what breaking speed it should have. Bringing more blocks to parity makes it easier for our team to keep both versions up to date. We also hope it will be easier for the community to make and share guides that work for all players on all platforms.
    • The full list of block breaking times and changes can be found at the very end of this changelog

Gameplay

  • Wandering Trader now trades Cherry Saplings (MCPE-171521)
  • Villagers are now prevented from gaining a profession when sleeping (MCPE-81790)
  • Fixed an issue where beginning to swim while hitting the sneak button could cause the sneak button to be held down until swimming ends (MCPE-130070)
  • Potions are no longer thrown backwards when looking up (MCPE-138995)
  • Formation of ice and snow is now controlled by random tick
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)
  • Pillager Outposts can now generate in Cherry Grove biomes (MCPE-173323)
  • Fixed a bug that caused the Raid boss bar to automatically deplete to zero when a village was defeated (MCPE-161438)
  • Witches now throw healing and regeneration potions at raiders during village raids

Blocks

  • Fixed a bug that caused players to not be able to crawl under Slabs when standing on Top Snow (MCPE-170994)
  • Top Snow is now in parity with Java Edition and each layer has a different height (MCPE-60024)
  • Tweaked Shulker Box Redstone signals to match parity with Java Edition
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)

Audio

  • Missing Thorns damage sound has been added, and is played when appropriate (MCPE-37335)
  • Anvils now emit the proper sounds when broken, stepped on, fallen onto, etc. (MCPE-33286)
  • Skeletons and Drowned now play sounds when firing Arrows and Tridents, respectively (MCPE-50609)
  • Trident Channeling sound is now played when entities are hit (MCPE-43402)
  • Empty Maps now emit the appropriate sound when players draw them
  • Nether Portals now emit the Glass breaking sound when their Obsidian frame is broken (MCPE-94722)
  • Loyalty Tridents returning to players now play their sound at the player’s position (MCPE-43831)
  • Big Dripleaf Blocks now play the correct sound when their tilt is reset (MCPE-123488)
  • Conduits now play their deactivation sound when deactivated (MCPE-128117)
  • Respawn Anchor Blocks now correctly play their ambient sounds (MCPE-136484)
  • Pigs now emit sounds when transformed into Zombified Piglins (MCPE-169557)
  • Using Shears to carve Pumpkins now produces a carving sound like in Java Edition
  • Hoglins now have their own sound when transforming into Zoglins (MCPE-87379)
  • Sound is now consistently played when an item is dropped into Lava (MCPE-96015)
  • Sound is no longer played sometimes when Netherite items are dropped into Lava (MCPE-95872)
  • Snow Golems now play a sound when they throw Snowballs (MCPE-119083)
  • Husks now play sounds when converting to Zombies underwater
  • Player entities now play the appropriate sounds when entering/exiting water (MCPE-132511)

Experimental Features

Experimental Trade Changes

  • This update includes experimental changes to the Wandering Trader and Librarian Villager trades. You must turn on this experiment in the Experiments Menu if you want to test the new trades.
  • We are trying out these changes to rebalance the villager trade system and make it more fair and fun for everyone. However, these changes are not yet final, and they will stay as experimental features while we continue to work on them. We still need your feedback to help us improve and decide, so please continue to let us know what you think of the new trades, what you like and dislike, and what suggestions you have at aka.ms/VillagerTradingFeedback.

Librarian

  • Before these changes, players could get any Village enchantment from any Librarian. A novice Librarian could sell the best enchantment in the game! For some players, this felt too random and made trading feel overpowered when compared to using the Enchanting Table or searching for Enchanted Books in structures.
  • With the new rules, Librarians from different biomes sell different enchantments. Master Librarians are guaranteed to have a special enchantment which is different in each Village biome.
  • Players will have to work towards getting the best trades instead of relying on random chance. We hope this makes Librarian trading more interesting and skilful, while also revealing some clues about their history of each Village type through the enchantments that are sold there.
  • Librarians from different biomes now sell different Enchanted Books
  • Master Librarians with full XP are guaranteed to sell a special enchantment, which is different in each Village biome
  • This means that players must visit all seven Village biomes to get the full set of Villager enchantments
  • There are two secret Village biomes where Villages do not generate
    • A player must build these Villages to access their trades!
  • Some enchantments have been removed from Village trading and must be found in other ways

Wandering Trader

  • Some players felt that the Wandering Trader had unfair prices and didn’t sell many useful items. We have lowered their prices, added more trades, and increased the amounts available. The Wandering Trader will also now buy useful items from players, so it’s possible to help them on their journey by giving them supplies even if you don’t feel like buying anything.
  • As this is an experiment, we would really appreciate your feedback as work continues and to help us decide on the future direction for Villager trades!
  • Wandering Traders now have lower prices and have a higher amount of each item in stock
  • Wandering Traders now sell Logs
  • Wandering Traders can now buy many items, instead of only selling

Fixes and Changes

Diamond Ore Distribution

  • Increased the amount of Diamond Ore found in the deepest parts of the world. Our goal is to make it more rewarding to mine for Diamonds in the Deepslate layers

Performance and Stability

  • Fixed a crash when entering a world with a corrupted saved chunk (MCPE-164634)
  • Fixed a crash that could occur when the game lost focus while entering a world
  • Addressed ‘Out of Storage’ errors and texture corruption on Xbox in large worlds (MCPE-163050)
  • Fixed missing low disk space warning on Xbox
  • Fixed an issue with Local Network games not connecting in certain circumstances on Nintendo Switch
  • Fixed server becoming unresponsive when players were surrounded by Ghasts stuck in lava columns (MCPE-119093)
  • Placing one item of an item stack into a full stack of the same item no longer causes the game to crash
  • The game no longer crashes due to running out of rendering resources while entering a world through the End Portal back to the Overworld (MCPE-139021)
  • Fixed worlds downloaded from Realms not loading packs correctly

Gameplay

  • Improved mouse input to be more responsive when used on Xbox (MCPE-163671)
  • Breath meter now refills when swimming with head above water (MCPE-170969)
  • The third-person camera will no longer clip through terrain when near Water or Lava
  • Fixed Creative Mode players not being ignited when standing in fire
  • The player no longer gets forced into sneak or crawl in Spectator Mode (MCPE-170907)
  • The player now gets forced out of sneak/crawl when riding (MCPE-170870)
  • The player no longer gets forced into sneak or crawl during the Riptide animation
  • Entering flight mode in Creative Mode will now correctly cancel Elytra gliding (MCPE-171797)
  • Projectiles now sink into Top Snow just like mobs do
  • Third-person camera now passes through Glass, Glass Panes, and Iron Bars (MCPE-85429)
  • Third person camera no longer clips through Snow, Mud, and Soul Sand, preventing x-ray exploits (MCPE-168854)
  • Players will no longer enter End Portals when sleeping in a bed immediately below the portals (MCPE-165062)
  • The discount for curing a Zombie Villager no longer increases when the same Villager is reinfected and cured multiple times
  • Players can now toggle flying when crawling or sneaking in Creative Mode
  • Crouch-jumping while aiming forward and holding down the build button will no longer continue to build blocks upwards past where the player is aiming

Mobs

  • Wild Horses, Mules, and Donkeys can now be tempted using a Golden Apple/Carrot or Enchanted Apple. Llamas will be tempted by a player holding a Hay Bale (MCPE-140814)
  • Zombie Villagers now show correct professions when infected (MCPE-80924)
  • Villagers killed by players no longer drop items held in their hands
  • Camels now play the same stepping sound when walking on Red Sand, Suspicious Sand, and Concrete Powder Blocks as they do when walking on regular Sand (MCPE-163497)
  • Mobs can hold and pick up Illager Banner only in their main hand now (MCPE-151745)
  • Dolphins, Camels, and Sniffers can now have Balloons attached
  • The following mobs will now set their target on fire if the mob is on fire when attacking: Drowned, Husk, Zombie, and Zombified Villager (MCPE-77746)
  • Fixed an issue with Parrots facing a different position than the player when the player is in a Boat

Blocks

  • Falling blocks will now break when falling onto a Boat
  • Campfires within Trail Ruins are no longer lit by default (MCPE-170033)
  • Pink Petals can now be fertilized by Dispensers (MCPE-171560)
  • Shulker Boxes mined without a Pickaxe no longer take a long time to mine
  • Falling blocks now break and drop their item when falling on a Cocoa Bean
  • Calibrated Sculk Sensor’s amethyst crystal now lights up alongside the rest of the block during its active phase (MCPE-168813) (MCPE-169953)
  • Hanging Signs placed with commands now have the proper hitbox (MCPE-163456)
  • “stained_hardened_clay” block is now split into unique instances, namely “white_terracotta”, “orange_terracotta”, “magenta_terracotta”, “light_blue_terracotta”, “yellow_terracotta”, “lime_terracotta”, “pink_terracotta”, “gray_terracotta”, “light_gray_terracotta”, “cyan_terracotta”, “purple_terracotta”, “blue_terracotta”, “brown_terracotta”, “green_terracotta”, “red_terracotta”, and “black_terracotta”
    • Commands will still work with “stained_hardened_clay”, but “stained_hardened_clay” won’t be suggested in the command prompt, rather the new names will
  • Third person camera no longer phases through the lower part of the Composter (MCPE-171213)

Items

  • Suspicious Stew no longer shows up in the Creative inventory (a recent unintended change caused it to appear there)
  • It is once again possible to use Bone Meal underwater on Sand, Dirt, Gravel, and Clay (MCPE-171383)
  • Fixed held Maps not being centered when playing on narrow aspect ratio screens
  • The correct broken state of the Elytra is rendered in Item Frames (MCPE-19700)
  • Stonecutter no longer drops as an item when using the wrong tool (MCPE-33950)
  • Pickaxe can now quickly mine Pistons and Sticky Pistons (MCPE-62797)
  • Powering and unpowering a Redstone Repeater or Comparator no longer disrupts water flow (MCPE-157055)
  • Crossbow loses durability when shooting, not when drawn (MCPE-46490)

Sculk Vibrations

  • Sculk Sensors and Sculk Shriekers no longer risk losing vibrations when receiving them around the simulation distance limit
  • Vibrations are no longer produced when stopping the use of items while sneaking (MCPE-171254)
  • Wardens now detect items hitting the ground (MCPE-160889)
  • Sculk Sensors now send a signal to Sculk Shriekers when detecting items hitting the ground (MCPE-161165)
  • Throwing an Eye of Ender now emits vibrations
  • Minecarts now consistently emit vibrations when moving on Rails while empty
  • Collecting Fish, Axolotls, and Tadpoles with Buckets now emits vibrations
  • Cleaning items in Cauldrons now emits vibrations
  • Dying Leather Armor in Cauldrons now emits vibrations
  • Tipping Arrows in Cauldrons now emits vibrations
  • Using Dyes to change Cauldrons’ water color now emits vibrations
  • Non-player actors now emit a vibration event when equipping Shields in their off-hand slot
  • Collecting Fish, Axolotl, and Tadpoles with Buckets now emits vibrations at the right position
  • Applying a Nametag now emits vibrations
  • Evokers summoning Vexes or Fangs now emit vibrations
  • Chickens laying eggs now emit vibrations
  • Turtles and Frogs laying eggs now emit vibrations
  • Using Bone Meal now emits vibrations
  • Sculk Sensors and Sculk Shriekers no longer activate repeatedly when a projectile is stuck in them (MCPE-172704)
  • Chiseled Bookshelves now emit vibrations when Books are inserted into them using Hoppers (MCPE-168887)
  • Extinguishing fire now emits vibrations
  • Mounting or dismounting a vehicle now emits vibrations
  • Rabbits eating Carrot crops now emit vibrations
  • Foxes eating Sweet Berry Bushes now emit vibrations
  • Unequipping armor now emits vibrations at a different frequency than equipping it
  • Placing a Banner now emits vibrations
  • Placing a Bamboo Sapling now emits vibrations
  • Placing a Mob Head now emits vibrations
  • Placing a Lily Pad now emits vibrations
  • Placing Frogspawn now emits vibrations
  • Placing or adding Sea Pickles now emits vibrations
  • Adding a Turtle Egg to already placed ones now emits vibrations of the same frequency as placing a block
  • Destroying a Turtle Egg now always emits vibrations of the same frequency as destroying a block, regardless of how many Turtle Eggs are left
  • Turtle Eggs cracking now emit vibrations

Realms

  • Fixed an issue which prevented some worlds from being downloaded from Realms on PlayStation 4
  • Fixed a bug where repeatedly pressing ‘Esc’ in Realms settings could remove UI or turn the screen black (REALMS-11388)

Accessibility

  • Fixed an issue where screen narration would read Recipe Book folder items as the first item in the folder
  • Screen narration now informs the user immediately after they change sliders and toggles
  • Screen narration will now read the disconnected message in the game menu when opened without an internet connection
  • Screen narrator will now read out the instruction text as well as the confirm button in the Safe Area menu

Touch Controls

  • Updated menu HUD icons for touch controls
  • Fixed an issue where the sneak input while flying would not work correctly with interactable blocks (MCPE-167043)
  • The functionality of long-pressing a crafting output slot on touch input has been returned to rapidly crafting single instances of the item in the output slot (MCPE-169728)
  • The rate of item crafting when long-pressing a crafting output slot has been slowed to 4 items per second and the time needed to long-press before starting the rapid crafting functionality has been reduced to 700 ms

User Interface

  • Nametags are no longer completely invisible while sneaking with the player still visible (MCPE-168789)
  • Pick Blocking a Decorated Pot will now produce the correct hover hint in the inventory (MCPE-171800)
  • Moved “Sync Old Worlds” button to the Settings/Storage screen
  • Changed Joystick Visibility option to a dropdown menu
  • Changed Sneak option to a dropdown menu
  • Added alerts for iOS players who have run out of disk space
  • Fixed UI flickering on Nintendo Switch
  • Banners’ icons in hotbar and inventory are now properly displayed on Nintendo Switch (MCPE-169928)
  • The Lapis Lazuli icon in the Enchantment Table now matches the one in the Smithing Table screen
  • Large enchant labels in the Enchantment Table screen are no longer blocked by overlayed items in the inventory (MCPE-154428)
  • Fixed various pixel scaling issues on the HUD screen
  • Added three new user-friendly disconnection error messages and improved two others
  • iOS only: Fixed a bug in multiline text edits where some text was sometimes deleted when typing after repositioning the caret with spacebar (MCPE-166152)
  • Changed button text from “Manage” to “Cancel” in Options > Subscriptions
  • Fixed layering issue causing the underground vignette effect to draw on top of the hotbar (MCPE-159217)
  • Adding a button on the new death screen to allow player to go to the game menu to change settings, leave the world, and more
  • Fixed localization of ‘Detected lost connection’ connection is lost from other player or server (MCPE-173028)
  • Fixed textbox text sometimes not updating correctly when holding backspace on Android devices (MCPE-169840)
  • Fixed ‘Full Keyboard Gameplay’ support on iOS and Android
  • Fixed an issue where names with parentheses in them did not display on the inventory/crafting menus in their title (MCPE-161134)
  • Switching between Book and Quill pages with the gamepad now produces a sound (MCPE-162253)
  • Added a button to empty the search bar with one click
  • Pressing Return on the virtual keyboard no longer deletes text after cursor on Xbox (MCPE-172835)
  • Background now darkens while the Smithing Table UI is open and Pocket UI is enabled
  • Fixed ZL/ZR icons for Joy-Con and Switch Pro controller on Android
  • The caret can be re-positioned in text field by taps or mouse clicks (MCPE-131572)
  • The “Pause menu” has been renamed to “Game menu” in the user interface
  • Fixed layering issue causing the underground vignette effect to draw on top of all other HUD elements (MCPE-159217)

Audio

  • Strays now play the proper sound when firing bows (MCPE-172385)
  • Equipment sound is now played when switching between otherwise identical armor pieces, which may have differing enchantments and/or trims applied (MCPE-171527)
  • The Trails and Tales music tracks now play in the game menu (MCPE-171489)
  • Shields now play a sound when equipped in the off-hand slot (MCPE-168039)

Graphical

  • Added Vertical Sync toggle to Video menu (MCPE-98861)
  • Added a new experimental toggle to Video menu for players on Windows which reduces input latency; enabling this setting will increase battery consumption
  • The horizon no longer changes color when the player is standing under blocks (MCPE-85888)
  • Fixed a problem where blocks’ rendering was not updating unless the player jumped (MCPE-173706)
  • Cherry Leaf blocks will now generate particle effects at a relatively large distance based on system performance
  • Transparent blocks viewed through an End Portal will no longer be visible nor flicker (MCPE-162061)
  • Fixed bottom face of portal effect so its color and transparency match the other faces
  • Fixed screen fade when sleeping in a Bed to no longer go fully opaque (MCPE-171461)
  • Name Tag rendering logic is now based on camera position rather than player position
  • The underwater fog in Cherry Groves now uses a transition that increases visibility after a while (MCPE-171822)

Marketplace

  • Players will now have a way to send a one-way message to Marketplace creators offering feedback on purchased items. This feedback could be used to improve future content and changes

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.30 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

General

  • The game no longer crashes when it tries to place an invalid custom feature
  • Entity names beginning with a number will now result in a content error
  • Fixed an issue with gliding with Elytra and switching to Creative flight (MCPE-171797)
    • Moved some entity JSONs that were misplaced to the correct area
  • Updated Aux-Value to Block-State table in the documentation to account for data upgrade since inception
  • Added server-authoritative-sound bool to server.properties
  • Exposed the following feature placement rules from behind the data driven biome experimental toggle. This allows creators to attach their custom features to a biome, and to define the rules by which those features are placed
    • minecraft:aggregate_feature
    • minecraft:cave_carver_feature
    • minecraft:fossil_feature
    • minecraft:geode_feature
    • minecraft:growing_plant_feature
    • minecraft:multiface_feature
    • minecraft:nether_cave_carver_feature
    • minecraft:ore_feature
    • minecraft:partially_exposed_blob_feature
    • minecraft:scatter_feature
    • minecraft:search_feature
    • minecraft:sequence_feature
    • minecraft:single_block_feature
    • minecraft:snap_to_surface_feature
    • minecraft:structure_template_feature
    • minecraft:surface_relative_threshold_feature
    • minecraft:tree_feature
    • minecraft:underwater_cave_carver_feature
    • minecraft:vegetation_patch_feature
    • minecraft:weighted_random_feature

Dedicated Server

  • Notice for Linux Dedicated Server operators: Ubuntu 20.04 LTS (Focal Fossa) is now the minimum supported Ubuntu version
  • Fixed a Bedrock Dedicated Servers memory leak while loading chunks (BDS-17527)
  • Fixed an issue with the client failing to attempt connection to dedicated server in some situations

Commands

  • The /camera command no longer requires the experimental cameras toggle
    • Note: The cameras experiment still contains several example preset JSON files for reference
  • Camera commands that are sent in the same tick are no longer ignored (MCPE-173524)
  • Display a message when the players presses the camera perspective change button but a particular perspective is already set via the camera command
  • Entities no longer disappear when they are teleported to saved chunks near the edge of the player’s render distance
  • Released command /scriptevent out of experimental
  • Fixed an issue where the controllers right/left d-pad autocompletes commands when the text box wasn’t selected, which also selected different UI elements on the screen
  • Fixed a bug that autocomplete suggestions for values coming after brackets are missing if there is no space between tilde (as Z coordinate) and block name in commands
  • The unknown block is no longer available to be set or filled via commands (MCPE-165301)
  • The ‘hasitem’ command will now use the data value as damage when selecting damageable items (MCPE-159409)
  • “stained_glass” block is now split into unique instances, namely “white_stained_glass”, “orange_stained_glass”, “magenta_stained_glass”, “light_blue_stained_glass”, “yellow_stained_glass”, “lime_stained_glass”, “pink_stained_glass”, “gray_stained_glass”, “light_gray_stained_glass”, “cyan_stained_glass”, “purple_stained_glass”, “blue_stained_glass”, “brown_stained_glass”, “green_stained_glass”, “red_stained_glass”, and “black_stained_glass”
    • Commands will still work with “stained_glass”, but “stained_glass” won’t be suggested in the command prompt, rather the new names will
  • “stained_glass_pane” block is now split into unique instances, namely “white_stained_glass_pane”, “orange_stained_glass_pane”, “magenta_stained_glass_pane”, “light_blue_stained_glass_pane”, “yellow_stained_glass_pane”, “lime_stained_glass_pane”, “pink_stained_glass_pane”, “gray_stained_glass_pane”, “light_gray_stained_glass_pane”, “cyan_stained_glass_pane”, “purple_stained_glass_pane”, “blue_stained_glass_pane”, “brown_stained_glass_pane”, “green_stained_glass_pane”, “red_stained_glass_pane”, and “black_stained_glass_pane”
    • Commands will still work with “stained_glass_pane”, but “stained_glass_pane” won’t be suggested in the command prompt, rather the new names will
  • “concrete_powder” block is now split into unique instances, namely “white_concrete_powder”, “orange_concrete_powder”, “magenta_concrete_powder”, “light_blue_concrete_powder”, “yellow_concrete_powder”, “lime_concrete_powder”, “pink_concrete_powder”, “gray_concrete_powder”, “light_gray_concrete_powder”, “cyan_concrete_powder”, “purple_concrete_powder”, “blue_concrete_powder”, “brown_concrete_powder”, “green_concrete_powder”, “red_concrete_powder”, and “black_concrete_powder”
    • Commands will still work with “concrete_powder”, but “concrete_powder” won’t be suggested in the command prompt, rather the new names will
  • Blocks that had an alias prior to being flattened can now be properly referenced in commands

Sound

  • Sound definitions now accept both float and integer values for min_distance and max_distance – please set sound_definitions.json “format_version” parameter equal to or greater than 1.20.20 to use this functionality (MCPE-154378)

Items

  • Released the “minecraft:wearable” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:hand_equipped” item component out of experimental in json formats 1.20.20 and higher
  • Deprecated “minecraft:creative_category” component in json formats 1.20.20 and higher
  • Creative group and command visibility can now be set in the “description” field in json formats 1.20.20 and higher
  • Renamed the “minecraft:foil” item component to “minecraft:glint” and released it out of experimental in json formats 1.20.20 and higher
  • Changed fire enchant duration used on projectiles from a ShooterItemComponent to match vanilla behavior
  • Released the “minecraft:use_duration” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:stacked_by_data” item component out of experimental in json formats 1.20.20 and higher
  • minecraft:entity_placer” will now content error when invalid blocks are named in the “use_on” and “dispense_on” lists
  • Released the “minecraft:use_animation” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:allow_off_hand” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:should_despawn” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:liquid_clipped” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:damage” item component out of experimental in json formats 1.20.20 and higher
  • Released the “minecraft:digger” item component out of experimental in json formats 1.20.20 and higher
  • Deprecated “on_dig” parameters from “minecraft:digger” item component in formats 1.20.20 and higher
  • Released the “minecraft:enchantable” item component out of experimental in json formats 1.20.30 and higher
  • Deprecated “minecraft:mining_speed” in json formats 1.20.30 and higher. Use “minecraft:digger” instead to achieve the same functionality
  • Released the “minecraft:food” item component out of experimental in json formats 1.20.30 and higher
  • Added “minecraft:interact_button” item component to enable and set text on the interact button in json formats 1.20.30 and above
  • Fixed an issue where content errors for items at the latest format version would appear for other items

Add-Ons and Script Engine

  • Render controllers without textures will now result in a content error and be ignored
  • Added support for the “allow_random_seed” option in world template manifests
  • Fixed a bug which prevented certain worlds with add-ons from being downloaded from Realms on some console platforms
    • Applied a fix with the way block descriptors resolved custom block states where it could resolve to the wrong state if multiple custom block states had the same name
  • AmethystCluster blocks use state “minecraft:block_face” instead of “facing_direction“. “minecraft:block_face” uses string values (“down”, “up”, “north”, “south”, “east”, “west”)
  • Slab blocks use state “minecraft:vertical_half” instead of “top_slot_bit“. “minecraft:vertical_half” uses string values (“bottom”, “top”)
  • Display a warning message when camera perspective option is changed in the settings menu but a camera command is active
  • Moved PlacementDirection (“minecraft:placement_direction“) and PlacementPosition (“minecraft:placement_position“) block traits out of experimental. These traits can be used for blocks with “format_version” >= “1.20.20”
  • Added Script Binding functions to get/set the CompoundBlockVolume origin
  • Added additional params to some methods to query the children of CompoundBlockVolume for their positional relativity to the parent
  • Added additional params to some methods to freeze positional relativty when origin changes are submitted
  • Big Dripleaf blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Small Dripleaf blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Pink Petals blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • End Portal Frame blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Lectern blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Anvil blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Campfire blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Soul Campfire blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Calibrated Sculk Sensor blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Powered Comparator blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Unpowered Comparator blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Powered Repeater blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • Unpowered Repeater blocks use state “minecraft:cardinal_direction” instead of “direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3]
  • BlastFurnace blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]
  • Furnace blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]
  • LitBlastFurnace blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]
  • LitFurnace blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]
  • LitSmoker blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]
  • Smoker blocks use state “minecraft:cardinal_direction” instead of “facing_direction”, this state uses string values [“south”, “west”, “north”, and “east”] instead of [0, 1, 2, 3, 5, 6]

Mobs

  • “cooldown” field for target descriptors now properly work in “minecraft:behavior.nearest_prioritized_attackable_target” goal
  • Exposed new data parameter “can_spread_on_fire” for the “minecraft:behavior.melee_attack” component to specify if the mob should set its target on fire when attacking if the attacking mob is on fire (MCPE-77746)

Script API

  • Converting the CompoundBlockVolume container to use relative coordinates to an internal origin
  • Normalize the use of CompoundBlockVolume instead of Selection across Editor API

Molang

  • Renamed block_property and has_block_property to block_state and has_block_state
    • This is a Molang Versioned Change that only takes effect for Molang expressions in packs that use a min_engine_version of 1.20.20 or higher

Experimental Technical Features

API

  • Added Scoreboard.addScore and improved Scoreboard.setScore to return the updated score
  • Using ScoreboardObjective.removeParticipant is now properly synced with clients (MCPE-172920)
  • ScriptEventCommandMessageAfterEvent
    • Made initiator, sourceBlock, and sourceEntity optional types
  • Removed MinecraftEntityTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Removed MinecraftItemTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Exposed MoonPhase and World.getMoonPhase to script
  • Removed server-authoritative-sound bool from server.properties
  • Exposed DimensionType to scripting
  • Converted “set_block_property” to “set_block_state” for custom blocks
  • Added defineVector to DynamicPropertiesDefinition
  • EntityEquipmentInventoryComponent
    • Implemented slot validation for setEquipment, which now returns a boolean indicating whether the item can be equipped to the specified slot
    • EntityEquipmentInventoryComponent is currently limited to Players only. However, we hope to reintroduce this component for mobs in a future update
      • Moved getDay() to 1.4.0
      • Moved getTimeOfDay() to 1.4.0
      • Moved setTimeOfDay(timeOfDay: number | TimeOfDay) to 1.4.0
      • Moved getAbsoluteTime() to 1.4.0
      • Moved setAbsoluteTime(absoluteTime: number) to 1.4.0
  • Moved TimeOfDay to 1.4.0
    • Added length restrictions to setLore – Up to 20 lines with up to 50 characters per line
    • Moved function setLore to 1.4.0
    • Moved function getLore to 1.4.0
    • Moved class SystemAfterEvents to 1.4.0
    • Moved class ScriptEventCommandMessageAfterEvent to 1.4.0
  • Moved player onScreenDisplay to 1.4.0
  • Moved titleDisplayOptions to 1.4.0
  • Moved screenDisplay to 1.4.0
  • Moved ProjectileHitBlockAfterEvent to 1.5.0.
  • Moved ProjectileHitEntityAfterEvent to 1.5.0.
  • Moved ProjectileHitBlockAfterEventSignal to 1.5.0.
  • Moved ProjectileHitEntityAfterEventSignal to 1.5.0.
  • Moved BlockHitInformation to 1.5.0.
  • Moved EntityHitInformation to 1.5.0.
    • Moved spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap) to 1.5.0
    • Moved setColorRGB(variableName: string, color: RGB) to 1.5.0
    • Moved setColorRGBA(variableName: string, color: RGBA) to 1.5.0
    • Moved setFloat(variableName: string, number: number) to 1.5.0
    • Moved setSpeedAndDirection(variableName: string, speed: number, direction: Vector3) to 1.5.0
    • Moved setVector3(variableName: string, vector: Vector3) to 1.5.0
  • RGB
    • Moved RGB to 1.5.0
    • Moved RGBA to 1.5.0
    • Moved triggerEvent(eventName: string) to 1.5.0
  • Renamed EntityEquipmentInventoryComponent to EntityEquippableComponent
  • Fixed issue where prototype properties are not possible to redefine using defineProperty (MCPE-174073)
  • ItemStack
    • Added getCanPlaceOn() and getCanDestroy()
    • Added upper maximum limit of 255 to amount property – will throw if exceeds
  • Entity
    • Added function getProperty(identifier: string): boolean | number | string | undefined – Gets an Entity Property
    • Added function setProperty(identifier: string, value: boolean | number | string): void – Sets an Entity Property during the next tick
    • Added function resetProperty(identifier: string): boolean | number | string; – Resets an Entity Property to its default value during the next tick and returns the default value
  • world.beforeEvents
    • Added event/property removeEvent
  • world.afterEvents
    • Renamed event/property removedEvent to removeEvent
  • Class EntityRemovedAfterEvent
    • Renamed field removedEntity to removedEntityIdremovedEntityId: string
    • Added field typeId: string
  • Added class EntityRemovedBeforeEvent
    • Added field removedEntity: Entity
  • Moved EquipmentSlot to 1.5.0 and changed enum values to uppercase
  • Moved EntityEquippableComponent to 1.5.0
  • Scoreboard
    • setObjectiveAtDisplaySlot return type now correctly set to ScoreboardObjective or undefined
  • ScoreboardIdentity
    • getEntity return type now correctly set to Entity or undefined
  • setWeather API can now take an optional duration parameter to set the weather duration
  • Added read-only property heightRange: NumberRange – Gets min/max dimension height limits.
  • Added Player.isSleeping and Player.isEmoting
  • Changed Entity.scoreboardIdentity to be valid even after the entity has been killed
  • World Events
    • Renamed BlockBreakAfterEvent to PlayerBreakBlockAfterEvent
      • Added readonly itemStackAfterBreak?: ItemStack (undefined if empty hand)
      • Added readonly itemStackBeforeBreak?: ItemStack (undefined if empty hand)
    • Renamed BlockBreakAfterEventSignal to PlayerBreakBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerBreakBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • itemStack?: ItemStack, the item stack in use by the player (undefined if empty hand)
      • readonly player: Player, the player breaking the block
    • Added PlayerBreakBlockBeforeEventSignal
    • Renamed BlockPlaceAfterEvent to PlayerPlaceBlockAfterEvent
    • Renamed BlockPlaceAfterEventSignal to PlayerPlaceBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerPlaceBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • readonly face: Direction, the face the block is being placed on
      • readonly faceLocation: Vector3, the location on the face the block was placed on
      • itemStack: ItemStack, the item stack being used to place the block
      • readonly player: Player, the player placing the block
    • Added PlayerPlaceBlockBeforeEventSignal
    • Modified WorldAfterEvents
      • Renamed blockBreak to playerBreakBlock
      • Renamed blockPlace to playerPlaceBlock
    • Modified WorldBeforeEvents
      • Added playerBreakBlock
      • Added playerPlaceBlock
    • Added BlockEventOptions with the following members
      • blockTypes?: string[], names of blocks to be filtered against
      • permutations?: BlockPermutation[], specific block permutations to be filtered against
  • Added class EntityLoadAfterEvent
    • New field entity: Entity
    • Added class EntityLoadAfterEventSignal
  • Class EntitySpawnAfterEvent
    • Added property readonly cause: EntityInitializationCause_
  • Class WorldAfterEvents
    • Added property readonly entityLoad: EntityLoadAfterEventSignal
  • Added enum EntityInitializationCause

Moved the following APIs from beta to stable:

  • Moved Direction to 1.4.0.
  • Moved EntityDamageSource to 1.4.0.
  • Moved EntityDieAfterEvent to 1.4.0.
  • Moved EntityEventOptions to 1.4.0.
  • Moved EntityHitBlockAfterEvent to 1.4.0.
  • Moved EntityHitEntityAfterEvent to 1.4.0.
  • Moved EntityHurtAfterEvent to 1.4.0.
  • Moved EntityHealthChangedAfterEvent to 1.4.0.
  • Moved Dimension.getBlockFromRay method to 1.4.0
  • Moved Dimension.getEntitiesFromRay method to 1.4.0
  • Moved Entity.getBlockFromViewDirection method to 1.4.0
  • Moved Entity.getEntitiesFromViewDirection method to 1.4.0
  • Moved BlockRaycastHit to 1.4.0
  • Moved BlockRaycastOptions to 1.4.0
  • Moved EntityRaycastHit to 1.4.0
  • Moved EntityRaycastOptions to 1.4.0
  • Moved PressurePlatePushEvent to 1.4.0.
  • Moved PressurePlatePopEvent to 1.4.0.
  • Moved TripWireTripEvent to 1.4.0.
  • Moved TargetBlockHitEvent to 1.4.0.
    • Made property id accessible even if entity is not valid
    • Made property typeId accessible even if entity is not valid
    • Changed item event source properties from type Entity to Player
  • Added camera scripting APIs for the following APIs:
    • setCamera(): to set the camera to a specified preset
    • fade(): to start a camera fade
    • clear(): to clear the current settings on the camera
  • Released Scoreboard API’s from beta to V1.4.0
    • Updated Scoreboard.getObjective, getObjectiveAtDisplaySlot, and clearObjectiveAtDisplaySlot to return ‘| undefined’
  • Removed MinecraftBlockTypes defined in @minecraft/server
  • Moved ItemUseBeforeEvent to 1.4.0
  • Moved ItemUseOnBeforeEvent to 1.4.0
  • Moved ItemUseAfterEvent to 1.4.0
  • Moved ItemUseOnAfterEvent to 1.4.0
  • Moved ItemStartUseOnAfterEvent to 1.4.0
  • Moved ItemStopUseAfterEvent to 1.4.0
  • Moved ItemStopUseOnAfterEvent to 1.4.0
  • Moved ItemCompleteUseAfterEvent to 1.4.0
  • Moved ItemReleaseUseAfterEvent to 1.4.0
  • Moved ItemStartUseAfterEvent to 1.4.0
  • Moved DimensionLocation to 1.4.0
  • Renamed PositionInUnloadedChunkError to LocationInUnloadedChunkError and moved it to 1.4.0
  • Renamed PositionOutOfWorldBoundariesError to LocationOutOfWorldBoundariesError and moved it to 1.4.0
    • Moved getSpawnPoint to 1.4.0
    • Moved setSpawnPoint to 1.4.0
    • Moved getDefaultSpawnLocation to 1.4.0
    • Moved setDefaultSpawnLocation to 1.4.0
  • Released isValid() from Beta to 1.4.0 for the following classes:
    • Block
    • Container
    • Entity
    • Player
    • SimulatedPlayer
  • WorldAfterEvents
    • Removed projectileHit
    • Added projectileHitBlock
    • Added projectileHitEntity
  • Added class ProjectileHitBlockAfterEvent export class:
    ProjectileHitBlockAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getBlockHit(): BlockHitInformation; }
  • Added class ProjectileHitEntityAfterEvent export class:
    ProjectileHitEntityAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getEntityHit(): EntityHitInformation; }
  • Fixed a bug where ContainerSlot would not work with certain container types (MCPE-168805)
  • Fixed a bug where setLore would incorrectly calculate the length of lore strings containing multi-byte characters (MCPE-173189)
    • Added function remove – Removes the Entity. This cannot be called on Players but can be used on SimulatedPlayers in Gametest
  • MolangVariableMap
    • Added setFloat function
    • Changed return type of setColorRBG, setColorRGBA, setSpeedAndDirection, and setVector3 to void
    • Changed the MolangVariableMap property on spawnParticle to be optional: spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap): void
  • Renamed Color interface to RGBA
  • Added interface RGB

Blocks

  • Custom blocks will now only transmit Redstone power if they are a unit cube and all materials are opaque (MCPE-168998)
  • Updated isSolid, isLiquid, and isAir to be properties instead of methods

Items

  • Fixed issue where items with the “minecraft:wearable” component would be duplicating when equipping by using the item (MCPE-159736)
  • Items with the “minecraft:wearable” component in non-weapon slots can no longer be stacked (MCPE-159736)
  • Removed the “minecraft:ignores_permission” component
  • Removed the “minecraft:mirrored_art” component
  • Moved the “protection” field from “minecraft:armor” component to “minecraft:wearable” component in json formats 1.20.20 and higher
  • Deprecate “minecraft:armor” component in json formats 1.20.20 and higher
  • Removed nonfunctional and redundant slot options from “minecraft:wearable” component, ie. mainhand, hotbar, inventory, enderchest, and equippable
  • Items with the “minecraft:wearable” component using the “slot.weapon.offhand” slot will no longer equip when item is used in hotbar
  • Equipping custom wearable items trigger generic equip sound
  • Custom items with “minecraft:wearable” component can now be equipped by clicking and dragging in inventory or shift-clicking
  • Removed the “minecraft:animates_in_toolbar” component
  • Removed the “minecraft:explodable” component
  • Extra damage hover text now appears on all component items that have an applied sharpness enchantment
  • The “minecraft:shooter” component now supports the Quick Charge enchantment with “minecraft:enchantable” when “charge_on_draw” is true
  • Added support for efficiency enchantment for data driven items using the “minecraft:digger” component
  • Remove nonfunctional entity slot options from “minecraft:wearable” component, ie. saddle, entity armor, and chest
  • Custom items with “minecraft:wearable” component auto-equip when dropped from a dispenser, matching parity with Vanilla armor items
  • Fixed an issue where items with format version 1.20.20 and above using the ‘menu_category’ field in a world with the ‘Holiday Creator Features’ toggle enabled would not load
  • Removed “minecraft:requires_interact” component
  • Fixed issue with content errors occurring with the Holiday Creator Features toggle turned on when using a json object version of “max_stack_size”, “can_destroy_in_creative”, “hover_text_color”

Block Destroy Time Changes – Full List

Bedrock ID Bedrock Name Destroy Time Explosion Resistance
activator_rail Activator Rail 0.5 → 0.7 0.5 → 0.7
ancient_debris Ancient Debris   720 → 1200
andesite_stairs Andesite Stairs 2 → 1.5  
bamboo Bamboo 2 → 1 2 → 1
bamboo_block Block of Bamboo   3 → 2
bamboo_sapling Bamboo Shoot 0 → 1 0 → 1
bee_nest Bee Nest   2.7 → 0.3
beehive Beehive   5.4 → 0.6
bell Bell 1 → 5 3 → 5
big_dripleaf Big Dripleaf 0 → 0.1 0 → 0.1
campfire Campfire 5 → 2 5 → 2
chain Chain   3 → 6
chiseled_deepslate Chiseled Deepslate   3.6 → 6
cobbled_deepslate Cobbled Deepslate   3.6 → 6
cobbled_deepslate_double_slab Cobbled Deepslate Slab (Double)   3.6 → 6
cobbled_deepslate_slab Cobbled Deepslate Slab   3.6 → 6
cobbled_deepslate_stairs Cobbled Deepslate Stairs   3.6 → 6
cobbled_deepslate_wall Cobbled Deepslate Wall   3.6 → 6
composter Composter 2 → 0.6 2 → 0.6
copper_block Block of Copper   3.6 → 6
copper_ore Copper Ore   1.8 → 3
coral_block Coral Block (10 blocks) 7 → 1.5 0.9 → 6
coral_fan Coral Fan (5 blocks)   0.9 → 0
coral_fan_dead Dead Coral Fan (5 blocks)   0.9 → 0
coral_fan_hang Coral Wall Fan (2 blocks)   0.9 → 0
coral_fan_hang2 Coral Wall Fan (2 blocks)   0.9 → 0
coral_fan_hang3 Coral Wall Fan (1 block)   0.9 → 0
cracked_deepslate_bricks Cracked Deepslate Bricks   3.6 → 6
cracked_deepslate_tiles Cracked Deepslate Tiles   3.6 → 6
crimson_hyphae Crimson Hyphae 0.3 → 2 0.3 → 2
crimson_stem Crimson Stem   0.3 → 2
cut_copper Cut Copper   3.6 → 6
cut_copper_slab Cut Copper Slab   3.6 → 6
cut_copper_stairs Cut Copper Stairs   3.6 → 6
deepslate Deepslate   3.6 → 6
deepslate_brick_double_slab Deepslate Brick Slab (Double)   3.6 → 6
deepslate_brick_slab Deepslate Brick Slab   3.6 → 6
deepslate_brick_stairs Deepslate Brick Stairs   3.6 → 6
deepslate_brick_wall Deepslate Brick Wall   3.6 → 6
deepslate_bricks Deepslate Bricks   3.6 → 6
deepslate_coal_ore Deepslate Coal Ore   1.8 → 3
deepslate_copper_ore Deepslate Copper Ore   1.8 → 3
deepslate_diamond_ore Deepslate Diamond Ore   1.8 → 3
deepslate_gold_ore Deepslate Gold Ore   1.8 → 3
deepslate_iron_ore Deepslate Iron Ore   1.8 → 3
deepslate_lapis_ore Deepslate Lapis Lazuli Ore   1.8 → 3
deepslate_redstone_ore Deepslate Redstone Ore   1.8 → 3
deepslate_tile_double_slab Deepslate Tile Slab (Double)   3.6 → 6
deepslate_tile_slab Deepslate Tile Slab   3.6 → 6
deepslate_tile_stairs Deepslate Tile Stairs   3.6 → 6
deepslate_tile_wall Deepslate Tile Wall   3.6 → 6
deepslate_tiles Deepslate Tiles   3.6 → 6
diorite_stairs Diorite Stairs 2 → 1.5  
double_cut_copper_slab Cut Copper Slab (Double)   3.6 → 6
dragon_egg Dragon Egg   3 → 9
dried_kelp_block Dried Kelp Block   0.5 → 2.5
end_brick_stairs End Stone Brick Stairs 2 → 3 6 → 9
end_bricks End Stone Bricks 0.8 → 3 0.8 → 9
exposed_cut_copper_slab Exposed Cut Copper Slab   3.6 → 6
exposed_copper Exposed Copper   3.6 → 6
exposed_cut_copper Exposed Cut Copper   3.6 → 6
exposed_cut_copper_stairs Exposed Cut Copper Stairs   3.6 → 6
exposed_double_cut_copper_slab Exposed Cut Copper Slab (Double)   3.6 → 6
granite_stairs Granite Stairs 2 → 1.5  
infested_deepslate Infested Deepslate   1.8 → 0.75
jukebox Jukebox 0.8 → 2 0.8 → 6
lantern Lantern 5 → 3.5 5 → 3.5
lectern Lectern 2 → 2.5 2 → 2.5
light_block Light Block   3600000 → 3600000.8
light_gray_candle Light Gray Candle 0 → 0.1 0 → 0.1
lightning_rod Lightning Rod   3.6 → 6
lodestone Lodestone 2 → 3.5 2 → 3.5
magma Magma Block   1.5 → 0.5
monster_egg Infested blocks (5 blocks, missing Infested Cobblestone)   1.8 → 0.75
mossy_stone_brick_stairs Mossy Stone Brick Stairs 2 → 1.5  
mud_bricks Mud Bricks 2 → 1.5 2 → 3
mud_brick_slab Mud Brick Slab 2 → 1.5 6 → 3
mud_brick_double_slab Mud Brick Slab (Double) 2 → 1.5 6 → 3
mud_brick_stairs Mud Brick Stairs 2 → 1.5 6 → 3
mud_brick_wall Mud Brick Wall 2 → 1.5 6 → 3
netherite_block Block of Netherite   720 → 1200
oxidized_cut_copper Oxidized Cut Copper   3.6 → 6
oxidized_cut_copper_slab Oxidized Cut Copper Slab   3.6 → 6
oxidized_cut_copper_stairs Oxidized Cut Copper Stairs   3.6 → 6
oxidized_copper Oxidized Copper   3.6 → 6
oxidized_double_cut_copper_slab Oxidized Cut Copper Slab (Double)   3.6 → 6
piston Piston 0.5 → 1.5 0.5 → 1.5
piston_arm_collision Piston Head (Normal) 0.5 → 1.5 0.5 → 1.5
pointed_dripstone Pointed Dripstone   1.8 → 3
polished_andesite_stairs Polished Andesite Stairs 2 → 1.5  
polished_blackstone Polished Blackstone 1.5 → 2  
polished_blackstone_stairs Polished Blackstone Stairs 1.5 → 2  
polished_blackstone_wall Polished Blackstone Wall 1.5 → 2  
polished_deepslate Polished Deepslate   3.6 → 6
polished_deepslate_double_slab Polished Deepslate Slab (Double)   3.6 → 6
polished_deepslate_slab Polished Deepslate Slab   3.6 → 6
polished_deepslate_stairs Polished Deepslate Stairs   3.6 → 6
polished_deepslate_wall Polished Deepslate Wall   3.6 → 6
polished_diorite_stairs Polished Diorite Stairs 2 → 1.5  
polished_granite_stairs Polished Granite Stairs 2 → 1.5  
reinforced_deepslate Reinforced Deepslate   720 → 1200
respawn_anchor Respawn Anchor   720 → 1200
scaffolding Scaffolding 0.6 → 0 0.9 → 0
sculk Sculk 0.6 → 0.2 0.6 → 0.2
sculk_catalyst Sculk Catalyst   1.8 → 3
sculk_shrieker Sculk Shrieker   1.8 → 3
shulker_box Shulker Box (16 blocks) 2.5 → 2 2.5 → 2
smooth_quartz_stairs Smooth Quartz Stairs 0.8 → 2 0.8 → 6
smooth_stone Smooth Stone 1.5 → 2  
sniffer_egg Sniffer Egg 0.4 → 0.5 0.4 → 0.5
soul_campfire Soul Campfire 5 → 2 5 → 2
soul_lantern Soul Lantern 5 → 3.5 5 → 3.5
soul_soil Soul Soil 1 → 0.5 1 → 0.5
sticky_piston Sticky Piston 0.5 → 1.5 0.5 → 1.5
sticky_piston_arm_collision Piston Head (Sticky) 0.5 → 1.5 0.5 → 1.5
stripped_bamboo_block Block of Stripped Bamboo   3 → 2
stripped_crimson_hyphae Stripped Crimson Hyphae 0.3 → 2 0.3 → 2
stripped_crimson_stem Stripped Crimson Stem   0.3 → 2
stripped_warped_hyphae Stripped Warped Hyphae 0.3 → 2 0.3 → 2
stripped_warped_stem Stripped Warped Stem   0.3 → 2
sweet_berry_bush Sweet Berry Bush 0.2 → 0 0.2 → 0
turtle_egg Turtle Egg 0.4 → 0.5 0.4 → 0.5
undyed_shulker_box Shulker Box 2.5 → 2 2.5 → 2
warped_hyphae Warped Hyphae 0.3 → 2 0.3 → 2
warped_stem Warped Stem   0.3 → 2
waxed_cut_copper Waxed Cut Copper   3.6 → 6
waxed_cut_copper_slab Waxed Cut Copper Slab   3.6 → 6
waxed_cut_copper_stairs Waxed Cut Copper Stairs   3.6 → 6
waxed_copper Waxed Block of Copper   3.6 → 6
waxed_double_cut_copper_slab Waxed Cut Copper Slab (Double)   3.6 → 6
waxed_exposed_copper Waxed Exposed Copper   3.6 → 6
waxed_exposed_cut_copper Waxed Exposed Cut Copper   3.6 → 6
waxed_exposed_cut_copper_slab Waxed Exposed Cut Copper Slab   3.6 → 6
waxed_exposed_cut_copper_stairs Waxed Exposed Cut Copper Stairs   3.6 → 6
waxed_exposed_double_cut_copper_slab Waxed Exposed Cut Copper Slab (Double)   3.6 → 6
waxed_oxidized_copper Waxed Oxidized Copper   3.6 → 6
waxed_oxidized_cut_copper Waxed Oxidized Cut Copper   3.6 → 6
waxed_oxidized_cut_copper_stairs Waxed Oxidized Cut Copper Stairs   3.6 → 6
waxed_oxidized_cut_copper_slab Waxed Oxidized Cut Copper Slab   3.6 → 6
waxed_oxidized_double_cut_copper_slab Waxed Oxidized Cut Copper Slab (Double)   3.6 → 6
waxed_weathered_cut_copper Waxed Weathered Cut Copper   3.6 → 6
waxed_weathered_cut_copper_slab Waxed Weathered Cut Copper Slab   3.6 → 6
waxed_weathered_cut_copper_stairs Waxed Weathered Cut Copper Stairs   3.6 → 6
waxed_weathered_copper Waxed Weathered Copper   3.6 → 6
waxed_weathered_double_cut_copper_slab Waxed Weathered Cut Copper Slab (Double)   3.6 → 6
weathered_copper Weathered Copper   3.6 → 6
weathered_cut_copper Weathered Cut Copper   3.6 → 6
weathered_cut_copper_slab Weathered Cut Copper Slab   3.6 → 6
weathered_cut_copper_stairs Weathered Cut Copper Stairs   3.6 → 6
weathered_double_cut_copper_slab Weathered Cut Copper Slab (Double)   3.6 → 6

Remaining Parity Breaks

DT – destroy time
ER – explosion resistance

Bedrock ID Bedrock name DT Bedrock DT Java ER Bedrock ER Java
cobblestone_wall Granite Wall 2 1.5    
cobblestone_wall Sandstone Wall 2 0.8 6 0.8
cobblestone_wall Prismarine Wall 2 1.5    
cobblestone_wall Diorite Wall 2 1.5    
cobblestone_wall Andesite Wall 2 1.5    
cobblestone_wall End Stone Brick Wall 2 3 6 9
cobblestone_wall Stone Brick Wall 2 1.5    
cobblestone_wall Mossy Stone Brick Wall 2 1.5    
cobblestone_wall Red Sandstone Wall 2 0.8 6 0.8
stone_block_slab2 Prismarine Brick Slab 2 1.5    
stone_block_slab2 Dark Prismarine Slab 2 1.5    
stone_block_slab2 Prismarine Slab 2 1.5    
double_stone_block_slab2 Prismarine Brick Slab (Double) 2 1.5    
double_stone_block_slab2 Dark Prismarine Slab (Double) 2 1.5    
double_stone_block_slab2 Prismarine Slab (Double) 2 1.5    
stone_block_slab3 Andesite Slab 2 1.5    
stone_block_slab3 End Stone Brick Slab 2 3 6 9
stone_block_slab3 Polished Andesite Slab 2 1.5    
stone_block_slab3 Polished Diorite Slab 2 1.5    
stone_block_slab3 Granite Slab 2 1.5    
stone_block_slab3 Diorite Slab 2 1.5    
stone_block_slab3 Polished Granite Slab 2 1.5    
double_stone_block_slab3 Andesite Slab (Double) 2 1.5    
double_stone_block_slab3 End Stone Brick Slab (Double) 2 3 6 9
double_stone_block_slab3 Polished Andesite Slab (Double) 2 1.5    
double_stone_block_slab3 Polished Diorite Slab (Double) 2 1.5    
double_stone_block_slab3 Granite Slab (Double) 2 1.5    
double_stone_block_slab3 Diorite Slab (Double) 2 1.5    
double_stone_block_slab3 Polished Granite Slab (Double) 2 1.5    
stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5    
double_stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5    
crying_obsidian Crying Obsidian 35 50    
monster_egg Infested Cobblestone 0.75 1    
obsidian Obsidian 35 50    
quartz_block Smooth Quartz 0.8 2 0.8 6
red_sandstone Smooth Red Sandstone 0.8 2 0.8 6
sandstone Smooth Sandstone 0.8 2 0.8 6
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.15

  • Release date: August 18th 2023 (North America, Europe) / August 19th 2023 (Japan)
  • Patch notes:
  • Fixed a top crash that could occur during gameplay
  • Fixed a bug related to some packs not being available to purchase successfully from the Marketplace
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.12

  • Release date: July 25th 2023 (North America, Europe) / July 26th 2023 (Japan)
  • Patch notes:
  • Fixed resource pack crashes with launch of 1.20.10
  • Fixed connection stability related to “Abandoned connection closed” errors
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.10

  • Release date: July 11th 2023 (North America, Europe) / July 12th 2023 (Japan)
  • Patch notes:

Vanilla Parity

Short Sneaking

  • Player’s hitbox height now reduces to 1.5 blocks while sneaking
    • Sneaking will automatically be initiated while stuck in a gap of less than 1.8 blocks
    • Sneaking will lower the player camera height respective of these changes
    • Sneaking now requires enough space to stand in order to exit sneaking
    • Players will transition from swimming to sneaking if they are unable to stand up but would be able to sneak
  • Players are no longer able to sneak while riding (MCPE-170613)
  • Players will no longer suffocate when short sneaking in certain scenarios
  • Players will no longer suffocate when riding on a Camel in 2 block gaps (MCPE-166451
  • Players will no longer be pushed slightly when short sneaking is by being pushed by a block (MCPE-166411)
  • Fixed many interactions where being forced into sneaking acted the same as holding the sneak button (MCPE-170610)

Other Changes

  • Items dropped by storage entities are now centered inside the nearest block (MCPE-160189)
  • Shovel has been removed from Boat recipe
  • Barrel recipe has been modified to use Planks instead of Sticks
  • The Cobweb to String recipe has been removed
  • Fixed a bug where Zombie Villager did not drop given item after curing (MCPE-163670)

Experimental Features

Crawling

  • Added the ability to crawl behind the Short Sneaking and Crawling Experimental toggle
  • Created new player crawling animation
  • Players will now begin crawling when in a 1 block gap, similar to sneaking
  • Crawling is the same speed as sneaking
  • Players will automatically stand up or begin sneaking if they leave the 1 block gap
  • Players will begin swimming if they enter water while crawling, or vice-versa
  • Player’s model is now centered around their hitbox when swimming (MCPE-54294)
  • Players will now always spawn projectiles from the camera position when sneaking, swimming, or gliding
  • Players will now spawn particle effects when eating in the correct position if they are sneaking, swimming, or gliding
  • Loyalty Tridents will always return to the player’s camera
  • Players will no longer be stuck inside Cauldrons or Composters when crawling inside with a Trapdoor (MCPE-170836)
  • The paper doll will now show up properly when crawling
  • Fixed an issue where gliding or swimming could sometimes give the player an incorrect bounding box (MCPE-170882)

Recipe Unlocking

  • Recipe unlocking – now in Bedrock!
    • Added recipe unlocking as an experiment
    • Collect materials to unlock relevant recipes
    • A notification will tell you when you’ve found a new crafting material
    • Picking up an item teaches you how to craft that item. Great for when a friend gives you a tool you haven’t crafted before
    • We’d love to hear what you think of this feature, so please send us your feedback at aka.ms/MCRecipeUnlocks

Fixes and Changes

General

  • Fixed the “Communication Error” message appearing when leaving a Local Network game as the host on Nintendo Switch
  • Reduce cases where players might see ‘Unable to connect’ errors due to ‘Expired Auth from Discovery’ (MCPE-170814)

Gameplay

  • Camera position is now used for audio system listening and ambient sounds
    • Previously the player position and rotation were sometimes used for audio listening
    • This effectively flips audio panning when using ‘third person front’ camera perspective

Mobs

  • Farmer Villagers will now interact with Torchflower Seeds and Pitcher Pods. They can pick up the seeds and plant them, but they will not harvest the Torchflower or Pitcher Crop (MCPE-169758)
  • The sound played when a Camel is dashing is no longer played repeatedly (MCPE-164064)
  • Fixed issue with Jump Boost effect not affecting Magma Cubes (MCPE-54294)
  • Fixed Boats on Ice disappearing when Client-Side Chunk-Generation was enabled (MCPE-169313)
  • Mobs are back to normal despawn rate during night (MCPE-170208)
  • Camels now play a walking animation when taking damage while standing still (MCPE-166566)
  • Sniffer can no longer dig up seeds in the air
  • Mobs no longer continue to freeze without Powder Snow if there is a Powder Snow block near the west and north side (MCPE-169453)

Blocks

  • Polished Basalt and Chiseled Deepslate can no longer be replaced by Sculk during world generation
  • Polished Deepslate can now be replaced by Sculk during world generation (MCPE-160238)
  • Decorated Pots crafted with at least one Sherd now have a hover tooltip displaying the Sherd and Brick ingredients
  • Players without permission to open/close containers can no longer interact with Chiseled Bookshelves
  • The correct sound effect is now played when removing an enchanted Book from Chiseled Bookshelf (MCPE-168119)
  • Chiseled Bookshelf slot interactions are now symmetrical (MCPE-164801)
  • Cauldron water texture is now the correct version (MCPE-170427)
  • Note Block on top of Soul Soil now produces the Harp sound instead of the Snare sound
  • Shovel can no longer mine Packed Mud as fast as Pickaxe (MCPE-161207)
  • Placing blocks on Top Snow and Tall Grass while moving side to side will no longer cause them to stack up continuously (MCPE-162785)
  • Suspicious Gravel and Suspicious Sand blocks now display correctly on Maps
  • Mushrooms are now able to spawn on fallen tree trunks (MCPE-138333)
  • Conduit now has the correct lighting when placed on ground (MCPE-169732)

Items

  • Fixed black pixels being generated on maps when Client-Side Chunk Generation was enabled
  • Shield no longer clips inside the Armor Stand model while in the riposte pose

Sculk Vibrations

  • Placing, rotating, or removing an item in an Item Frame or in a Glow Item Frame now emits vibrations (MCPE-166741)
  • Charging a Respawn Anchor now emits vibrations (MCPE-157409)
  • Scraping or applying wax to blocks of the Copper block set now emits vibrations
  • Switching a Daylight Detector to an Inverted Daylight Detector, or vice-versa, now emits vibrations
  • Adding food to a Campfire now emits vibrations
  • Adding or removing a Music Disc to a Jukebox now emits vibrations
  • Mud turning into Clay now emits vibrations
  • Harvesting Sweet Berries now emits vibrations
  • Placing an Eye of Ender in an End Portal Frame now emits vibrations (MCPE-155372)
  • Bees now emit vibrations when entering or exiting a Beehive or a Bee Nest (MCPE-156199)
  • Interacting with a Composter now emits vibrations (MCPE-156199)
  • Attaching or detaching a Lead from a Fence now emits vibrations (MCPE-156199)
  • Attaching or detaching a Lead from a mob now emits vibrations (MCPE-156199)
  • Dying a Sheep now emits vibrations (MCPE-156199)
  • Picking Glow Berries now emits vibrations (MCPE-156199)
  • Farmland turning into Dirt now emits vibrations (MCPE-156199)
  • Using a Spawn Egg on a Monster Spawner now emits vibrations (MCPE-156199)
  • Silverfish merging with blocks now emit vibrations (MCPE-156199)
  • Using a Hoe on Rooted Dirt now emits vibrations (MCPE-156199)
  • Using a Shovel to create Dirt Paths now emits vibrations (MCPE-156199)
  • Placing a Door now emits vibrations
  • Planting seeds in Farmland now emits vibrations

Realms

  • Updated the contrast ratio of the close button in realms feed menu
  • Updated the contrast ratio of the New Post header banner
  • An error message is now shown when attempting to upload a cross-platform restricted world to Realms, instead of uploading a corrupted world
  • The focus indicator no longer auto selects the Find Friend button when the Members tab is selected

Accessibility

  • Improved the Xbox on-screen keyboard experience, including better positioning, updating fields with typed input, and no more screen dimming while on screen keyboard is open (MCPE-156575)
  • Added a toggle to all platforms enabling extra-large GUI scaling beyond what the GUI slider allows
  • Text-to-speech now reads item names when selecting items in the hotbar

User Interface

  • Added support for detecting Brazilian Portuguese as the preferred system language on Nintendo Switch
  • Horse and Donkey jump bar, and camel dash bar, now scale properly to the experience bar (MCPE-156444)
  • Changed the Pause Menu disconnection text to be platform agnostic
  • Fixed an issue that caused the inventory to get locked up after auto placing (MCPE-46795)
  • Imported worlds now get their last played date modified to the time they were imported
  • Reordered the gamepad tooltips for UI screens so that the buttons align with the same side as a controller

Mouse Input

  • Default chat duration is now set to 10 seconds while default toast notification duration remains at 3 seconds
  • Improved handling of simultaneous mouse clicks, triggering each individual associated action/response
  • Fixed issues with unresponsive or laggy input when using mouse together with a controller (MCPE-167447)
  • Text-to-speech now reads “Slash button” when hovering over the “/” button in the chat screen

Graphical

  • Fixed issues with highlighted blocks and mob shadows appearing through the Pumpkin head overlay on Switch
  • Rendering of snow or rain is now based on camera position instead of player position
  • Shields no longer flicker when held in both hands on RTX
  • Fixed sleep and camera fade effect not covering the screen until after first-person rendering happens
  • Underwater and fog effects are now based on camera position rather than player position
  • Fancy Leaves setting is now applied immediately and will no longer cause x-ray effect (MCPE-123608)
  • Fixed player capes not properly flapping when moving forward but looking sideways (fixed for real this time!) (MCPE-153446)

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.10 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

Dedicated Server

  • Note for Linux users: Ubuntu 18.04 LTS (Bionic Beaver) will reach End of Standard Support in 2023. Accordingly, the Linux Minecraft Dedicated Server will also raise its minimum target Ubuntu version to 20.04 LTS (Focal Fossa) in a later 1.20 update (exact release to be determined). Minecraft server operators using Ubuntu are encouraged to prepare for this transition by updating their deployments to 20.04 LTS as soon as possible.
  • Fixed invalid entries in allowlist.json causing a crash (BDS-18133)

Stability and Performance

  • Invalid JSON objects within the entity component “minecraft:behavior.nearest_attackable_target” will no longer crash the game (MCPE-168129)
  • Fixed a crash that could occur when running the “go_and_give_items_to_noteblock” goal
  • Fixed a crash that could occur when attempting to change a mob’s scale while it was colliding with blocks (MCPE-170645)

Add-Ons and Script Engine

  • Added deprecation error message for the part_visibility component (the bone_visibility field in the geometry component should be used instead, see block documentation for more information)
  • Fixed an issue where adding a minecraft:peek component to a custom entity would cause the game to crash

Commands

  • /time query command will now return the correct day and time of day when the absolute time is negative
  • Executing the “inputpermission set” command will now output a message to the chat with the results (MCPE-168368)
  • Executing the “inputpermission set” command will now result in an error if it does not affect any players
  • Command positions will now use the current position/rotation when running mcfunctions via execute
  • Fixed issue where some execute commands stopped working on Realms (MCPE-169974
  • The “hasitem” target selector argument now counts items held with the cursor (MCPE-152002)
  • Commands will still work with “concrete”, but “concrete” won’t be suggested in the command prompt, rather the new names will
    • “concrete” block is now split into unique instances, namely “white_concrete”, “orange_concrete”, “magenta_concrete”, “light_blue_concrete”, “yellow_concrete”, “lime_concrete”, “pink_concrete”, “gray_concrete”, “light_gray_concrete”, “cyan_concrete”, “purple_concrete”, “blue_concrete”, “brown_concrete”, “green_concrete”, “red_concrete”, and “black_concrete”
  • Java Parity: Block states in commands will use equals instead of colon in version 1.20.0 and later. For example using the setblock command: /setblock ~ ~ ~ oak_log[“pillar_axis”=”x”] (MCPE-168056)
  • Block states with equals don’t require a space to show autocomplete options (MCPE-168056)

Components

  • Added a content error when minecraft:balloonable is used on minecraft:player to prevent issues as this component is not supported in this way (MCPE-164495)

Entities

  • Custom entities are no longer restricted to overriding Vanilla entities released before 1.20. All Vanilla entities can be used in the “identifier” or “runtime_identifier” field, including Camel and Sniffer

Blocks

  • Updated the “minecraft:geometry” block component to allow bone visibility to be defined with a Molang expression
  • Converted “properties” to “states” for custom blocks

Items

  • Released the minecraft:cooldown item component out of experimental in json formats 1.20.10 and higher
  • Released the minecraft:repairable item component out of experimental in json formats 1.20.10 and higher
  • Items with the “minecraft:block_placer” component will now place blocks with correct orientation
  • Released the “minecraft:max_stack_size” item component out of experimental in json formats 1.20.10 and higher
  • Custom items with “minecraft:block_placer” will no longer place certain blocks in the wrong location
  • Released the “minecraft:block_placer” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:record” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:can_destroy_in_creative” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:hover_text_color” item component out of experimental in json formats 1.20.10 and higher

Experimental Technical Features

Add-Ons and Script Engine

  • Camera Presets can now specify “listener”:”player” to have the audio system use the player position for audio positioning
    • Added “example:example_player_listener” Camera Preset to demonstrate this option
  • Actually fixed the bug that caused player capes to stop flapping when moving forward but looking sideways in the query.cape_flap_amount by switching the rotation used from the player’s looking rotation to the player’s body rotation (MCPE-153446)
  • Observer blocks use state “minecraft:facing_direction” instead of “facing_direction“. “minecraft:facing_direction” uses string values (“down”, “up”, “north”, “south”, “east”, “west”)

API

  • Dynamic properties can now optionally have default values
  • Increased Dynamic Property registration limits:
    • Actors: ~1KB -> 128KB
    • World: ~10KB -> 1MB
  • ScreenDisplay
    • Removed clearTitle()– Use setTitle with an empty string to clear the title
    • Updated fadeInSeconds, staySeconds, fadeOutSeconds to fadeInDuration, stayDuration, fadeOutDuration on TitleDisplayOptions (seconds to ticks)
    • Updated setTitle to reset the times per each new title
    • Added RawMessage support for setTitle, updateSubtitle, and setActionBar
  • Entity additions
    • Added read-only property isGliding – Returns whether the player is gliding with Elytra
    • Added read-only property isJumping – Returns whether the player is using the jump action
    • Added read-only property isFlying – Returns whether the player is flying (e.g. Creative or Spectator mode)
    • Added read-only property isSprinting – Returns whether the entity is sprinting
    • Added read-only property isSwimming – Returns whether the entity is swimming
    • Added read-only property isClimbing – Returns whether the entity is climbing (e.g. Player on a ladder or Spider on a wall)
    • Added read-only property isOnGround – Returns whether the entity is on the ground
    • Added read-only property isInWater – Returns whether the entity is in water
    • Added read-only property isFalling – Returns whether the entity is falling
    • Added read-only property fallDistance – Returns the current fall distance (Used for calculating fall damage)
    • Added function fly – Makes the player fly (e.g. Creative or Spectator mode)
    • Added function stopFlying – Makes the player stop flying (e.g. Creative or Spectator mode)
    • Added function glide – Makes the player glide with Elytra
    • Added function stopGliding – Makes the player stop gliding with Elytra
    • Added function swim – Makes the player swim
    • Added function stopSwimming – Makes the player stop swimming
  • Entity additions (effects)
    • Updated function addEffect(effectType: EffectType | string, duration: number, options?: EntityEffectOptions): void to return void and to throw if the effect does not exist or the parameters are out of bounds
    • Updated function getEffect(effectType: EffectType | string): Effect | undefined to throw if the effect does not exist
    • Updated function removeEffect(effectType: EffectType | string): boolean to throw if the effect does not exist
  • BlockEvents
    • Added events ‘PressurePlatePushEvent’, ‘PressurePlatePopEvent’, ‘TargetBlockHitEvent’, and ‘TripWireTripEvent’
  • ContainerSlot
    • Removed function clone – Please use function getItem instead
  • EntityHealableComponent
    • Removed filters: FilterGroup property
  • EntityAttributeComponent
    • Added effectiveMin: number property. Returns the minimum possible value for the component
    • Added effectiveMax: number property. Return the maximum possible value for the component
    • Renamed value property to defaultValue
    • Renamed current property to currentValue
    • Renamed setCurrent method to setCurrentValue
  • Added EntityHealthChangedAfterEvent. It is triggered when any health change happens for an Entity
  • System
    • Replaced system.events with system.beforeEvents and system.afterEvents
    • Renamed event beforeWatchdogTerminate to watchdogTerminate and moved it to system.beforeEvents
    • Moved scriptEventReceive to system.afterEvents
  • MessageReceiveAfterEvent
    • Removed property sourceType
  • ScriptEventSource
    • Replaced enum MessageSourceType with a new enum ScriptEventSource
  • ScriptEventCommandMessageAfterEvent
    • Changed property sourceType from MessageSourceType to ScriptEventSource
    • Increased maximum message length from 256 to 2048 characters
  • Dynamic Property identifiers are now limited to 1024 characters
  • Removed MinecraftEffectTypes defined in @minecraft/server. See @minecraft/vanilla-data NPM package for an equivalent
  • Moved several APIs to stable 1.30:
    • Moving tryTeleport(location: Vector3, duration: number, options: ScriptTeleportOptions) to 1.3.0
    • Moving teleport(location: Vector3, options: ScriptTeleportOptions) to 1.3.0
    • Moved function getComponent to 1.3.0
    • Moved world event PlayerJoinAfterEvent to 1.3.0
    • Moved world event PlayerLeaveAfterEvent to 1.3.0
    • Moved world event PlayerSpawnAfterEvent to 1.3.0
    • Moved EntityComponent EntityHealableComponent to 1.3.0
    • Moved EntityComponent EntityHealthComponent to 1.3.0
    • Moved class FeedItem to 1.3.0
    • Moved class FeedItemEffect to 1.3.0
    • Moving addEffect(effectType: string | EffectType, duration: number, options: EntityEffectOptions) to 1.3.0
    • Moved getEffect(effectType: string | EffectType) to 1.3.0
    • Moved getEffects() to 1.3.0
    • Moved removeEffect(effectType: string | EffectType) to 1.3.0
    • AfterEvents
      • Moving ButtonPushEvent to 1.3.0
      • Moving LeverActivateEvent to 1.3.0
    • Moved function spawnEntity to 1.3.0
    • Moved function spawnItem to 1.3.0
  • Spawn Point Updates:
    • Removed function clearSpawn
    • Removed property spawnDimension
    • Added function getSpawnPoint(): DimensionLocation | undefined – Returns the player’s spawn point
    • Added function setSpawnPoint(spawnPoint?: DimensionLocation): void – Sets the player’s spawn point, or clears it if spawnPoint is undefined
    • Renamed function getDefaultSpawnPosition to getDefaultSpawnLocation
    • Renamed function setDefaultSpawn to setDefaultSpawnLocation
  • DimensionLocation
    • Added new interface DimensionLocation – Represents a location in a dimension
  • Added hasParticipant function to ScoreboardObjective.
  • The following functions in ScoreboardObjective can now accept Entity or string types as participants:
    • getScore
    • setScore
    • removeParticipant
  • Removed getScoresetScore from ScoreboardIdentity and Scoreboard
  • Removed the removeFromObjective function from ScoreboardIdentity
  • Fixed bug where scoreboard values would not be updated on the client when updated from script
  • Raycasting
    • Changed function Dimension.getBlockFromRay
      • Changed return type from Block to BlockRaycastHit | undefined
    • Changed function Dimension.getEntitiesFromRay
      • Changed return type from Entity[] to EntityRaycastHit[]
    • Changed function Entity.getBlockFromViewDirection
      • Changed return type from Block to BlockRaycastHit | undefined
    • Changed function Entity.getEntitiesFromViewDirection
      • Changed return type from Entity[] to EntityRaycastHit[]
    • Added interface BlockRaycastHit
    • Added interface EntityRaycastHit
  • Renamed leverActivate after event to leverAction
    • Removed class EntityHitAfterEvent.
    • Added class EntityHitBlockAfterEvent
    • Added class EntityHitEntityAfterEvent
    • Class WorldAfterEvents
      • Removed property entityHit
      • Added property entityHitBlock
      • Added property entityHitEntity
  • Added helper function isValid() to several classes in order to check if the object is valid. This can safely be used on any handle to a native object before accessing or using the object, to ensure the underlying object still exists and is valid to use
    • Block (checks the block is a valid position in bounds and the containing chunk is loaded & ticking)
    • Container (checks the relevent container inventory exists and is valid)
    • Effect (checks the owning entity is valid and the effect exists on that entity)
    • ScreenDisplay (checks the owning player is valid)
    • ScoreboardObjective (checks the objective entry exists and is attached to a valid scoreboard)
    • Entity (checks that the entity exists in the world. Will return true if the entity is dead)
      • Player
      • SimulatedPlayer (Note simulated players do not automatically get removed from the world, so isValid will return true long after they are dead)
    • ContainerSlot (checks the item context is valid: Container exists in the world, such as the owning entity, and the slot is within the container bounds)
      • Already existed as a read-only property, changed to a method for consistency
  • Component
    • EntityAttributeComponent (checks the owning entity is valid and the attribute exists on the entity)
    • BlockLiquidContainerComponent (checks block exists and is a valid cauldron type)
      • Added read only method isValidLiquid which checks if the liquid in the cauldron matches the component in question (EG. BlockLavaContainerComponent checks for lava liquid)
    • EntityComponent (checks the owning entity exists)
    • ItemComponent (checks the owning item exists)
  • World
    • Renamed getTime to getTimeOfDay
    • Renamed setTime to setTimeOfDay
    • setTimeOfDay now accepts a TimeOfDay enum as an argument
    • The timeOfDay argument for setTime must now be within 0-23999 (inclusive)
    • Added getDay function
  • Updated the following enums’ values to be PascalCase instead of camelCase:
    • ClipboardMirrorAxis
    • ClipboardRotation
    • HttpRequestMethod
    • FormCancelationReason
    • Direction
    • DisplaySlotId
    • EntityLifetimeState
    • FluidType
    • ObjectiveSortOrder
    • ScoreboardIdentityType
    • ScriptEventSource
    • SignSide
    • WatchdogTerminateReason
    • WeatherType

Camera

  • Changed camera command fade color to take integer values from 0 to 255 rather than 0.0 to 1.0 fractional values
  • Camera fade command now enforces fade duration limits; fade in, hold, and fade out must be between 0 and 10 seconds
  • Ensuring camera pitch can only be between -90 and 90 degrees when using the /camera command
  • Camera preset JSON now supports an optional bool ‘player_effects‘ value which causes game rendering to use player effect state (for example night vision) when this preset is active. Added the “example:example_player_effects” preset to demonstrate this
  • Camera command can now take a ‘facing’ option instead of a ‘rot’ option with a target entity or position specified
  • Fixed custom cameras to not use the ‘inside block’ effect when player head is inside a block (MCPE-170206)
  • Limit free cam JSON to not pitch camera beyond plus or minus 90 degrees
  • Fixed /camerashake command to shake camera without also shaking player
  • Rendering of experimental minecraft:free camera no longer affected by player state like night vision

Items

  • Items in format version 1.20.10 and above with the ”minecraft:throwable” component will trigger Item Use events when thrown
  • Custom items with “minecraft:block_placer” will no longer place certain blocks in the wrong location
  • Changed “minecraft:shooter” to only consume ammo when charging the item if “charge_on_draw” is set “true
  • Items with the “minecraft:block_placer” component will now place blocks with correct orientation
  • Deprecated “minecraft:render_offsets” component in json formats 1.20.10 and higher
  • Changed charging action behavior in “minecraft:shooter” to match Vanilla crossbow
  • Changed shooting behavior for a charged “minecraft:shooter” with an empty inventory/offhand to successfully shoot the charged ammunition
  • Released the “minecraft:shooter” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:throwable” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:projectile” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:can_destroy_in_creative” item component out of experimental in json formats 1.20.10 and higher
  • Released the “minecraft:hover_text_color” item component out of experimental in json formats 1.20.10 and higher
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.1

  • Release date: June 21st 2023 (North America, Europe) / June 22nd 2023 (Japan)
  • Patch notes:
  • Improved the reliability of unlocking achievements on Nintendo Switch (MCPE-163948)
  • Boats now retain the ability to carry passengers when a world is upgraded to Trails & Tales (MCPE-169772)
    • Boats that were affected by this bug can once again carry passengers
  • Fixed a bug that caused Pressure Plate’s deactivation delay to be inconsistent (MCPE-171429)
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.20.0 (Trails & Tales Update)

  • Release date: June 7th 2023 (North America, Europe) / June 8th 2023 (Japan)
  • Patch notes:

New Features

Archaeology

  • Added a craftable Brush item
  • Added Suspicious Sand and Suspicious Gravel
    • Suspicious Sand can be found in Desert Temples, Desert Wells and Warm Ocean Ruins
    • Suspicious Gravel can be found in Cold Ocean Ruins and Trail Ruins
    • These fragile blocks are hard to spot and easy to destroy, so be careful!
    • Brushing Suspicious Sand or Suspicious Gravel with a Brush will extract objects that were buried long ago
  • Added the Trail Ruins, a buried structure from a lost culture
    • Four types of Armor Trim Templates can be found here
    • Trail Ruins can be found in Taigas, Snowy Taigas, all Old Growth forest biomes, and Jungles
    • A new music disc can be found by brushing suspicious blocks in this structure
      • When put in a Jukebox, “Relic” by Aaron Cherof is played
  • Added Pottery Sherds
    • Pottery Sherds have pictures on them
    • A total of 20 sherds have been distributed between the 5 Archaeology sites: Desert Wells, Desert Temples, Cold Ocean Ruins, Warm Ocean Ruins, and Trail Ruins
    • They cannot be crafted, and are only found by brushing Suspicious Sand or Suspicious Gravel

Decorated Pots

  • Crafting four Pottery Sherds together will create a Decorated Pot with a picture on each side
  • Brick items can be used instead of Pottery Sherds in the Decorated Pot recipe
    • The sides that were made from Brick items will not have pictures
  • Smash a Decorated Pot with any block-breaking tool to break it apart and get the Pottery Sherds back
    • Hitting the pot with bare hands, silk touch tools, or any other item will drop an intact pot instead
  • Crafted Decorated Pots with at least one pattern have a hover tooltip displaying the Sherd & Brick ingredients

Cherry Groves

  • Added a new Cherry Grove biome, with pretty cherry blossom trees
    • The biome can be found in the mountains, in similar places as Meadows
  • Added a new Cherry wood set, with all the corresponding wooden things you can craft from it
  • Pink particles fall from beneath Cherry Leaves
  • Added a new Pink Petals block with lots of pink flowers on the ground
    • Each Pink Petal block can contain up to 4 petals
    • Using Bone Meal on it increases the number of petals
    • Placing a Pink Petal into an already placed block increases the number of petals
    • Drops the number of petals in the block when mined
    • Updated the seed picker with a Cherry Grove biome option

Bamboo Wood Set

  • Added a new Bamboo wood set, with all the corresponding wooden things you can craft from it
  • Block of Bamboo can be crafted from 9 Bamboo and can be stripped like other wood logs
  • Bamboo Planks crafted from Block of Bamboo yield only 2 planks compared to 4 for wood logs
  • Added a new “Mosaic” plank variant that is unique to Bamboo called the Bamboo Mosaic
    • It can be crafted with 1×2 Bamboo Slabs in a vertical strip
    • You can craft Stair and Slab variants of Bamboo Mosaic
    • Bamboo Mosaic blocks cannot be used as a crafting ingredient where other wooden blocks are used, but they can be used as fuel
  • Added a unique Bamboo Raft and Bamboo Chest Raft which can be crafted like normal boats, but with Bamboo Planks
    • They function the same as ordinary boats, but have a unique look to them

Hanging Signs

  • Hanging Signs are a more expensive version of normal Signs
    • Crafted with 2 chains and 6 stripped logs of your preferred wood type
    • Crafting results in 6 Hanging Signs
  • Can be hung up in the following ways:
    • Underneath a block that can provide support in the center, like a full block or a fence
    • Attached to the solid side of a block
    • Attached to the side or underneath another Hanging Sign
  • Unlike normal Signs, they cannot be placed directly on the ground without support from the side or above
    • However, Hanging Signs that have a horizontal bar will not pop when the supporting block is removed

Sign Improvements

  • Sign text can now be edited after being placed in the world
    • This can be done by interacting with the Sign
    • Signs with non-text chat components can not be edited
  • Both sides of the Sign can now have separate text and colors, allowing for further customization options
    • By default, a Sign will prompt you to input the front side’s text when placed
    • To apply text to the back-side, you must walk to the other side and interact with that face to edit it
  • Signs can now also be waxed with Honeycomb, preventing any further edits to its text
  • It is no longer possible to use Ink Sac, Glow Ink Sac, or Dyes if the Sign text is empty (MCPE-133778)

Sniffer

  • The Sniffer is the mob vote winner of Minecraft Live 2022
  • Sniffers are passive, friendly mobs
  • Sniffers sniff the air and occasionally dig for seeds, which produces a Torchflower Seed or a Pitcher Pod item
  • Sniffers can only dig grass and dirt-like blocks
  • Sniffers can be tempted by, and bred with Torchflower Seeds

Sniffer Egg

  • Can be found by brushing the Suspicious Sand of Warm Ocean Ruins
  • When two Sniffers breed they do not immediately spawn a Snifflet; instead, a Sniffer Egg is dropped
  • When placed in the world, the Sniffer Egg will hatch after some time
    • When placed on Moss, the Egg will hatch in approximately 10 minutes
    • On all other blocks, it will hatch in approximately 20 minutes

Torchflowers

  • The Sniffer can occasionally sniff up a Torchflowers seed, and it can be used to breed two Sniffers
  • The Torchflower seed can be planted on Farmland and grows into a Torchflower
  • The full-grown flower can be harvested and replanted
  • The Torchflower can be crafted into Orange Dye

Pitcher Plant

  • The Sniffer can occasionally sniff up a Pitcher Pod item
  • The Pitcher Pod, when planted on Farmland, grows into a Pitcher Crop
  • The Pitcher Crop has five growth stages
  • Once fully grown, the Pitcher Crop can be harvested, yielding a two-block-tall Pitcher Plant
  • The Pitcher Plant can be crafted into Cyan Dye

Smithing

  • Smithing Tables have been redesigned into a workstation for physical equipment upgrades and modifications
  • Alongside slots for combining a piece of equipment and materials, there is now a required slot for an item type called Smithing Template
  • Smithing Templates define what type of upgrade you will be making to a piece of equipment
    • It specifies both what type of items you can upgrade, and which ingredients are valid to customize the upgrade
    • There are currently two categories of Smithing Templates: Armor Trim and Netherite Upgrade
  • Smithing Templates are consumed when used to upgrade an item in the Smithing Table
  • You can craft a copy of a Smithing Template in the Crafting Table with 7 diamonds + 1 block of material that the template is made out of + 1 smithing template, which will output 2 of the same Smithing Template

Armor Trims

  • You can now visually customize your armor with a variety of unique trims at the Smithing Table
  • Armor trims are purely visual with no gameplay benefits
  • Armor trims can be applied to Helmets, Chestplates, Leggings and Boots
    • All trim patterns are visually the same on an armor’s item icon, but the color will still change based on the trim material
    • To check which trim pattern a piece of armor has, you can hover over it in the inventory
  • Armor Trim Smithing Templates can be found all throughout the world, and each of the following structures contain their own unique Smithing Templates:
    • Trail Ruins: Wayfinder, Raiser, Shaper, and Host Armor Trims
    • Pillager Outpost: Sentry Armor Trim
    • Desert Pyramid: Dune Armor Trim
    • Shipwreck: Coast Armor Trim
    • Jungle Temple: Wild Armor Trim
    • Ocean Monument: Tide Armor Trim
    • Ancient City: Ward and Silence Armor Trims
    • Woodland Mansion: Vex Armor Trim
    • Nether Fortress: Rib Armor Trim
    • Bastion Remnant: Snout Armor Trim
    • Stronghold: Eye Armor Trim
    • End City: Spire Armor Trim
  • Smithing Templates are found in chests in their respective structure
    • Trail Ruins have no chests, Smithing Templates are instead found by brushing Suspicious Gravel
    • The Ocean Monument has no chests, Elder Guardians sometimes instead drop a Smithing Template upon death
  • Some Armor Trim Smithing Templates are rarer than others, so be on the lookout for them to impress your friends!
  • An armor trim has two properties: a pattern and a material
    • The pattern is defined by the Smithing Template used to apply the trim, and represents the visual pattern of the trim
    • The material is defined by which ingredient you used to apply the trim, and controls the color of the trim
  • The viable ingredients you can use to define the color of your armor trim are the following:
    • Iron, Copper, Gold, Lapis, Emerald, Diamond, Netherite, Redstone, Amethyst, Quartz

Netherite Equipment

  • Netherite equipment crafting now also requires a Netherite Upgrade Smithing Template
  • Netherite Upgrade Smithing Templates can be found randomly in all Bastion Remnant chests
    • Every Treasure Room Bastion Remnant will contain 2 Smithing Templates
  • This change was made for a variety of reasons:
    • Increase the time players utilize Diamond equipment before Netherite
    • Make Netherite equipment more significant achievement in the game’s progression
    • Adapt Netherite more naturally into the new Smithing Table crafting system

Camel

  • Camels can be equipped with a Saddle and ridden by two players
  • Camels spawn naturally when Desert Villages generate
  • Camels can be tempted by holding Cactus
  • Feed Cactus to Camels to breed them
  • Camels are tall
    • Most hostile mobs will not be able to reach you when you are on a Camel
    • They can walk over Fences and Walls
  • Camels randomly sit down
    • While sitting, it is difficult to convince them to move
  • Camels can either walk slowly or sprint quickly
  • They can also dash forward but will lose stamina for a while when doing so

Chiseled Bookshelf

  • A new, chiseled variation of the Bookshelf
  • Crafted with 6 Planks and 3 Wooden Slabs
  • Can store Books, Book and Quills, and Enchanted Books
    • Holds up to 6 Books
    • Keeps the stories and lore of your world safe
    • Books can be removed and added to specific slots on the Chiseled Bookshelf
  • Comparators can detect the last book placed/removed
    • Perfect for hiding secrets in your spooky library
  • Works with Hoppers

Shield Customization

  • A top Vanilla Parity feature request! A Shield can now be combined with a Banner to apply its pattern on it
    • The banner is consumed on use
    • A Shield can be combined with a Banner only if no pattern was previously applied

New Music

  • Added the following new music tracks by Aaron Cherof to Cherry Groves, Desert, Jungle, Mesa, and Flower Forest biomes:
    • A Familiar Room
    • Bromeliad
    • Crescent Dunes
    • Echo in the Wind
  • Added a new music disc which can be acquired by brushing suspicious blocks in Trail Ruins. When put in a Jukebox, Relic by Aaron Cherof is played

Calibrated Sculk Sensors

  • A new variant of Sculk Sensors which allows you to filter vibrations based on their frequency level
  • They are not found naturally and can only be crafted with 1 Sculk Sensor and 3 Amethyst Shards in the Crafting Table
  • One side of the Calibrated Sculk Sensor can receive a redstone signal as input
    • The strength of that redstone signal is the only vibration frequency the Sculk Sensor will listen to
  • They have a combined active and cooldown phase that lasts 20 game ticks
    • They output their redstone signal for the first 10 game ticks
  • They can detect vibrations up to 16 blocks away

Sculk Sensor Phases

  • Sculk Sensors and Calibrated Sculk Sensors now have three phases: Inactive, Active, and Cooldown
  • The default phase is Inactive
    • This phase lasts indefinitely until the block receives a vibration
    • During this phase, the block is able to listen to nearby vibrations until one has been scheduled
  • When a scheduled vibration is received, the block switches to the Active phase
    • This phase lasts 30 game ticks for Sculk Sensors, and 10 game ticks for Calibrated Sculk Sensors
    • During this phase, the block stops listening to nearby vibrations, wiggles its tendrils, and emits a Redstone signal and light
  • After the Active phase has finished, the block switches to a Cooldown phase
    • This phase lasts for 10 game ticks
    • During this phase, the block keeps wiggling its tendrils, but no longer emits a Redstone signal nor light
    • Finally, once this phase is finished, the block will switch back to the Inactive phase
  • Previously, these phases had different timings:
    • The Active phase lasted 40 game ticks for Sculk Sensors and 20 game ticks for Calibrated Sculk Sensors
    • There was no Cooldown phase
  • These phase timings were tweaked so that it is less common for activated contraptions to recursively activate the Sculk Sensor that powered them

Vibration Resonance

  • Blocks of Amethyst have a new behavior when placed adjacent to Sculk Sensors
    • If that Sculk Sensor receives a vibration, the Block of Amethyst will re-emit its frequency as a separate vibration at its location
  • This behaviour is called Vibration Resonance, and allows players to move vibration frequencies across long distances without having to recreate the vibration naturally

Vibration Frequencies

  • With the addition of Calibrated Sculk Sensors, vibration frequencies have been greatly simplified to prevent unwanted interference
  • The following are category descriptions for each frequency and the expected events that they correspond to:
    • Movement in any medium (land, liquid or air)
    • Landing on any surface (land or liquid)
    • Item interactions
    • Gliding with an Elytra or unique mob actions (Ravager roaring, Wolf shaking, etc.)
    • Equipping gear
    • Interacting with a mob
    • Mobs and players getting damaged
    • Consuming items (drinking and eating)
    • Blocks ‘deactivating’ (Door closing, Chest closing, Button unpressing, etc.)
    • Blocks ‘activating’ (Door opening, Chest opening, Button being pressed, etc.)
    • Blocks changing (Cauldron water level rising, adding food to a Campfire, etc.)
    • Blocks being destroyed
    • Blocks being placed
    • Mobs and players spawning
    • Mobs and players dying or an explosion

Playable Mob Sounds

  • When placing a Mob Head on a Note Block, that Note Block will now play one of the ambient sounds of that mob when played by a player or powered by Redstone
  • Mob Heads can be placed on top of Note Blocks without sneaking

Piglin Mob Head

  • Piglins will now drop their heads when killed by a charged Creeper
  • Placing the Piglin head on a Note Block will play one of the Piglin’s ambient sounds
  • The Piglin head will flap its ears when powered by Redstone, or when worn by a player while walking

New Achievements

  • Smithing with Style – Apply these smithing templates at least once: Spire, Snout, Rib, Ward, Silence, Vex, Tide, Wayfinder
  • Planting the Past – Plant any Sniffer seed
  • Careful Restoration – Make a Decorated Pot out of 4 Pottery Sherds

Known Issues

  • Boats that have been placed before today’s update may not function correctly until they have been broken and placed again, and any mobs inside boats may be ejected when loading your world for the first time. We hope to have this issue resolved soon, but you may wish to keep a backup copy of your world just in case – thanks for your patience!

Fixes and Changes

General

  • Splitscreen players are no longer disconnected when one leaves (MCPE-168695)
  • iOS now requests Local Network access in order to find games on the local network
  • Added a progress handler when loading into a world that will wait up to a total of 15 seconds for the primary player’s appearance to load
  • Improved the time it takes to start up and load into the start screen
  • Fixed an issue where a locally hosted dedicated server was not found by clients on the same machine

Gameplay

  • Flying is no longer disabled when flying under Stairs (MCPE-168999)
  • Fixed fall damage accumulating when the player jumped on a roofed Soul Sand Bubble Column
  • Players no longer take fall damage when falling through water at high speeds (MCPE-152485)
  • After choosing the Main Menu option on the death screen, the player hitbox is now the correct size when returning to that world (MCPE-167045)
  • Distinct green particles are now emitted by the player under effect of Hero of the Village status effect

Mobs

  • Ghasts now shoot fireballs out of their mouth instead of at eye level (MCPE-35202)
  • Boots and Leggings no longer cause z-fighting when worn by humanoid mobs and Armor Stands
  • Mobs are now correctly positioned above the surface of Bamboo Rafts when riding them
  • Bees no longer make the player eating sound when eating (MCPE-169567)

Sculk Blocks

  • Sculk Sensors now power the block below them when active
  • Waterlogging a Sculk Shrieker will now silence its shriek sounds (MCPE-169563)
  • The sounds emitted by players and mobs stepping, falling, jumping, or landing on top of Sculk Sensors are now affected by the “Players” sound slider
  • Any item use, like using a Brush or Spyglass or eating an Apple now send item interact events that cause vibrations picked up by Sculk Sensors and Wardens

Blocks

  • Wooden Logs generated in Woodland Mansions now have the correct facing (MCPE-168387)
  • Removed redundant ‘lava_cauldron’ block that could be placed using commands (MCPE-39974)
  • Sugar Cane and Bamboo can now be placed on Moss Block
  • Conduit block now respects the lighting conditions when held in-hand or dropped
  • Top and bottom Door textures now rotate correctly when opened and closed for worlds versioned from 1.20 onward (MCPE-152926)
  • Sugar Cane no longer generates an air pocket when generated underwater (MCPE-161096)
  • Fixed an issue where a Piston could become invisible in rare cases
  • Woodland Mansion’s entrance now uses Cobblestone Slabs (MCPE-169038)
  • Iron Bars and Glass Panes now can connect to Pistons (MCPE-64745)
  • Dead Bushes can now be placed on Grass Blocks and Moss Blocks (MCPE-125931)
  • The map color for Black Terracotta now matches Java Edition (MCPE-166791)
  • Players no longer fall through Farmland Blocks after jumping on them
  • Players no longer fall through Mud Blocks or Farmland Blocks if they are standing on the block as it becomes a complete block (MCPE-164677)
  • Fixed an issue where placing blocks while sneaking on an interactable block was not working as intended with client authoritative movement (MCPE-168280)
  • Fixed an issue where an Armor Stand’s pose would not change when right-clicked while the player had sneak held and flying (MCPE-168548)
  • Weighted Pressure Plates now update their signal strength immediately when multiple items are placed on top (MCPE-156773)

Items

  • Fixed a bug where item in Item Frames could be too small in some world templates (MCPE-163399)
  • Broken and unbroken Elytra now render in-hand, in the world, and in Item Frames with the correct icon (MCPE-19700)

Realms

  • Changed the text font of the placeholder text in the New Post menu
  • Changed the text from “A 10 Player Realm” to “10 Players” in the card for 10 Player Realm in the Settings -> Subscription Tab
  • Realms now appear immediately on the list in the Friends tab after entering an invite code
  • Fixes an issue that prevented a Realm from being reset
  • Changed the Realms purple gradient background to be darker
  • Fixed an issue where a Realm would generate structures that local worlds would not
  • Added a focus indicator to FAQ sections when using keyboard and mouse
  • Hid the ‘Download World’ button when there is no backup available
  • Fixed a bug where the Manage Subscriptions list would not populate when navigated to from a Realm’s ‘Manage Realm’ page

Accessibility

  • Added new “Chat Message Duration” accessibility setting to change how long chat messages remain on screen (3 seconds by default)
  • Renamed “Notification Duration” to “Toast Notification Duration” and fixed an issue were the setting had no affect on how long toasts remained on display
  • The four Creative Inventory tabs now have their names read out by text-to-speech
  • Screen reader now describes function of “Delete World” button in the Storage menu
  • Tweaked the contrast of the text inside of header for list of worlds in the Storage Settings menu
  • Potions, Tipped Arrows, and mob effects have had their colors adjusted to make them more distinguishable from each other (MCPE-168357)

User Interface

  • Added new Trails & Tales splash screen text and loading screen tips
  • Added new Trails & Tales main menu background
    • View now rotates clockwise and is tilted down unless a global resource pack replaces the cubemap background
  • Loading animation for adding friends is now the correct size (MCPE-159261)
  • The block type icon now appears in the Command Block UI screen (MCPE-159970)
  • The game no longer shows a retry cloud sync prompt when encountering an out of space error (MCPE-162455)
  • Screen UI now always has a focus in control when using a controller
  • Doubled the resolution of world thumbnail images
  • Changed the world tag to no longer display “-experimental” on worlds that only use the Holiday Creator Features experiment
  • Button sounds will no longer sometimes occur when clicking a disabled button (MCPE-141124)
  • Added exclamation marks to certain splash texts that were missing to match Java Edition (MCPE-165962)
  • Fixed capitalization in title of Behavior Pack message modal (MCPE-156331)
  • Fixed a bug where respawning in VR sometimes softlocked players on the death screen
  • Text shadowboxes now have the correct opacity on interactable block screens
  • Marketplace and Dressing Room cycle buttons now show navigation chevron when using a controller and controller hints are disabled (MCPE-147711)
  • Fixed that the multiplayer toggle in the Create New World screen sometimes wasn’t greyed out even though the setting would have no effect
  • Fixed a graphical issue where a gamepad icon would display over another screen

Touch Controls

  • Fixed issues with keyboard navigation on some menu screens on iOS and Android

Graphical

  • Fixed a crash when enabling ray tracing in ray tracing compatible content that was loaded into with ray tracing turned off
  • Fixed an issue in RTX where underwater light shafts from the moon would originate from the opposite angle of the moon sprite (MCPE-118898)

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

General

  • Fixed “get_equipped_item_name” Molang query not being able to return the old name of some flattened items, eg. red_wool, to wool
  • Introduced new entity filters “all_slots_empty” and “any_slot_empty” to allow searching for empty item slots in a designated equipment location (MCPE-153909)
  • The minecraft:friction component is no longer ignored when calculating ground friction
  • Added spawn_item_event event to minecraft:spawn_entity component. This event is called when an item is spawned
  • Attribute “speed_multiplier” in the “minecraft:boostable” component is now being parsed correctly from json file. Old behavior is maintained for “format_version” lower than 1.20 with 1.35 value rather than what the json file specifies (MCPE-164424)
  • Fixed incorrect content warnings for recipes that used the same blocks but with different data (MCPE-168717)
  • Fixed custom textures that override vanilla blocks with aux metadata as a list of textures

Dedicated Server

  • Note for Linux users: Ubuntu 18.04 LTS (Bionic Beaver) will reach End of Standard Support in 2023. Accordingly, the Linux Minecraft Dedicated Server will also raise its minimum target Ubuntu version to 20.04 LTS (Focal Fossa) in a later R20 update (exact release to be determined). Minecraft server operators using Ubuntu are encouraged to prepare for this transition by updating their deployments to 20.04 LTS as soon as possible.
  • Content logs now show in dedicated server console window with a configurable log level using these new server properties:
    • content-log-level – Sets the minimum level for content logs to output. Allowed values: “verbose”, “info”, “warning”, “error”. Default: info
      • Note: This log level also affects content logs written to disk when using content-log-file-enabled=true
    • content-log-console-output-enabled – Enables or disables content log output to the console window. Default: info

Commands

  • Has item command selector now correctly detects whether or not an actor has a filled Map or Firework Star in their inventory
  • The “inputpermission” command now has a description displayed in the command dialogue preview
  • When typing a slash command, auto-complete no longer suggests block-states that are already part of the typed command (MCPE-168055)
  • Improved performance when preparing commands, most noticeable when opening the command window for the first time in a world, but also when loading Command Blocks for old command versions
  • “carpet” block is now flattened into unique variants of 16 colors, namely “white_carpet”, “orange_carpet”, “magenta_carpet”, “light_blue_carpet”, “yellow_carpet”, “lime_carpet”, “pink_carpet”, “gray_carpet”, “light_gray_carpet”, “cyan_carpet”, “purple_carpet”, “blue_carpet”, “brown_carpet”, “green_carpet”, “red_carpet”, “black_carpet”
    • Commands will still work with “carpet”, but only new carpet name will be suggested in the command prompt
  • “coral” was split into unique instances, namely “tube_coral”, “brain_coral”, “bubble_coral”, “fire_coral”, “horn_coral”, “dead_tube_coral”, “dead_brain_coral”, “dead_bubble_coral”, “dead_fire_coral” and “dead_horn_coral”
    • Commands will still work with “coral”, but “coral” won’t be suggested in the command prompt, rather the new names will
  • Experience Orbs now merge when spawned with the summon command (MCPE-167247)

Entities

  • Custom entities with internal-only components or AI goals will fail to load in game
  • Custom entities are restricted to overriding Vanilla entities released before 1.20. Invalid entities used in the “identifier” or “runtime_identifier” field will result in content errors

Items

  • Custom items using JSON formats 1.16.100 and formats past 1.17.0 can be loaded without the Holiday Creator Feature toggle if there are no Holiday components used
  • Custom items with ‘minecraft:record’ now show the correct sound description in hover text and on playing in a Jukebox
  • Custom items with ‘minecraft:durability’ and ‘minecraft:repairable’ can be combined to repair them without requiring a custom item entry
  • Items with the Entity Placer item component will now successfully create the actor on air blocks if the “dispense_on” field is empty
  • Items with the Entity Placer item component can now be used on a Mob Spawner to change the Spawner’s actor spawn type. The item must have a format version of at least 1.19.80
  • Removed the non-functional ‘on_repaired’ parameter from the ‘minecraft:repairable’ item component
  • Released the “minecraft:display_name” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:durability” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:fuel” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:entity_placer” item component out of experimental in json formats 1.20.0 and higher
  • Released the “minecraft:icon” item component out of experimental in json formats 1.20.0 and higher

Add-Ons

  • Fixed an issue that prevented custom entity spawn eggs from being supported in trade tables (MCPE-170184)

Molang

  • Fixed a crash affecting some Marketplace packs preventing them from loading
    • There is now a limit on the amount of nested sub-expressions each Molang expression can have

Experimental Technical Features

Camera Command

  • Added /camera command as part of the experimental Cameras toggle
    • This command can switch to custom camera perspectives or fade the screen
    • Use /help camera to get a full list of options
  • Added a new experimental Cameras toggle to allow for custom camera perspectives

Items

  • Items with the ‘minecraft:throwable’ component now trigger the ‘throw’ sound effect when used

Add-Ons

  • Added PlacementDirection and PlacementPosisition BlockTraits
    • The PlacementDirection trait can enable the “minecraft:cardinal_direction” and/or “minecraft:facing_direction” states on a block.
      • “minecraft:cardinal_direction” is a four value string state [“north”, “south”, “east”, “west”] that describes what cardinal direction the player was facing when they placed the block.
      • “minecraft:facing_direction” is a six value string state [“down”, “up”, “north”, “south”, “east”, “west”] that describes what direction the player was facing when they placed the block.
      • Values for these states are set when the block is placed.
    • The PlacementPosition trait can enable the “minecraft:block_face” and/or “minecraft:vertical_half” states on a block.
      • “minecraft:block_face” is a six value string state [“down”, “up”, “north”, “south”, “east”, “west”] that describes what face the block was placed on.
      • “minecraft:vertical_half” is a two value string state [“bottom”, “top”] that describes whether the block was placed in the upper or lower half of a block position.
      • Values for these states are set when the block is placed.
    • Can access all states associated with BlockTraits through the “block_property” Molang queries and “set_block_property” event responses.
    • Note: Use of BlockTraits in JSON is currently behind the “Upcoming Creator Features” toggle
  • Removed “knockback_resistance” item component
  • Pumpkin blocks use the string type state “minecraft:cardinal_direction” instead of the int type “direction” state
  • Removed “dye_powder” item component
  • Items using the minimum duration for the “minecraft:fuel” component now work in the Blast Furnace and Smoker

Scripting

  • System Events
    • Further separation of events into distinct before* and after* handling, with some restrictions on the execution of state updates in a before event:
    • All before events moved from world.events into world.beforeEvents property. The “before” prefix has been removed. Functions that alter world state are prohibited in before event callbacks. Read-only methods and properties are allowed. Set methods are limited to the event object itself. Any use of restricted methods and properties will throw an exception.
    • For example, system.events.beforeWatchdogTerminate is now considered a “before” event. Functions that alter world state are prohibited in before event callbacks. Read-only methods and properties are allowed. Set methods are limited to the event object itself. Any use of restricted methods and properties will throw an exception
    • For example, system.events.scriptEventReceived is now considered an “after” event. After event callbacks are executed in a deferred manner. Using /scriptEvent something will queue script to execute at a later point
  • Renamed Scripting Events
    • Before Events renamed to *BeforeEvent and event signals renamed to *BeforeEventSignal
      • Example: BeforeItemUseEvent renamed to ItemUseBeforeEvent and BeforeItemUseEventSignal renamed to ItemUseBeforeEventSignal
    • Other events renamed to *AfterEvent and event signals renamed to *AfterEventSignal
      • Example: WeatherChangedEvent renamed to WeatherChangedAfterEvent and WeatherChangedEventSignal renamed to WeatherChangedAfterEventSignal
    • chat event renamed to chatSend
      • world.events.beforeChat renamed to world.events.beforeChatSend
      • world.events.chat renamed to world.events.chatSend
      • BeforeChatEvent renamed to ChatSendBeforeEvent
      • BeforeChatEventSignal renamed to ChatSendBeforeEventSignal
      • ChatEvent renamed to ChatSendAfterEvent
      • ChatEventSignal renamed to ChatSendAfterEventSignal
  • Fixed a bug where BlockPermutation.resolve() would fail to resolve custom block properties
  • Renamed Entity.scoreboard to Entity.scoreboardIdentity
  • Item Events
    • The ItemStartUseOnEvent now only fires for the first block that is interacted with when performing a build action
    • The ItemUseOnEvent now only fires if the item is successfully used on a block
    • ItemUseOnEvent property blockLocation: Vec3 has been changed to block: Block
    • ItemStartUseOnEvent property blockLocation: Vec3 has been changed to block: Block
    • ItemStopUseOnEvent property blockLocation: Vec3 has been changed to block: Block
    • ProjectileHitEvent property faceLocation: Vec2 has been changed to faceLocation: Vec3 – This position is relative to the bottom north-west corner of the block
    • ItemUseOnEvent property faceLocation: Vec2 has been changed to faceLocation: Vec3 – This position is relative to the bottom north-west corner of the block
  • Entity
    • Added interface teleportOptions {dimension?: Dimension, rotation?: Vector2, keepVelocity?: boolean, facingLocation?: Vector3, checkForBlocks?: boolean}
    • Added interface Vector2 {x: number, y: number}
    • Added function tryTeleport(location: Vector3, teleportOptions?: teleportOptions) : boolean – Attempts to teleport the entity and returns false if the entity is unable to teleport safely (blocks surrounding teleport location or unloaded chunk)
    • Changed function teleport to teleport(location: Vector3, teleportOptions?: teleportOptions) : void – Teleports an entity
    • Changed function setRotation to setRotation(rotation: Vector2) : void – Sets the entity’s rotation
    • Changed function getRotation to getRotation() : Vector2 – Gets the entity’s rotation
    • Updated function addTag(tag: string): boolean – The tag must be less than 256 characters
    • Updated method kill to return boolean instead of void. If return value is true, entity can be killed, otherwise false
  • Added interface EntityApplyDamageOptions. Additional options about the source of damage to use as input in Entity.applyDamage
  • Added interface EntityApplyDamageByProjectileOptions. Additional options about the source of damage to use as input in Entity.applyDamage in case of projectile damage
    • Updated method applyDamage. Renamed parameter source to options. Parameter type also changed from EntityDamageSource to EntityApplyDamageOptions | EntityApplyDamageByProjectileOptions
  • SimulatedPlayer
    • Changed function getHeadRotation to getHeadRotation() : Vector2 – Gets the simulated players head rotation
  • TitleDisplayOptions will now accept floating point values
  • Added new WorldSoundOptions and PlayerSoundOptions interface types for use with the world.playSound and player.playSound respectively
    • World.playSound now requires a location argument
    • When calling playMusic and queueMusic, an error will now be thrown if musicOptions.volume is less than 0.0
    • When calling playMusic and queueMusic, an error will now be thrown if musicOptions.fade is less than 0.0
    • When calling playSound, an error will now be thrown if soundOptions.pitch is less than 0.01
    • When calling playSound, an error will now be thrown if soundOptions.volume is less than 0.0
  • Entity objects now persist across dimension changes and chunk reloading. This means that if you have a reference to an invalid Entity, it will become usable once the Entity has been transferred or reloaded. You can check whether an Entity is loaded or unloaded by reading its lifetimeState property
  • Added read-only property lifetimeState – Returns the lifetime state of the Entity. Valid values include “loaded” and unloaded”
  • ItemDefinitionTriggeredEvent
    • Renamed property item to itemStack
  • ItemStartUseOnEvent
    • Renamed property item to itemStack
    • Replaced function getBlockLocation with read-only property blockLocation: Vector3
    • Removed function getBuildBlockLocation
  • ItemStopUseOnEvent
    • Renamed property item to itemStack
    • Replaced function getBlockLocation with read-only property blockLocation: Vector3
  • ItemUseEvent
    • Renamed property item to itemStack
  • ItemUseOnEvent
    • Renamed property item to itemStack
    • Replaced function getBlockLocation with read-only property blockLocation: Vector3
    • Replaced properties faceLocationX and faceLocation with read-only property faceLocation: Vector2
  • BlockHitInformation
    • Replaced properties faceLocationX and faceLocation with read-only property faceLocation: Vector2
  • After Events
    • All non-before events have been moved from world.events to world.afterEvents
    • events has been removed from the world object
    • After events do not execute immediately, instead they are deferred until a later point in the tick when they are flushed. It is guaranteed that all events fired in a tick are flushed within a tick
  • Fixed a bug where modified equipment and container slots were not being synced to clients
  • @minecraft/server
    • Renamed BlockProperties to BlockStates
    • Renamed BlockPermutation.getAllProperties to BlockPermutation.getAllStates
    • Renamed BlockPermutation.getProperty to BlockPermutation.getState
  • Added class EffectTypes
    • Added function get(identifier: string): EffectType – Returns the effect type if it exists
    • Added function getAll(): EffectType[] – Returns all of the effects
  • Updated class Effect
    • Updated duration property. Is the duration of the effect in ticks
    • Added property typeId. Returns the effect’s type id
  • Added interface EntityEffectOptions { amplifier?: number, showParticles?: boolean }
  • Added function Entity.removeEffect(effectType: EffectType | string): boolean – Removes an effect from an Entity. Returns false if the effect is not found or does not exist
  • Updated function Entity.getEffect(effectType: EffectType | string): Effect | undefined – Gets the effect if it exists on the entity. Otherwise returns undefined
  • Updated function Entity.addEffect(effectType: EffectType | string, duration: number, options?: EntityEffectOptions): boolean – Adds an effect to the Entity. Returns false if the effect cannot be added (If the effect does not exist, the duration is negative)
  • New APIs moved from beta to stable @minecraft/server 1.2.0:
    • Moving applyDamage(amount: number, options?: EntityApplyDamageByProjectileOptions | EntityApplyDamageOptions): boolean to 1.2.0
    • Moving kill(): boolean to 1.2.0
    • Moving EntityApplyDamageOptions to 1.2.0
    • Moving EntityApplyDamageByProjectileOptions to 1.2.0
    • Moving EntityDamageCause to 1.2.0
    • Moving addTag(tag: string) to 1.2.0
    • Moving removeTag(tag: string) to 1.2.0
    • Moving hasTag(tag: string) to 1.2.0
    • Moving getTags() to 1.2.0
    • Moved Container, BlockInventoryComponent, and EntityInventoryComponent to 1.2.0
    • Moved Music APIs from beta to stable
    • Moved Sound APIs from beta to stable
    • Moved ModalFormDataMessageFormData, and ActionFormData to 1.0.0
    • Fixed bug in response of MessageFormResponse where selection was inverted from which button was selected. button1 now refers to the left button and results in a selection of 0 and button2 now refers to the right button and results in a selection of 1
    • Moved ItemStack constructor and getter APIs to 1.2.0
    • Moved EntityItemComponentItemComponent, ItemType, and ItemLockMode to 1.2.0
    • Moving applyImpulse(vector: Vector3): void to 1.2.0
    • Moving applyKnockback(directionX: number, directionZ: number, horizontalStrength: number, verticalStrength: number): void to 1.2.0
    • Moving clearVelocity(): void to 1.2.0
    • Moved runCommand from beta to 1.2.0
    • Moving getComponent(componentId: string): EntityComponent | undefined method to 1.2.0
    • Moving getComponents(): EntityComponent[] method to 1.2.0
    • Moving hasComponent(componentId: string): boolean method to 1.2.0
    • Moving EntityComponent class to 1.2.0
    • Moving EntityBaseMovementComponent class to 1.2.0:
      • Moving readonly maxTurn: number property to 1.2.0
      • Moving the following additional EntityBaseMovementComponent subclasses to 1.2.0:
        • EntityMovementAmphibiousComponent
        • EntityMovementBasicComponent
        • EntityMovementFlyComponent
        • EntityMovementGenericComponent
        • EntityMovementHoverComponent
        • EntityMovementJumpComponent
        • EntityMovementSkipComponent
    • Renamed EntityIsDyableComponent class to EntityIsDyeableComponent and moved to 1.2.0
    • Moving the following additional EntityComponent subclasses to 1.2.0:
      • EntityCanClimbComponent
      • EntityCanFlyComponent
      • EntityCanPowerJumpComponent
      • EntityColorComponent
      • EntityFireImmuneComponent
      • EntityFloatsInLiquidComponent
      • EntityFlyingSpeedComponent
      • EntityFrictionModifierComponent
      • EntityGroundOffsetComponent
      • EntityIsBabyComponent
      • EntityIsChargedComponent
      • EntityIsChestedComponent
      • EntityIsHiddenWhenInvisibleComponent
      • EntityIsIgnitedComponent
      • EntityIsIllagerCaptainComponent
      • EntityIsSaddledComponent
      • EntityIsShakingComponent
      • EntityIsShearedComponent
      • EntityIsStackableComponent
      • EntityIsStunnedComponent
      • EntityIsTamedComponent
      • EntityMarkVariantComponent
      • EntityPushThroughComponent
      • EntityScaleComponent
      • EntitySkinIdComponent
      • EntityVariantComponent
      • EntityWantsJockeyComponent
  • Enchantments
    • Removed MinecraftEnchantmentTypes class. Use MinecraftEnchantmentTypes from @minecraft/vanilla-data module for minecraft version specific information.
    • Added support for “strings” in all Enchantment methods for specifying the enchantment type
  • source on ExplosionBeforeEvent is now an optional property because explosions may not have a source
  • Tameable Component
    • Removed unimplemented tameEvent from TameableComponent
  • Updated API to better handle operations outside of loaded and ticking areas
  • PositionInUnloadedChunkError: Exception thrown when trying to interact with a Block object that isn’t in a loaded and ticking chunk anymore
  • PositionOutOfWorldBoundariesError: Exception thrown when trying to interact with a position outside of dimension height range
  • Dimension
    • getBlock now returns an optional Block to reflect it might return ‘undefined’ if asking for a block at an unloaded chunk
  • Signs
    • Added optional SignSide parameter to functions setText, getTextgetRawTextsetTextDyeColor, and getTextDyeColor on BlockSignComponent to support getting and setting text and colors on both sides of signs
    • Added isWaxed property to BlockSignComponent indicating whether players can edit the sign or not
    • Added setWaxed method to BlockSignComponent to block players from editing the sign
  • runCommand and runCommandAsync on Dimension and Entity can now fail with a CommandError
    • runCommand can throw a CommandError exception
    • runCommandAsync will pass a CommandError into the reject handler
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.83

  • Release date: May 17th 2023 (North America, Europe) / May 18th 2023 (Japan)
  • Patch notes:
  • Fixed several crashes that could occur during gameplay
  • The inventory cursor no longer snaps to a random spot when flicking the left thumbstick (MCPE-169176)
  • Fixed custom textures that override ‘minecraft’ blocks with aux metadata as a list of textures
  • Several fixes to custom spawn eggs (MCPE-170184)
    • Re-enabled use of aux value to refer to custom eggs in commands for game versions 1.19.80 and beyond, eg. “/give @s spawn_egg 1 654”
    • Re-enabled use of Molang queries for the item’s data field in recipes for game versions 1.19.80 and beyond, eg. { “item”: “spawn_egg”, “data”: “query.get_actor_info_id(‘namespace:actor’)” }
    • Re-enabled use of “set_actor_id” in loot tables when refering to custom spawn eggs for game versions 1.19.80 and beyond
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.81

  • Release date: April 27th 2023 (North America, Europe) / April 28th 2023 (Japan)
  • Patch notes:
  • Fixed a crash with the ‘/tell’ command (and some other commands) that could occur on Realms 
  • Fixed an issue with Purchase buttons loading infinitely on Featured Servers
  • Fixed Featured Server offers not displaying the “Show More” button
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.80

  • Release date: April 26th 2023 (North America, Europe) / April 27th 2023 (Japan)
  • Patch notes:
Experimental Features:

Even more experimental features are available in this update that are coming in the Trails & Tales update!

As these features are still incomplete, in development, and considered a work in progress, be sure to backup your worlds before enabling experimental features. The features can be enabled by turning on the “Next Major Update” toggle in world settings.

Player Sneaking
  • The ability to sneak under 1.5 block gaps is now behind the “Short Sneak” toggle. Enable the toggle to continue to test out the feature while we continue polishing it
  • Player’s hitbox height now reduces to 1.5 blocks while sneaking
    • Sneaking will automatically be initiated while stuck in a gap of less than 1.8 blocks
    • Sneaking will lower the player camera height respective of these changes
    • Sneaking now requires enough space to stand in order to exit sneaking state
    • Players will transition from swimming to sneaking if they are unable to stand up but would be able to sneak
Cherry Grove
  • Introducing the Cherry Grove biome, with pretty Cherry Blossom trees. You can find it in the mountains, like Meadows
  • It has a new flower, Pink Petals, as ground cover, which can be crafted into Pink Dye
  • Pigs, Rabbits, Sheep, and Bees spawn there
  • Comes with a new wood set for the Cherry Blossom trees
Archaeology
  • Added the Trail Ruins, a buried structure from a lost culture
  • Added Suspicious Gravel block, which has the same characteristics as Suspicious Sand
  • Added Suspicious Sand to Warm Ocean Ruins
  • Added Suspicious Gravel to Cold Ocean Ruins
  • Added 16 new Pottery Shards (Now 20 Pottery Shards in total)
    • These have been distributed between the five Archaeology sites: Desert Wells, Desert Temples, Cold Ocean Ruins, Warm Ocean Ruins, and Trail Ruins
Armor Trims
  • You can now visually customize your armor with a variety of unique trims at the Smithing Table
  • Armor Trims are purely visual with no gameplay benefits, and can only be applied to Helmets, Chestplates, Leggings, and Boots
    • All trim patterns are visually the same on an armor’s item icon, but the color will still change based on the trim material
    • To check which trim pattern a piece of armor has, you can hover over it in the inventory
  • An Armor Trim has two properties: a pattern and a material
    • The pattern is defined by the Smithing Template used to apply the trim, and represents the visual pattern of the trim
    • The material is defined by what ingredient you used to apply the trim, and represents the color of the trim
  • The viable ingredients you can use to define the color of your Armor Trim are the following:
    • Iron
    • Copper
    • Gold
    • Lapis
    • Emerald
    • Diamond
    • Netherite
    • Redstone
    • Amethyst
    • Quartz
Smithing Templates
  • Smithing Tables have been redesigned into a workstation for physical equipment upgrades and modifications
  • Alongside slots for combining a piece of equipment and materials, there is now a required slot for an item type called Smithing Templates
  • Smithing Templates define what type of upgrade you will be making to equipment
    • It specifies both what type of items you can upgrade, and which ingredients are valid to customize the upgrade
    • There are currently two categories of Smithing Templates: Armor Trim and Netherite Upgrade
  • Armor Trim Smithing Templates can be found all throughout the world, and each of the following structures contain their own unique Smithing Template:
    • Pillager Outpost: Sentry Armor Trim
    • Desert Pyramid: Dune Armor Trim
    • Shipwreck: Coast Armor Trim
    • Jungle Temple: Wild Armor Trim
    • Ocean Monument: Tide Armor Trim
    • Ancient City: Ward Armor Trim
    • Woodland Mansion: Vex Armor Trim
    • Nether Fortress: Rib Armor Trim
    • Bastion Remnant: Snout Armor Trim
    • Stronghold: Eye Armor Trim
    • End City: Spire Armor Trim
    • Trail Ruins: Wayfinder Armor Trim, Raiser Armor Trim, Shaper Armor Trim, Host Armor Trim
    • Ancient City: Silence Armor Trim
  • Smithing Templates are found in Chests in their respective structure, except for the Ocean Monument. Instead of finding it in Chests, Elder Guardians sometimes drop a Smithing Template when defeated
  • Some Armor Trim Smithing Templates are rarer than others, so be on the lookout for them to impress your friends!
  • Smithing Templates are consumed when used to upgrade an item in the Smithing Table
  • You can craft a copy of a Smithing Template in the Crafting Table with 7 Diamonds + 1 block of material that the template is made out of + 1 Smithing Template, which will output 2 of the same Smithing Template
Netherite Equipment
  • Netherite equipment crafting now also requires a Netherite Upgrade Smithing Template
  • Netherite Upgrade Smithing Templates can be found randomly in all Bastion Remnant chests, and there is a guarantee of 2 in every Treasure Room Bastion Remnant
  • This change was made for a variety of reasons:
    • Increases the time players utilize Diamond equipment before Netherite
    • Make Netherite equipment a more significant achievement in the game’s progression
    • Adapts Netherite more naturally into the new Smithing Table crafting system
Calibrated Sculk Sensors
  • A new variant of Sculk Sensors which allows you to filter vibrations based on their frequency level. They are not found naturally and can only be crafted
  • They can be crafted with 1 Sculk Sensor and 3 Amethyst Shards in the Crafting Table
  • One side of the Calibrated Sculk Sensor can receive a Redstone signal as input
    • The strength of that Redstone signal is the only vibration frequency the Sculk Sensor will listen to
Vibration Resonance
  • Blocks of Amethyst have a new behavior when placed adjacent to Sculk Sensors
  • If that Sculk Sensor receives a vibration, the Block of Amethyst will re-emit its frequency as a separate vibration at its location
  • This behaviour is called Vibration Resonance, and allows players to move vibration frequencies across long distances without having to recreate the vibration naturally
Sign Improvements
  • Signs have improved customization options
  • Sign text can now be edited after being placed in the world
    • This can be done by interacting with the Sign
  • Both sides of the Sign can now have separate text and colors, allowing for further customization options
    • By default, a Sign will prompt you to input the front side’s text when placed
    • To apply text to the back-side, you must walk to the other side and interact with that face to edit it
  • Signs can now also be waxed with Honeycomb, preventing any further edits to its text
Vanilla Parity:
  • Renamed and enchanted weapons are now displayed in respawn and chat windows with color when a player is killed by an entity using it (MCPE-162679)
  • Weighted Pressure Plates now produce the same sound as in Java Edition (MCPE-164912)
  • Removed the character limit for scoreboard objective names and objective display names (MCPE-165064)
  • Melons and Pumpkins can now grow onto Mud, Podzol, Rooted Dirt, and Muddy Mangrove Roots
  • Nylium blocks are now grouped with Netherrack in the Creative inventory (MCPE-163587)
  • Armor Stands now vanish with no sound effects when killed with the /kill command (MCPE-159136)
  • Slightly decreased Panda collision box to match Java Edition
  • Slightly increased Polar Bear collision box to match Java Edition
  • Shipwreck supply chests are no longer missing Moss Block as loot (MCPE-168376)
  • Mobs will once again take damage when standing on an incomplete block next to a Campfire (MCPE-167479)
Fixes and Changes:
Stability and Performance
  • Fixed several crashes that could occur during gameplay
  • Fixed a bug where invalid Banner Patterns were causing players in render distance to crash (MCPE-164478)
  • Fixed a bug where Command Blocks could cause actors within a level chunk to freeze (MCPE-162011)
  • Fixed a crash that could occur when opening the My Packs tab with a broken pack (MCPE-165806)
Gameplay
  • Fixed the player moving in the wrong direction after exiting a container screen while using a gamepad (MCPE-121565)
  • Players can no longer sneak while flying (MCPE-166834)
  • The player’s camera no longer appears inside blocks when sprint and swim are held (MCPE-166565)
  • Fixed animation transition between swimming and walking (MCPE-166769)
  • The Health Boost effect will no longer fully replenish the player’s health after the effect runs out (MCPE-165434)
  • Fixed ambient cave sounds to no longer play when the player enters or loads into The End (MCPE-141493)
Mobs
  • Mobs can now enter a Boat only if they are smaller than the Boat itself
  • Villagers will now generate green particles when a successful trade is completed
  • Mobs no longer play the player eat sound when fed breeding materials
  • Turtles can now enter Boats and Boats with Chest (MCPE-65719)
  • Hoglins, Polar Bears, and Spiders can no longer enter Boats and Boats with Chest (MCPE-161197)
  • Fixed experience orb position desync after teleport (MCPE-59584)
  • Villagers will now wake up in a valid position and will not phase though blocks (MCPE-142544)
Blocks
  • Mangrove, Bamboo, and Polished Blackstone buttons are no longer visible on maps
  • Flowers are once again displayed immediately when placed inside a Flower Pot
  • Nether Portals can now replace blocks other than just air when being generated. This includes blocks such as Grass and Snow layers (MCPE-162272)
  • Light Blocks can no longer have their light levels changed in Survival or Adventure modes (MCPE-138868)
  • Campfire sounds are now louder and clearer (MCPE-122296)
  • Sponges no longer emit water drop particles underwater (MCPE-122138)
  • Fixed an issue where colored wool became white wool after been loaded from worlds prior to 1.17 (MCPE-168684)
Items
  • Potions no longer have an enchantment glint, due to it obscuring the color of the potion contents
  • Cooking Chorus Fruit in a Furnace will now generate experience (MCPE-68127)
Accessibility
  • A glint strength slider that adjusts how transparent the visual glint is on enchanted items has been added to the Accessibility Settings
  • A glint speed slider that adjusts how fast the visual glint shimmers across enchanted items has been added to the Accessibility Settings
  • Focus indicator is now automatically visible on menu items while using a keyboard
  • Text-to-speech no longer reads previously selected items after moving to new one
  • Text-to-speech no longer gets stuck on reading accessibility tab while the user switches between different tabs
User Interface
  • Added a header and title for the inventory tab in inventory screen while using Pocket UI
  • Updated look of sign in and sign up screens
  • Increased the spacing between headers in the Settings screen to increase readability
  • Touchpad scrolling now matches the operating system’s scroll direction
  • Feedback button on the pause menu will now prompt the user with a modal before redirecting to the browser
  • Corrected toggle navigation in Edit World menu while using gamepad or keyboard that were previously skipped
Graphical
  • Halved the default visibility of the glint on enchanted items, which can now be modified in the Accessibility Settings (MCPE-167814)
  • Decreased the default visibility of the glint on enchanted items, which can now be modified in the Accessibility Settings
  • Fixed an issue where unnecessary black boxes appeared in VR while around partial blocks
  • Fixed the issue where multiple light sources (such as Torches) were incorrectly emitting white light in RTX (MCPE-166947)
  • Boots do not z-fight anymore when worn by a player
  • The “leg” and “belt” parts of Leggings do not z-fight anymore when worn by a player
  • Capes no longer flash red when getting damaged (MCPE-105347)
  • Fixed a visible gap in Hopper model (MCPE-55122)
  • Fixed alignment of the output slot of Crafting Table (MCPE-143255)
  • Going into lava in third person view no longer causes the camera to turn black (MCPE-166861)
Marketplace
  • A Wishlist has been added to select players for testing so that players can save things to purchase at a later time
  • This feature is still in testing and, for now, will only be available for select players
Realms
  • Fixed an issue that prevented players on PlayStation 5 from purchasing a Realms Plus trial
  • Added the ability for members to update the Realm server version, meaning that the Realm owner will not need to log on to update
  • Added D-pad navigation in the Realms feed screen popup
  • Added keyboard navigation in the Realms feed screen popup
  • Fixed a bug where players would be stuck if they added a resource pack to an expired Realm and clicked the exit button
  • Fixed a bug where content packs applied to a world in a Realm slot were applied to another world in another slot in the same Realm
  • Fixed a bug where content packs applied to a world is unintentionally unapplied when joining a world
  • Fixed an extra Cancel button displaying on mobile file download dialog
  • Added a link to Microsoft Privacy Statement in the world upload dialog
Touch Controls
  • Added new touch and hold Stack Splitting for precision selection of the items in a single slot
  • Fixed an issue where items could get stuck in the Crafting Table when using touch input
  • If the player is underwater and Auto-Jump is enabled, as they approach a block that is 1 level higher than the current level, they will rise. This also allows auto-jumping out of water onto land
Technical Updates:
Updated Add-On Template Packs
  • Updated Add-On templates for 19.80 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks
General
  • For behavior packs using version 1.19.80 and above, recipes no longer accept a Molang query for the item’s data field, instead use the item’s full name, eg. use { “item”: “namespace:actor_spawn_egg” } instead of { “item”: “spawn_egg”, “data”: “query.get_actor_info_id(‘namespace:actor’)” }
  • Fixed an issue that caused the InteractComponent to not work correctly while sneaking (MCPE-168449)
Commands
  • The /execute command now displays an appropriate error message when there is an error in the second or subsequent subcommand target selector (MCPE-164304)
  • Provide auto-complete support for block states
  • Added two new overloads to the summon command:
    • /summon [spawnPos : x y z] facing <position: x y z> [spawnEvent: string] [nametag: string]
    • /summon [spawnPos : x y z] facing <lookAtEntity: target> [spawnEvent: string] [nametag: string]
  • Fixed an issue where the paste button in the Command Block UI would remember extra presses from failed pastes (MCPE-163705)
  • For worlds using game version 1.19.80 and above, acquiring a custom spawn egg through a command can only succeed with their full name rather than with an aux value, eg. “/give @s namespace:actor_spawn_egg”
  • “fence” block is now split into unique names, “oak_fence”, “acacia_fence”, “birch_fence”, “dark_oak_fence”, “jungle_fence”, and “spruce_fence”
  • Commands will still work with “fence”, but only new fence name will be suggested in the command prompt
  • Removed requirement for blockState argument(s) when using other optional args in /fill /setblock and /clone (MCPE-167959)
  • Implemented the “inputpermission” command, which allows for setting the player’s camera or movement as enabled or disabled
    • Syntax: /inputpermission set <target: player> <permission: camera | movement> <state: enabled | disabled>
  • Implemented the “haspermission” target selector, which allows for selection based on player permission levels
Game Events
  • item_interact_finish game event now has a vibration frequency of 2 instead of 14
  • item_interact_start is no longer considered a detectable vibration
  • Reeling a fishing rod now emits projectile_shoot vibration
Data-Driven Components
  • Added “lose_target” field to projectile data to specify if an entity should unselect its target after shooting the projectile
  • Added a new Transformation component for blocks to support rotation, scaling and translation. The component can be added to the whole block, and/or to individual block permutations. Eg.

“minecraft:transformation”: {
                “translation”: [0.0, 0.1, -0.1],
                “scale”: [0.5, 1, 1.5],
      “rotation”: [90, 180, 0]
}

  • Transformed geometries still have the same restrictions that non-transformed geometries have, eg. a maximum size of 30/16 units
Add-Ons and Script Engine
  • Chance information types used in tree feature JSONs for some trunks and foliage now allow 0 as the chance (values like 0.0001 were allowed, but not 0)
  • Form promises are now rejected using typed errors, vs. strings as used previously
Entity Filters
  • Created new entity filter “is_raider” to determine if subject is part of a raid
AI Goals
  • Added “cooldown” field to target descriptors in “minecraft:behavior.nearest_attackable_target” goal
Blocks
  • Deprecated minecraft:part_visibility block component
  • Added bone_visibility behavior to minecraft:geometry block component
ItemStack
  • Added function getTags(): string[] – Returns all tags for the item
  • Added function hasTag(tag: string): boolean – Returns true if the item has the specified tag
EntityEquipmentInventoryComponent
  • This component is used to manipulate the equipment of mobs and players. To use it, call getComponent(‘equipment_inventory’)
  • Added function getEquipment(equipmentSlot: EquipmentSlot): ItemStack | undefinedReturns the item in the given equipment slot
  • Added function getEquipmentSlot(equipmentSlot: EquipmentSlot): ContainerSlot – Returns the container slot for the given equipment slot
  • Added function setEquipment(equipmentSlot: EquipmentSlot, itemStack?: ItemStack): void – Sets the item in the given equipment slot
ItemDurabilityComponent
  • The ItemDurabilityComponent now works with all damageable items, not just custom items
  • Removed property damageRange
  • Setting damage will now throw an exception if it is outside of the range [0, maxDurability]
Marketplace
  • In the map WDW Magic Kingdom, the carts on the Big Thunder Mountain, Snow White and the Seven Dwarves, and Space Mountain rides now properly align with the invisible Minecart they are attached to
Servers
  • Blocks can now optionally (via a setting in StartGamePacket) use a hashed value for their network IDs. This hashed value is independent of all other blocks and remains stable across future releases
GameTest Framework
  • Updated specific GameTest exceptions to be thrown as GameTestError error objects
  • Added two new commands:
    • /gametest stopall – Used to manually stop all tests while they are running
    • /gametest runsetuntilfail – Used to run a set of tests but will automatically stop if any of the tests fail
API (Experimental)
  • Updated versions to add new APIs to stable:
    • Added version 1.1.0 of @minecraft/server
    • Added version 1.2.0-beta of @minecraft/server
    • Removed version 1.1.0-beta of @minecraft/server
    • Moved the following to @minecraft/server stable (1.1.0)
      • runTimeout
      • runInterval
      • clearRun
      • currentTick
      • Vector3
      • BlockPermutation  (only a subset of functionality)
      • Block
      • getBlock
      • sendMessage
      • sendMessage
    • Minecraft runtime errors are now fired as JavaScript Error objects instead of strings
    • Fixed a number of base class inheritance issues and added several new base classes to certain class types
    • /reload works if a script pack references a client resource pack
    • Fixed a bug where the BeforeItemUseOnEvent function getBlockLocation would return undefined (MCPE-166945)
    • The BeforeItemUseOnEvent class now inherits from ItemUseOnEvent
    • Moved the following to @minecraft/server stable (1.0)
    • Fixed a bug where sendMessage would fail when the message contains Unicode quotation marks
    • Signs
      • Added setText to set the text on a sign with a regular string, a RawMessage, or a RawText
      • Added getText to get the string on a sign, will return undefined if setText was called with a RawMessage or a RawText
      • Added getRawText to get the RawText on a sign, will return undefined if setText was called with a string
      • Added getTextDyeColor and setTextDyeColor to read/write the dye of the sign text
    • Dyes
      • Added DyeColor enum
    • sendMessage
      • rawtext is now RawMessage[] instead of (string | RawMessage)[]
    • RawMessage
      • rawtext property on RawMessage is no longer (string | RawMessage)[] and is instead RawMessage[]
    • RawText
      • Added a RawText class for reading RawMessage like on Signs
    • Riding
      • Added getRiders to EntityRideableComponent which returns an array of all the entities currently riding this entity
      • Added EntityRidingComponent – this component is only on entities that are currently riding on another entity
        • Has an entityRidingOn property that returns the entity this entity is currently riding on
      • Added function getEntity(id: string): Entity | undefined – Gets an entity. Returns undefined for entities that don’t exist or aren’t loaded
    • Dimension
      • getEntities
        • Modified return type to Entity[]
        • Modified parameter name getEntities to options
        • New signature: getEntities(options?: EntityQueryOptions): Entity[]
      • getPlayers
        • Modified return type to Player[]
        • Modified parameter name getPlayers to options
        • New signature: getPlayers(options?: EntityQueryOptions): Player[];
      • @minecraft/server-ui
        • When building forms, all read-only user-facing strings (e.g., text labels, dropdown options etc.) now accept RawMessage This affects the following classes:
          • ActionFormData
          • ModalFormData
          • MessageFormData
        • Added function getItemStack(amount?: number, withData?: boolean): ItemStack – Gets an item stack of the block. Returns undefined for blocks that don’t have a corresponding item (e.g. air)
      • BlockPermutation
        • Added function getItemStack(amount?: number): ItemStack – Creates an item stack of the block permutation. Returns undefined for blocks that don’t have a corresponding item (e.g. air)
        • Removed data property
      • BlockComponent
        • Added read-only property block – Gets the block that the component is attached to
      • Renamed IEntityComponent to EntityComponent
      • Container
        • Replaced classes
          BlockInventoryComponentContainer, InventoryComponentContainer, and PlayerInventoryComponentContainer with Container
        • function addItem now returns the remainder of the added item stack if the container is full, else undefined
        • function transferItem no longer takes a destination slot and will now place the given item in the first available slot. The function now returns the remainder of the item stack if the container is full, else undefined
        • Added function moveItem(fromSlot: number, toSlot: number, toContainer: Container): void – Moves an item from one container to another, replacing any item in the destination slot
        • Function swapItems can now swap empty slots
        • Removed function clearItem – Please use setItem(undefined) instead
      • Signs
        • Fixed an issue where text set on Signs using setText wasn’t reflected on Signs on the client until the Sign was reloaded
        • getComponent(‘minecraft:sign’) now works with Hanging Signs

The following APIs have been moved from beta to stable @minecraft/server (1.1.0):

  • dimension
  • typeId
  • getVelocity()
  • location
  • getHeadLocation()
  • nameTag
  • id
  • getViewDirection()
  • getEntities
  • getEntitiesAtBlockLocation
  • getPlayers
  • EntityQueryOptions
  • EntityQueryScoreOptions
  • GameType
  • World.getPlayers
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.73

  • Release date: March 29th 2023 (North America, Europe) / March 30th 2023 (Japan)
  • Patch notes:
  • Fixed several crashes that could occur during gameplay
  • Fixed a crash that could occur with Command Blocks using teleport commands
  • Fixed a bug where the player’s aim height was not adjusting correctly when sneaking (MCPE-167559)
  • The first player in a splitscreen game will no longer have their input interrupted by other players opening up a container or inventory screen (MCPE-168610)
  • Fixed an issue where Ghast volume and volume distance were too low (MCPE-168324)
  • Fixed duplicate tooltips appearing when selecting item in the inventory while using touch controls (MCPE-166866)
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.71

  • Release date: March 17th 2023 (North America, Europe) / March 18th 2023 (Japan)
  • Patch notes:
  • Fixed an issue that could cause the game to get stuck at 66% when loading at launch (MCPE-168284)
  • Fixed player names not appearing through the environment and behind walls (MCPE-168269)
  • Fixed an issue where players would load incorrect data when loading a local game after connecting to a server or Realm (MCPE-164765)
  • Players are now prompted with the option to enable text-to-speech, if supported, on first startup
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.70

  • Release date: March 14th 2023 (North America, Europe) / March 15th 2023 (Japan)
  • Patch notes:

Highlights

  • Fixed multiple crashes that could occur during gameplay
  • When breeding horses, the baby horse now has a chance of being better than its parents in speed, jump strength, and health
  • Improvements to player emotes
  • Take an early look at archaeology and the sniffer mob with experimental features
  • Fixes to over 30 community-reported issues

Changes:

Player Emotes

Several improvements have come to the emote system in Bedrock Edition!

  • Emote usage now appears in chat
  • The emote wheel now has four slots with an improved interface
  • Quick emoting with new hotkeys
  • Easier sorting of emotes
  • Creating a new character now automatically applies four default emotes

Check out the New Emote Features for Bedrock Edition article for more details.

Vanilla Parity:

Improvements have been made with vanilla parity to align with Java Edition, especially with horse breeding, mobs, and blocks.

Gameplay

  • Fixed an issue where night could not be skipped if one or more players were on the death screen
  • Eating and drinking animations are now always centered, regardless of screen aspect ratio

Mobs

  • Breeding horses can now produce random variants (MCPE-129071)
  • When breeding horses, the baby Horse now has a chance of being better than its parents in speed, jump strength, and health. This change is intended to make Horse breeding a viable way of getting great Horses, if a player starts with good parents and puts in enough time and Golden Carrots
  • Horses cannot be pushed over Fences covered by Carpets anymore (MCPE-164717)
  • Ghasts’ sound volume will now fade the further they are from the player (MCPE-35222)
  • Villagers will now emit anger particles when hit by a player outside of a village
  • Fixed a bug where Zombified Piglins would spawn in the Nether in light levels above 11
  • Minecarts can now eject mobs into liquid blocks (MCPE-120078)
  • Witches will now drink a Fire Resistance Potion when standing on a Campfire

Blocks

  • Bells that are connected to multiple blocks no longer drop when one block is broken
  • Note Block sound attenuation over a distance is now linear (MCPE-164935)
  • Impact sounds of projectiles on Amethyst blocks and clusters are now audible
  • Dead Bush will now drop Sticks when broken with any tool except Shears, even those with the Silk Touch enchantment. Vines will drop nothing in the same situation (MCPE-163246)

Experimental Features:

The Sniffer and Archaeology are now available for testing that are coming to Minecraft 1.20, now known as Trails & Tales! The sniffer and archeology are two experimental features that you can try out in this release.

As these features are still incomplete, in development, and considered a work in progress, be sure to backup your worlds before enabling experimental features. The features can be enabled by turning on the “Next Major Update” toggle in world settings.

Archaeology

  • Added the Brush item
  • Added the Decorated Pot block
  • Added four Pottery Shards (Arms Up, Skull, Prize, and Archer)
  • Added the Suspicious Sand block
  • Added Suspicious Sand to the Desert Temple
  • Added Suspicious Sand to the Desert Well

Brush

  • The Brush is a craftable item you can use to brush things

Pottery Shards and Decorated Pots

  • Pottery Shards have pictures on them. They cannot be crafted and must be found in the world. Hint: you will need a Brush! By crafting four of these together you can create a Decorated Pot with a picture on each side.
  • You can also use Brick items instead of Pottery Shards in the crafting recipe. The sides that were made from Brick items will not have pictures.
  • Smash a Decorated Pot with any block-breaking tool to break it apart and get the Pottery Shards back! Or hit it with your fist to pick up the pot without breaking it.

Suspicious Sand

  • Desert Temples and Desert Wells now contain Suspicious Sand. This fragile block is hard to spot and easy to destroy, so be careful!
  • If you manage to find the Suspicious Sand and brush it with your Brush, you will extract objects that were buried long ago.
  • We’re giving you an early look at these Archaeology features. We want to spend more time developing them. Please let us know where you think we can improve or expand!

Sniffer

  • The Sniffer is the mob vote winner of Minecraft Live 2022 and the first [HS1] extinct mob brought to life and added to the game
  • Sniffers cannot be tempted or tamed
  • Sniffers are passive friendly mobs
  • Sniffer sniffs in the air and occasionally dig for seeds

Torchflower

  • The Torchflower seed can be planted on farmland and grows into a flower
  • The seed can be used to breed two Sniffers
  • The full-grown flower can be harvested and replanted but can also be crafted into a dye

Fixes:

Stability and Performance

  • Fixed an issue where simultaneously pressing the “Mine” and “Place” button on any input device while targeting a Structure Block could cause the game to crash (MCPE-155689)
  • Fixed a crash on Nintendo Switch when attempting to log in while set to local network mode
  • Fixed a crash that could occur when entering a 1.7.1.0 world in 1.8 or above (MCPE-165564)

Gameplay

  • The player’s crosshair now properly mines/interacts with items in front of them while swimming/gliding, rather than 1 block above their position (MCPE-57257)
  • Players no longer take rapid damage when touching damaging blocks (MCPE-165347)
  • Projectiles shot while swimming/gliding no longer spawn from above the player’s position (MCPE-31896)
  • Items dropped while swimming/gliding, manually or on death, no longer spawn from above the player’s position (MCPE-31896)

Mobs

  • Fixed a bug where an Allay holding a Lead wasn’t able to be leashed unless the player held a full stack of 64 Leads in hand
  • Parrots will no longer shake while on a player riding a Horse that is turning mid-jump
  • Fixed a bug causing global entities (e.g. Ender Dragon and projectiles) to stop rendering when out of normal entity render distance (MCPE-161136)

Blocks

  • Sounds from all Button types and Lever are now controlled by “Blocks” slider in Audio Settings (MCPE-166420)
  • Redstone source can now power a single block from different sides at the same time (MCPE-163651)
  • Destroying Mangrove Log or Mangrove Wood now properly cause leaves to decay
  • End Crystals occupying the same space as a block will no longer cause that block to disappear
  • Players are now able to place top Slabs in blocks that are only partially blocked by an entity (MCPE-155016)
  • Players can no longer see through partial blocks when sneaking or riding in third person (MCPE-156273)
  • Composter now always consumes an item when becoming full (MCPE-162020)
  • Importing experimental blocks into a non-experimental world using the Structure Block will now correctly place unknown blocks, which are not interactable
  • Error messages about building outside the world height limits no longer appear when simply interacting with blocks at the world height limits from certain angles (MCPE-152935)
  • Fixed a bug where Observers would not detect changes due to corrupted data (MCPE-150506)
  • Hoppers now pull in items from above them through all blocks that have a lower height than a full block (MCPE-55824)

Items

  • Crossbows now shake while charging arrows (MCPE-152952)
  • Spawn eggs for Snow Golem, Wither, and Trader Llama now appear correctly in the inventory and hotbar
  • Written Books can now be moved in the inventory even when the player has identical Written Books

Touch Controls

  • Updated the How to Play screen with information on new touch controls
  • Changing input modes from Gamepad to Touch while an item is selected will return the selected to the inventory or drop it
  • Fixed an issue on the Furnace screen where double-tapping the output window caused other slots to become unselectable (MCPE-164589)
  • Fixed a bug where stack splitting was automatically initiated on the first slot when opening a small Chest
  • Allowed left and right D-pad buttons to keep input when the forward button is pressed (MCPE-155199)
  • Added the leave Boat button when the player falls from a height within in the Boat (MCPE-158489)
  • Fixed an issue that prevented players from removing equipped armor by tapping on an item or block in the Creative inventory (MCPE-165790)
  • Tweaked the keyboard interaction on Android devices for text input fields

User Interface

  • Fixed an issue where the “Mine” tooltip was appearing when targeting a block with a Trident in Creative game mode (MCPE-44846)
  • Navigating right with controller left stick on the Marketplace sidebar now collapses it
  • Added a new ‘Marketplace’ icon to the Marketplace screen sidebar
  • Ocean Explorer, Woodland Explorer, and Treasure Maps now show the proper icon in the inventory (MCPE-163464)
  • Fixed a bug where mouse scrolling on the Friend Options dropdown would not scroll the dropdown contents
  • Resolved an issue where graphical elements of the Sign-In/Sign-Up screen could extend beyond the bounds of the dialog container
  • When starting a new world in Pocket UI, removed the “Press Open Chat to open chat” message for players with text-to-speech turned off
  • Double-clicking on the Furnace output slot will no longer drop the item (MCPE-165079)
  • Fixed a bug where moving the player or camera with a controller while text-to-speech for UI was turned on would cause the narrator to say “X of Y”
  • Fixed a bug where the Edit World screen couldn’t be opened for a world if the corresponding world directory had a space in it (MCPE-166763)
  • The loading screen no longer flickers when entering the Nether in immersive VR mode
  • The swap item animation now plays when switching hotbar items of the same type with the same durability

Spectator Mode

  • Phasing through blocks in third person view no longer makes the camera zoom in and out towards the player’s head (MCPE-160467)
  • End Gateways can no longer be used in Spectator Mode (MCPE-165689)

Realms

  • Added a Sign In button on the Realms screen if player is not yet signed in
  • Fixed the issue that the “Find Friends” button and the “Close Realm” buttons would be autofocused when the “Members” or “Subscription” tab was clicked
  • Fixed a bug where players were not able to create another world on Realms if the first Create World on Realms attempt was interrupted
  • Fixed a bug where players could see duplicate applied packs with unknown titles the first time they entered the Realms settings screen
  • Resetting a Realms World now correctly updates the World settings
  • Removed the Close button in the Play on Realm popup dialog when using controllers
  • Updated the reset/replace world confirmation text to make it clearer what each function does
  • Fixed the world list not updating with a new Realm immediately after accepting an invite
  • In Realms Settings->Members, the dropdown ‘…’ menu can now be open/closed with the Enter key and navigated with arrow keys

Technical Updates:

Updated Add-On Template Packs

  • Updated Add-On templates for 1.19.70 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

General

  • Behavior packs with scripts can now be removed from worlds
  • Item loot table conditions are no longer ignored in-game when used inside functions (MCPE-164582)
  • Carrots now display the proper name in item tooltips when used in can_place_on and can_destroy item components (MCPE-160838)
  • In JSON formats 1.19.70 and later, blocks fail to load if the “condition” field in Block Permutations is not a valid Molang string
  • Crafting Table component no longer appends “tile.” when defaulting to use block name for crafting table label

Wool Blocks

Wool has been flattened into separate blocks, namely:

  • white_wool
  • orange_wool
  • magenta_wool
  • light_blue_wool
  • yellow_wool
  • lime_wool
  • pink_wool
  • gray_wool
  • light_gray_wool
  • cyan_wool
  • purple_wool
  • blue_wool
  • brown_wool
  • green_wool
  • red_wool
  • black_wool

Commands, recipes, loot tables, etc. will still work with wool and an aux value or color state, but wool will not be suggested in the command prompt. Instead, the new wool block names will.

Commands

  • Fixed a crash with deferred command execution when the executing actor is removed before execution (MCPE-165374)
  • Summon command no longer causes some entities to be spawned in at an angle
  • Removed support for field “data” in commands /clone, /execute, /fill, /setblock and /testforblock beyond version 1.19.70, eg. /setblock ~ ~ ~ minecraft:wool 1 will only have its equivalent /setblock ~ ~ ~ minecraft:wool [“color”:”orange”] supported
    • Here are some additional examples[JW1] [JW2] [JW3] :
      • /setblock ~~~ green_wool [] [] is equivalent to the old 0
      • /setblock ~~~ wood [“wood_type”: “oak”]
      • /setblock ~~~ coral [“dead_bit” : true , “coral_color” : “blue” ]
      • /setblock ~~~ coral_fan [“coral_fan_direction” : 1, “coral_color” : “pink”]
      • /setblock ~~~ wool [“color”: “blue”]
      • /fill ~ ~ ~ ~5 ~5 ~5 gold_block [] replace air
    • More information about commands can be found at learn.microsoft.com/minecraft/creator/commands
  • Volume arguments no longer floor the selector’s position (MCPE-162237)
  • Selecting targets by volume will now select all entities whose hitbox collides with the volume box. This is versioned for 1.19.70 and later (MCPE-162237)
    • Previous behavior works as expected on versions less than 1.19.70
  • Volume arguments for selectors (dx, dy, dz) now support float values (MCPE-163863)
  • Replaceitem and loot replace block commands no longer place items in Cauldrons (MCPE-129472)
  • Rotation in the teleport command is now relative to the executor of the command instead of the target. Old usage of rotations in commands will stay relative to the target mob for backwards compatibility

Entity Properties

  • Fixed an issue where Entity Property value changes could be discarded if done by events fired as part of removal of active behaviors caused by other events

Mobs

  • Witch potion drinking and ranged attack behaviour is now defined in its .json file
  • The game will no longer create a content error when Bee spawn eggs are used on a Mob Spawner

GameTest Framework (Experimental)

  • Test
    • Added optional searchDistance parameter to assertEntityPresent(entityTypeIdentifier: string, blockLocation: BlockLocation, searchDistance?: number, isPresent?: boolean)
    • Added assertEntityInstancePresentInArea(entity: Entity, isPresent?: boolean) to check if an entity instance is present in the test area
    • Made the searchDistance parameter optional in assertItemEntityPresent

API (Experimental)

  • IMPORTANT BREAKING CHANGE: The classes Location and BlockLocation no longer exist in the beta script API. All usages of these classes have been changed to use the Vector3 interface (that is, { x: 1, y: 2, z: 3} objects)
  • Also, note that several changes were made to properties and get/set methods across objects (listed below) to make them more consistent in calling structure
    • World Events
    • Added event entityDie – It is fired when an entity dies
    • Modified projectileHit to be a readOnly property on the Events class
  • Player
    • Added method getSpawnPosition – Gets the spawnPoint position
    • Added property spawnDimension – Gets the spawnPoint dimension
    • Added method setSpawn(spawnPosition : Vec3, spawnDimension : Dimension) i Sets spawnPoint with a position and dimension
    • Added method clearSpawn – Sets the spawnPoint position and dimension to undefined
    • Renamed function tell to sendMessage
  • World
    • Renamed function say to sendMessage
    • Added method ‘getDefaultSpawnPosition’ – Gets the spawnPoint position
    • Added method ‘setDefaultSpawn'(spawnPosition : Vec3) – Sets the spawnPoint position within ‘overworld’ dimension
  • BeforeChatEvent
    • Added function getTargets(): Player[] – Gets chat Player targets
    • Added function setTargets(players: Player[]) – Sets chat Player targets
    • Removed property targets
  • BeforeDataDrivenEntityTriggerEvent
    • Added function getModifiers(): DefinitionModifier[] – Gets entity definition modifiers
    • Added function setModifiers(modifiers: DefinitionModifier[]) – Sets entity definition modifiers
    • Removed property modifiers
  • BoolBlockProperty
    • Added function getValidValues(): boolean[] – Gets all valid boolean values for the BoolBlockProperty
    • Removed property validValues
  • Converted BlockHitInformation to an interface
  • ChatEvent
    • Added function getTargets(): Player[] – Gets chat Player targets
    • Removed property targets
  • Converted Color to an interface
  • DataDrivenEntityTriggerEvent
    • Added function getModifiers(): DefinitionModifier[] – Gets Entity definition modifiers
    • Removed property modifiers
  • DefinitionModifier
    • Added function getComponentGroupsToAdd(): string[] – Gets component groups that will be added with the DefinitionModifier
    • Added function setComponentGroupsToAdd(newGroups: string[]): void – Sets component groups that will be added with the DefinitionModifier
    • Added function getComponentGroupsToRemove(): string[] – Gets component groups that will be removed with the DefinitionModifier
    • Added function setComponentGroupsToRemove(removedGroups: string[]): void – Sets component groups that will be removed with the DefinitionModifier
    • Added function getTriggers(): Trigger[] – Gets event triggers of the DefinitionModifier
    • Added function setTriggers(newTriggers: Trigger[]): void – Sets event triggers of the DefinitionModifier
    • Removed property componentGroupsToAdd
    • Removed property componentGroupsToRemove
    • Removed property triggers
  • DirectionBlockProperty
    • Added function getValidValues(): Direction[] – Gets all valid direction enum values for the DirectionBlockProperty
    • Removed property validValues
  • Entity
    • Added function getViewDirection(): Vector3 – Gets view direction of the Entity
    • Added function getRotation(): XYRotation – Gets rotation of the Entity
    • Added function getVelocity(): Vector – Gets velocity of the Entity
    • Removed property viewDirection
    • Removed property rotation
    • Removed property velocity
  • Added function playAnimation(animationName: string, options?: PlayAnimationOptions)
    • Plays the specified animation for an entityReplaced general setVelocity call with methods to apply impulses to entities:
  • Added function clearVelocity(): void – Sets the current velocity of the Entity to zero
  • Added function applyImpulse(vector: Vector3): void – Applies impulse vector to the current velocity of the Entity
  • Added function applyKnockback(directionX: number, directionZ: number, horizontalStrength: number, verticalStrength: number): void – Applies knockback to the Entity in specified direction based on vertical and horizontal strength
  • Removed function setVelocity
  • EntityAgeableComponent
    • Added function getDropItems(): string[] – Gets items that drop when entity grows
    • Added function getFeedItems(): EntityDefinitionFeedItem[] – Gets items that can be fed to the entity
    • Removed property dropItems
    • Removed property feedItems
  • EntityBreathableComponent
    • Added function getBreatheBlocks(): BlockPermutation[] – Gets blocks entity can breathe in
    • Added function getNonBreatheBlocks(): BlockPermutation[] – Gets blocks entity can’t breathe in
    • Removed property breatheBlocks
    • Removed property nonBreatheBlocks
  • EntityHealableComponent
    • Added function getFeedItems(): FeedItem[] – Gets healing items for the EntityHealableComponent
    • Removed property items
  • Converted EntityHitInformation to an interface
  • EntityRideableComponent
    • Added function getFamilyTypes(): string[] – Gets supported rider entity types
    • Added function getSeats(): Seat[] – Gets rider information for each seat
    • Removed property familyTypes
    • Removed property seats
  • EntityTameableComponent
    • Added function getTameItems(): string[] – Gets tame items of the EntityTameableComponent
    • Removed property tameItems
  • FeedItem
    • Added function getEffects(): FeedItemEffect[] – Gets effect of the FeedItem
    • Removed property effects
  • IntBlockProperty
    • Added function getValidValues(): number[] – Gets all valid integer values for the IntBlockProperty
    • Removed property validValues
  • ItemDurabilityComponent
    • Added function getDamageRange(): NumberRange – Gets the range of numbers that describes the chance of the item losing durability
    • Removed property damageRange
  • Converted NumberRange to an interface
  • ProjectileHitEvent
    • Added function getBlockHit(): BlockHitInformation – Gets block hit information from the ProjectileHitEvent
    • Added function getEntityHit(): EntityHitInformation – Gets entity hit information from the ProjectileHitEvent
    • Removed property blockHit
    • Removed property entityHit
  • StringBlockProperty
    • Added function getValidValues(): string[] – Gets all valid string values for the StringBlockProperty
    • Removed property validValues
  • ItemStack
    • ItemStack can now be constructed using a string identifier
    • Removed constructor parameter data
    • Removed property data
    • Removed function clearLore – To clear lore, call setLore with an empty array or undefined
    • Setting nameTag to an empty string will now clear the name tag
    • Setting nameTag to a string longer than 255 characters will now result in an exception
    • Setting amount greater than the maximum stack size will now clamp the value to the maximum stack size
    • Setting amount to a value less than 1 will now result in an exception
    • Item lore can now be cleared by calling setLore(undefined) or setLore([])
    • Fixed a bug where calling function ItemStack.getComponent or ItemStack.getComponents would fail on ItemStacks returned from EntityItemComponent.itemStack
    • Added read-only property getMaxAmount: number – Returns the maximum stack size for the item
    • Added read-only property isStackable: bool – Returns whether the item is stackable
    • Added function isStackableWith(itemStack: ItemStack): bool – Returns whether the item can be stacked with the given item
    • Added read-only property type: ItemType – Returns the type of the item
    • Added function clone(): ItemStack – Returns a copy of the item stack
    • Added property keepOnDeath: bool – Sets whether the item is kept on death
    • Added property lockMode: ItemLockMode – Sets whether the item can be moved or dropped
    • Added function setCanPlaceOn(blockIdentifiers?: string[]) – Sets which blocks the item can be placed on
    • Added function setCanDestroy(blockIdentifiers?: string[]) – Sets which blocks this item can destroy
  • ContainerSlot
    • Removed function clearItem – To clear the item, call setItem with undefined
    • Removed function clearLore – To clear lore, call setLore with an empty array or undefined

General changes to more consistently use methods when working with simple data-only objects vs. properties:

  • BeforeExplosionEvent
    • Added function getImpactedBlocks(): Vector3[] – Gets the blocks locations that are impacted the by the explosion
    • Added function setImpactedBlocks(blocks: Vector3[]): void – Sets the blocks locations that are impacted the by the explosion
    • Removed property impactedBlocks
  • BeforeItemUseOnEvent
    • Added function getBlockLocation(): Vector3 – Gets the location of the block being impacted
    • Removed property blockLocation
  • BlockInventoryComponent
    • Removed property location
  • BlockLavaContainerComponent
    • Removed property location
  • BlockPistonComponent
    • Added function getAttachedBlocks(): Vector3[] – Gets the blocks locations that are impacted by the activation of this piston
    • Removed property attachedBlocks
    • Removed property location
  • BlockPotionContainerComponent
    • Removed property location
  • BlockRecordPlayerComponent
    • Removed property location
  • BlockSignComponent
    • Removed property location
  • BlockSnowContainerComponent
    • Removed property location
  • BlockWaterContainerComponent
    • Removed property location
    • Added function getHeadLocation(): Vector3 – Gets the head location of the Entity
    • Removed property headLocation
  • ExplosionEvent
    • Added function getImpactedBlocks(): Vector3[] – Gets the blocks locations that are impacted the by the explosion
    • Removed property impactedBlocks
  • ItemStartUseOnEvent
    • Added function getBlockLocation(): Vector3 – Gets the location of the block being impacted
    • Added function getBuildBlockLocation(): Vector3 – Gets the location of the resulting build block
    • Removed property blockLocation
    • Removed property buildBlockLocation
  • ItemStopUseOnEvent
    • Added function getBlockLocation(): Vector3 – Gets the location of the block being impacted
    • Removed property blockLocation
  • ItemUseOnEvent
    • Added function getBlockLocation(): Vector3 – Gets the location of the block being impacted
    • Removed property blockLocation
  • NavigationResult
    • Added function getPath(): Vector3[] – Gets the locations of the blocks that comprise the navigation route
    • Removed property path
  • Player
    • Added function getHeadLocation(): Vector3 – Gets the head location of the Player
    • Removed property headLocation
  • Block
    • Added function isAir – Returns if the block is an air block (i.e. empty space)
    • Added function isLiquid – Returns if the block is a liquid (e.g., a water block and a lava black are liquid, while an air block and a stone block are not)
    • Added function isSolid – Returns if the block is solid (e.g., a cobblestone block and a diamond block are solid, while a ladder block and a fence block are not)
    • The following blocks now have an inventory component:
      • Barrel
      • Beacon
      • Blast Furnace
      • Brewing Stand
      • Dispenser
      • Dropper
      • Furnace
      • Hopper
      • Jukebox
      • Lectern
      • Smoker

BlockPermutation

BlockPermutation has been significantly refactored! Every BlockPermutation now share a unique JavaScript handle so exact equality (===) will work for permutations that share exactly the same state values. We’ve also added utility methods that make interacting with permutations easier, which includes the removal of the XBlockProperty classes and now directly return properties (boolean | number | string) or a while collection of properties ( Record<string, boolean | number | string>)

  • Added method matches(blockName: string, properties?: BlockProperties): boolean which is used to match a block with optional states against a BlockPermutation
  • Added method withProperty(name: string, value: boolean | number | string): BlockPermutation; which returns a new block permutation with a given property set to a specific value. Throws if the provided data cannot be resolved as a valid block permutation
  • Added function static resolve(blockName: string, properties?: BlockProperties): BlockPermutation which resolve a BlockPermutation from a block name and optional states. Throws if the provided data cannot be resolved as a valid block permutation
  • Updated methods getProperty and getAllProperties to return values directly instead of wrapped into class objects. Example code:

Before:

 

const blockPermutation = MinecraftBlockTypes.stoneSlab.createDefaultBlockPermutation();

blockPermutation.getProperty(MinecraftBlockProperties.stoneSlabType).value = ‘stone_brick’;

blockPermutation.getProperty(MinecraftBlockProperties.topSlotBit).value = true;

 

Now:

 

const blockPermutation = BlockPermutation.resolve(‘minecraft:stone_slab’, {

    stone_slab_type: ‘stone_brick’,

    top_slot_bit: true,

});

 

BlockProperties

  • Added new class to expose BlockPropertyType

BlockPropertyType

  • Added new class to track “definitional” data about block properties. This is how you can find which values are valid for each block property

Data-Driven Custom Blocks

  • Released block properties and permutations out of experimental in JSON formats 1.19.70 and higher
  • Added a content warning when loading world with more than 65536 custom block permutations. Custom block permutation counts are logged in debug log
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.63

  • Release date: February 24th 2023 (North America, Europe) / February 25th 2023 (Japan)
  • Patch notes:

Fixes:

  • Fixed an issue that was causing continuous freezes when playing on Nintendo Switch (MCPE-166760)
  • Fixed a crash that could occur when playing on iOS devices
  • Fixed a bug where the Edit World screen couldn’t be opened for a world if the corresponding world directory had a space in it (MCPE-166763)
  • Improved navigation of the “My Content” Marketplace screen when using a controller
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.62

  • Release date: February 16th 2023 (North America, Europe) / February 17th 2023 (Japan)
  • Patch notes:

Fixes:

  • Fixed a crash that could occur during gameplay
  • Fixed a crash on Nintendo Switch when attempting to login while set to local network mode
  • Fixed a crash that occurred upon creating a world from a template on Realms
  • Fixed servers being unable to set custom classic skins on players
  • Fixed the “Player has changed their skin” message being spammed on dedicated servers when custom skins were disabled
  • Fixed the cursor returning to the top of certain rows on Marketplace pages after going to the next tab in any row with a gamepad
  • Additional notes: none.
  • Source: Mojang

Minecraft – Ver. 1.19.60

  • Release date: February 7th 2023 (North America, Europe) / February 8th 2023 (Japan)
  • Patch notes:

Vanilla Parity:

Mobs

  • Added new Spawn Egg items for Ender Dragon, Iron Golem, Snow Golem, and Wither mobs, which can be obtained using commands
  • Polar Bear Spawn Egg colors have changed to distinguish it from the Ghast Spawn Egg
  • Vex hitboxes are now vertically centered with their models (MCPE-257340)
  • Vex and Allay now sit properly in Boats and Minecarts (MCPE-164441)
  • Fixed Vex texture disparity between Bedrock and Java (MCPE-164227)
  • Slimes and Magma Cubes no longer spawn in spaces that are 2 blocks tall or less (MCPE-46540)
  • Glow Squid now emit particles when spawned outside of water
  • Using a Saddle on a tamed Horse, Donkey, or Mule now results in it being equipped (MCPE-83815)
  • Using Horse Armor on an unarmored, tamed Horse now results in it being equipped (MCPE-163336)
  • Using a Carpet on a tamed Llama now results in it being equipped (MCPE-163336)
  • Dispensers can now equip Saddles and Horse Armors to tamed Horses
  • Dispensers can now equip Saddles and Chests to tamed Mules and Donkeys
  • Dispensers can now equip Carpets and Chests to tamed Llamas
  • Dispensers can now equip Saddles to Pigs and Striders
  • Shears in a Dispenser now only shear one Sheep at a time
  • Shears in a Dispenser can now shear Snow Golems and Mooshrooms
  • The Wandering Trader no longer has a chance to offer duplicate Seed trades (MCPE-161780)
  • Endermen, Skeletons, and Wither Skeletons now only spawn at light level 7 and below (instead of 11 and below) in the Nether (MCPE-163701)
  • Updated the Skeleton/Zombie Horse’s and Donkey/Mule’s saddle and chest textures
  • Villagers will now ensure that rain can pass through the block above them before launching Fireworks when celebrating after a raid victory (MCPE-152386)
  • Axolotls no longer tick their dry out timer when unloaded (MCPE-131041)
  • Husks can now fit in a two blocks high space and baby Husks in a one-high space (MCPE-105369)
  • All mobs are now able to path through Wither Roses (MCPE-159212)

Blocks

  • Crimson and Warped block sets now have a unique set of sounds
  • Campfires do not set players and mobs on fire anymore, but still inflict damage (MCPE-98931)
  • Campfires do not destroy Minecarts and Boats anymore (MCPE-109489)
  • Bamboo plant placement now behaves the same way as Java Edition; it will no longer grow by clicking on the side of a Bamboo plant with a Bamboo item in-hand (MCPE-99587)
  • Bamboo sapling no longer replaces double plants when placed (MCPE-99806)
  • Pumpkins and Melons can now grow on Mycelium and Moss blocks (MCPE-125932)
  • The Sculk Shrieker block’s shriek sound can now be heard at the longer distance of 32 blocks (MCPE-163989)
  • Respawn Anchor no longer retains its charges if mined with Silk Touch or picked (MCPE-145682)
  • Beacon effect particles are now transparent (MCPE-17679)
  • Conduit effect particles are now transparent (MCPE-93728)
  • Redstone Dust now emits a sound when placed on the ground (MCPE-65423)
  • Wooden Doors, Iron Doors, Wooden Trapdoors, Iron Trapdoors and Fence Gates now use the same opening and closing sounds as Java Edition
  • Updated Pressure Plates to have different sound pitches based on their behaviour to match Java Edition
  • Added a unique click sound for Wooden Buttons to match Java Edition
  • Changed Frogspawn map color to match Java Edition (MCPE-159715)
  • Change Bed block map colors to match Java Edition (MCPE-40709)
  • Changed various blocks’ Map colors to appear correctly match Java Edition (MCPE-19228)

Experimental Features:

  • In addition to experimental features added in 19.50, several new experimental features are now playable from the upcoming 1.20 update!
  • Enable the “Next Major Update” toggle in world settings to enable this content
  • These features are a work in progress and are still in active development. The design and functionality of these features will likely change before they’re released
  • Please remember: Worlds that have used experimental toggles will always be flagged as “Experimental”. We recommend keeping these experimental worlds as separate copies from your main saves. More information can be found in this article

Mob Heads on Note Blocks

  • When placing a Mob Head on a Note Block, that Note Block will now play one of the ambient sounds of that mob when played by a player or powered by Redstone!

Piglin Mob Head

  • Piglins will now drop their heads when killed by a charged Creeper!
  • Placing the Piglin Head on a Note Block will play one of the Piglin’s ambient sounds
  • The Piglin Head will flap its ears when powered by Redstone on worn by a player!

Bamboo

  • Added Block of Bamboo, which can be crafted from 9 Bamboo
  • Added Stripped Block of Bamboo, which can be obtained by using an Axe on a Block of Bamboo
  • Both Block of Bamboo and Stripped Block of Bamboo can be crafted into 2 Bamboo Planks

Fixes:

Stability and Performance

  • Fixed a potential crash when gliding through an End Gateway
  • The game no longer crashes when killing an entity with invalid conditions, functions, or pools entries in its loot table (MCPE-164623)
  • Fixed multiple crashes that could occur when players died while affected with Withering
  • Fixed a crash on Xbox when the Edit World Button on the Select World Screen had quick successive selections
  • Fixed a bug that caused players to desync from multiplayer games if they saved and quit after dying and rejoining a game (MCPE-162630)

Gameplay

  • Fixed a bug causing players’ hitboxes and nameplates to be unaligned when rejoining a world after dying and returning to menu without respawning (MCPE-162630)
  • Raids now trigger properly when the player with bad omen enters a village while riding/gliding (MCPE-152774)
  • Fixed an issue where players could fall out of moving blocks when pushed upwards (MCPE-163725)
  • Fixed an issue where night was being incorrectly skipped if the last player in a game was in the Nether or End
  • A player entering the Nether or End will now trigger a night skip if all players left in Overworld are sleeping
  • Fixed a bug where dropping an item and sleeping at the same time would cause the server to hang (MCPE-162989)
  • Orbs spawned within the same block will merge and combine XP values until orb limit is reached (REALMS-10706)

Mobs

  • Entities no longer disappear when sent through End Gateways (MCPE-164985)
  • Ravagers are now able to attack when standing on various partial blocks like Mud (MCPE-162483)
  • Vex now use a separate charging animation when empty-handed (MCPE-164490)
  • Vex now render offhand items
  • Fixed the Vex being incorrectly lit in dark surroundings
  • Players can no longer see through terrain by riding a Horse, Mule, or Donkey at the edge of a 2-block-tall space
  • Villagers will now take damage from lightning bolts on Peaceful difficulty, like other mobs
  • Tropical Fish no longer use surface density limit when spawning underground (MCPE-157485)
  • Evokers now play a ‘sit’ animation when riding a mount or vehicle (MCPE-43778)

Blocks

  • Entities no longer get pushed out by Doors activated by Redstone signals (MCPE-158971)
  • Using the Pick Block functionality on Fern and Grass now selects the correct item in the inventory instead of the first one between them
  • Using the Pick Block functionality on Acacia Leaves and Dark Oak Leaves now selects the correct item in the inventory instead of the first one between them
  • Hoppers no longer fail to collect items when trying to pull in multiple item types (MCPE-38963)
  • Prevent Pistons from re-creating moving blocks that were destroyed mid-move (MCPE-164804)
  • Blocks that require supporting blocks now appear properly on a Map when placed on partial blocks or above air (MCPE-159713)
  • Scaffolding now displays particles and produces vibrations when the block under it is destroyed (MCPE-163738)
  • Stone Walls are now placed correctly in a line when continuously placing them
  • Levers now produce the same sound effect as Stone Buttons (MCPE-163335)

Items

  • Fixed item degradation when rapidly attacking mobs (MCPE-157150)
  • Fixed an issue that prevented some Tripwire Hooks from being valid trades when trading with a Fletcher Villager (MCPE-108195)
  • Ender Pearls will no longer teleport a sleeping player (MCPE-161189)

Touch Controls

  • Fixed a bug that prevented items from moving indirectly between Creative Mode inventory and players’ extended inventory in Pocket UI (MCPE-164479)
  • Fixed a problem where the touch d-pad’s forward button was not functional when holding the strafe left/right button (MCPE-155199)
  • The inventory tab will now reset its hover state if the player uses a second input method and hover on another tab
  • Fixed a bug where players couldn’t interact with toast notifications in Joystick and Crosshair touch controls
  • The pressing direction of the build button in touch controls will now be visually clicked down instead of up when being pressed (MCPE-162026)
  • Fixed an issue where players could not remove items by clicking on the inventory items in Classic profile (MCPE-162124)
  • The touch focus circle has been reactivated with the new touch controls (not in Crosshair mode)
  • Resolved an issue that pressing the inventory button could interact with the world instead of opening the inventory on some devices (MCPE-154499)
  • Fixed an issue that players couldn’t scroll the inventory screen when one row was appearing off-screen (MCPE-159870)
  • Added several levels of intervals for repeat crafting when holding on the crafted items
  • Removed the camera movement delay when the player swiped from the attack and build buttons in crosshair mode
  • Fixed inventory screen touch interactions not working properly on Nintendo Switch
  • The correct tip for dismounting Boats and Minecarts now appears when not using classic touch controls
  • Toast notifications can now be swiped away on touch devices in-game
  • Touch Control settings section is no longer visible on Xbox

Graphical

  • Highlight selection no longer highlights the entire card for transparent objects like saplings
  • V-sync settings are now properly configured in options (non-ARM devices) (MCPE-110006)

Accessibility

  • The new Create New World screen is now available for text to speech users. We’d be happy to receive your feedback on it here: aka.ms/cnwnarration
  • Fixed text to speech enumeration for world on the Play screen, select language in settings screen, select controls in settings screen, and friends in invite friends screen when there are a large number of items in the list

User Interface

  • Fixed a bug where the mouse cursor was visible and is no longer usable to control the player camera on the HUD screen after exiting the menu screen with a touch while moving the mouse around
  • Fixed text being slightly off-centered to the left for Furnace, Blast Furnace, and Smoker screens (MCPE-151597)
  • Feedback button on the main menu will now prompt the player with a modal before redirecting to their web browser
  • Fixed an issue where text fields would not regain focus after being deselected with a gamepad (MCPE-153842)
  • Text fields are no longer deselected with second click on them once they are selected
  • Fixed an issue where user interface elements on the Achievements screen and the new Create New World screen didn’t properly trigger sound effects (MCPE-163722)
  • Added a missing error screen that displays when attempting to create a world with too little available disk space
  • Fixed the quality of the Mojang Studios logo loading screen on Xbox (MCPE-163036)
  • Removed extra space around the “open chat” message that appears when entering a world (MCPE-162700)
  • Fixed an issue that caused the Wandering Trader’s trade window to show a profession (MCPE-162576)
  • Resource packs will now be applied to the world after navigating to another screen before creation
  • Fixed an issue where some resource packs prompted an error after being downloaded

Android

  • The screen will no longer automatically turn off while a world is loaded when playing on Android devices
  • Updated splash screen to be consistent between Android 12+ devices and older devices (MCPE-151413)
  • Fixed controller input sometimes getting stuck when a controller was disconnected on Android devices
  • The UI no longer flickers on Android when the on-screen keyboard appears (MCPE-142356)

Realms

  • New Realm button on the two player Realm info screen now activates correctly
  • Added a highlight to Realms terms and agreements checkbox when the UI is hovered
  • Redirect players back to the world selection screen if they choose to leave on the Download Resource Packs prompt
  • Fixed a bug where the option “Require players to accept resource packs to join” did not reflect the actual state (REALMS-10799)
  • Fixed erroneously showing previously applied packs on Realms settings screen after a Realm reset
  • Updated error message for failing to join an owned Realms server that is out of date. New messaging now describes the issue and provides steps to resolve issue

Technical Updates:

Updated Add-On Template Packs

  • Updated Add-On templates for1.19.60 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

Performance / Stability

  • Fixed a crash that could occur when teleporting players to other dimensions using commands (MCPE-164940)
  • Fixed a crash that could occur when using the “instant_despawn” component
  • Fixed a crash that could occur when loading actors

General

  • Added a content error for the condition that custom blocks with permutations or properties fail to load in non-experimental worlds for JSON formats 1.19.60 and onwards
  • Ensure Block Permutation Conditions cannot have side effects (i.e. ‘math.random’, ‘math.random_integer’, and variable assignment)
  • Released BlockSelectionBoxComponent outside of experimental toggle in json formats 1.19.60 and higher
  • Released BlockDisplayNameComponent outside of experimental toggle in json formats 1.19.60 and higher
  • Ensure Block Permutation Conditions can only use ‘query.block_property’ Molang Query
  • Fixed albedo color arrays in texture sets for custom blocks (MCPE-163622)

Recipes

  • Renamed and converted all Smithing Table recipes to use the newly introduced “minecraft:recipe_smithing_transform” recipe format

Particles

  • Updated particles documentation with descriptions of new materials and included example particles in the example resource pack

Commands

  • Executing the ‘/say’ command via the new execute syntax now displays the entity’s name that produced the message (MCPE-161450)
  • When teleporting a group of leashed mobs using “/tp @e” a far enough distance away to unleash them, all mobs now get properly unleashed (MCPE-159617)
  • Fixed a bug causing players to not wake up when teleported while sleeping (MCPE-162346)
  • Running ‘/execute if|unless score’ on a player that doesn’t have a score set will now return false (MCPE-156279)
  • ‘/execute if|unless score’ no longer accepts selectors that can return multiple entities (ie. @e, @a)

Commands (Experimental)

  • Fixed a bug where the @initiator selector would not work with the Upcoming Creator Features experiment enabled (MCPE-164727)

Components

  • Released BlockPlacementFilterComponent outside of experimental toggle in JSON formats 1.19.60 and higher
  • Expanded “minecraft:shooter” component to define multiple projectiles that can specify different projectile definitions and condition filters
  • Exposed more fields to shooter component to allow for more projectile customization such as throw power, sounds, and whether the attack is a magic attack
  • Projectiles that teleport their owner will no longer do so while their owner is sleeping (MCPE-161189)
  • Added “inventory” as a possible “domain” value for the “has_equipment” filter, which allows to check for items stored in the actor’s inventory
  • Added an “equip_item_slot” field to the “interact” component
    • If set, an item held by the player will be equipped to the specified slot upon successful interaction
    • If an item is already present in the specified slot, it will be moved to the player’s inventory
    • Equipping an item removes it from the player’s inventory, unless the player is in Creative Mode
  • Players now respond correctly to speed changes using the minecraft:movement component

Actor Filters

  • Created new actor filters “on_fire”, “on_hot_block”, “target_distance”, and “actor_health”

AI Goals

  • The “celebrate_survive” AI behavior will now consider the highest rain passable block in addition to sky visibility before firing Fireworks
  • The “move_outdoors” AI behavior will now consider the highest rain passable block in addition to sky visibility when searching for a place to consider as being outdoors
  • Exposed new data parameters for the “trade_with_player” AI behavior to specify such things as the conditions that need to be met for the goal to start and the max distance the mob can be from its trading player before exiting the goal

Particle Effects

  • Fixed a bug causing particles with collision and “expire_on_contact” to not expire when collided
  • Added support for mixed color blending on particle effects

Molang

  • Added new Molang query.is_local_player to allow detection of the current player
  • Fixed a bug where dividing any value in Molang by a dynamically determined negative variable resulted in a division by a positive (absolute) value instead
    • This is a Molang Versioned Change that only takes effect for Molang expressions in packs that use a min_engine_version of 1.19.60 or higher

API (Experimental)

Entities/Players/SimulatedPlayer: Fire, levels, experience, and more

  • Entity
    • Added method setOnFire(seconds: number, useEffects?: boolean = true): boolean)which sets an entity on fire (if it is not in water or rain)
    • Added method extinguishFire(useEffects?: boolean = true): void which extinguishes the fire
    • If an entity is on fire, you can call getComponent(‘minecraft:onfire’)on it, which returns an object of type EntityOnFireComponent, which has a property onFireTicksRemaining
    • Fixed a bug where viewDirectionwould return the direction from the previous tick
    • Fixed a bug where getEntitiesFromViewDirectionwould use the direction from the previous tick
    • Fixed a bug where getBlockFromViewDirectionwould use the direction from the previous tick
    • Fixed a bug where headLocationwould return the location from the previous tick
    • Fixed a bug where the getEffect method could return an invalid Effect (and another case where an Effect could become invalid after a new Effect was added)
    • Added method getEffectswhich returns an array of all active effects on the entity
  • EntityHealthComponent
    • Fixed a bug where health could be modified on dead entities (MCPE-130687)
  • Player
    • Added function addLevels(amount: number): number – Adds/Removes level to/from the player and returns the current level of the player
    • Added function addExperience(amount: number): number – Adds/Removes experience to/from the player and returns the current experience of the player
    • Added function resetLevel(): void – Resets the level of the player
    • Added function getTotalXp(): number – Gets the total experience of the player
    • Added read-only property level – Gets the level of the player
    • Added read-only property xpEarnedAtCurrentLevel – Gets the experience earned at the current level of the player
    • Added read-only property totalXpNeededForNextLevel – Gets the total experience required for the current level of the player
  • Simulated Player
    • Added property isSprinting– Used to get or set if the sprinting state of the simulated player is set to true
  • Added function respawn()– Respawns the SimulatedPlayer if it’s dead
  • Added function disconnect()– Removes the SimulatedPlayer from the world

Blocks & Redstone

  • Added function getRedstonePower(): number– Gets the Redstone signal strength of the Block if it is part of a circuit, otherwise returns undefined

Fill Block APIs

  • Added function dimension.fillBlocks(begin: BlockLocation, end: BlockLocation, block: BlockPermutation | BlockType, options?: BlockFillOptions): number
    • Fills an area between begin and end with block of type block. Returns number of blocks placed
  • Added new interface BlockFillOptions with member matchingBlock?: BlockPermutation | BlockType
    • Used with fillBlocks to apply additional options, such as only filling blocks matching matchingBlock

Command to script message passing

  • Added the ‘/scriptevent’ command as part of the Beta APIs experiment. This is what will trigger events.scriptEventReceive events (see below)
    • Usage: /scriptevent <messsageId: string> [message: ???]
    • messageId must be namespaced, use of the minecraft namespace is invalid (e.g. “/scriptevent give:coal”, “/scriptevent my_scripts:spawn_sheep”)
    • message is optional, with a max length of 256 characters
  • events.scriptEventReceive
    • Added system event events.scriptEventReceive
    • Added read-only property id: String The namespaced ID of the event
    • Added read-only property message: String- The content of the message the event was sent with
    • Added read-only property sourceBlock: Block– The command block that triggered/executed the command call if applicable, otherwise undefined
    • Added read-only property sourceEntity: Entity– The player/entity that executed the command call if applicable, otherwise undefined
    • Added read-only property initiator: Entity– The player that caused an NPC to execute the command call if applicable, otherwise undefined
    • Added read-only property sourceType: MessageSourceType– The type of source the event was triggered by
    • subscribe()can filter by valid namespace string using the ScriptEventMessageFilterOptions class
  • ScriptEventMessageFilterOptions
    • Added ScriptEventMessageFilterOptions class
    • Added property namespaces: string[]– An array of namespaces to filter on

Item Stacks

  • ContainerSlot
    • Added class ContainerSlot– Used to directly manipulate items stored within a container
    • Renamed entity property viewVectorto viewDirection and now returns Vector3
    • Renamed entity function getEntitiesFromViewVectorto getEntitiesFromViewDirection
    • Renamed entity function getBlockFromViewVectorto getBlockFromViewDirection
  • Container
    • Added function getSlot(slot: number): ContainerSlot– Returns the slot at the given container slot index
    • Added function clearItem(slot: number): void– Clears the item at the given slot index
    • Added function clearAll(): void– Clears all items in the container
    • Made the itemStackargument of function setItem optional – If not provided, the slot is cleared
    • Added event events.playerSpawn– Fires when a player spawns in the world
    • Renamed event events.entityCreateto world.events.entitySpawn. This event no longer fires for players

Refactored and Improved Player events

  • PlayerJoinEvent
    • Added read-only property playerId– The unique ID of the player that joined the world
    • Added read-only property playerName– The name of the player that joined the world
    • Removed property player
  • PlayerLeaveEvent
    • Added read-only property playerId– The unique ID of the player that left the world

Say/Tell/sendMessage APIs

  • Renamed IRawMessage to RawMessage for naming consistency
  • RawMessage
    • Changed the signature of property withfrom (string[] | RawMessage)[]?  to (string[] | RawMessage)?

Scoreboard get/set value APIs

  • Scoreboard
    • Added setScore(ScoreboardObjective, ScoreboardIdentity, Number)
    • Added getScore(ScoreboardObjective, ScoreboardIdentity)
  • ScoreboardObjective
    • Added setScore(ScoreboardIdentity, Number)
    • Added getScore(ScoreboardIdentity)
    • Added removeParticipant(ScoreboardIdentity)
  • ScoreboardIdentity
    • Added setScore(ScoreboardObjective, Number)
    • Added getScore(ScoreboardObjective)
    • Added removeFromObjective(ScoreboardObjective)

EntityHurtEvent updates

  • Added read-only property damageSource: EntityDamageSource – Gets information about the damage source
  • EntityDamageSource
    • Added property cause: EntityDamageCause – Gets the damage cause
    • Added property damagingEntity?: Entity – Gets the damaging Entity
    • Added property damagingProjectile?: Entity – Gets the damaging projectile Entity
    • Added function applyDamage(amount: number, source?: EntityDamageSource): boolean – Applies damage to the Entity and returns the result of the operation
  • Additional notes: none.
  • Source: Mojang

How to download updates for Minecraft and Minecraft: Nintendo Switch Edition for the Nintendo Switch?

To download the updates manually, you have three options:

  • let the console do its thing if you have automatic downloads activated, and didn’t completely turn it off

If not…

  • try to launch the game from the Home Menu while being connected to the internet. You should get a prompt when doing so: simply follow the instructions on screen;

OR

  • select the game > press either + or – to go to the Options page > select Software update > select Via the Internet

Lite_Agent

Founder and main writer for Perfectly Nintendo. Tried really hard to find something funny and witty to put here, but had to admit defeat.