Minecraft: Java Edition cover

Minecraft: Java Edition

Minecraft - 1.20.12 (Bedrock)

A new update has been released to address some issues that were introduced with the 1.20.10 update.

Note: This update is not yet available on Nintendo Switch or Amazon Fire but will be published soon.

Please continue to upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net!

Fixes:

  • Fixed resource pack crashes with launch of 1.20.10
  • Fixed a crash that could occur on iOS
  • Fixed connection stability related to "Abandoned connection closed" errors

Minecraft - 1.20.12 (Bedrock)

A new update has been released to address some issues that were introduced with the 1.20.10 update.

Note: This update is not yet available on Nintendo Switch or Amazon Fire but will be published soon.

Please continue to upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net!

Fixes:

  • Fixed resource pack crashes with launch of 1.20.10
  • Fixed a crash that could occur on iOS
  • Fixed connection stability related to "Abandoned connection closed" errors

Minecraft - 1.20.10 (Bedrock)

A new Minecraft update is ready to play! Since releasing the Trails & Tales update, the team has been hard at work on even more improvements to the game. Here are just a few of the highlights:

  • Players can now sneak under 1.5 block gaps
  • Shovels are no longer needed to craft Boats
  • Many more actions now emit vibrations detected by Sculk Sensors
  • Fixes to over 50 community-reported issues

NOTE: This update will appear as version 1.20.11 on Xbox

Your thoughts on the game continue to shape new updates so please upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net.

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-122663)
  • 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 getScore, setScore 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

Minecraft - 1.20.10 (Bedrock)

A new Minecraft update is ready to play! Since releasing the Trails & Tales update, the team has been hard at work on even more improvements to the game. Here are just a few of the highlights:

  • Players can now sneak under 1.5 block gaps
  • Shovels are no longer needed to craft Boats
  • Many more actions now emit vibrations detected by Sculk Sensors
  • Fixes to over 50 community-reported issues

NOTE: This update will appear as version 1.20.11 on Xbox

Your thoughts on the game continue to shape new updates so please upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net.

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-122663)
  • 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
  • Changed minecraft:block JSON schema so what was previously called "properties" is now called "states". This change takes effect for files where format_version is 1.20.10 or higher. Previous content is unaffected

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 getScore, setScore 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

Minecraft - 1.20.1 (Bedrock)

A new update has been released to address some issues that were introduced with the 1.20 update.

Please continue to upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net!

Fixes:

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

Minecraft - 1.20.1 (Bedrock)

A new update has been released to address some issues that were introduced with the 1.20 update.

Please continue to upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net!

Fixes:

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

Minecraft: Java Edition - 1.20 (Trails & Tales) NEW FEATURESCHANGESTECHNICAL CHANGESFIXED BUGS IN 1.20GET THE RELEASE

Oh, it's time for Trails & Tales! How could I forget? Time to equip your new brush and ride your camel off to new adventures!

NEW FEATURES

  • All features and changes from the "Update 1.20" experimental pack are now part of the game
  • Added Archaeology
  • Added Sniffer mob, Torchflowers and Pitcher Plants
  • Added Camel mob
  • Added Smithing Template items and redesigned the Smithing Table
    • Added a new armor trimming system to visually customize your armor
    • Changed how Netherite equipment is crafted
  • Added the Cherry Grove biome and Cherry Wood Set
  • Added the Bamboo Wood Set
  • Added the Chiseled Bookshelf block
  • Added Hanging Signs
  • Improved customization options for Signs
  • Added the Calibrated Sculk Sensor block
  • Vibration resonance functionality has been added to Blocks of Amethyst
  • Added playable mob sounds with Mob Heads on Note Blocks
  • Added Piglin Mob Head
  • New music tracks added to Cherry Groves, Desert, Jungle, Badlands, and Flower Forest biomes
  • New Trails & Tales Advancements
  • Added support for Windows Aarch64/ARM64

ARCHAEOLOGY

  • Added 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 sherd 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

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 Torchflowers 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

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

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

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

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

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

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 1x2 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

