Minecraft Trails and Tales Update is out now on Nintendo Switch!
A feature-packed update for Minecraft has dropped today with the release of the Trails and Tales update! It adds all new biomes, crafting items, armour trims, and much more! What is your story going to be?
See full patch notes below.
Full Patch Notes:
NEW FEATURES
Archaeology
Added a craftable Brush item
Added Suspicious Sand and Suspicious Gravel
Suspicious Sand can be found in Desert Temples, Desert Wells and Warm Ocean Ruins
Suspicious Gravel can be found in Cold Ocean Ruins and Trail Ruins
These fragile blocks are hard to spot and easy to destroy, so be careful!
Brushing Suspicious Sand or Suspicious Gravel with a Brush will extract objects that were buried long ago
Added the Trail Ruins, a buried structure from a lost culture
Four types of Armor Trim Templates can be found here
Trail Ruins can be found in Taigas, Snowy Taigas, all Old Growth forest biomes, and Jungles
A new music disc can be found by brushing suspicious blocks in this structure
When put in a Jukebox, “Relic” by Aaron Cherof is played
Added Pottery Sherds
Pottery Sherds have pictures on them
A total of 20 sherds have been distributed between the 5 Archaeology sites: Desert Wells, Desert Temples, Cold Ocean Ruins, Warm Ocean Ruins, and Trail Ruins
They cannot be crafted, and are only found by brushing Suspicious Sand or Suspicious Gravel
Decorated Pots
Crafting four Pottery Sherds together will create a Decorated Pot with a picture on each side
Brick items can be used instead of Pottery Sherds in the Decorated Pot recipe
The sides that were made from Brick items will not have pictures
Smash a Decorated Pot with any block-breaking tool to break it apart and get the Pottery Sherds back
Hitting the pot with bare hands, silk touch tools, or any other item will drop an intact pot instead
Crafted Decorated Pots with at least one pattern have a hover tooltip displaying the Sherd & Brick ingredients
Cherry Groves
Added a new Cherry Grove biome, with pretty cherry blossom trees
The biome can be found in the mountains, in similar places as Meadows
Added a new Cherry wood set, with all the corresponding wooden things you can craft from it
Pink particles fall from beneath Cherry Leaves
Added a new Pink Petals block with lots of pink flowers on the ground
Each Pink Petal block can contain up to 4 petals
Using Bone Meal on it increases the number of petals
Placing a Pink Petal into an already placed block increases the number of petals
Drops the number of petals in the block when mined
Updated the seed picker with a Cherry Grove biome option
Bamboo Wood Set
Added a new Bamboo wood set, with all the corresponding wooden things you can craft from it
Block of Bamboo can be crafted from 9 Bamboo and can be stripped like other wood logs
Bamboo Planks crafted from Block of Bamboo yield only 2 planks compared to 4 for wood logs
Added a new “Mosaic” plank variant that is unique to Bamboo called the Bamboo Mosaic
It can be crafted with 1×2 Bamboo Slabs in a vertical strip
You can craft Stair and Slab variants of Bamboo Mosaic
Bamboo Mosaic blocks cannot be used as a crafting ingredient where other wooden blocks are used, but they can be used as fuel
Added a unique Bamboo Raft and Bamboo Chest Raft which can be crafted like normal boats, but with Bamboo Planks
They function the same as ordinary boats, but have a unique look to them
Hanging Signs
Hanging Signs are a more expensive version of normal Signs
Crafted with 2 chains and 6 stripped logs of your preferred wood type
Crafting results in 6 Hanging Signs
Can be hung up in the following ways:
Underneath a block that can provide support in the center, like a full block or a fence
Attached to the solid side of a block
Attached to the side or underneath another Hanging Sign
Unlike normal Signs, they cannot be placed directly on the ground without support from the side or above
However, Hanging Signs that have a horizontal bar will not pop when the supporting block is removed
Sign Improvements
Sign text can now be edited after being placed in the world
This can be done by interacting with the Sign
Signs with non-text chat components can not be edited
Both sides of the Sign can now have separate text and colors, allowing for further customization options
By default, a Sign will prompt you to input the front side’s text when placed
To apply text to the back-side, you must walk to the other side and interact with that face to edit it
Signs can now also be waxed with Honeycomb, preventing any further edits to its text
It is no longer possible to use Ink Sac, Glow Ink Sac, or Dyes if the Sign text is empty (MCPE-133778)
Sniffer
The Sniffer is the mob vote winner of Minecraft Live 2022
Sniffers are passive, friendly mobs
Sniffers sniff the air and occasionally dig for seeds, which produces a Torchflower Seed or a Pitcher Pod item
Sniffers can only dig grass and dirt-like blocks
Sniffers can be tempted by, and bred with Torchflower Seeds
Sniffer Egg
Can be found by brushing the Suspicious Sand of Warm Ocean Ruins
When two Sniffers breed they do not immediately spawn a Snifflet; instead, a Sniffer Egg is dropped
When placed in the world, the Sniffer Egg will hatch after some time
When placed on Moss, the Egg will hatch in approximately 10 minutes
On all other blocks, it will hatch in approximately 20 minutes
Torchflowers
The Sniffer can occasionally sniff up a Torchflowers seed, and it can be used to breed two Sniffers
The Torchflower seed can be planted on Farmland and grows into a Torchflower
The full-grown flower can be harvested and replanted
The Torchflower can be crafted into Orange Dye
Pitcher Plant
The Sniffer can occasionally sniff up a Pitcher Pod item
The Pitcher Pod, when planted on Farmland, grows into a Pitcher Crop
The Pitcher Crop has five growth stages
Once fully grown, the Pitcher Crop can be harvested, yielding a two-block-tall Pitcher Plant
The Pitcher Plant can be crafted into Cyan Dye
Smithing
Smithing Tables have been redesigned into a workstation for physical equipment upgrades and modifications
Alongside slots for combining a piece of equipment and materials, there is now a required slot for an item type called Smithing Template
Smithing Templates define what type of upgrade you will be making to a piece of equipment
It specifies both what type of items you can upgrade, and which ingredients are valid to customize the upgrade
There are currently two categories of Smithing Templates: Armor Trim and Netherite Upgrade
Smithing Templates are consumed when used to upgrade an item in the Smithing Table
You can craft a copy of a Smithing Template in the Crafting Table with 7 diamonds + 1 block of material that the template is made out of + 1 smithing template, which will output 2 of the same Smithing Template
Armor Trims
You can now visually customize your armor with a variety of unique trims at the Smithing Table
Armor trims are purely visual with no gameplay benefits
Armor trims can be applied to Helmets, Chestplates, Leggings and Boots
All trim patterns are visually the same on an armor’s item icon, but the color will still change based on the trim material
To check which trim pattern a piece of armor has, you can hover over it in the inventory
Armor Trim Smithing Templates can be found all throughout the world, and each of the following structures contain their own unique Smithing
Templates:
Trail Ruins: Wayfinder, Raiser, Shaper, and Host Armor Trims
Pillager Outpost: Sentry Armor Trim
Desert Pyramid: Dune Armor Trim
Shipwreck: Coast Armor Trim
Jungle Temple: Wild Armor Trim
Ocean Monument: Tide Armor Trim
Ancient City: Ward and Silence Armor Trims
Woodland Mansion: Vex Armor Trim
Nether Fortress: Rib Armor Trim
Bastion Remnant: Snout Armor Trim
Stronghold: Eye Armor Trim
End City: Spire Armor Trim
Smithing Templates are found in chests in their respective structure
Trail Ruins have no chests, Smithing Templates are instead found by brushing Suspicious Gravel
The Ocean Monument has no chests, Elder Guardians sometimes instead drop a Smithing Template upon death
Some Armor Trim Smithing Templates are rarer than others, so be on the lookout for them to impress your friends!
An armor trim has two properties: a pattern and a material
The pattern is defined by the Smithing Template used to apply the trim, and represents the visual pattern of the trim
The material is defined by which ingredient you used to apply the trim, and controls the color of the trim
The viable ingredients you can use to define the color of your armor trim are the following:
Iron, Copper, Gold, Lapis, Emerald, Diamond, Netherite, Redstone, Amethyst, Quartz
Netherite Equipment
Netherite equipment crafting now also requires a Netherite Upgrade Smithing Template
Netherite Upgrade Smithing Templates can be found randomly in all Bastion Remnant chests
Every Treasure Room Bastion Remnant will contain 2 Smithing Templates
This change was made for a variety of reasons:
Increase the time players utilize Diamond equipment before Netherite
Make Netherite equipment more significant achievement in the game’s progression
Adapt Netherite more naturally into the new Smithing Table crafting system
Camel
Camels can be equipped with a Saddle and ridden by two players
Camels spawn naturally when Desert Villages generate
Camels can be tempted by holding Cactus
Feed Cactus to Camels to breed them
Camels are tall
Most hostile mobs will not be able to reach you when you are on a Camel
They can walk over Fences and Walls
Camels randomly sit down
While sitting, it is difficult to convince them to move
Camels can either walk slowly or sprint quickly
They can also dash forward but will lose stamina for a while when doing so
Chiseled Bookshelf
A new, chiseled variation of the Bookshelf
Crafted with 6 Planks and 3 Wooden Slabs
Can store Books, Book and Quills, and Enchanted Books
Holds up to 6 Books
Keeps the stories and lore of your world safe
Books can be removed and added to specific slots on the Chiseled Bookshelf
Comparators can detect the last book placed/removed
Perfect for hiding secrets in your spooky library
Works with Hoppers
Shield Customization
A top Vanilla Parity feature request! A Shield can now be combined with a Banner to apply its pattern on it
The banner is consumed on use
A Shield can be combined with a Banner only if no pattern was previously applied
New Music
Added the following new music tracks by Aaron Cherof to Cherry Groves, Desert, Jungle, Mesa, and Flower Forest biomes:
A Familiar Room
Bromeliad
Crescent Dunes
Echo in the Wind
Added a new music disc which can be acquired by brushing suspicious blocks in Trail Ruins. When put in a Jukebox, Relic by Aaron Cherof is played
Calibrated Sculk Sensors
A new variant of Sculk Sensors which allows you to filter vibrations based on their frequency level
They are not found naturally and can only be crafted with 1 Sculk Sensor and 3 Amethyst Shards in the Crafting Table
One side of the Calibrated Sculk Sensor can receive a redstone signal as input
The strength of that redstone signal is the only vibration frequency the Sculk Sensor will listen to
They have a combined active and cooldown phase that lasts 20 game ticks
They output their redstone signal for the first 10 game ticks
They can detect vibrations up to 16 blocks away
Sculk Sensor Phases
Sculk Sensors and Calibrated Sculk Sensors now have three phases: Inactive, Active, and Cooldown
The default phase is Inactive
This phase lasts indefinitely until the block receives a vibration
During this phase, the block is able to listen to nearby vibrations until one has been scheduled
When a scheduled vibration is received, the block switches to the Active phase
This phase lasts 30 game ticks for Sculk Sensors, and 10 game ticks for Calibrated Sculk Sensors
During this phase, the block stops listening to nearby vibrations, wiggles its tendrils, and emits a Redstone signal and light
After the Active phase has finished, the block switches to a Cooldown phase
This phase lasts for 10 game ticks
During this phase, the block keeps wiggling its tendrils, but no longer emits a Redstone signal nor light
Finally, once this phase is finished, the block will switch back to the Inactive phase
Previously, these phases had different timings:
The Active phase lasted 40 game ticks for Sculk Sensors and 20 game ticks for Calibrated Sculk Sensors
There was no Cooldown phase
These phase timings were tweaked so that it is less common for activated contraptions to recursively activate the Sculk Sensor that powered them
Vibration Resonance
Blocks of Amethyst have a new behavior when placed adjacent to Sculk Sensors
If that Sculk Sensor receives a vibration, the Block of Amethyst will re-emit its frequency as a separate vibration at its location
This behaviour is called Vibration Resonance, and allows players to move vibration frequencies across long distances without having to recreate the vibration naturally
Vibration Frequencies
With the addition of Calibrated Sculk Sensors, vibration frequencies have been greatly simplified to prevent unwanted interference
The following are category descriptions for each frequency and the expected events that they correspond to:
Movement in any medium (land, liquid or air)
Landing on any surface (land or liquid)
Item interactions
Gliding with an Elytra or unique mob actions (Ravager roaring, Wolf shaking, etc.)
Equipping gear
Interacting with a mob
Mobs and players getting damaged
Consuming items (drinking and eating)
Blocks ‘deactivating’ (Door closing, Chest closing, Button unpressing, etc.)
Blocks ‘activating’ (Door opening, Chest opening, Button being pressed, etc.)
Blocks changing (Cauldron water level rising, adding food to a Campfire, etc.)
Blocks being destroyed
Blocks being placed
Mobs and players spawning
Mobs and players dying or an explosion
Playable Mob Sounds
When placing a Mob Head on a Note Block, that Note Block will now play one of the ambient sounds of that mob when played by a player or powered by Redstone
Mob Heads can be placed on top of Note Blocks without sneaking
Piglin Mob Head
Piglins will now drop their heads when killed by a charged Creeper
Placing the Piglin head on a Note Block will play one of the Piglin’s ambient sounds
The Piglin head will flap its ears when powered by Redstone, or when worn by a player while walking
New Achievements
Smithing with Style – Apply these smithing templates at least once: Spire, Snout, Rib, Ward, Silence, Vex, Tide, Wayfinder
Planting the Past – Plant any Sniffer seed
Careful Restoration – Make a Decorated Pot out of 4 Pottery Sherds
KNOWN ISSUES
Boats that have been placed before today’s update may not function correctly until they have been broken and placed again, and any mobs inside boats may be ejected when loading your world for the first time. We hope to have this issue resolved soon, but you may wish to keep a backup copy of your world just in case – thanks for your patience!
FIXES AND CHANGES
General
Splitscreen players are no longer disconnected when one leaves (MCPE-168695)
iOS now requests Local Network access in order to find games on the local network
Added a progress handler when loading into a world that will wait up to a total of 15 seconds for the primary player’s appearance to load
Improved the time it takes to start up and load into the start screen
Fixed an issue where a locally hosted dedicated server was not found by clients on the same machine
Gameplay
Flying is no longer disabled when flying under Stairs (MCPE-168999)
Fixed fall damage accumulating when the player jumped on a roofed Soul Sand Bubble Column
Players no longer take fall damage when falling through water at high speeds (MCPE-152485)
After choosing the Main Menu option on the death screen, the player hitbox is now the correct size when returning to that world (MCPE-167045)
Distinct green particles are now emitted by the player under effect of Hero of the Village status effect
Mobs
Ghasts now shoot fireballs out of their mouth instead of at eye level (MCPE-35202)
Boots and Leggings no longer cause z-fighting when worn by humanoid mobs and Armor Stands
Mobs are now correctly positioned above the surface of Bamboo Rafts when riding them
Bees no longer make the player eating sound when eating (MCPE-169567)
Sculk Blocks
Sculk Sensors now power the block below them when active
Waterlogging a Sculk Shrieker will now silence its shriek sounds (MCPE-169563)
The sounds emitted by players and mobs stepping, falling, jumping, or landing on top of Sculk Sensors are now affected by the “Players” sound slider
Any item use, like using a Brush or Spyglass or eating an Apple now send item interact events that cause vibrations picked up by Sculk Sensors and Wardens
Blocks
Wooden Logs generated in Woodland Mansions now have the correct facing (MCPE-168387)
Removed redundant ‘lava_cauldron’ block that could be placed using commands (MCPE-39974)
Sugar Cane and Bamboo can now be placed on Moss Block
Conduit block now respects the lighting conditions when held in-hand or dropped
Top and bottom Door textures now rotate correctly when opened and closed for worlds versioned from 1.20 onward (MCPE-152926)
Sugar Cane no longer generates an air pocket when generated underwater (MCPE-161096)
Fixed an issue where a Piston could become invisible in rare cases
Woodland Mansion’s entrance now uses Cobblestone Slabs (MCPE-169038)
Iron Bars and Glass Panes now can connect to Pistons (MCPE-64745)
Dead Bushes can now be placed on Grass Blocks and Moss Blocks (MCPE-125931)
The map color for Black Terracotta now matches Java Edition (MCPE-166791)
Players no longer fall through Farmland Blocks after jumping on them
Players no longer fall through Mud Blocks or Farmland Blocks if they are standing on the block as it becomes a complete block (MCPE-164677)
Fixed an issue where placing blocks while sneaking on an interactable block was not working as intended with client authoritative movement (MCPE-168280)
Fixed an issue where an Armor Stand’s pose would not change when right-clicked while the player had sneak held and flying (MCPE-168548)
Weighted Pressure Plates now update their signal strength immediately when multiple items are placed on top (MCPE-156773)
Items
Fixed a bug where item in Item Frames could be too small in some world templates (MCPE-163399)
Broken and unbroken Elytra now render in-hand, in the world, and in Item Frames with the correct icon (MCPE-19700)
Realms
Changed the text font of the placeholder text in the New Post menu
Changed the text from “A 10 Player Realm” to “10 Players” in the card for 10 Player Realm in the Settings -> Subscription Tab
Realms now appear immediately on the list in the Friends tab after entering an invite code
Fixes an issue that prevented a Realm from being reset
Changed the Realms purple gradient background to be darker
Fixed an issue where a Realm would generate structures that local worlds would not
Added a focus indicator to FAQ sections when using keyboard and mouse
Hid the ‘Download World’ button when there is no backup available
Fixed a bug where the Manage Subscriptions list would not populate when navigated to from a Realm’s ‘Manage Realm’ page
Accessibility
Added new “Chat Message Duration” accessibility setting to change how long chat messages remain on screen (3 seconds by default)
Renamed “Notification Duration” to “Toast Notification Duration” and fixed an issue were the setting had no affect on how long toasts remained on display
The four Creative Inventory tabs now have their names read out by text-to-speech
Screen reader now describes function of “Delete World” button in the Storage menu
Tweaked the contrast of the text inside of header for list of worlds in the Storage Settings menu
Potions, Tipped Arrows, and mob effects have had their colors adjusted to make them more distinguishable from each other (MCPE-168357)
User Interface
Added new Trails & Tales splash screen text and loading screen tips
Added new Trails & Tales main menu background
View now rotates clockwise and is tilted down unless a global resource pack replaces the cubemap background
Loading animation for adding friends is now the correct size (MCPE-159261)
The block type icon now appears in the Command Block UI screen (MCPE-159970)
The game no longer shows a retry cloud sync prompt when encountering an out of space error (MCPE-162455)
Screen UI now always has a focus in control when using a controller
Doubled the resolution of world thumbnail images
Changed the world tag to no longer display “-experimental” on worlds that only use the Holiday Creator Features experiment
Button sounds will no longer sometimes occur when clicking a disabled button (MCPE-141124)
Added exclamation marks to certain splash texts that were missing to match Java Edition (MCPE-165962)
Fixed capitalization in title of Behavior Pack message modal (MCPE-156331)
Fixed a bug where respawning in VR sometimes softlocked players on the death screen
Text shadowboxes now have the correct opacity on interactable block screens
Marketplace and Dressing Room cycle buttons now show navigation chevron when using a controller and controller hints are disabled (MCPE-147711)
Fixed that the multiplayer toggle in the Create New World screen sometimes wasn’t greyed out even though the setting would have no effect
Fixed a graphical issue where a gamepad icon would display over another screen
Touch Controls
Fixed issues with keyboard navigation on some menu screens on iOS and Android
Graphical
Fixed a crash when enabling ray tracing in ray tracing compatible content that was loaded into with ray tracing turned off
Fixed an issue in RTX where underwater light shafts from the moon would originate from the opposite angle of the moon sprite (MCPE-118898)
TECHNICAL UPDATES
Updated Add-On Template Packs
Updated Add-On templates for 1.20 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks
General
Fixed “get_equipped_item_name” Molang query not being able to return the old name of some flattened items, eg. red_wool, to wool
Introduced new entity filters “all_slots_empty” and “any_slot_empty” to allow searching for empty item slots in a designated equipment location (MCPE-153909)
The minecraft:friction component is no longer ignored when calculating ground friction
Added spawn_item_event event to minecraft:spawn_entity component. This event is called when an item is spawned
Attribute “speed_multiplier” in the “minecraft:boostable” component is now being parsed correctly from json file. Old behavior is maintained for “format_version” lower than 1.20 with 1.35 value rather than what the json file specifies (MCPE-164424)
Fixed incorrect content warnings for recipes that used the same blocks but with different data (MCPE-168717)
Fixed custom textures that override vanilla blocks with aux metadata as a list of textures
Dedicated Server
Note for Linux users: Ubuntu 18.04 LTS (Bionic Beaver) will reach End of Standard Support in 2023. Accordingly, the Linux Minecraft Dedicated Server will also raise its minimum target Ubuntu version to 20.04 LTS (Focal Fossa) in a later R20 update (exact release to be determined). Minecraft server operators using Ubuntu are encouraged to prepare for this transition by updating their deployments to 20.04 LTS as soon as possible.
Content logs now show in dedicated server console window with a configurable log level using these new server properties:
content-log-level – Sets the minimum level for content logs to output. Allowed values: “verbose”, “info”, “warning”, “error”. Default: info
Note: This log level also affects content logs written to disk when using content-log-file-enabled=true
content-log-console-output-enabled – Enables or disables content log output to the console window. Default: info
Commands
Has item command selector now correctly detects whether or not an actor has a filled Map or Firework Star in their inventory
The “inputpermission” command now has a description displayed in the command dialogue preview
When typing a slash command, auto-complete no longer suggests block-states that are already part of the typed command (MCPE-168055)
Improved performance when preparing commands, most noticeable when opening the command window for the first time in a world, but also when loading Command Blocks for old command versions
“carpet” block is now flattened into unique variants of 16 colors, namely “white_carpet”, “orange_carpet”, “magenta_carpet”, “light_blue_carpet”, “yellow_carpet”, “lime_carpet”, “pink_carpet”, “gray_carpet”, “light_gray_carpet”, “cyan_carpet”, “purple_carpet”, “blue_carpet”, “brown_carpet”, “green_carpet”, “red_carpet”, “black_carpet”
Commands will still work with “carpet”, but only new carpet name will be suggested in the command prompt
“coral” was split into unique instances, namely “tube_coral”, “brain_coral”, “bubble_coral”, “fire_coral”, “horn_coral”, “dead_tube_coral”, “dead_brain_coral”, “dead_bubble_coral”, “dead_fire_coral” and “dead_horn_coral”
Commands will still work with “coral”, but “coral” won’t be suggested in the command prompt, rather the new names will
Experience Orbs now merge when spawned with the summon command (MCPE-167247)
Entities
Custom entities with internal-only components or AI goals will fail to load in game
Custom entities are restricted to overriding Vanilla entities released before 1.20. Invalid entities used in the “identifier” or “runtime_identifier” field will result in content errors
Items
Custom items using JSON formats 1.16.100 and formats past 1.17.0 can be loaded without the Holiday Creator Feature toggle if there are no Holiday components used
Custom items with ‘minecraft:record’ now show the correct sound description in hover text and on playing in a Jukebox
Custom items with ‘minecraft:durability’ and ‘minecraft:repairable’ can be combined to repair them without requiring a custom item entry
Items with the Entity Placer item component will now successfully create the actor on air blocks if the “dispense_on” field is empty
Items with the Entity Placer item component can now be used on a Mob Spawner to change the Spawner’s actor spawn type. The item must have a format version of at least 1.19.80
Removed the non-functional ‘on_repaired’ parameter from the ‘minecraft:repairable’ item component
Released the “minecraft:display_name” item component out of experimental in json formats 1.20.0 and higher
Released the “minecraft:durability” item component out of experimental in json formats 1.20.0 and higher
Released the “minecraft:fuel” item component out of experimental in json formats 1.20.0 and higher
Released the “minecraft:entity_placer” item component out of experimental in json formats 1.20.0 and higher
Released the “minecraft:icon” item component out of experimental in json formats 1.20.0 and higher
Add-Ons
Fixed an issue that prevented custom entity spawn eggs from being supported in trade tables (MCPE-170184)
Molang
Fixed a crash affecting some Marketplace packs preventing them from loading
There is now a limit on the amount of nested sub-expressions each Molang expression can have
EXPERIMENTAL TECHNICAL FEATURES
Camera Command
Added /camera command as part of the experimental Cameras toggle
This command can switch to custom camera perspectives or fade the screen
Use /help camera to get a full list of options
Added a new experimental Cameras toggle to allow for custom camera perspectives
Items
Items with the ‘minecraft:throwable’ component now trigger the ‘throw’ sound effect when used
Add-Ons
Added PlacementDirection and PlacementPosisition BlockTraits
The PlacementDirection trait can enable the “minecraft:cardinal_direction” and/or “minecraft:facing_direction” states on a block.
“minecraft:cardinal_direction” is a four value string state [“north”, “south”, “east”, “west”] that describes what cardinal direction the player was facing when they placed the block.
“minecraft:facing_direction” is a six value string state [“down”, “up”, “north”, “south”, “east”, “west”] that describes what direction the player was facing when they placed the block.
Values for these states are set when the block is placed.
The PlacementPosition trait can enable the “minecraft:block_face” and/or “minecraft:vertical_half” states on a block.
“minecraft:block_face” is a six value string state [“down”, “up”, “north”, “south”, “east”, “west”] that describes what face the block was placed on.
“minecraft:vertical_half” is a two value string state [“bottom”, “top”] that describes whether the block was placed in the upper or lower half of a block position.
Values for these states are set when the block is placed.
Can access all states associated with BlockTraits through the “block_property” Molang queries and “set_block_property” event responses.
Note: Use of BlockTraits in JSON is currently behind the “Upcoming Creator Features” toggle
Removed “knockback_resistance” item component
Pumpkin blocks use the string type state “minecraft:cardinal_direction” instead of the int type “direction” state
Removed “dye_powder” item component
Items using the minimum duration for the “minecraft:fuel” component now work in the Blast Furnace and Smoker
Scripting
System Events
Further separation of events into distinct before* and after* handling, with some restrictions on the execution of state updates in a before event:
All before events moved from world.events into world.beforeEvents property. The “before” prefix has been removed. Functions that alter world state are prohibited in before event callbacks. Read-only methods and properties are allowed. Set methods are limited to the event object itself. Any use of restricted methods and properties will throw an exception.
For example, system.events.beforeWatchdogTerminate is now considered a “before” event. Functions that alter world state are prohibited in before event callbacks. Read-only methods and properties are allowed. Set methods are limited to the event object itself. Any use of restricted methods and properties will throw an exception
For example, system.events.scriptEventReceived is now considered an “after” event. After event callbacks are executed in a deferred manner. Using /scriptEvent something will queue script to execute at a later point
Renamed Scripting Events
Before Events renamed to *BeforeEvent and event signals renamed to *BeforeEventSignal
Example: BeforeItemUseEvent renamed to ItemUseBeforeEvent and BeforeItemUseEventSignal renamed to ItemUseBeforeEventSignal
Other events renamed to *AfterEvent and event signals renamed to *AfterEventSignal
Example: WeatherChangedEvent renamed to WeatherChangedAfterEvent and WeatherChangedEventSignal renamed to WeatherChangedAfterEventSignal
chat event renamed to chatSend
world.events.beforeChat renamed to world.events.beforeChatSend
world.events.chat renamed to world.events.chatSend
BeforeChatEvent renamed to ChatSendBeforeEvent
BeforeChatEventSignal renamed to ChatSendBeforeEventSignal
ChatEvent renamed to ChatSendAfterEvent
ChatEventSignal renamed to ChatSendAfterEventSignal
Fixed a bug where BlockPermutation.resolve() would fail to resolve custom block properties
Renamed Entity.scoreboard to Entity.scoreboardIdentity
Item Events
The ItemStartUseOnEvent now only fires for the first block that is interacted with when performing a build action
The ItemUseOnEvent now only fires if the item is successfully used on a block
ItemUseOnEvent property blockLocation: Vec3 has been changed to block: Block
ItemStartUseOnEvent property blockLocation: Vec3 has been changed to block: Block
ItemStopUseOnEvent property blockLocation: Vec3 has been changed to block: Block
ProjectileHitEvent property faceLocation: Vec2 has been changed to faceLocation: Vec3 – This position is relative to the bottom north-west corner of the block
ItemUseOnEvent property faceLocation: Vec2 has been changed to faceLocation: Vec3 – This position is relative to the bottom north-west corner of the block
Entity
Added interface teleportOptions {dimension?: Dimension, rotation?: Vector2, keepVelocity?: boolean, facingLocation?: Vector3, checkForBlocks?: boolean}
Added interface Vector2 {x: number, y: number}
Added function tryTeleport(location: Vector3, teleportOptions?: teleportOptions) : boolean – Attempts to teleport the entity and returns false if the entity is unable to teleport safely (blocks surrounding teleport location or unloaded chunk)
Changed function teleport to teleport(location: Vector3, teleportOptions?: teleportOptions) : void – Teleports an entity
Changed function setRotation to setRotation(rotation: Vector2) : void – Sets the entity’s rotation
Changed function getRotation to getRotation() : Vector2 – Gets the entity’s rotation
Updated function addTag(tag: string): boolean – The tag must be less than 256 characters
Updated method kill to return boolean instead of void. If return value is true, entity can be killed, otherwise false
Added interface EntityApplyDamageOptions. Additional options about the source of damage to use as input in Entity.applyDamage
Added interface EntityApplyDamageByProjectileOptions. Additional options about the source of damage to use as input in Entity.applyDamage in case of projectile damage
Updated method applyDamage. Renamed parameter source to options. Parameter type also changed from EntityDamageSource to EntityApplyDamageOptions | EntityApplyDamageByProjectileOptions
SimulatedPlayer
Changed function getHeadRotation to getHeadRotation() : Vector2 – Gets the simulated players head rotation
TitleDisplayOptions will now accept floating point values
Added new WorldSoundOptions and PlayerSoundOptions interface types for use with the world.playSound and player.playSound respectively
World.playSound now requires a location argument
When calling playMusic and queueMusic, an error will now be thrown if musicOptions.volume is less than 0.0
When calling playMusic and queueMusic, an error will now be thrown if musicOptions.fade is less than 0.0
When calling playSound, an error will now be thrown if soundOptions.pitch is less than 0.01
When calling playSound, an error will now be thrown if soundOptions.volume is less than 0.0
Entity objects now persist across dimension changes and chunk reloading. This means that if you have a reference to an invalid Entity, it will become usable once the Entity has been transferred or reloaded. You can check whether an Entity is loaded or unloaded by reading its lifetimeState property
Added read-only property lifetimeState – Returns the lifetime state of the Entity. Valid values include “loaded” and unloaded”
ItemDefinitionTriggeredEvent
Renamed property item to itemStack
ItemStartUseOnEvent
Renamed property item to itemStack
Replaced function getBlockLocation with read-only property blockLocation: Vector3
Removed function getBuildBlockLocation
ItemStopUseOnEvent
Renamed property item to itemStack
Replaced function getBlockLocation with read-only property blockLocation: Vector3
ItemUseEvent
Renamed property item to itemStack
ItemUseOnEvent
Renamed property item to itemStack
Replaced function getBlockLocation with read-only property blockLocation: Vector3
Replaced properties faceLocationX and faceLocation with read-only property faceLocation: Vector2
BlockHitInformation
Replaced properties faceLocationX and faceLocation with read-only property faceLocation: Vector2
After Events
All non-before events have been moved from world.events to world.afterEvents
events has been removed from the world object
After events do not execute immediately, instead they are deferred until a later point in the tick when they are flushed. It is guaranteed that all events fired in a tick are flushed within a tick
Fixed a bug where modified equipment and container slots were not being synced to clients
@minecraft/server
Renamed BlockProperties to BlockStates
Renamed BlockPermutation.getAllProperties to BlockPermutation.getAllStates
Renamed BlockPermutation.getProperty to BlockPermutation.getState
Added class EffectTypes
Added function get(identifier: string): EffectType – Returns the effect type if it exists
Added function getAll(): EffectType[] – Returns all of the effects
Updated class Effect
Updated duration property. Is the duration of the effect in ticks
Added property typeId. Returns the effect’s type id
Added interface EntityEffectOptions { amplifier?: number, showParticles?: boolean }
Added function Entity.removeEffect(effectType: EffectType | string): boolean – Removes an effect from an Entity. Returns false if the effect is not found or does not exist
Updated function Entity.getEffect(effectType: EffectType | string): Effect | undefined – Gets the effect if it exists on the entity. Otherwise returns undefined
Updated function Entity.addEffect(effectType: EffectType | string, duration: number, options?: EntityEffectOptions): boolean – Adds an effect to the Entity. Returns false if the effect cannot be added (If the effect does not exist, the duration is negative)
New APIs moved from beta to stable @minecraft/server 1.2.0:
Moving applyDamage(amount: number, options?: EntityApplyDamageByProjectileOptions | EntityApplyDamageOptions): boolean to 1.2.0
Moving kill(): boolean to 1.2.0
Moving EntityApplyDamageOptions to 1.2.0
Moving EntityApplyDamageByProjectileOptions to 1.2.0
Moving EntityDamageCause to 1.2.0
Moving addTag(tag: string) to 1.2.0
Moving removeTag(tag: string) to 1.2.0
Moving hasTag(tag: string) to 1.2.0
Moving getTags() to 1.2.0
Moved Container, BlockInventoryComponent, and EntityInventoryComponent to 1.2.0
Moved Music APIs from beta to stable
Moved Sound APIs from beta to stable
Moved 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