1.20.0, the first release of Trails & Tales, is a major update to Bedrock Edition released on June 7, 2023.[1] The update was announced at Minecraft Live 2022 on October 15, 2022, and its name was revealed at Minecraft Monthly on March 2, 2023[2]. Trails & Tales focuses on letting the players express themselves through new building blocks and storytelling. It introduces trail ruins, the camel and sniffer mobs, the archaeology system, the cherry grove biome, and other features. This is also the first full release of the game on ChromeOS, following the "early access" phase.[3]
The type of crafting material decides which picture will display on its respective side of the decorated pot (e.g. an "arms up" pottery sherd in the top slot will display on the back).
The brick item will not have a picture, and will instead be blank.
Very fragile and easy to break.
Will break apart into its crafting materials when broken using any block-breaking tool.
Will drop itself when broken using an empty hand or a block-breaking tool with Silk Touch, or when moved by pistons.
Underneath a block that provides support in the center, like a fence or an iron bar.
When the hanging sign is placed underneath a non-full block, or when placed while sneaking, the chains will take on an upside-down v-shape. Signs in this configuration can be placed in 16 different angles, similar to an armor stand.
Underneath a full block.
When the hanging sign is placed underneath a full block, the chains will be on parallel sides of the sign. Signs in this configuration can be placed in the 4 cardinal directions, North, South, East, and West.
Attached to the solid side of a block.
When attached to the side of a block, its chains will be parallel, hanging onto a horizontal bar sticking out from the side of said block. Hanging signs in this configuration will display text perpendicular to the side of the block they were attached to.
Attached to the side or underneath another hanging sign.
This will display the same way is being placed underneath a non-full block.
Cannot be placed directly on the ground without support from the side or above.
However, hanging signs that have a horizontal bar will not break when the supporting block is removed.
If it is hanging underneath of a block and that block is broken, the hanging sign will also break immediately.
Unlike regular signs, the space available for text is much smaller.
Text can be dyed with any color of dye and tinted with glow ink sacs to make text glow.
Added new ambient soundtracks, all by Aaron Cherof.
"A Familiar Room" plays in survival mode (all biomes), as well as the menu screens.
"Bromeliad" play in bamboo jungle, cherry grove, flower forest, forest, jungle, sparse jungle, as well as the menu screens.
"Crescent Dunes" plays in desert, all types of badlands, as well as the menu screens.
"Echo in the Wind" plays in cherry grove, flower forest, lush caves, all types of badlands, as well as the menu screens.
Due to a bug, the Trails and Tales soundtrack does not play in the menu of Bedrock Edition until 1.20.30. Instead, The Wild Update soundtrack still plays in the menu.[6] Also, "A Familiar Room" does not play in the Overworld currently due to a bug.
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.
General
Added spawn_item_event event to minecraft:spawn_entity. This event is called when an item is spawned.
Added a progress handler when loading into a world that will wait up to a total of 15 seconds for the primary users appearance to load.
Lowered the time it takes to start up and load into the start screen.
Custom items using JSON formats 1.16.100 and formats past 1.17.0 can be loaded without the "Holiday Creator Features" toggle if there are no holiday components used.
The minecraft:friction component is no longer ignored when calculating ground friction.
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 monster 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.
Added experimental support for BlockTraits in block JSON. BlockTraits are a shortcut for creators to add vanilla block states and setter functions to data-driven blocks.
Can parse PlacementDirection ("minecraft:placement_direction") BlockTrait (adds the "minecraft:cardinal_direction" BlockState and onPlayerPlace setter function).
Can access the minecraft:cardinal_direction state on blocks that apply the placement_direction trait in block_property molang queries and set_block_property event responses.
Added minecraft:facing_direction state to the minecraft:placement_direction block trait.
minecraft:facing_direction is a six value integer state (down, up, south, west, north, east).
Can enable and access this state on blocks through the minecraft:placement_direction trait.
Can access the minecraft:cardinal_direction state on blocks that apply the minecraft:placement_direction trait in block_property Molang queries and set_block_propertyEventResponses.
Pumpkin blocks use state minecraft:cardinal_direction instead of direction.
Changed minecraft:cardinal_direction and minecraft:facing_direction states from int to string type.
minecraft:cardinal_direction has four values ["north", "south", "east", "west"].
minecraft:facing_direction has six values ["down", "up", "north", "south", "east", "west"].
Adds states minecraft:block_face and/or minecraft: vertical_half.
minecraft:block_face is a six value string state (down, up, north, south, east, west) that contains info on which block face the player clicked on when the block was placed.
minecraft:vertical_half is a 2 value string state (bottom, top) with info on whether the block was placed in the lower or upper half of the block position.
Both of these states are set when the block is placed (onPlayerPlace).
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 and 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.
Moving getComponent(componentId: string): EntityComponentundefined 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 readonlymaxTurn: 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
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 function removeEffect(effectType: EffectTypestring): boolean - Removes an effect from an entity. Returns false if the effect is not found or does not exist.
Updated function getEffect(effectType: EffectTypestring): Effectundefined - Gets the effect if it exists on the entity. Otherwise returns undefined.
Updated function addEffect(effectType: EffectTypestring, duration: number, options?: EntityEffectOptions): boolean - Adds an effect to the entity. Returns false if the effect cannot be added (the effect does not exist, the duration is negative).
Items using the minimum duration for the minecraft:fuel component now work in the Blast Furnace and Smoker.
Items with the minecraft:throwable component now trigger the throw sound effect when used
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.
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.
events.beforeChat renamed to world.events.beforeChatSend.
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 resolve() would fail to resolve custom block properties.
Renamed 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.
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 applyDamage.
Added interface EntityApplyDamageByProjectileOptions. Additional options about the source of damage to use as input in applyDamage in case of projectile damage.
Updated method applyDamage. Renamed parameter source to options. Parameter type also changed from EntityDamageSource to EntityApplyDamageOptionsEntityApplyDamageByProjectileOptions.
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 playSound and player.playSound respectively.
playSound now requires a location argument.
When calling playMusic and queueMusic, an error will now be thrown if volume is less than 0.0.
When calling playMusic and queueMusic, an error will now be thrown if fade is less than 0.0.
When calling playSound, an error will now be thrown if pitch is less than 0.01.
When calling playSound, an error will now be thrown if volume is less than 0.0.
When calling playSound, an error will now be thrown if pitch is less than 0.01.
When calling playSound, an error will now be thrown if volume is less than 0.0.
Removed dye_powder item component.
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.
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.
MCPE-162455 β "World upload failed" when I save and quit to the title screen
MCPE-163337 β Hanging signs allow more characters than on Java
MCPE-163399 β Greek Mythology Mashup / Items in Frames
MCPE-163416 β Bamboo fence gate are not flammable
MCPE-163475 β Can't see camel dash bar on mobile
MCPE-163501 β Camel neck appeared when it up and sniff the ground.
MCPE-163554 β Hanging Sign Sounds are Very Quiet
MCPE-164246 β Hanging nether and bamboo signs don't have new sounds
MCPE-164249 β Arrows and tridents get stuck shaking when shot at Hanging Signs
MCPE-164424 β minecraft:boostable component has no effect on speed
MCPE-164632 β Hanging signs placement is not like in Java
MCPE-164677 β Standing on top of some incomplete blocks as it converts to complete blocks causes the player to fall through or be pushed out of the block
MCPE-164719 β The camel's head looks high up disturbing the player's eyesight
MCPE-165962 β Some splashes are written without "!" in Bedrock
MCPE-166505 β Camels has an error text in action hint
MCPE-166581 β Camera goes black when sneaking in a space that is 1.5 blocks high
MCPE-166791 β Black terracotta uses white terracotta map color
MCPE-167045 β Player collision box incorrect after returning to main menu from death screen
MCPE-167163 β When Suspicious Sand is dropped onto some blocks, it drops
MCPE-167176 β Torchflowers placed by the player do not have a random location in the block
MCPE-167177 β The hitbox of Torchflowers seeds is too big and not the same as in Java
MCPE-167191 β Decorated Pot's brightness is affected by daytime and not by surrounding lighting
MCPE-167193 β Sniffer digging doesn't have digging particles playing
MCPE-167200 β Torchflower seeds cannot be composted
MCPE-167217 β Using pick block function on torchflower crop gives torchflower seeds instead of the plant item
MCPE-167220 β Bees are not tempted by or attempt to pollinate Torchflowers
MCPE-167226 β Trying to break the block while brushing stops brushing
MCPE-169607 β Torchflowers cannot be used to feed brown mooshrooms
MCPE-170184 β Trade Tables no longer support custom entity Spawn Eggs
Other
The Brush now displays a tooltip when aimed at Suspicious Blocks on touch devices.
Brushing other non-Suspicious blocks will now produce a generic brushing sound.
Suspicious Sand and Suspicious Gravel do not drop anymore when falling on top of Sculk Sensors or Calibrated Sculk Sensors.
Untrimmed armor pieces now render correctly in-hand and in the world when carrying an equivalent armor piece with trim.
When swapping a trimmed armor piece with an equivalent piece without trims, both items now render correctly in the HUD hotbar.
When swapping a trimmed armor piece with an equivalent piece without trims, both items now render correctly in UI-slots.
Mobs are now correctly positioned above the surface of Bamboo Rafts when riding them.
Fixed an issue where a Piston could become invisible in rare cases.
Players no longer fall through Farmland Blocks after jumping on them.
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.
Fixed an issue where a locally hosted dedicated server was not found by clients on the same machine.
Boots do not z-fight anymore when worn by humanoid mobs and Armor Stands
The "leg" and "belt" parts of Leggings do not z-fight anymore when worn by humanoid mobs and Armor Stands.
iOS and iPadOS now requests Local Network access in order to find games on the local network.
Screen UI now always has a focus in control when using a controller.
Fixed a bug where the crosshair could be visible on the new death screen.
Fixed a bug where text formatting codes would be shown on the new death screen.
Fixed a bug where respawning in VR sometimes softlocked the player on the death screen.
Changed the world tag to no longer display "-experimental" on worlds that only use the Holiday Creator Features experiment.
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.
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.
Fixed a crash affecting some Marketplace packs preventing them from loading.
Calibrated Sculk Sensors now power the block below them when active.
Fixed fall damage accumulating when player jumps on roofed Soul Sand Bubble Column.
Conduit block now respects the lighting conditions when held in hand or dropped.
Interacting with an unwaxed Sign while holding an item that cannot be used on the sign now opens the sign for editing.
When using gamepad or touch input, correct tooltips are now shown if interacting with the Sign is possible.
It is now possible to attach a hanging sign to another without sneaking.
Sculk Sensors now power the block below them when active.
Fixed the multiplayer toggle in the Create New World screen sometimes wasn't greyed out even though the setting would have no effect.
Coordinates are now shown on the new death screen if the "Show Coordinates" setting is enabled.
Fixed get_equipped_item_name Molang query not being able to return the old name of some flattened items, eg. red_wool to wool.
Custom items with minecraft:durability and minecraft:repairable can be combined to repair them without requiring a custom item entry.
Fixed a bug where modified equipment and container slots were not being synced to clients.
Custom items with minecraft:record show the correct sound description in hover text and on playing in a jukebox.
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.
Fixed an issue where the plant textures appeared darker.
Sugar Cane and Bamboo can now be placed on Moss Block.
Sniffer can no longer search and dig in water.
Made Sniffer walk cycle smoother.
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.
Screen reader now properly reads description in popping window after disabling "Require Encrypted Websockets".
Screen reader now properly reads description in popping window after disabling "Allow mobile data for online play".
Sculk Sensors, Calibrated Sculk Sensors, and Sculk Shriekers will no longer lose in-flight vibrations when leaving the world.
Fixed an issue where the Calibrated Sculk Sensor tendrils were not lighting uniformly.
Fixed custom textures that override vanilla blocks with aux metadata as a list of textures.
Breaking Pitcher Plants with Fortune enchanted tools will now not drop more than one flower.
Bone Meal now canβt be used on Torchflowers to spawn other flowers.
Using Bone Meal on a Torchflower Crop will now always make it grow one stage.
Sniffer Egg can now be placed in water and lava.
Screen fade effect when sleeping or using camera fade command will no longer appear when a picture is taken.
Sculk Sensors and Calibrated Sculk Sensors now play their "power off" sound at the end of the Cooldown phase instead of the Active phase.
Fixed issues with keyboard navigation on some menu screens on iOS, iPadOS, and Android.
Fixed a bug where respawning in VR sometimes softlocks the player in the death screen.
Text shadowboxes now have the correct opacity on interactable block screens.
Distinct green particles are now emitted by the player under effect of Hero of the Village status effect.
Fixed a graphical issue where a gamepad icon would display over another screen.
Fixed an issue were the setting had no affect on how long toasts remained on display.
Game no longer crashes when an item starts/stops being used if the item is not available.