CHISELED BOOKSHELF

  • A new, chiseled variation of the Bookshelf
  • Crafted with 6 planks and 3 wooden slabs
  • Can store Books, Book and Quills, Written Books, Enchanted Books, and Knowledge Books
    • Holds up to 6 books
    • These can be added or removed from any slot by targeting the specific slot
  • The Comparator signal strength corresponds to the number of the last book that was inserted or removed
    • The numbering of book slots starts from 1 at the top-left, and increments from left-to-right
  • Works with Hoppers

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

SIGNS

The following changes have been made for both Signs and Hanging Signs.

  • 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
  • Opening the sign edit screen in singleplayer no longer pauses the game

CALIBRATED SCULK SENSORS

  • A new variant of Sculk Sensors that 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

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 behavior is called Vibration Resonance, and allows players to move vibration frequencies across long distances without having to recreate the vibration naturally

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 MUSIC

  • Added the following new music tracks by Aaron Cherof to Cherry Groves, Desert, Jungle, Badlands, and Flower Forest biomes:
    • A Familiar Room
    • Bromeliad
    • Crescent Dunes
    • Echo in the Wind
  • Added a new music disc with the track "Relic" by Aaron Cherof, found in Trail Ruins

WINDOWS AARCH64/ARM64 SUPPORT

  • Minecraft Java Edition is now fully supported on Windows devices using an Aarch64/ARM64 architecture, such as the Windows Surface Pro X

ADVANCEMENTS

NEW HUSBANDRY ADVANCEMENTS

  • Smells Interesting : Obtain a Sniffer Egg
  • Little Sniffs : Feed a Snifflet (requires Smells interesting)
  • Planting the Past : Plant any Sniffer seed (requires Little sniffs)

NEW ADVENTURE ADVANCEMENTS

  • Respecting the Remnants : Brush a Suspicious block to obtain a Pottery Sherd
  • Careful Restoration : Make a Decorated Pot out of 4 Pottery Sherds (requires Respecting the Remnants)
  • Crafting a New Look : Craft a trimmed armor at a Smithing Table
  • Smithing with Style : Apply these Trim Smithing Templates at least once: Spire, Snout, Rib, Ward, Silence, Vex, Tide, Wayfinder (requires Crafting a New Look)
  • The Power of Books : Read the power signal of a Chiseled Bookshelf using a Comparator

CHANGES

  • Changes to Sculk Sensor block behaviors
  • Vibration frequencies of many actions in the game have been tweaked
  • Colored Wool, Carpets and Beds can now be dyed to any other color
  • Replaceable blocks no longer block the connection between enchanting tables and bookshelves
  • Wither effect particle and Potion of Slow Falling color have been adjusted to make them more distinguishable
  • Updated step sounds
  • Updated Advancements
  • The main menu background is now a Trails & Tales panorama
  • Updated the Minecraft Java Edition logo
  • Updated the Minecraft Realms logo
  • The game's application icon has been updated
    • This will be a Grass Block in release versions, and a Dirt Block in snapshot versions
  • GUI can be scaled on the Video Settings screen by holding Ctrl and scrolling the mouse wheel
  • Updated the credits
    • Added the ability to scroll upwards by pressing the up arrow key
  • The game will now display a message box on startup if user enabled text-to-speech functionality, but it is not available
  • Removed Herobrine

SCULK CHANGES

  • If a vibration is scheduled to be received by a Sculk Sensor or Sculk Shrieker, they will stay queued until all adjacent chunks are loaded and ticking
    • Prevents vibration resonance setups from breaking when unloading their chunks from a distance
  • Waterlogging a Sculk Shrieker will now silence their shriek sounds
  • Sculk Sensors' default redstone output has been modified to be more reliable for distance calculations
  • Sculk Sensors and Calibrated Sculk Sensors now strongly power the block they are placed on
  • Both types of Sculk Sensors now stay in their Cooldown phase for 10 ticks, with other phase timings being adjusted to compensate

