{{Infobox version
| title = v1.20.60
| vernum = 1.20.60
| edition = Bedrock
| image = Bedrock 1.20.60 PatchNotes.png
| image2 = Bedrock 1.20.60.png
| image3 = Bedrock 1.20.61.jpeg
| build = 21611477
| internal = '''Windows''': 1.20.6004.0<br>'''ChromeOS, Android, iOS, iPadOS, Fire''': 1.20.60.04<br>'''Xbox One''': 1.20.6004.70<br>'''PlayStation 4''': 2.81<br>'''Nintendo Switch''': v94
| versioncode = '''Android''':<br />
952006004 (armeabi-v7a, 33)<br />
962006004 (x86, 33)<br />
972006004 (arm64-v8a, 33)<br />
982006004 (x86_64, 33)
| date = February 6, 2024
| server = 1.20.61.01
| serverdl = '''Server'''<br>[https://minecraft.azureedge.net/bin-win/bedrock-server-1.20.61.01.zip Windows]<br>[https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.61.01.zip Linux]
| prevparent = 1.20.0
| prev = 1.20.51
| next = 1.20.62
| nextparent = 1.21.0
}}

'''1.20.60 ''' (Windows, ChromeOS, mobile devices, Xbox, PlayStation) or '''1.20.61''' (Nintendo Switch) is a minor update to {{BE}} released on February 6, 2024,<ref>{{cite|url=https://feedback.minecraft.net/hc/en-us/articles/23875745708557|title=Minecraft - 1.20.60 (Bedrock)|website=Minecraft Feedback|date=February 6, 2024}}</ref> which brings more parity with {{JE}}, adds more content for 1.21 behind an experimental toggle, and fixes bugs.

== Additions ==
=== General ===
; [[Experiments]]
* Added the "Armadillo and Wolf Armor" experimental toggle.
** Contains the new [[armadillo]] mob, [[armadillo scute]]s and [[wolf armor]].

; [[Tag]]s
* Added the <code>trapdoors</code> block tag: contains all trapdoors. (<code>iron_trapdoor</code>, <code>trapdoor</code>, <code>spruce_trapdoor</code>, <code>birch_trapdoor</code>, <code>jungle_trapdoor</code>, <code>acacia_trapdoor</code>, <code>dark_oak_trapdoor</code>, <code>mangrove_trapdoor</code>, <code>cherry_trapdoor</code>, <code>bamboo_trapdoor</code>, <code>crimson_trapdoor</code>, <code>warped_trapdoor</code>, <code>copper_trapdoor</code>, <code>exposed_copper_trapdoor</code>, <code>weathered_copper_trapdoor</code>, <code>oxidized_copper_trapdoor</code>, <code>waxed_copper_trapdoor</code>, <code>waxed_exposed_copper_trapdoor</code>, <code>waxed_weathered_copper_trapdoor</code>, <code>waxed_oxidized_copper_trapdoor</code>)

== Changes ==
=== Blocks ===
; [[Beehive]] and [[Bee Nest]]
* Can no longer be silk touched by an [[enchanted book]] with [[Silk Touch]].

; [[Decorated Pot]]
* Now supports the use of [[loot table]]s.

; [[Frosted Ice]]
* No longer leaves [[water]] in the world when mined with a [[Silk Touch]] tool.

; [[Hardened Stained Glass]] (Edu-only)
* The different [[block states]] for the <code>hard_stained_glass</code> ID have now been split up into their own IDs.
{|class="mw-collapsible mw-collapsed wikitable"
! [[Bedrock Edition data values|Old ID]]
! [[Bedrock Edition data values|New ID]]
|-
| rowspan="16" | {{BlockSprite|hardened-stained-glass}} <code>hard_stained_glass</code>
| {{BlockSprite|hardened-white-stained-glass}} <code>hard_white_stained_glass</code>
|-
| {{BlockSprite|hardened-orange-stained-glass}} <code>hard_orange_stained_glass</code>
|-
| {{BlockSprite|hardened-magenta-stained-glass}} <code>hard_magenta_stained_glass</code>
|-
| {{BlockSprite|hardened-light-blue-stained-glass}} <code>hard_light_blue_stained_glass</code>
|-
| {{BlockSprite|hardened-yellow-stained-glass}} <code>hard_yellow_stained_glass</code>
|-
| {{BlockSprite|hardened-lime-stained-glass}} <code>hard_lime_stained_glass</code>
|-
| {{BlockSprite|hardened-pink-stained-glass}} <code>hard_pink_stained_glass</code>
|-
| {{BlockSprite|hardened-gray-stained-glass}} <code>hard_gray_stained_glass</code>
|-
| {{BlockSprite|hardened-light-gray-stained-glass}} <code>hard_light_gray_stained_glass</code>
|-
| {{BlockSprite|hardened-cyan-stained-glass}} <code>hard_cyan_stained_glass</code>
|-
| {{BlockSprite|hardened-purple-stained-glass}} <code>hard_purple_stained_glass</code>
|-
| {{BlockSprite|hardened-blue-stained-glass}} <code>hard_blue_stained_glass</code>
|-
| {{BlockSprite|hardened-brown-stained-glass}} <code>hard_brown_stained_glass</code>
|-
| {{BlockSprite|hardened-green-stained-glass}} <code>hard_green_stained_glass</code>
|-
| {{BlockSprite|hardened-red-stained-glass}} <code>hard_red_stained_glass</code>
|-
| {{BlockSprite|hardened-black-stained-glass}} <code>hard_black_stained_glass</code>
|}

; [[Hardened Stained Glass Pane]] (Edu-only)
* The different [[block states]] for the <code>hard_stained_glass_pane</code> ID have now been split up into their own IDs.
{|class="mw-collapsible mw-collapsed wikitable"
! [[Bedrock Edition data values|Old ID]]
! [[Bedrock Edition data values|New ID]]
|-
| rowspan="16" | {{BlockSprite|hardened-stained-glass-panes}} <code>hard_stained_glass_pane</code>
| {{BlockSprite|hardened-white-stained-glass-pane}} <code>hard_white_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-orange-stained-glass-pane}} <code>hard_orange_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-magenta-stained-glass-pane}} <code>hard_magenta_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-light-blue-stained-glass-pane}} <code>hard_light_blue_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-yellow-stained-glass-pane}} <code>hard_yellow_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-lime-stained-glass-pane}} <code>hard_lime_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-pink-stained-glass-pane}} <code>hard_pink_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-gray-stained-glass-pane}} <code>hard_gray_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-light-gray-stained-glass-pane}} <code>hard_light_gray_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-cyan-stained-glass-pane}} <code>hard_cyan_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-purple-stained-glass-pane}} <code>hard_purple_stained_glass</code>
|-
| {{BlockSprite|hardened-blue-stained-glass-pane}} <code>hard_blue_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-brown-stained-glass-pane}} <code>hard_brown_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-green-stained-glass-pane}} <code>hard_green_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-red-stained-glass-pane}} <code>hard_red_stained_glass_pane</code>
|-
| {{BlockSprite|hardened-black-stained-glass-pane}} <code>hard_black_stained_glass_pane</code>
|}

