{{Infobox version
| image =  Bedrock 1.20.0.20 PatchNotes.jpg
| image2 = Bedrock 1.20.0.20.png
| edition = bedrock
| type = Preview
| server = 1.20.0.20
| build = 15000172
| editorver = 0.3.3
| versioncode = '''Android''':<br>
952000020 (armeabi-v7a, 33)<br>
962000020 (x86, 33)<br>
972000020 (arm64-v8a, 33)<br>
982000020 (x86_64, 33)<br>
| date = '''Windows, Android, iOS, iPadOS, Xbox''' - April 12, 2023
| internal = '''Windows, Xbox''': 1.20.20.0<br>'''Android, iOS, iPadOS''': 1.20.0.20
| serverdl = '''Server'''<br>[https://minecraft.azureedge.net/bin-win-preview/bedrock-server-1.20.0.20.zip Windows]<br>[https://minecraft.azureedge.net/bin-linux-preview/bedrock-server-1.20.0.20.zip Linux]
| parent = 1.20.0
| prevparent = 1.19.0
| prev = 
| next = Preview 1.20.0.21
| nextparent = 1.20.10
}}<onlyinclude>
'''Beta 1.20.0.20''' (Android) or '''Preview 1.20.0.20''' (Windows, iOS, iPadOS, Xbox) is the first beta/''Preview'' version for [[Bedrock Edition 1.20.0]], released on April 12, 2023,<ref>{{cite|url=https://feedback.minecraft.net/hc/en-us/articles/14770046776205|title=Minecraft Beta & Preview - 1.20.0.20|website=Minecraft Feedback|date=April 12, 2023}}</ref><ref>{{Mcnet|minecraft-preview-1-20-0-20|Minecraft Preview 1.20.0.20|April 12, 2023|Jay Wells}}</ref> which adds [[pitcher plant]]s, [[sniffer egg]]s, brought more parity from {{JE}}, and fixes bugs.

== Additions ==
=== Blocks ===
; [[File:Pitcher Plant JE1 BE1.png|32px]] [[Pitcher Plant]]
* A type of [[plant]] which grows from the [[pitcher pod]] after 4 stages (5 stages in total).
* Can be obtained by breaking a fully grown pitcher crop.
* Can be crafted into a [[cyan dye]].
* Cannot be placed in a [[flower pot]].

; {{Animate|Sniffer Egg JE1 BE1.png; Sniffer Egg Slightly Cracked JE1 BE1.png; Sniffer Egg Very Cracked JE1 BE1.png|32px}} [[Sniffer Egg]]
* The sniffer egg can be found in the [[suspicious sand]] [[loot table]] found at warm [[ocean ruins]].
* The sniffer egg is dropped when two sniffers breed.
* The sniffer egg hatches into a snifflet.
** When placed above a [[moss block]], it will hatch after approximately 10 minutes.
** On all other [[block]]s, it will hatch in approximately 20 minutes.

=== Items ===
; [[File:Pitcher Pod JE1 BE1.png|32px]] [[Pitcher Pod]]
* Can be planted on farmland and grows into a pitcher plant.
* Can only be obtained if a sniffer digs up a pitcher pod.
* Drops pitcher plant when fully grown, otherwise drops itself.

== Changes ==
=== Blocks ===
; [[Carpet]]
*The different [[block states]] for the <code>carpet</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|carpets}} <code>carpet</code>
| {{BlockSprite|white-carpet}} <code>white_carpet</code>
|-
| {{BlockSprite|orange-carpet}} <code>orange_carpet</code>
|-
| {{BlockSprite|magenta-carpet}} <code>magenta_carpet</code>
|-
| {{BlockSprite|light-blue-carpet}} <code>light_blue_carpet</code>
|-
| {{BlockSprite|yellow-carpet}} <code>yellow_carpet</code>
|-
| {{BlockSprite|lime-carpet}} <code>lime_carpet</code>
|-
| {{BlockSprite|pink-carpet}} <code>pink_carpet</code>
|-
| {{BlockSprite|gray-carpet}} <code>gray_carpet</code>
|-
| {{BlockSprite|light-gray-carpet}} <code>light_gray_carpet</code>
|-
| {{BlockSprite|cyan-carpet}} <code>cyan_carpet</code>
|-
| {{BlockSprite|purple-carpet}} <code>purple_carpet</code>
|-
| {{BlockSprite|blue-carpet}} <code>blue_carpet</code>
|-
| {{BlockSprite|brown-carpet}} <code>brown_carpet</code>
|-
| {{BlockSprite|green-carpet}} <code>green_carpet</code>
|-
| {{BlockSprite|red-carpet}} <code>red_carpet</code>
|-
| {{BlockSprite|black-carpet}} <code>black_carpet</code>
|}