SCULK SENSOR PHASES

  • Sculk Sensors and Calibrated Sculk Sensors 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, some of these phases had different timing values:
    • Active: 40 game ticks for Sculk Sensors and 20 game ticks for Calibrated Sculk Sensors
    • Cooldown: 1 game tick for both types of Sculk Sensors
  • These phase timings were tweaked so that it is less common for activated contraptions to recursively activate the Sculk Sensor that powered them

VIBRATION FREQUENCIES

In preparation for the Calibrated Sculk Sensor, 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:

  1. Movement in any medium (land, water and air)
  2. Landing on any surface (land or water)
  3. Item interactions
  4. Gliding with an elytra or unique mob actions (Ravager roar, Wolf shaking, etc)
  5. Dismounting a mob or equipping gear
  6. Mounting a mob or interacting with a mob
  7. Mobs and players getting damaged
  8. Consuming items (drinking and eating)
  9. Blocks 'deactivating' (door close, chest close, button unpress, etc)
  10. Blocks 'activating' (door open, chest open, button press, etc)
  11. Blocks changing (cauldron water level rising, adding food to campfire, etc.)
  12. Blocks being destroyed
  13. Blocks being placed
  14. Mobs and players teleporting or spawning
  15. Mobs and players dying or an explosion

STEP SOUNDS

  • Walking on a block will now always play a step sound
    • It was previously not the case if you were walking along the edge of a block with air or fluid besides it
  • Walking on the ocean floor will produce a step sound for the block you are walking on at a lower volume and pitch
  • When walking on Carpets, Snow, Nether Sprouts, Warped Roots, and Crimson Roots, a combination of step sounds will be played
    • The top-most block you are walking on is played as normal
    • The block underneath is played at a lower volume and pitch

ADVANCEMENTS

  • Breeding Camels and Sniffers now count for "The Parrots and the Bats" and are now required for "Two by Two"
  • Hanging Signs now count for "Glow and Behold"
  • Visiting a Cherry Grove is now required for "Adventuring Time"

TECHNICAL CHANGES

  • Improved performance of the light engine
  • The data pack version is now 15, accounting for sign data format, item display orientation and advancement changes
  • Removed update_1_20 feature flag and built-in datapack - features are no longer experimental
  • Added a return command
  • Tweaked display entity interpolation
  • Added a capped rule structure processor that limits the number of replaced blocks for a structure piece to a configured maximum
  • Configuring block entity fields in a rule processor rule is now delegated to a referenced block_entity_modifier instead of the previously fixed output_nbt configuration
  • Random sequences for loot tables are now deterministic
  • Added a reference loot table function
  • Loot table condition/predicate changes:
    • Renamed alternative to any_of
    • Added all_of
  • Advancement trigger changes:
    • Added recipe_crafted
    • Changed format of placed_block, item_used_on_block and allay_drop_item_on_block triggers
  • Ingredients in array form are now also allowed in smithing_trim and smithing_transform recipes on fields template, base and addition
    • Those fields also allow empty arrays, which signalize that slot needs to be left empty
  • Added new damage types: outside_border and generic_kill
  • Game events have changed vibration frequency and some have been removed
  • The resource pack version is now 15, accounting for the font and credits update
    • Updated the sprite layout of minecraft.png
    • Removed the overriding minecraft.png from the Programmer Art resource pack
    • Updated the sprite layout of invite_icon.png
    • legacy_unicode glyph provider has been removed
    • Bitmaps used by uniform font have been removed
    • uniform font has been updated to use Unifont 15.0.06
      • That changes shape of multiple characters, while also adding support for new ones
      • Combining characters no longer include circle overlayed over them (so M◌̆ now renders as M ̆)
    • Added second level of organization of entries in credits.json on top of titles, called disciplines
  • Font textures are included in debug texture dump (F3 + S)
  • Added new font glyph providers: unihex and reference, removed legacy_unicode
  • Added support for Quick Play
  • Removed the server & port commandline arguments as their functionality has been replaced by Quick Play
  • Updates to telemetry
  • Changed encoding of server.properties to UTF-8
  • Added validation for symbolic links in world saves

