Minecraft Bedrock Edition Changelog

Experimental Features

Recipe Unlocking

  • We tested having a notification that informed you about new ways of creating recipes you’ve already unlocked. It didn’t feel helpful. Do you know how many ways there are to make sticks?! Yeah, a lot. We are removing this version of the unlocking notification
  • Spectator mode is for spectating. Not unlocking recipes! With this fix recipes won’t unlock when you’re in spectator mode
  • Unlocking a new recipe no longer sets the inventory toggle option to be “All”. The craftable toggle will now reliably stay the way you left it

Sneak and Crawl

  • Fixed an issue that caused players to automatically sneak while on ladders
  • Fixed a bug that caused the player to get stuck at the top of a ladder when sneaking
  • Crawling head rotation no longer follows camera rotation directly
  • Fixed an issue where Swift Sneak did not increase Crawling speed
  • Fixed an issue where legacy Crawling was not working correctly with the Sneak and Crawl toggle turned off
  • Fixed an issue where mobs did not have the correct collision box when spawning
  • Short Sneaking has now been ‘de-experimentified’ and is available during normal gameplay
  • Crawling animation is no longer triggered while gliding below blocks
  • Players can now be forced into sneak/crawl state while flying

Features and Bug Fixes


  • Fixed player capes not properly flapping when moving forward but looking sideways (fixed for real this time!)
  • Reduce cases where players might see ‘Unable to connect’ errors due to ‘Expired Auth from Discovery’
  • Fixed issues with unresponsive or laggy input when using Mouse together with a Controller

Mouse Input

  • Improved handling of simultaneous mouse clicks, triggering each individual associated action/response


  • Text-to-speech narrator will now say “Slash button” when hovering over the “/” button in the chat screen
  • Default chat duration now set to 10 seconds while default toast notification duration remains at 3 seconds
  • Text-to-speech Narrator now reads item names when selecting items in the hotbar


  • Fixed an issue where it was not possible to switch mounts without first manually dismounting


  • Pumpkin, Carved Pumpkin and Lit Pumpkin “minecraft:cardinal_direction” state string is now accepted during a world update
  • Mushrooms are now able to spawn on fallen tree trunks
  • Conduit now has the correct lighting when placed on ground


  • Recipe for crafting barrels with sticks is removed
  • Entities no longer continue to freeze without Powder Snow if there is a Powder Snow block near the west & north side

Chiseled Bookshelf

  • The correct sound effect is now played when removing an enchanted Book from Chiseled Bookshelf
  • Chiseled Bookshelf slot interactions are now symmetrical


  • Boats retain the ability to carry passengers when upgraded to Trails and Tales
    • Boats that were affected by this bug can once again carry passengers

User Interface

  • Cursor no longer snaps to a random inventory slot using a controller
  • Horse and Donkey jump bar, and camel dash bar, now scale properly to experience bar


  • /time querycommand will now return the correct day and time of day when the absolute time is negative

Technical Updates

Dedicated Server

  • Fixed invalid entries in allowlist.json causing crash

Add-Ons and Script Engine

  • 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
  • Observer blocks use state “minecraft:facing_direction” instead of “facing_direction”. “minecraft:facing_direction” uses string values (“down”, “up”, “north”, “south”, “east”, “west”)


  • 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.


  • 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


The Editor is in early development, and available for keyboard/mouse on Windows PC Bedrock Preview builds.

  • Fixed a bug where error messages related to initial script loading were not being displayed in the log panel
  • /scriptEvent command can now be used in the editor without the need to enable the Beta APIs experiments
  • Fixed a bug where the viewport scaling was not working correctly on devices that use D3D11

Experimental Technical Updates


  • 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.3.0:

  • 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 getBlockFromRay
      • Changed return type from Block to BlockRaycastHit | undefined
    • Changed function getEntitiesFromRay
      • Changed return type from Entity[] to EntityRaycastHit[]
    • Changed function getBlockFromViewDirection
      • Changed return type from Block to BlockRaycastHit | undefined
    • Changed function 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 readonly 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

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 

Experimental Cameras

  • 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


  • Deprecate “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

1 Star2 Stars3 Stars4 Stars5 Stars

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.