; [[Lapis Lazuli Ore]]
* Can now drop up to 9 lapis lazuli (previously 8) when mined with an unenchanted tool, or up to 36 with Fortune level 3. (previously 32)

; [[Large Chest]] and [[Trapped Large Chest]]
* Slightly changed their texture.

; [[Nether Gold Ore]]
* Can now drop up to 6 gold nuggets (previously 5) when mined with an unenchanted tool, or up to 24 with Fortune level 3. (previously 20)

; [[Sculk Sensor]] and [[Calibrated Sculk Sensor]]
* Can now detect [[ice]], [[packed ice]], [[frosted ice]], and [[top snow]] when mined.

; [[Wither Rose]]
* Now deals damage to mobs and players every half second, rather than every two seconds.

=== Command format ===
; {{cmd|kill}}
* Reduced max length for reason message to 512 characters.

; {{cmd|me}}, {{cmd|say}}, {{cmd|tell}}, and {{cmd|title}}
* Reduced max length for output message to 512 characters.

=== General ===
; [[Realms]]
* Increased the maximum render distance in Preview on Realms to 20 chunks.
* Add an unread post count indicator to the Feed button on the play screen and slots screen.

; [[Tag]]s
* Biome tags in [[JSON]] files are now specified under a <code>minecraft:tags</code> component, in a <code>tags</code> array, rather than as loose JSON objects, for files with a <code>format_version</code> of <code>1.20.60</code> or higher.

=== Items ===
; [[Potato]], [[Carrot]], [[Melon]], [[Sweet Berries]], [[Nether Wart]], [[Sunflower]], [[Lilac]], [[Rose Bush]], [[Peony]], [[Glowstone Dust]], and [[Gravel]]
* No longer have increased chance of drops when mined with an [[enchanted book]] of [[Fortune]].

; [[Suspicious Stew]]
* Can now be eaten even if the player is at full [[hunger]].

; [[Turtle Scute]]
* Renamed "Scute" to "Turtle Scute".
** The ID has been changed from <code>scute</code> to <code>turtle_scute</code>.