LIGHT ENGINE

The light engine is responsible for calculating the brightness of each block in the world.Light is calculated during world generation as well as updated when a block is changed in the world.Behavior of the light engine has not been changed.

  • The performance of calculating light has been improved
    • Reduces one source of lag spikes when crossing chunk borders
    • Improves FPS in situations when a lot of light updates occur
    • Improves how quickly chunks can be generated

COMMANDS

RETURN

The return command can be used to control execution flow inside functions and change their return value. Effects:

  • Remaining separate top-level commands in the currently executing function (if any) are skipped
  • The result value of the function command that triggered the function is changed from the number of commands executed to value
  • The result value of the return command is also value

Syntax:

return <value>

Parameters:

  • value: An integer return value

DATA

  • string data sources now accept negative boundaries, which are interpreted as index counted from the end of the string

DISPLAY ENTITY

INTERPOLATION CHANGES

  • Previous values are always discarded if interpolation_duration is 0
  • Made sure that render properties are applied at the same time (so block_state is applied at the same time as transformation, i.e. at the next tick after receiving an update)
  • Display entities are not rendered until their initial data is received. That means display entities might not be shown on the first tick.
  • Note: due to how the game handles updates, changes to entities made after summoning might be delivered to clients within a later tick

RENDERING CHANGES

  • item_display items have been rotated 180 degrees around the Y axis to better match the transformation that is applied when rendering items on an Armor Stand head and in Item Frames
    • For reference, the order of transformations applied to model (starting from innermost) is item_transform, rotate Y 180, transformation field, entity orientation (billboard option + Rotation field + Pos field)

STRUCTURE POST-PROCESSORS

CAPPED POST-PROCESSOR

  • A capped post-processor has been added which can limit how many blocks a delegated post-processor randomly transform in a structure
  • This can be used to configure a structure piece to have an exact amount of specific blocks, instead of using random distribution
  • The capped post-processor has following required parameters:
    • delegate A post-processor which performs the actual block transformation
    • limit Maximum amount of blocks that the delegated post-processor can transform
      • The blocks inside a structure are all randomly passed to the delegated post-processor until it has transformed the limited amount
      • Either constant or random number generator sampled during post-processing

RULE POST-PROCESSOR BLOCK ENTITY CONFIGURATION

  • Previously a rule could specify an optional fixed output_nbt which would be added to the processed output block entity
  • This field has now been changed to reference a block_entity_modifier
  • Existing block_entity_modifier's are:
    • passthrough Retains existing fields on the block entity
      • This is the default if no block_entity_modifier is specified
    • append_static Similar to previous output_nbt this provides fixed fields to add to the block entity
      • A minor change is that this modifier appends configured fields to the processed block instead of replacing existing fields
    • clear Removes any existing fields on the block entity
    • append_loot Appends a loot table and seed to the block entity through required parameter:
      • loot_table Referenced loot table to add to block entity as LootTable field
      • Field LootTableSeed is also added to the block entity using random seeded by block position

LOOT TABLES

RANDOM SEQUENCES

The game now uses named random sequences to deterministically produce loot for loot tables. Each random sequence produces a unique sequence based on the world seed and sequence ID, which means a loot table will produce the same results when ran with the same parameters in the same world.

The ID of the random sequence to use for a loot table is specified in a new optional field called random_sequence. If no sequence name is given, loot is drawn using a non-deterministic random source.

REFERENCE

New function reference allows functions to call sub-functions (similar to reference condition).

Fields:

  • name - location of function to call

ANY_OF/ALL_OF

  • Loot condition alternative has been renamed to any_of
  • Added new loot condition all_of that passes only when all sub-conditions pass
    • Has the same syntax as any_of

ADVANCEMENTS

NEW TRIGGERS