; [[Log]]
*The different [[block states]] for the <code>log</code> and <code>log2</code> ID's 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="4" | {{BlockSprite|logs}} <code>log</code>
| {{BlockSprite|oak-log}} <code>oak_log</code>
|-
| {{BlockSprite|spruce-log}} <code>spruce_log</code>
|-
| {{BlockSprite|birch-log}} <code>birch_log</code>
|-
| {{BlockSprite|jungle-log}} <code>jungle_log</code>
|-
| rowspan="2" | {{BlockSprite|logs}} <code>log2</code>
| {{BlockSprite|acacia-log}} <code>acacia_log</code>
|-
| {{BlockSprite|dark-oak-log}} <code>dark_oak_log</code>
|}

; [[Coral]]
*The different [[block states]] for the <code>coral</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|all-coral}} <code>coral</code>
| {{BlockSprite|tube-coral}} <code>tube_coral</code>
|-
| {{BlockSprite|brain-coral}} <code>brain_coral</code>
|-
| {{BlockSprite|bubble-coral}} <code>bubble_coral</code>
|-
| {{BlockSprite|fire-coral}} <code>fire_coral</code>
|-
| {{BlockSprite|horn-coral}} <code>horn_coral</code>
|-
| {{BlockSprite|dead-tube-coral}} <code>dead_tube_coral</code>
|-
| {{BlockSprite|dead-brain-coral}} <code>dead_brain_coral</code>
|-
| {{BlockSprite|dead-bubble-coral}} <code>dead_bubble_coral</code>
|-
| {{BlockSprite|dead-fire-coral}} <code>dead_fire_coral</code>
|-
| {{BlockSprite|dead-horn-coral}} <code>dead_horn_coral</code>
|}

; [[Torchflower]]
* Now available without the "Sniffer" experimental toggle.

=== General ===
; UI
*Changed the overlay color on the new death screen in full VR.
*Added a new camera effect on the new death screen.
*Doubled the resolution of the world thumbnails.

; [[Experiments]]
* Removed the "Sniffer" experimental toggle.

; [[Options]]
* Screen reader now describes function of "delete world" button in storage menu.
* Tweaked the contrast of the text inside of header for list of worlds in storage settings menu.

; [[Splash]]es
* Added the "Enter the Render Dragon!" splash text.

=== Items ===
; [[Shield]]
* Can now be combined with [[banner]] on crafting grid to apply patterns on it.
** The banner is consumed on use.
** A Shield can be combined with a banner only if no pattern was previously applied.

=== Mobs ===
; [[Sniffer]]
* Now available without the "Sniffer" experimental toggle.
* Now spawns an [[sniffer egg]] when bred, instead of producing a snifflet.
* Now you can also find the [[pitcher pod]]s of the [[pitcher plant]].