=== Mobs ===
; [[Zoglin]] 
* Now despawn in [[Difficulty#Peaceful|Peaceful difficulty]].

=== World generation ===
; [[Snowlogging]]
* [[Top snow]] is now placed in snowloggable plants during terrain generation.

; [[Trail Ruins]]
* Trail ruins will now be placed in the same location and configuration as {{in|JE}}.

=== Technical ===
; [[API]]
* Changed <code>itemStack</code> in <code>ItemReleaseUseAfterEvent</code> to be optional.
* Released <code>DataDrivenEntityTriggerAfterEvent</code> from <code>beta</code> to <code>1.8.0</code>.
* Released <code>DataDrivenEntityTriggerAfterEventSignal</code> from <code>beta</code> to <code>1.8.0</code>.
* Released <code>DataDrivenEntityTriggerAfterEventSignalOptions</code> from <code>beta</code> to <code>1.8.0</code>.
* Released <code>DefinitionModifier</code> from <code>beta</code> to <code>1.8.0</code>.
* Released <code>WorldAfterEvents.dataDrivenEntityTriggerEvent</code> from <code>beta</code> to <code>1.8.0</code>.
* Improved error messages for "Unsupported or out of bounds value." errors to include the bounds.
* Released <code>WorldAfterEvents.dataDrivenEntityTrigger</code> from <code>beta</code> to <code>1.8.0</code>.
* Moved <code>EffectAddBeforeEvent</code> from <code>beta</code> to <code>1.8.0</code>.
* Moved <code>EffectAddAfterEvent</code> from <code>beta</code> to <code>1.8.0</code>.
* Moved <code>EffectAddAfterEvent</code> from <code>beta</code> to <code>1.8.0</code>.
* Moved <code>getTags</code> from <code>beta</code> to <code>1.8.0</code>.
* Moved <code>hasTag</code> from <code>beta</code> to <code>1.8.0</code>.
* <code>RGBA</code> interface now inherits from <code>RGB</code>.
* Made the display name parameter optional in Scoreboard <code>addObjective</code>.
* Added <code>BiomeRegistry</code> and <code>StructureFeatureType</code> enum to vanilla metadata generation.
* Changed "Unsupported or out of bounds value.." errors to use <code>ArgumentOutOfBoundsError</code> error type.
* {{cd|setWeather}} method argument duration now uses {{cd|ArgumentOutOfBoundsError}} error type.

; [[JSON]]
: '''Biomes'''
* Biome JSON files no longer support inheriting fields from other Biome JSON files. If this affects any content those files should be updated by manually copying the desired JSON text.
: '''Blocks'''
* The {{cd|minecraft:geometry.full_block}} identifier for the {{cd|minecraft:geometry}} block component has been added.
** The {{cd|minecraft:geometry.full_block}} identifier provides a centered 1x1x1 cube geometry.
** When combined with a {{cd|material_instances}} component with {{cd|render_layer: opaque}}, it enables rendering-only capabilities previously included in the {{cd|minecraft:unit_cube}} component including:
*** Occludes both vanilla and custom neighboring full blocks.
*** Culls faces that neighbor vanilla and custom neighboring full blocks to improve rendering performance.
* Added the ability for data-driven blocks to remove faces in the geometry when abutting a full and opaque block. 
** A new field has been added to the block <code>geometry</code> component, which references a new <code>Culling.json</code> file (found in the resource pack <code>block_culling</code> directory) that sets up culling rules for the tessellated geometry.
: '''Entities'''
* AI Goals
** <code>behavior.breed</code> now interrupts navigation on stop for content using engine version <code>1.20.60</code> or higher.
** <code>behavior.follow_parent</code> now interrupts navigation on stop for content using engine version <code>1.20.60</code> or higher.
* The <code>entity_sensor</code> component now supports multiple <code>subsensors</code>:
** <code>event</code>, <code>require_all</code>, <code>minimum_count</code>, <code>maximum_count</code>, <code>range</code> and <code>event_filter</code> are now individually configurable fields of each subsensor.
** Subsensors also have a new <code>cooldown</code> field, which defines how often each subsensor should sense for entities.
* All these changes require a <code>format_version</code> of <code>1.20.60</code> or higher.
* Added a <code>drop_item_slot</code> field to the <code>interact</code> component, which allows to specify an inventory slot to remove and drop items from.
* The {{cd|interact}} component now supports the additional {{cd|entity_act}} value for the {{cd|vibration}} field.
* Added an {{cd|interact_filters}} field to the {{cd|ageable}} component, which allows to specify conditions on when the actor can be fed.
* Entity event response <code>run_command</code> has been renamed to <code>queue_command</code> and has been released out of experimental. 
** Commands run via <code>queue_command</code> may be deferred until the next tick. 
** If the entity is removed before the command is run, the command will not execute. 
** Content using <code>run_command</code> under experimental will still work for now but the experimental feature is now considered deprecated.
* Added the {{cd|emit_vibration}} entity event response, which allows the entity to emit a vibration having the entity itself as its source.
** The {{cd|vibration}} field allows to specify the vibration to be emitted.
** The allowed values are {{cd|shear}}, {{cd|entity_act}}, and {{cd|entity_interact}}.
* Filters
** Added new entity filter <code>is_panicking</code>, which checks if the entity is executing <code>behavior.panic</code>.
** Added new entity filter <code>is_sprinting</code>, which checks if the entity is sprinting.
: '''Items'''
* Unrecognized fields in component item jsons will now give a warning to the content log in format versions <code>1.20.60</code> and higher.

; [[Molang]]
* Improved the context of content logs when an evaluated Molang expressions results in an error.
* Require <code>block_id</code> for each block in the StartGamePacket blockProperties.
* Send <code>material</code> for vanilla data-driven blocks in the StartGamePacket blockProperties. <code>block_id</code> is also moved to the <code>vanilla_block_data</code> object.
* Released Molang queries from experimental:
** {{cd|query.is_cooldown_type}}
** {{cd|query.cooldown_time}}
** {{cd|query.cooldown_time_remaining}}
** {{cd|query.relative_block_has_any_tag}}
** {{cd|query.relative_block_has_all_tags}}
** {{cd|query.block_neighbor_has_any_tag}}
** {{cd|query.block_neighbor_has_all_tags}}
** {{cd|query.block_has_any_tag}}
** {{cd|query.block_has_all_tags}}
** {{cd|query.bone_orientation_trs}}
** {{cd|query.bone_orientation_matrix}}
* Added content errors that state {{cd|query.remaining_durability}} and {{cd|query.max_durability}} are only to be used with Item contexts.

== Experimental ==
These additions and changes are accessible by enabling the "Armadillo and Wolf Armor", "Update 1.21", "Beta APIs", "Molang", and "Upcoming Creator Features" experimental toggles.
=== Additions ===
==== Blocks ====
; [[Trial Spawner]]
* Trial spawner is a new variant of [[monster spawner]]s that ejects rewards upon completion and can have variable levels of challenge in multiplayer.
* The challenge level will increase for each new player a trial spawner notices nearby.
** Challenge level will not decrease until it is reset during a trial spawner's cooldown.
* Unlike normal spawners, a trial spawner will spawn a limited number of mobs proportional to its current challenge level.
** It can only spawn a mob at positions that are within line of sight.
** It can spawn a mob regardless of any light level requirement the mob has.
** Spawned mobs are persistent and will not despawn.
* Once all mobs are defeated, the trial spawner will eject a set of rewards proportional to the current challenge level.
** After the rewards have been ejected, the trial spawner goes into cooldown for 30 minutes during which it will no longer spawn mobs.
* Trial spawners cannot be crafted nor obtained by players in Survival - instead, they can be found naturally placed throughout trial chambers.
* Trial spawners are extremely slow to mine and resistant to explosions, and will not drop even with [[Silk Touch]].
* When placed in Creative, trial spawners have no mob type set by default.
** The mob type can be set by interacting with it while holding a spawn egg.
* Creative and Spectator players cannot be detected or noticed by trial spawners.

==== Command format ====
; {{cmd|hud}}
* A new command that will hide and reset [[HUD|HUD elements]] visibility.
* Syntax: {{cmd|hud <target: target> <visible: HudVisibility> [hud_element: HudElement]|link=none}}
** <code>target: target</code>: The target entity. Must be a player.
** <code>visible: HudVisibility</code>: Whether <code>hide</code> or <code>reset</code> the HUD element(s) visibility.
** <code>hud_element: HudElement</code>: The HUD element(s). Must be one of the following:
*** {{cd|air_bubbles}}
*** {{cd|all}}
*** {{cd|armor}}
*** {{cd|crosshair}}
*** {{cd|health}}
*** {{cd|horse_health}}
*** {{cd|hotbar}}
*** {{cd|hunger}}
*** {{cd|paperdoll}}
*** {{cd|progress_bar}}
*** {{cd|tooltips}}
*** {{cd|touch_controls}}

==== General ====
; [[Particles]]
* Added new <code>breeze_ground_particle</code>, <code>trial_spawner_detection</code>, and <code>wind_explosion_emitter</code> particle types.

==== Items ====
; [[File:Armadillo Scute JE1 BE1.png|class=pixel-image|x32px]] [[Armadillo Scute]]
* Dropped by [[armadillo]]s periodically and when [[brush]]ed.
* [[Dispenser]]s can be used to brush armadillo scutes off armadillos.
* Can be used to craft [[wolf armor]].

; [[Spawn Egg]]s
* Added the [[File:Armadillo Spawn Egg JE1 BE1.png|class=pixel-image|x32px]] armadillo and [[File:Breeze Spawn Egg JE1 BE1.png|class=pixel-image|x32px]] breeze spawn eggs.

; [[Trial Key]]
* An item that can only be obtained from trial spawners.
* Currently don't have any functionality.

; [[File:Wolf Armor JE1 BE1.png|class=pixel-image|x32px]] [[Wolf Armor]]
* Crafted with 6 [[armadillo scute]]s in a harness shape.
* Protects [[wolves]] from damage.
** Wolf armor gives wolves the same protection level as [[diamond horse armor]].
* Using wolf armor on an adult tamed wolf will equip the armor on the wolf, and using [[shears]] will make it drop the armor.
** Only a wolf's owner can put on / shear off wolf armor. That also excludes dispensers.
* If a wolf dies while wearing armor, it will drop the armor.

==== Mobs ====
; [[File:Armadillo BE1.png|32px]] [[Armadillo]]
* The winner of [[Minecraft Live 2023]]'s Mob Vote.
* A passive mob<ref name=ref3>Despite being referred to as a neutral mob on [[minecraft.net]], the armadillo is just a passive mob with a defense mechanic.</ref> that spawns in [[savanna]] biomes with the same frequency as [[chicken]]s and [[pig]]s.
* Has {{hp|12}} health points.
* Can drop [[armadillo scute]]s either periodically or when brushed, but drops no loot when killed.
** Armadillos drop scutes at around the same rate as chickens lay eggs.
** Brushing takes some durability from the [[brush]].
* Can be bred with [[spider eye]]s.
* If an armadillo detects a threat, it will roll up.
** Threats include:
*** A player sprinting.
*** A player in a vehicle or mounted.
*** [[Undead]] mobs.
** Special cases where an armadillo will not roll up include when it is:
*** Fleeing.
*** In water or in the air.
*** On a leash.
* When an Armadillo is rolled up it cannot walk nor eat, and will not be tempted by food.
* It continuously scans for threats, if none are detected for 3 seconds (60 ticks), it will unroll.

; [[File:Breeze BE1.png|32px]] [[Breeze]]
* The breeze is a cunning, hostile mob that can spawn via trial spawner in some rooms within the trial chambers.
* Has {{hp|30}} health points.
* Cannot be hit by [[arrow]]s or [[trident]]s.
* The breeze moves primarily by leaping around the target, sometimes jumping quite long distances.
* An aggressive adversary, the breeze shoots volatile wind energy in the form of wind charge projectiles at its target.
* Wind charges deal a small amount of damage when colliding directly with an entity.
* After colliding with an entity or a block, wind charge projectiles produce a wind burst, which knocks back entities in the area by several blocks.
* Wind bursts also have the effect of 'activating' certain blocks:
** Non-iron doors and trapdoors are flipped.
** Fence gates are flipped.
** Buttons are pressed.
** Levers are flipped.
** Bells are rung and swung.
** Lit candles (both standalone and on cake) are extinguished.
* Wind bursts do not have any effect on iron doors, iron trapdoors, or any block being held in its position by a redstone signal.
* Currently does not drop any loot.

==== World generation ====
; [[Trial Chambers]]
* Trial chambers are a new structure in the Overworld where players can explore and take on combat challenges during the mid-game.
** Trial chambers are made out of a variety of copper and tuff blocks and can be found in different sizes from large to small.
** Trial chambers are a relatively common find throughout the deepslate layer of the underground, with the starting piece generating at a height between <code>-40</code> and <code>-20</code>.
* The layout of each trial chamber is procedurally generated, and can include traps, supply and reward chests, decorated pots, and a variety of combat spaces.
** Traps include dispensers containing different potential items, such as [[arrow]]s or [[fire charge]]s.
** Supply chests can be found between the different rooms, and give the player blocks and items which help them navigate their trials.
** Reward chests are guarded by challenges in each room, and can be a source of many high level enchanted books and equipment.
** Decorated pots found in hallways can contain supplies such as iron or arrows. Some pots are decorated and others are blank.
** The loot found in reward chests and decorated pots are still being iterated, and are absolutely not final as well as the loot from defeating mobs from a trial spawner.
* Each trial chamber will include trial spawners with a melee, small melee, or ranged category:
** ''Melee''
*** [[Zombie]]
*** [[Husk]]
*** [[Slime]]
** ''Small Melee''
*** [[Spider]]
*** [[Cave Spider]]
*** [[Baby Zombie]]
*** [[Silverfish]]
** ''Ranged''
*** [[Skeleton]]
*** [[Stray]]
* Each trial spawner category will only use one mob for the entire structure when generated, and these mobs are randomized for each trial chamber.
** For example, one trial chamber might only spawn zombies, cave spiders and strays, while another might only spawn slimes, silverfish and skeletons.
** The exceptions to this are some trial spawners in unique rooms which always spawn breezes.
* Regular mob spawning does not happen inside the bounding boxes of the trial chamber pieces.

=== Changes ===
==== Blocks ====
; [[Copper Door]]s
* Updated bottom textures.
* Now have the correct breaking time and blast resistance.

; [[Copper Trapdoor]]s
* Now have the correct breaking time and blast resistance.

; [[Crafter]]
* Updated texture.

; [[Tuff Bricks]]
* Updated texture.

==== General ====
; [[Tag]]s
* Added the <code>armadillo_spawn_egg</code> and <code>breeze_spawn_egg</code> into the <code>minecraft:spawn_egg</code> item tag.

==== Technical ====
; [[API]]
* <code>PlayerPlaceBlockBeforeEvent</code>
** Removed <code>itemStack: ItemStack</code> from event.
** Added <code>readonly permutationBeingPlaced: BlockPermutation</code> to event.
** Updating <code>createExplosion(location: Vector3, radius: number, explosionOptions?: ExplosionOptions)</code> to return a boolean. True if the explosion is successful and false if the explosion is unsuccessful or is cancelled.
** Updated <code>SimulatedPlayer</code> so it can continuously build.
** Updated <code>SimulatedPlayer</code> so it can Move and look in different directions.
* <code>ChatSendAfter</code> & <code>ChatSendBeforeEvent</code>
** Changed <code>message</code> and <code>sender</code> to readonly properties.
** Removed <code>setTargets</code>, <code>getTargets</code>, <code>sendToTargets</code> and replaced with an optional player list property targets.
* Class <code>ItemDurabilityComponent</code>
** Renamed <code>unbreaking</code> to <code>unbreakingEnchantmentLevel</code>.
** Renamed <code>getDamageRange</code> to <code>getDamageChanceRange</code>.
* <code>EntityTypes</code>
** Changed <code>getAll</code> return type from <code>EntityTypeIterator</code> to <code>EntityType[]</code>.
** Added method {{cd|eatItem(itemStack: ItemStack): void;}}.
* <code>BlockSignComponent</code>
** Changed signature of function {{cd|setWaxed}} to {{cd|setWaxed(waxed: boolean)}}.
** Removed event/property {{cd|pistonActivate}}.
* Added enum <code>BlockPistonState</code> export enum <code>BlockPistonState { Expanded = "Expanded", Expanding = "Expanding", Retracted = "Retracted", Retracting = "Retracting" }</code>.
* Class <code>BlockPistonComponent</code>
** Removed property {{cd|isExpanded}}.
** Removed property {{cd|isExpanding}}.
** Removed property {{cd|isRetracted}}.
** Removed property {{cd|isRetracting}}.
** Added property {{cd|readonly state: BlockPistonState}}.
** Changed function {{cd|getAttachedBlocks to return type Block[]}}.
** Added function {{cd|getAttachedBlocksLocations(): Vector3[]}}.
** Removed class {{cd|PistonActivateBeforeEvent}}.
** Removed class {{cd|PistonActivateBeforeEventSignal}}.
* <code>Types</code>
** Moved BlockType from {{cd|beta}} to {{cd|1.8.0}}.
** Moved FluidType from {{cd|beta}} to {{cd|1.8.0}}.
* Moved {{cd|NavigationResult}} from {{cd|@minecraft/server}} to {{cd|@minecraft/server-gametest}}.
* Class <code>Player</code>
** Added method <code>spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap): void;</code>.
* Added item dynamic properties.
** Added function {{cd|clearDynamicProperties(): void}} - Removes all dynamic properties from the item stack.
** Added function {{cd|getDynamicProperty(identifier: string): boolean | number | string | Vector3 | undefined}} - Returns the value of the dynamic property with the given identifier if it exists, otherwise returns undefined.
** Added function {{cd|getDynamicPropertyIds(): string[]}} - Returns an array of all dynamic property identifiers on the item stack.
** Added function {{cd|getDynamicPropertyTotalByteCount(): number}} - Returns the total byte count of all dynamic properties on the item stack.
** Added function {{cd|setDynamicProperty(identifier: string, value?: boolean | number | string | Vector3): void}} - Sets the value of the dynamic property with the given identifier. If the value is undefined, the dynamic property will be removed.
* Added class {{cd|EntityProjectileComponent}}. This component is used to shoot a projectile entity and modify its properties.
* Added interface {{cd|ProjectileShootOptions}}. This interface is used with function {{cd|EntityProjectileComponent.shoot}} to optionally modify the accuracy of the projectile when shot.
* Updated function {{cd|addEffect}} to return the added effect (or undefined if it failed).
* {{cd|system.runJob()}}
* {{cd|system.clearJob()}}
** Added {{cd|runJob}} and {{cd|clearJob}} for optimizing long running tasks using JavaScript generators. {{cd|system.runJob}} takes a generator function and returns a {{cd|jobId}}.
* {{cd|@minecraft/server.BlockPermutation}}
** Moved {{cd|getState}} and {{cd|withStates}} APIs from beta to stable.
* Added {{cd|ScriptBiomeTypes}} and {{cd|ScriptBiomeType}} to allow Scripting API to enumerate the {{cd|BiomeRegistry}}.
* Added a {{cd|findClosestBiome}} function to {{cd|Dimension}} to find the closest biome of a specified type, to a given position in the world.
* {{cd|PropertyOutOfBoundsError}}
** Added a new {{cd|PropertyOutOfBoundsError}} that throws when a property that is bounded is set out of bounds.
* {{cd|ContainerSlot}} APIs now throw an {{cd|InvalidContainerSlotError}} if the container slot is invalid, or if a property is set on an empty slot.
* Property {{cd|typeId}} no longer returns undefined for empty slots, but instead throws an {{cd|InvalidContainerSlotError}}.
* Added function {{cd|hasItem}} - Returns whether the slot contains an item.
* Added function {{cd|getCanPlaceOn}} - Returns an array of block identifiers that the item can be placed on.
* Added function {{cd|getCanDestroy}} - Returns an array of block identifiers that the item can destroy when used.

; [[JSON]]
: '''Blocks'''
* The {{cd|minecraft:unit_cube}} block component has been deprecated. Using it in content marked <code>1.20.60</code> and beyond will provide a content error.
** Using content marked prior to 1.20.60 will have their {{cd|minecraft:unit_cube}} block component upgraded to a {{cd|minecraft:geometry}} block component with a {{cd|minecraft:geometry.full_block}} identifier, but will maintain backwards compatibility with all behaviors.
* The block component {{cd|minecraft:random_ticking}} is now supported again.

; [[Molang]]
* Changed cooldown query slot IDs to be required for container slots with more than one index, logging content errors if not provided.
** {{cd|query.cooldown_time(slotName,slotId)}}
** {{cd|query.cooldown_time_remaining(slotName,slotId)}}
** {{cd|query.is_cooldown_type(cooldownName,slotName,slotId)}}

== Fixes ==
{{fixes|project=MCPE|fixedin=1.20.60.20 Preview,1.20.60.21 Preview,1.20.60.22 Preview,1.20.60.23 Preview,1.20.60.24 Preview,1.20.60.25 Preview,1.20.60.26 Preview, 1.20.60
|;From released versions before 1.20.0
|41898|Exporting MCWORLD or MCSTRUCTURE file to a OneDrive folder fails silently.
|43391|Banners that are mined/broken don't stack with banners that have never been mined/broken.
|54855|Continuous slab placing causes slabs to change from upper to lower.
|55878|Wither roses deal damage every 2 seconds instead of half second.
|65038|Oudated information about conduits in the How To Play section.
|79480|Zoglins can spawn in peaceful mode.
|87711|Experience orbs push mobs.
|101740|"Enchantment Cost" text in anvil is missing shadow and dark gray background when using Pocket UI.
|105457|Villager's profession skin may not match its workstation and trades.
|107031|Controlled horses/donkeys/mules don't take fall damage.
|109471|Music discs don't have blue text when held.
|114689|Bees get damaged by sweet berry bushes.
|120140|Taking "fall damage" when not falling.
|128532|Floating Durability Bar when opening inventory on Pocket UI.
|122491|Suspicious stew cannot be consumed with full hunger.
|142321|When grass and flowers spawn in a snow biome, they replace the snow.
|147656|Wolves doesn't spawn on snow block in the grove biome.
|159894|Campfire drops 4 charcoal now instead of 2.
|166934|Dimension teleport causes game to freeze after using the repeating command block.
|167836|Cannot change {{cd|brightness_gamma}} setting in blocks.json.
|168518|Player takes fall damage if they stand on an opened chest at Y{{=}}63 or Y{{=}}62.
|170184|Trade Tables no longer support custom entity Spawn Eggs.
|170377|Buttons can be accidentally clicked, when clicking out of window and into the background of game.
|170522|When entering spectator mode while standing on the ground, the player moves down a bit, which makes you fall down.
|;From the 1.20 versions
|169495|Double chest texture has miscolored pixels.
|170540|Experience (XP) orbs scattering more than before.
|173386|Going through Nether/End portal causes game to get stuck on "Building Terrain", and restarting the game teleports player to the same coordinates of the dimension that they left from.
|173649|Input slot in the Beacon screen goes outside the window in Pocket UI when the GUI is 0 or -1.
|175206|Pistons pushing/pulling/breaking blocks may teleport player to 0 on one axis.
|175727|Blocks appear bright in dark areas after exiting water with the "Improved Input Response" option enabled.
|175791|Instant death when pillaring during auto-save.
|176528|Villagers link to the same job block/bed even if it is already claimed, and game crashes if you break that job block/bed.
|176784|"water_spash_manual.json" misspelt in resource_packs\vanilla\particles.
|177045|Boolean Block States beyond the first 16 in the list do not get applied.
|;From the 1.20.50 versions
|175929|Encyclopedia on beacon doesn't include netherite blocks.
|176365|Cannot speed up after landing on blocks in Creative.
|176373|Copper grate turns into waxed block of copper after being waxed.
|176379|Copper grates cannot be waterlogged.
|176556|If the player is eating an apple, they will still walk at normal speed.
|176595|Chiseled copper cannot be stonecut from cut copper blocks.
|177409|Need a Mint achievement received through crafting.
|otherissuescount=47}}
; Others
* Fixed an issue that made boats clip through blocks when placed.
* Container blocks triggered with Redstone (e.g. hopper, dispenser) can now be interacted with consistently when powered by a fast redstone clock.
* Improved delay between 100% Loaded and when main menu appears on console platforms.
* Fixed a bug where certain chat messages would briefly be incorrectly shown on the new death screen.
* Destroying a Bed through the bottom block now properly clears the spawn point.
* Fixes a bug where the hotbar disappeared if you exited out of the customize touch controls screen with a non-touch controller input.
* Fixed the issue that prevented the inventory from being navigated when using only a keyboard on mobile.
* Fixed the issue prevented stack splitting from being used when using a keyboard in touch mode.
* A bug making the "technical details" button on resource packs not leading to the technical details screen has been fixed.
* Fixed texture z-fighting issues in Deferred Technical Preview.
* Fixed a bug where the world would sometimes fail to properly shut down and disconnect clients during an unrecoverable script watchdog error.
* Fixed an issue where functions getEquipment and getEquipmentSlot could not be called within "before" event handlers.
* Fixed a bug where an ItemStack could not be stacked after clearing its lore.
* Containers being cloned over no longer keep their container screens open and no longer cause crashes.
* Fixed a rare crash that could occur with the “Seven Seas” achievement.
* Fixed a bug that kept the previewed item on the paper doll even after navigating back using the sidebar.
* All unowned and owned emotes should now be discoverable within the emotes section of Dressing Room.
* The Friends drawer on the Play screen now makes sounds when {{Sound|opened|Drawer open.wav}} and {{Sound|closed|Drawer close.wav}}.
* Fixed a crash that could occur when players placed or destroyed any block and then Save & Quit with Ray Tracing enabled.
* Fixed issue where ActionFormData buttons could not be clicked if there were more than 255 buttons in the form
* Breeze wind and wind charge rendering have been tweaked.
* Fixed an issue where mobs, such as Zombies, were unable to pick up full stacks of items from the ground.
* The player's body will now cast a shadow in first person mode in the Deferred Technical Preview.
* The loading screen will no longer turn black on Android when entering a PBR-capable world with the Deferred Technical Preview enabled.
* Hoppers in Minecarts no longer exhibit ghosting artifacts during camera motion when the Deferred Technical Preview is enabled.
* The game no longer crashes when exiting a world with the Deferred Technical Preview enabled.
* Fixed a bug where the player would exit a vehicle at an incorrect height if the vehicle was over a fire block.
* Fix font glyph boundary artifacts (spotty pixels at the edge of each character) with italic text rendering at certain resolution.
* Pufferfish no longer inflate and deflate repeatedly when a player is at a specific distance from them.
* Mobs that have partial blocks (e.g. Trapdoors, Slabs, etc.) specified as part of their list of blocks to avoid in their Navigation Component should now avoid them properly.
* Realms Tab in new Play Screen should no longer be stuck in a loading state.
* Fixed crash that could occur in the Play menu whilst looking at Realms.
* Corrected translations about "posting" and "liking" on Realms Stories.
* Fixed issue where shadows for alpha tested geometry (doors, leaves, etc.) were no longer rendering in the Deferred Technical Preview.
* Banner shields now render when equipped in both left and right hands in the Deferred Technical Preview.
* Fixed an issue where light emitting items glowed in the player's hand in dark rooms during the day in the Deferred Technical Preview.
* Improved upscaling stability on Android in the Deferred Technical Preview.
* On Android, pixelated artifacts are no longer visible on the right half of the screen when upscaling is turned on in the Deferred Technical Preview.
* Fixed unstable and incorrect light clustering results in the Deferred Technical Preview.
* Turtle eggs, frogspawns, corals, and coral fans no longer spawn the double of particles when mined.
* Made various performance and stability improvements.
* Fixed an issue with multiplayer sessions sometimes not appearing in available LAN games.
* The limitations on which blocks can be replaced by dark oak and acacia trees now also apply to their branches, not just their trunks.
* Containers being cloned no longer keep their container screens open or cause crashes.
* Fixed a bug that could cause infinite loading while joining a Realm.
* Fixed an issue causing caves to appear illuminated by the sun (aka “Light Leaking”) in the Deferred Technical Preview.
* Volumetric fog is no longer affected by sunlight in enclosed spaces in the Deferred Technical Preview.

== References ==
{{reflist}}

== Navigation ==
{{Navbox Bedrock Edition versions|1.2x}}

[[de:Bedrock Edition 1.20.60]]
[[es:Bedrock Edition 1.20.60]]
[[ja:Bedrock Edition 1.20.60]]
[[pt:Edição Bedrock 1.20.60]]
[[uk:1.20.60 (Bedrock Edition)]]
[[zh:基岩版1.20.60]]