RECIPE_CRAFTED

  • Triggered when crafting a recipe
  • Conditions:
    • recipe_id - the resource location of the recipe crafted
    • ingredients - an array of predicates for the item stacks used in the recipe
      • A single item stack can only be used to fulfill one predicate
      • Each predicate needs to be fulfilled to trigger the advancement. This allows for separation between recipes that have same identifier but use different ingredients.
      • This field is optional. When not provided, or left empty, only the recipe_id will dictate the success of the trigger

CHANGED TRIGGERS

  • All fields in placed_block, item_used_on_block and allay_drop_item_on_block have been collapsed into a single location field
  • The new location is similar to the player field - it is a list of loot conditions/predicates
  • All conditions in this list must match for a trigger to run
  • Conditions are evaluated in a new loot context called advancement_location. It has access to:
    • Player as this entity
    • Position of the placed block
    • Block state of the placed/interacted block
    • Held/used item as "tool"
  • Migration guide:
    • Contents of old location field should be migrated to location_check condition
    • Contents of item field should be migrated to match_tool condition
    • Contents of block + state fields should be migrated to block_state_property condition

Example (from make_a_sign_glow advancement):

Before:

{ "conditions": { "item": { "items": [ "minecraft:glow_ink_sac" ] }, "location": { "block": { "tag": "minecraft:all_signs" } } }, "trigger": "minecraft:item_used_on_block" }

After:

{ "conditions": { "location": [ { "condition": "minecraft:match_tool", "predicate": { "items": [ "minecraft:glow_ink_sac" ] } }, { "condition": "minecraft:location_check", "predicate": { "block": { "tag": "minecraft:all_signs" } } } ] }, "trigger": "minecraft:item_used_on_block" }

DAMAGE TYPES

  • Players outside the world border are now hurt by the damage type outside_border instead of in_wall
  • Forcibly removing an entity using the /kill command now uses damage type generic_kill instead of out_of_world

TAGS

BLOCK TAGS

  • Removed replaceable_plants since it was only used as a subset of the blocks for the tag above, and not as universally
  • Added replaceable_by_trees to better express blocks that are replaced when the tree grows through them
  • Added replaceable with all the blocks that can be replaced
    • This tag only represents the internal state of the game, changing this tag does not make blocks replaceable
  • Added sword_efficient to represent blocks that are broken 50% faster by a sword than normal
  • Added maintains_farmland to represent which blocks will not cause farmland to be converted into dirt due to drying out when placed on top of it
  • Added combination_step_sound_blocks that controls which blocks produce a combination of step sounds
  • Added enchantment_power_provider to control which blocks increase the level of an Enchantment Table
  • Added enchantment_power_transmitter to control which blocks are allowed between an Enchantment Table and a Bookshelf (or other Power Transmitter)
  • Added vibration_resonators to control which blocks transmit vibration signals when placed next to Sculk Sensors
  • Added trail_ruins_replaceable for blocks that Trail Ruins can replace when generating
  • Added sniffer_diggable_block to control which blocks Sniffers can dig
  • Added sniffer_egg_hatch_boost to that control on which blocks Sniffer Eggs hatch twice as fast
  • Added ceiling_hanging_signs
  • Added wall_hanging_signs
  • Added all_hanging_signs
  • Added stone_buttons block tag
  • Added cherry_logs block tag
  • Added bamboo_blocks block tag

ITEM TAGS

  • Added villager_plantable_seeds to represent which kind of seeds Villagers can farm
  • Added noteblock_top_instruments to control which blocks can be placed on top of Note Blocks without sneaking
  • Added breaks_decorated_pots to control which tools can break Decorated Pots
  • Added decorated_pot_ingredients
  • Added decorated_pot_sherds
  • Added sniffer_food
  • Added trimmable_armor
  • Added trim_materials
  • Added trim_templates
  • Added stone_buttons item tag
  • Added cherry_logs item tag
  • Added bamboo_blocks item tag

BIOME TAGS

  • Added has_structure/trail_ruins