=== Technical ===
; [[JSON]]
* 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 {{cd|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 {{cd|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 {{cd|on_repaired}} parameter from the {{cd|minecraft:repairable}} item component.

; [[Molang]]
* There is now a limit on the amount of nested sub-expressions each molang expression can have.

; General
*Added {{cd|spawn_item_event}} event to {{cd|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.

== Experimental ==
These additions and changes are accessible by enabling the "Beta APIs", and "Upcoming Creator Features" experimental toggles.
=== Additions ===
==== Technical ====
; [[Add-on]]s and script engine
* Added experimental support for {{cd|BlockTraits}} in block JSON. {{cd|BlockTraits}} are a shortcut for creators to add vanilla [[block states]] and setter functions to data-driven blocks.
** Can parse {{cd|PlacementDirection}} ("{{cd|minecraft:placement_direction}}") {{cd|BlockTrait}} (adds the "{{cd|minecraft:cardinal_direction}}" {{cd|BlockState}} and {{cd|onPlayerPlace}} setter function).
** Can access the {{cd|minecraft:cardinal_direction}} state on blocks that apply the {{cd|placement_direction}} trait in {{cd|block_property}} molang queries and {{cd|set_block_property}} event responses.

=== Changes ===
==== Technical ====
; Scripting
* System Events
** Further separation of events into distinct {{cd|before*}} and {{cd|after*}} handling, with some restrictions on the execution of state updates in a before event.
* Renamed Scripting Events
** Before Events renamed to {{cd|*BeforeEvent}} and event signals renamed to {{cd|*BeforeEventSignal}}.
*** Example: {{cd|BeforeItemUseEvent}} renamed to {{cd|ItemUseBeforeEvent}} and {{cd|BeforeItemUseEventSignal}} renamed to {{cd|ItemUseBeforeEventSignal}}.
** Other events renamed to {{cd|*AfterEvent}} and event signals renamed to {{cd|*AfterEventSignal}}.
*** Example: {{cd|WeatherChangedEvent}} renamed to {{cd|WeatherChangedAfterEvent}} and {{cd|WeatherChangedEventSignal}} renamed to {{cd|WeatherChangedAfterEventSignal}}.
** {{cd|chat}} event renamed to {{cd|chatSend}}.
** {{cd|events.beforeChat}} renamed to {{cd|world.events.beforeChatSend}}.
** {{cd|events.chat}} renamed to {{cd|world.events.chatSend}}.
** {{cd|BeforeChatEvent}} renamed to {{cd|ChatSendBeforeEvent}}.
** {{cd|BeforeChatEventSignal}} renamed to {{cd|ChatSendBeforeEventSignal}}.
** {{cd|ChatEvent}} renamed to {{cd|ChatSendAfterEvent}}.
** {{cd|ChatEventSignal}} renamed to {{cd|ChatSendAfterEventSignal}}.
** Fixed a bug where {{cd|resolve()}} would fail to resolve custom block properties.
** Renamed {{cd|scoreboard}} to {{cd|Entity.scoreboardIdentity}}.
** Item Events
*** The {{cd|ItemStartUseOnEvent}} now only fires for the first block that is interacted with when performing a build action.
*** The {{cd|ItemUseOnEvent}} now only fires if the item is successfully used on a block.
*** {{cd|ItemUseOnEvent}} property {{cd|blockLocation: Vec3}} has been changed to {{cd|block: Block}}.
*** {{cd|ItemStartUseOnEvent}} property {{cd|blockLocation: Vec3}} has been changed to {{cd|block: Block}}.
*** {{cd|ItemStopUseOnEvent}} property {{cd|blockLocation: Vec3}} has been changed to {{cd|block: Block}}.
*** {{cd|ProjectileHitEvent}} property {{cd|faceLocation: Vec2}} has been changed to {{cd|faceLocation: Vec3}} - This position is relative to the bottom north-west corner of the block.
*** {{cd|ItemUseOnEvent}} property {{cd|faceLocation: Vec2}} has been changed to {{cd|faceLocation: Vec3}} - This position is relative to the bottom north-west corner of the block.
** Entity
*** Added interface {{cd|teleportOptions {dimension?: Dimension, rotation?: Vector2, keepVelocity?: boolean, facingLocation?: Vector3, checkForBlocks?: boolean}}}.
*** Added interface {{cd|Vector2 {x: number, y: number}}}.
*** Added function {{cd|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 {{cd|teleport(location: Vector3, teleportOptions?: teleportOptions) : void}} - Teleports an entity.
** Changed function {{cd|setRotation}} to {{cd|setRotation(rotation: Vector2) : void}} - Sets the entity's rotation.
** Changed function {{cd|getRotation}} to {{cd|getRotation() : Vector2}} - Gets the entity's rotation.
** Updated function {{cd|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 {{cd|EntityApplyDamageOptions}}. Additional options about the source of damage to use as input in {{cd|applyDamage}}.
** Added interface {{cd|EntityApplyDamageByProjectileOptions}}. Additional options about the source of damage to use as input in {{cd|applyDamage}} in case of projectile damage.
*** Updated method {{cd|applyDamage}}. Renamed parameter source to options. Parameter type also changed from {{cd|EntityDamageSource}} to {{cd|EntityApplyDamageOptions | EntityApplyDamageByProjectileOptions}}.
** {{cd|SimulatedPlayer}}.
*** Changed function {{cd|getHeadRotation}} to {{cd|getHeadRotation() : Vector2}} - Gets the simulated players head rotation.
** {{cd|TitleDisplayOptions}} will now accept floating point values.
** Added new {{cd|WorldSoundOptions}} and {{cd|PlayerSoundOptions}} interface types for use with the {{cd|playSound}} and {{cd|player.playSound}} respectively.
*** {{cd|playSound}} now requires a location argument.
*** When calling {{cd|playMusic}} and {{cd|queueMusic}}, an error will now be thrown if ''volume'' is less than {{cd|0.0}}.
*** When calling {{cd|playMusic}} and {{cd|queueMusic}}, an error will now be thrown if ''fade'' is less than {{cd|0.0}}.
*** When calling {{cd|playSound}}, an error will now be thrown if ''pitch'' is less than {{cd|0.01}}.
*** When calling {{cd|playSound}}, an error will now be thrown if ''volume'' is less than {{cd|0.0}}.
*** When calling {{cd|playSound}}, an error will now be thrown if ''pitch'' is less than {{cd|0.01}}.
*** When calling {{cd|playSound}}, an error will now be thrown if ''volume'' is less than {{cd|0.0}}.
** Removed {{cd|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 {{cd|lifetimeState}} property.
** Added {{cd|read-only}} property {{cd|lifetimeState}} - Returns the lifetime state of the entity. Valid values include ''loaded'' and ''unloaded''.
** {{cd|ItemDefinitionTriggeredEvent}}
*** Renamed property item to {{cd|itemStack}}.
** {{cd|ItemStartUseOnEvent}}
*** Renamed property item to {{cd|itemStack}}.
*** Replaced function {{cd|getBlockLocation}} with {{cd|read-only}} property {{cd|blockLocation: Vector3}}.
*** Removed function {{cd|getBuildBlockLocation}}.
** {{cd|ItemStopUseOnEvent}}
*** Renamed property item to {{cd|itemStack}}.
*** Replaced function {{cd|getBlockLocation}} with {{cd|read-only}} property {{cd|blockLocation: Vector3}}.
** {{cd|ItemUseEvent}}
*** Renamed property item to {{cd|itemStack}}.
** {{cd|BlockHitInformation}}
*** Replaced properties {{cd|faceLocationX}} and {{cd|faceLocation}} with {{cd|read-only}} property {{cd|faceLocation: Vector2}}.

== Fixes ==
{{fixes|project=MCPE|fixedin=1.20.0.20 Preview
|;old
|19700|Wrong Elytra Texture in Item Frame and Hand
|35202|Fireball is not correctly positioned when shot by ghast
|39974|{{cd|lava_cauldron}} can be placed via commands
|64745|Iron bars and glass panes do not connect with any kind of pistons
|118898|Moon Lighting Originates From The Opposite Angle Relative To The Moon At Night Underwater
|125931|Dead bushes cannot be placed on grass block
|152485|Falling or flying through floating water sometimes doesn't reset fall damage
|153446|Cape when riding a boat changes its position (folds up) when you turn the camera
|156773|Weighted pressure plates always output signal strength 1 for 1/2 second before they output the correct signal strength
|159261|Loading animation is to big when adding friend
|159970|Command block menu missing command block texture (icon)
|161096|Sugar cane generates in water
|162455|"World upload failed" when I save and quit to the title screen
|163337|Hanging signs allow more characters than on Java
|163416|Bamboo fence gate are not flammable
|163475|Can't see camel dash bar on mobile
|163501|Camel neck appeared when it up and sniff the ground.
|163554|Hanging Sign Sounds are Very Quiet
|164246|Hanging nether and bamboo signs don't have new sounds
|164249|Arrows and tridents get stuck shaking when shot at Hanging Signs
|164632|Hanging signs placement is not like in Java
|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
|164719|The camel's head looks high up disturbing the player's eyesight
|166505|Camels has an error text in action hint
|166791|Black terracotta uses white terracotta map color
|167045|Player collision box incorrect after returning to main menu from death screen
|167163|When Suspicious Sand is dropped onto some blocks, it drops
|167176|Torchflowers placed by the player do not have a random location in the block
|167177|The hitbox of Torchflowers seeds is too big and not the same as in Java
|167200|Torchflower seeds cannot be composted
|167217|Using pick block function on torchflower crop gives torchflower seeds instead of the plant item
|167220|Bees are not tempted by or attempt to pollinate Torchflowers
|167226|Trying to break the block while brushing stops brushing
|167263|Brush's durability are used up incorrectly
|167264|Enchantments cannot be applied to the brush
|167975|Chickens and parrots are not tempted by torchflower seeds
|167977|Torchflowers cannot be used to craft suspicious stew
|168041|Placement of blocks on a Decorated pot is not the same as in Java
|168055|Block state autocomplete suggests states that were already typed
|168075|Cherry groves can generate regular flowers
|168280|Unable to place blocks on interactable blocks when sneaking
|168357|Potions and tipped arrow colors don't match the particles
|168387|Woodland mansion, wooden logs face the wrong way
|168548|Interaction with the armor stand depends on whether the player is sneaking or not, and not on pressing the shift button
|168817|Reloading the world causes signs and hanging signs to use incorrect texture in editing screen
|168829|Glitched tall grass block can generate inside or above pink petal flowers
|168836|Shelter Pottery Shard is missing a space in its name
|168921|Miner pottery shard cannot be obtained by brushing suspicious sand in desert pyramid
|169038|Woodland mansion entrance uses smooth stone slabs
|otherissuescount=22}}
; 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 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.
*Fix 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.</onlyinclude>

== References ==
{{reflist}}

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

[[Category:Bedrock Edition 1.20.0 betas]]
[[Category:Betas released in 2023]]

[[de:Bedrock Edition beta 1.20.0.20]]
[[es:Bedrock Edition beta 1.20.0.20]]
[[pt:Edição Bedrock Preview 1.20.0.20]]
[[uk:Preview 1.20.0.20 (Bedrock Edition)]]
[[zh:基岩版1.20.0.20]]