GAME EVENTS

  • Removed piston_contract game event in favor of block_deactivate
  • Removed piston_extend and dispense_fail game events in favor of block_activate
  • Many game events have new vibration frequencies:
    • 1: step, swim, flap
    • 2: projectile_land, hit_ground, splash
    • 3: item_interact_finish, projectile_shoot, instrument_play
    • 4: entity_roar, entity_shake, elytra_glide
    • 5: entity_dismount, equip
    • 6: entity_mount, entity_interact, shear
    • 7: entity_damage
    • 8: drink, eat
    • 9: container_close, block_close, block_deactivate, block_detach
    • 10: container_open, block_open, block_activate, block_attach, prime_fuse, note_block_play
    • 11: block_change
    • 12: block_destroy, fluid_pickup
    • 13: block_place, fluid_place
    • 14: entity_place, lightning_strike, teleport
    • 15: entity_die, explode

FONTS

NEW UNIHEX GLYPH PROVIDER

  • New glyph provider for reading Unifont HEX files
    • HEX format describes font glyphs using a bitmap
      • The height of every glyph is 16 pixels
      • The width of glyph can be 8, 16, 24 or 32 pixels
    • Every line is made of two hexadecimal numbers separated by :
    • The first value describes a codepoint - it must have 4, 5 or 6 hex digits
    • The second value describes the glyph as a stream of bits, line by line
  • When rendering, empty columns on left and right side of glyphs are removed
    • Custom glyph widths can be set with size_overrides
  • This provider requires two fields:
    • hex_file - path to ZIP archive containing one or more *.hex files (files in archive with different extensions are ignored)
    • size_overrides - list of codepoint ranges that should have width different from auto-detected (based on empty space in glyph). Fields:
      • from, to - start and end of codepoint range (inclusive)
      • left, right - integers describing the position of the left-most and right-most columns of the glyph in range
        • Any bits in columns outside of this range will be discarded

NEW REFERENCE GLYPH PROVIDER

  • New glyph provider that can be used to include providers from other fonts
    • Providers are guaranteed to be loaded only once, no matter how many times they are included
  • Provider has one field id, that describes another font to be included in the currently loaded one
    • Inclusion is performed after all fonts are loaded, so it will include all providers for a given font defined in all datapacks

REMOVED LEGACY_UNICODE GLYPH PROVIDER

  • The legacy_unicode glyph provider has been removed
  • This functionality has been replaced by the unihex provider

QUICK PLAY

  • Added support for four new command line arguments that allow the game to be launched directly into a world
  • quickPlayPath takes a specified path for logging (relative to the run directory)
    • If a path is provided the following will be logged upon joining a world:
      • type: is either singleplayer, multiplayer, or realms
      • identifier: represents the world you want to join
        • For singleplayer, the folder name of the world
        • For multiplayer, the IP address of the server
        • For realms, the Realms ID
      • port: represents the server port and is only logged for multiplayer
      • name: The name of the world
      • gamemode: The gamemode of the world
      • lastPlayedTime: The time you joined the world
    • Example:
      • --quickPlayPath "quickPlay/log.json" will resolve into .minecraft/quickPlay/log.json
  • quickPlaySingleplayer, quickPlayMultiplayer and quickPlayRealms all take their respective identifier
    • If one of these arguments is provided, the game will try to launch directly into the given world
    • Examples:
      • --quickPlaySingleplayer "New World"
      • --quickPlayMultiplayer "localhost:25565"
      • --quickPlayRealms "1234"

TELEMETRY

ALL EVENTS

  • Added new property: launcher_name
    • This is set based on the minecraft.launcher.brand system property
    • This will help us troubleshoot game launch related bugs more effectively, as we will be able to see whether the issue originated in the Minecraft launcher or a third-party program

UPDATED REQUIRED EVENTS

  • world_loaded
    • Added new property: realms_map_content
      • When loading into a Realms Map Content world (Minigame), the world_loaded event will receive the name of that map
      • This is to help us understand how Java Realms players interact with Java Realms adventure or minimap content

NEW OPTIONAL EVENTS

  • advancement_made
    • This event is triggered when a player completes an advancement, and allows us to see the advancement ID and the time when the advancement was completed
    • This helps us as a studio understand player progress and limits, which informs our game design
  • game_load_times
    • This event is triggered when the game client is loaded
    • Includes the time it took for the client to load
    • This is so that we can work on improving and reducing the time it takes to load the game client

SERVER.PROPERTIES

  • File is now read in UTF-8 initially, with previous encoding (ISO 8859-1/Latin 1) as a fallback
  • File is now written with UTF-8 encoding

SYMBOLIC LINK VALIDATION

To improve safety, the game will now detect symbolic links used inside world directory. For a detailed explanation, check our help article.

  • If the target of a symbolic link is not on the user-configured allow-list, the game will not proceed with loading the world
    • Note: the world directory itself can still be linked
  • The list of allowed symbolic link targets is stored in file allowed_symlinks.txt in the client or server top directory
  • The file consists of entries (one per line) with following formats allowed:
    • Lines starting with # are comments and are ignored
    • [type]pattern, where type can be glob, regex or prefix
      • prefix matches start of path with given pattern (so for /test paths /test, /test/ and /test/foo.txt would match)
      • regex matches regular expression against whole path
      • glob uses OS-specific path matching mechanism (for example *.txt would usually match files with txt extension)
      • Note: paths will use OS-specific separators
    • pattern, which uses default prefix type

FIXED BUGS IN 1.20

Around 250 bugs were fixed in this release. View the list on the issue tracker.

GET THE RELEASE

To install the Release, open up the Minecraft Launcher and click play! Make sure your Launcher is set to the "Latest Release” option.

Cross-platform server jar:

Report bugs here:

Want to give feedback?

Minecraft - Trails & Tales - 1.20.0 (Bedrock)

The Trails & Tales Update brings your stories to life! Ride a camel with a companion to find archeological sites or a cherry grove. Hatch a sniffer egg to bring it back from extinction. Create playable mob sounds, craft with bamboo, trim your armor, and hang your signs. Write and store your books in the chiseled bookshelf, because every story matters!

Huge thanks to everyone for playing and for reporting your feedback during development! Your thoughts on the update continue to be important so please upvote and report any new bugs at bugs.mojang.com and leave us your feedback at aka.ms/TrailsTalesFeedback.

Let’s jump into the update!

Chromebook

Minecraft is now available for Chromebook on the Google Play Store, including cross-device play with friends, access to Minecraft Marketplace, and the ability to play on Realms.

Learn more at aka.ms/Minecraft-Chromebook

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 1x2 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 ModalFormData, MessageFormData, 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 EntityItemComponent, ItemComponent, 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, getText, getRawText, setTextDyeColor, 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

Minecraft - Trails & Tales - 1.20.0 (Bedrock)

The Trails & Tales Update brings your stories to life! Ride a camel with a companion to find archeological sites or a cherry grove. Hatch a sniffer egg to bring it back from extinction. Create playable mob sounds, craft with bamboo, trim your armor, and hang your signs. Write and store your books in the chiseled bookshelf, because every story matters!

Huge thanks to everyone for playing and for reporting your feedback during development! Your thoughts on the update continue to be important so please upvote and report any new bugs at bugs.mojang.com and leave us your feedback at aka.ms/TrailsTalesFeedback.

Let’s jump into the update!

Chromebook

Minecraft is now available for Chromebook on the Google Play Store, including cross-device play with friends, access to Minecraft Marketplace, and the ability to play on Realms.

Learn more at aka.ms/Minecraft-Chromebook

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 1x2 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 ModalFormData, MessageFormData, 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 EntityItemComponent, ItemComponent, 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, getText, getRawText, setTextDyeColor, 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

Minecraft - 1.19.83 (Bedrock)

A new update has been released to address some issues that were introduced with the 1.19.80 update.

Please continue to upvote and report any new bugs at bugs.mojang.com and leave us your feedback at feedback.minecraft.net!

Fixes:

  • 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