Minecraft: Java Edition cover

Minecraft: Java Edition

Minecraft - 1.20.31 (Bedrock) Fixes:

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

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

Fixes:

  • Fixed a crash that could occur when playing in splitscreen multiplayer
  • Fixed a crash that could occur when opening the Realms Plus page
  • Fixed a crash that could occur on PlayStation when opening the control center or a controller notification appeared on screen
  • Improved server performance when Villagers are grouped together (MCPE-175100)
  • Fixed an issue that caused Marketplace to become inaccessible after leaving the game on for extended periods of time
  • Fixed issues with @minecraft/server-ui dependencies failing to load with newer versions of the @minecraft/server module

Minecraft: Java Edition - 1.20.2

This release also includes new features for map makers and pack creators like macro functions, a random command and pack overlays.

With 1.20.2, we are making some important updates to our Player Reporting Tool to better protect the online safety of our players. You will now be able to report player skins and usernames that violate our Community Standards.

The optional Villager Trade Rebalance Experiment also makes its debut in this version with changes to trades in the making that you can try out.

NEW FEATURES

PLAYER SKIN & NAME REPORTING

We are making some important updates to our Player Reporting Tool to better protect the online safety of our players.

Playing Minecraft should be an inclusive and safe experience for everyone, which is why alongside in-game chat messages, you will now be able to report player skins and usernames that violate our Community Standards in Java Edition.

Just like with chat reports, nothing is automated. Any reported skin or username will be reviewed manually by a team of trained Minecraft moderators, who will use the submitted evidence to decide whether the skin and/or username is in breach of our Community Standards. Skins that are in violation of these standards will be removed from Minecraft and will no longer be accessible for use by any player. Usernames that are in violation of these standards will need to be changed before that player can play online via a shared server or Realm; though single player mode will still be accessible. To find out more about this and other safety policies, including more detail on the suspension procedure, appeals process, and how we handle malicious or repeat reporting, please visit our dedicated FAQ page.

  • Player Skins and Names can now be reported in the Social Interactions Screen
  • If a skin or name is reported, and found to be violating the Community Standards, our team of human moderators can action in a few ways:
    • Ban the skin from being used by any player
    • Ban the name from being used by any player
    • Suspend the player from online play in the case of repeated offences
  • When a skin is banned, players with that skin:
    • Will have their skin removed
    • Will be notified when they launch the game
    • Will be automatically assigned one of the default skins
    • Can still play multiplayer and singleplayer
    • Can select a new custom skin at any time
  • When a player's name is banned, that player:
    • Will need to choose a new name
    • Will be notified when they launch the game
    • Will not be able to play online until they change their name
    • Can still play singleplayer
  • A skin or name that has been banned cannot be used by any player in the future

CHANGES

  • The calculations to determine whether a mob can attack a player or other mobs have been changed
  • Diamond Ore is now generated more frequently in the Deepslate layers of the Overworld
  • Optimizations to networked play
  • Curing a Zombie Villager now only gives a big discount the first time
    • There is no longer a bonus discount for reinfecting and curing the same Villager multiple times
  • Sponges and Wet Sponges now have their own custom sounds
  • Barrier blocks can now be waterlogged by players in Creative mode
    • Water cannot be placed in them or taken out by non-direct interactions such as Dispensers
  • The positions that all entities ride on other entities have been adjusted to make more sense
  • Added the "Narrator Hotkey" accessibility option (default on)
    • The narrator can be toggled on and off with Ctrl+B when this is on
  • Added "I want to report them" Player Reporting category
  • Removed Herobrine

MOB ATTACK REACH CHANGES

The calculations to determine whether a mob can attack a player or other mobs have been changed. Previously a mob's horizontal width was used to determine their attack reach and their height had no effect. The area where a mob can attack is now their bounding box extended in horizontal directions.

Here are some situations where the new rules will affect the reach of mobs:

  • If a mob is entirely below you, or entirely above you, it will not be able to reach you
  • While riding on a medium-sized mob, like a Horse, you will be protected from small mobs, like Baby Zombies
  • While riding on a tall mob, like a Camel, you will be protected from standard-size mobs, like Zombies
  • Also, Ravagers won't be able to attack you through a few block thick walls anymore
  • However, to escape from an Enderman, you need to be at least 3 blocks above the ground, not 1.5 as before
  • Mobs will be able to attack you with the bottom of their hitbox, assuming your head is in range
  • Builds that trap hostile mobs might need to be adjusted to be safe

This change does not affect the reach of players, and mobs still need to see their target to attack it.

NETWORKED PLAY

The Multiplayer mode of the game has been optimized to enable more fluid online play. If you have previously experienced disconnections or slow loading into online servers, this version may significantly improve that experience.

  • The game world will now show earlier instead of the loading screen while loading into a world on a server
  • Clients with extremely low-bandwidth connections will not time out while loading the world
  • Clients with low-bandwidth connections can interact with the world while some chunks are still loading

VIBRATIONS

  • Vibrations no longer risk being lost on simulation distance limit
  • Using Bone Meal emits an item_interact_finish vibration of frequency 3
  • Unequipping items emits a new unequip vibration of frequency 4
  • Camels eating Cactus emit an eat vibration of frequency 8
  • Carrots being eaten by Rabbits emit a block_change vibration of frequency 11
  • Sweet Berries being eaten by Foxes emit a block_change vibration of frequency 11
  • Chiseled Bookshelves emit a block_change vibration of frequency 11 when receiving books from Hoppers
  • Turtle Eggs cracking emit a block_change vibration of frequency 11
  • Turtle Eggs hatching emit a block_destroy vibration of frequency 12
  • Fire being doused by Water Potion emits a block_destroy vibration of frequency 12
  • Evokers evoking Vexes or Fangs emit an entity_place vibration of frequency 14

MISCELLANEOUS MINOR TWEAKS

  • Chorus Flower no longer provides support for hanging or standing blocks
  • Updated structure icons on Explorer Maps sold by Cartographers
  • When Villagers unlock new trades, the order of those trades in the UI is now always random instead of sometimes being deterministic
  • The sizes of text fields in the user interface are now consisent with the size of buttons

TECHNICAL CHANGES

  • The resource pack version is now 18
  • The data pack version is now 18
  • History of used commands is now saved and accessible across worlds
  • Optimized networking to improve the experience on low bandwidth connections
  • Added support for multi-version packs
  • Changed network protocol to allow for more data-driven content in the future
  • Added new log-ips option to server.properties
  • Added validation for symbolic links in datapacks and resource packs
  • When hitboxes are displayed through F3+B, entities that have a passenger will display the passenger's attachment point
  • The charts on the debug screen can now be toggled with F3+1 (pie chart) and F3+2 (FPS and TPS) instead of holding Shift or Alt while opening the screen
  • Pressing F3+3 will now show charts for ping and received network traffic on the debug screen
  • The LWJGL library has been upgraded to version 3.3.2
  • The default Java version shipped with the game has been upgraded to Microsoft OpenJDK 17.0.8

COMMAND HISTORY

  • The last 50 commands that you sent in chat will be remembered across game sessions
  • You can access the command and chat history by pressing up or down arrows in the chat
  • Regular chat is only persisted within the same game session (leaving a server or world clears them)
  • Recent commands are stored in command_history.txt in the game folder

NETWORK OPTIMIZATIONS

  • Gameplay packets are now packed into bigger TCP packets to reduce overhead from TCP headers, significantly reducing network usage
  • Chunks are not sent over the network to the client in one big continuous batch anymore
  • Chunks are instead sent in smaller batches depending on the available bandwidth, meaning that:
    • Clients with extremely low-bandwidth connections will not time out while loading the world
    • Clients with low-bandwidth connections can interact with the world while some chunks are still loading
  • Only chunks within the client's render distance are now sent

MULTI-VERSION PACKS

New features have been added to datapacks and resource packs to allow creation of packs that are compatible with multiple versions of game.

PACK METADATA

  • Pack metadata now includes an optional field supported_formats which describes a range for pack formats that this pack supports
    • Examples: 16, [16,17], {"min_inclusive": 16, "max_inclusive": 17}
  • pack_format field is still required and its format remains unchanged, to allow older game versions to read pack data
    • If supported_formats is present, it must contain the value declared in pack_format
    • Note: since this new information is ignored by older versions of the game, they will always see a "normal", single-version pack, without any extended compatibility

OVERLAYS

  • Packs can now contain overlay directories ("overlays")
  • Overlays are sub-packs applied over the "normal" contents of a pack
    • These directories have the same layout as the top-level pack, including the assets and data directories
    • Overlays can be applied if they support the client's pack format
    • Overlays can add and replace files, but not remove them
      • For example, if the overlay foo is applied, the file foo/assets/minecraft/textures/bar.png will replace the contents of assets/minecraft/textures/bar.png
    • pack.mcmeta and pack.png are ignored in overlay directories
  • New section called overlays have been added to pack metadata
    • It contains an entries field, containing a list of overlays
    • Every overlay entry has two fields:
      • formats - range of supported formats
      • directory - overlay directory (allowed characters: a-z, 0-9, _ and -)
  • Order of application: overlays are stacked from the bottom to top of the list
    • For example, if a pack has two overlays: "entries": [{"directory":"A", ...}, {"directory":"B", ...}], the game will first look in B, then A and then in the top pack directory

SYMBOLIC LINK VALIDATION

To improve safety, the game will now also detect symbolic links used inside data- and resource packs.

  • This feature expands on symbolic link validation in worlds added in the previous release
  • The game will now warn users if a pack added via drag and drop contains disallowed symbolic links
  • Packs containing disallowed symbolic links will not be visible in UI and commands
  • Additionally, directories and files that are not recognized as packs will no longer be copied via drag and drop
  • For a detailed explanation, see this help article

NETWORK PROTOCOL

As part of ongoing work towards more data-driven features, the network protocol has been changed to include a new configuration phase.

  • Configuration phase automatically starts after login phase (i.e. after client account has been verified) and lasts until the player joins the world (play phase)
  • Clients can stay in configuration phase indefinitely - it's up to the server to release it to the world
  • Servers can also request clients to re-enter the configuration phase after it has entered the play phase
    • Other players will see such clients as disconnected
  • Users in configuration phase will not be visible on the player list
  • Actions allowed in configuration phase (moved from play phase):
    • Configuration of data-driven registries
    • Configuration of enabled features
  • Actions shared between configuration and play phases:
    • Application of server resource packs
    • Update of tags
    • Exchange of custom packets
    • Ping and keep-alive packets
    • Sending of client options
  • The server will now negotiate resource packs in the configuration phase
    • This means that the player will no longer be in the world when answering prompts and reloading resources

SECURE CHAT

  • Clients will no longer disconnect themselves when receiving an invalid chat message
    • A placeholder message will instead be shown in chat

SERVER.PROPERTIES

  • New option: log-ips (default true)
    • When set to false, will prevent player IPs from being included in the log when players join the game

TELEMETRY

  • Added a button to the Telemetry Data Collection Screen that links to the Microsoft Privacy Statement

RESOURCE PACK VERSION 16

  • The process of upgrading your pack can be assisted by using this automated Slicer tool
  • All textures containing multiple sprites in a sheet for GUI have been split into individual sprites under textures/gui/sprites (automated by the Slicer tool)
  • All textures in the realms namespace have been moved into the minecraft namespace (automated by the Slicer tool)
  • villager2.png has been renamed to villager.png (automated by the Slicer tool)
  • icon/trial_available and realm_status/expires_soon GUI sprites are animated with .mcmeta declarations instead of individual sprites (automated by the Slicer tool)
  • The Bundle tooltip background is now drawn as a nine-sliced sprite
  • The icons for the Accessibility, Language, Realms News buttons have been split from their underlying button texture
  • The Realms Invite button is now drawn as an overlay on the normal button texture
    • The highlighted texture state for this button has been removed
  • The highlighted states for Realms invitation number icons have been removed
  • The exclamation marks on the notification\more.png have been removed

GUI SPRITE SHEET

  • Sprites used in GUI drawing have been split into individual sprite files instead of larger sprite sheets
    • For example, widgets/button.png and widgets/button_highlighted.png have been split from widgets.png
  • Each sprite can now be individually overriden by a resource pack instead of replacing the entire sheet
  • Sprites are loaded into the gui atlas from the textures/gui/sprites directory

GUI SPRITE .MCMETA

  • Any sprite used in the GUI can now be animated using .mcmeta files, similar to other atlases
    • icon/trial_available and realm_status/expires_soon are now animated this way
  • Sprites in the gui atlas can now configure scaling behavior through a new gui section in .mcmeta files
    • For example, button textures must be scaled based on how big the button should be
    • The gui section in .mcmeta contains one scaling field:
      • type: one of: stretch (default), tile, or nine_slice
      • When stretch, the sprite will be stretched across the desired space
        • No additional fields need to be defined
      • When tile, the sprite will be repeated across the desired space, starting from the top-left
        • width: number of pixels for this sprite to cover on-screen across its width
        • height: number of pixels for this sprite to cover on-screen across its height
      • When nine_slice, the sprite will be sliced into 4 corners, 4 edges, and 1 center slice, which will be tiled across the desired space
        • width: number of pixels for this sprite to cover on-screen across its width
        • height: number of pixels for this sprite to cover on-screen across its height
        • border: the size in pixels that the border slices should cover on-screen, one of:
          • Constant integer for uniform border size on all sides
          • Object containing left, top, right, and bottom

RESOURCE PACK VERSION 17

  • The text field background is now a nine-sliced sprite at widget/text_field and widget/text_field_highlighted
  • The scroll bar in lists and text fields is now a nine-sliced sprite at widget/scroller

RESOURCE PACK VERSION 18

  • The map_icons.png texture now contains new icons

DATA PACK VERSION 16

  • Gamerule randomTickSpeed now affects the rate of accumulation of Snow and Ice the same way it affects crops and other blocks affected by random ticking
  • Added a random command
  • Added support for function macros
  • Changed Display entities' post-teleport interpolation
  • Added new attribute generic.max_absorption
  • Renamed belowName value in display slot argument in scoreboard command to below_name
  • Game event changes
  • New tags

COMMANDS

RANDOM

A new command for randomizing values and controlling random sequences. The value and roll forms can be used to draw a random value. In the case of roll, the resulting value is also shown in chat for all players.

Syntax:

random value|roll <range> [<sequenceId>] random reset *|<sequenceId> [<seed>] [<includeWorldSeed>] [<includeSequenceId>]

Parameters:

  • range: A range of values to randomize between, inclusively
    • For instance, 1..6 is a regular D6 roll
  • sequenceId: The name of a random sequence to sample or reset
  • seed: A seed to use for the random sequence after reset
  • includeWorldSeed: A boolean [default: true] specifying whether to include the world seed when seeding the sequence
    • false means the sequence will evaluate to the same regardless of which world the command is run in
  • includeSequenceId: A boolean [default: true] specifying whether to include the sequence ID when seeding the sequence
    • false means all sequences will evaluate to the same regardless of which name they have

By default, all sequences are seeded as 0, true, true. Using * instead of a sequence ID resets all sequences and sets the default parameters.

If no seed is specified, the sequence resets to the default parameters.

Note that random value|roll <range> used without a sequence id is available to non-operator players.

FUNCTIONS

  • A single backslash \ as the last non-whitespace character of a line now allows a command to be continued on the next line
    • Leading and trailing whitespace of the following line are stripped before appending

MACROS

Functions can now contain macro lines, making them Function Macros.

  • Any line beginning with $ (as the first non-space character) marks a macro line
  • A macro line also contains one or more substitutions in the form of $(variable)
  • When calling a function macro a compound with data for all argument variables must be provided
Calling Function Macros

The function command has new forms:

function <id> <compound>function <id> with <data source> [<path>]

New Arguments:

  • compound: A data compound, enclosed in {}
  • data source: A data source specification, like what could already be used for data get
  • path: An NBT path specification

Notes:

  • The data source and path must specify a compound data entry
  • The compound must contain one entry for each variable used in the macro
  • More data may be present in the compound and if so is ignored
  • Calling a non-macro function with a data compound is silently ignored
  • When a macro is called, the values provided are substituted in place of the variable specifications and the resulting commands are executed
  • Any syntax errors in the lines resulting from variable substitution result in the entire function call being skipped
Performance Considerations

Using a macro means commands must be re-evaulated after variable substitution. This has an extra cost compared to running pre-parsed functions.

Regular commands (non-macro lines) are still pre-parsed. Only commands with variable substitutions in them are parsed when a macro is called and the game will attempt to cache the result of a certain parameter set being used in a call.

This makes repeated calls with the same parameter set cheaper than new calls with different parameters, but an overhead still remains compared to regular functions. Note that only the values references by macro as parameters are included in this cache, so any extra data in the provided compound is ignored.

DISPLAY ENTITY INTERPOLATION

  • Display entities now start updating their client-side position and rotation on the first tick after an update
    • In previous versions, updates were applied in the same tick, causing uneven motion
    • The new behavior is similar to Armor Stands, mobs and players
  • On the server, position and rotation are still updated immediately
  • The duration of this interpolation is controlled by the field teleport_duration
    • 0 means that updates are applied immediately
    • 1 means that the Display Entity will move from current position to the updated one over one tick
    • Higher values spread the movement over multiple ticks
    • Please note that this value is clamped to avoid glitches due to periodic position updates
    • The new value will apply only to position and rotation changes made after it changed
      • That means any current movement will continue unchanged
  • Note: behavior while riding remains unchanged from previous versions

ATTRIBUTES

  • Added new attribute generic.max_absorption
    • generic.max_absorption acts similar to generic.max_health, but instead of being the upper bound for Health, it is the upper bound for AbsorptionAmount
    • The mob effect absorption increases generic.max_absorption as well as fills the AbsorptionAmount to the max when applied

GAME EVENTS

  • entity_roar and entity_shake game events have been removed and replaced with entity_action game event

TAGS

  • Added no_knockback damage type tag which causes knockback to not be caused by the damage itself
    • Used in Vanilla for damage that is caused by events, such as explosions, which apply knockback separately
  • Added non_controlling_rider to represent entities that don't override their vehicles movement control
  • Added concrete_powder block tag for Concrete Powder blocks
  • Added camel_sand_step_sound_blocks block tag for blocks that produce entity.camel.step_sand sound

DATA PACK VERSION 17

  • Changed mob effect storage on items, entities and block entities
  • Added decal field to armor trim patterns (default: false)
    • If true, the pattern texture will be masked based on the underlying armor

MOB EFFECT STORAGE CHANGES

  • The game no longer uses numeric values when storing mob effects to a world (so, for example, 4 becomes minecraft:mining_fatigue)
  • Various mob effect fields have been renamed for consistency with new structures

MOB EFFECT INSTANCE

This structure is used in many places, so its changes are described separately.

  • Id -> id, also changed from number to string id
  • Ambient -> ambient
  • Amplifier -> amplifier
  • Duration -> duration
  • ShowParticles -> show_particles
  • ShowIcon -> show_icon
  • HiddenEffect -> hidden_effect, also since it's mob effect instance, changes apply recursively
  • FactorCalculationData -> factor_calculation_data

ITEMS

potion, lingering_potion, splash_potion, tipped_arrow
  • CustomPotionEffects -> custom_potion_effects, contents tranformed as a list of mob effect instances
suspicous_stew
  • Effects -> effects, for each entry:
    • EffectId -> id, also changed from number to string id
    • EffectDuration -> duration

ENTITIES

mooshroom
  • Removed EffectId and EffectDuration
  • Added stew_effects with the same format as suspicious_stew.effects tag (i.e. list of effect id and duration)
area_effect_cloud
  • Effects -> effects, contents tranformed as a list of mob effect instances
arrow
  • CustomPotionEffects -> custom_potion_effects, contents tranformed as a list of mob effect instances
Players, Armor Stands and mobs
  • ActiveEffects -> active_effects, contents tranformed as a list of mob effect instances

BLOCK ENTITIES

beacon

  • Primary -> primary_effect, also changed from number to string id
  • Secondary -> secondary_effect, also changed from number to string id

LOOT TABLES

  • Added sequence loot function
    • Contains 1 field:
      • functions: an array of sub-functions to run in sequence
    • Can also be declared as an inline array without a type
      • This matches the existing behavior where loot function JSON files can be declared as an array of composite functions
  • all_of predicates in loot tables can now be declared implicitly as an inline array without a type
    • This similarly matches the existing behavior where loot predicate JSON files can be declared as an array of sub-predicates
  • Block or fluid state property matchers in loot conditions no longer accept non-string values
    • Any number or boolean value in a property matcher must be quoted

DATA PACK VERSION 18

This data pack version removes the execute if function and return run functionality that existed for a time during the development of this version. Flaws with those commands (see bugs MC-264595, MC-264699 and MC-264710) require some substantial changes to fix, which we do not want to make close to a release.

These commands will instead be reintroduced early in the next snapshot series when we can take the time to iterate on and test them together with pack makers.

  • Removed execute if|unless function command form
  • Removed return run command form
  • Numbers used as macro arguments are now always inserted without suffixes, regardless of numeric type
  • Added game rule enderPearlsVanishOnDeath, controlling whether thrown Ender Pearls vanish when the player that threw them dies (default true, which matches the existing behavior in previous versions)
  • Added damage type tag always_kills_armor_stands for damage types that should always fully kill an Armor Stand

EXPERIMENTAL FEATURES

VILLAGER TRADE REBALANCE

The Experiments screen when creating a world now has an option to enable the Villager Trade Rebalance. When this option is selected, some Villager trades will change.

This experiment has no effect on normal worlds. You can find more information about Feature Toggles here.

LIBRARIAN CHANGES

  • Librarians from different biomes now sell different Enchanted Books
  • Each village biome has one special enchantment that is only available from Master Librarians with full XP
  • This means that players must visit all seven village biomes to get the full set of villager enchantments
  • There are two secret village biomes where villages do not generate
    • A player must build these villages to access their trades!
  • Some enchantments have been removed from village trading and must be found in other ways

CARTOGRAPHER CHANGES

  • Cartographers can now sell seven new Explorer Maps
    • Five new maps show the way to five different types of village
    • The other two new maps show the way to a Swamp Hut and a Jungle Temple
  • Cartographers from different biomes now sell a different range of maps

WANDERING TRADER CHANGES

  • Wandering Traders now have lower prices and have a higher amount of each item in stock
  • Wandering Traders now sell Logs
  • Wandering Traders can now buy many items, instead of only selling

ARMORER CHANGES

  • Armorer from different biomes now sell different Armor with different enchantments
  • Buying Diamond Armor now requires a small amount of Diamonds as well as Emeralds
  • Many other Armorer trades have been updated

STRUCTURE LOOT

Certain Enchanted Books now have a high chance of generating in some structures:

  • Ancient Cities: Mending
  • Mineshafts: Efficiency (I to V)
  • Pillager Outposts: Quick Charge (I to III)
  • Desert Temples: Unbreaking (I to III)
  • Jungle Temples: Unbreaking (I to III)

FIXED BUGS IN 1.20.2

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

GET THE RELEASE

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

Cross-platform server jar:

Report bugs here:

Want to give feedback?

Minecraft - 1.20.30 (Bedrock) New FeaturesVanilla ParityExperimental FeaturesFixes and ChangesTechnical UpdatesExperimental Technical FeaturesBlock Destroy Time Changes - Full ListRemaining Parity Breaks

A new update has been released, bringing several changes to the game! Here are the highlights:

  • Updated “You died” experience
  • Players can now crawl under single block gaps
  • A new "Recipe Unlocked" notification will now tell you when you've found a new crafting material
  • Increased the amount of Diamond Ore found in the deepest parts of the world
  • Adjustments to block destroy times and explosion resistance values
  • Fixes to over 100 community reported issues

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

New Features

Updated “You Died” Experience

Today we’re making some changes to the screen you see when you die in Minecraft. The camera now zooms out so it’s easier to see why you died, the hotbar is visible at all times, and you can change certain settings before respawning.

These changes are available to everyone, except if you have add-ons applied. Also, the screen has limited text formatting code support, so it might look a bit different. To use the old screen, go to Settings -> Video, and turn off ‘New “You Died” Screen (Experimental)’.

We’d love to hear what you think about this change! Please share your feedback with us here.

Crawling

  • The Crawling experimental toggle has been removed and Crawling under 1 block gaps is now fully implemented into the game
  • Updated the camera interpolation rate when crawling to match Java Edition (MCPE-170841)
  • Fixed some scenarios where crawling was not correctly being triggered on the server (MCPE-171225)

Recipe Unlocking

  • Recipe Unlocking is no longer an Experimental Feature, but can still be turned on and off per world
  • You can now enable Recipe Unlocking on the Create New World screen (MCPE-172956)
  • The command for unlocking recipes has been updated. The autosuggestion to give a player a recipe now says "player: target" instead of "victim: target" (MCPE-172402)
  • ‘Recipe unlocked’ message is no longer visible on the pause menu (MCPE-171112)
  • Stained Glass Pane recipe now gets unlocked when obtaining any dyes (MCPE-171118)
  • Recipes unlocked notification now fit text in different languages and no longer bleed out of the screen (MCPE-171141)
  • Command line auto-complete has been added for recipe unlocking. Useful when you want to see what recipes you can unlock (MCPE-171086)
  • The order of command inputs was changed to be the same as on Java Edition (MCPE-171098)
  • Recipe Unlocking Game Rule
    • Added an optional game rule for limited crafting. The game rule is only relevant when recipe unlocking is enabled. When set to "true" it prevents players from crafting recipes they have not yet unlocked. It is off by default and can only be modified through the "/gamerule" command.

Recipe Book Search

  • The recipe book search has been updated when playing in Survival mode with the following changes:
    • The search will only match the beginning of any word in the item's name. For example, searching for "tor" will now show Torch and Redstone Torch but not Daylight Detector)
    • Search will now work better together with the Recipe Unlocking system - recipes that haven't been unlocked will show up in search results.
  • This change will enable experienced players to find items they are looking for (even if it hasn't been unlocked yet) while not overwhelming new players with recipes they aren't yet ready for.
  • These changes are planned for both Bedrock and Java Edition, but they are still being tweaked and we definitely want to hear your feedback! Send us your thoughts at aka.ms/MinecraftRecipeSearch

Sleeping Percentage Gamerule

  • Added the ‘playersleepingpercentage’ gamerule, allowing night to be skipped when the specified percent of players logged into a world are sleeping (MCPE-114425)
    • A zero or a negative value will only require one player to sleep to skip the night
    • When set to over 100, the night cannot be skipped

Vanilla Parity

Block Breaking

  • We have adjusted the breaking times of 188 blocks to match Java Edition and our intended design. Some blocks couldn't be changed yet for technical reasons and Obsidian was left unchanged because we're still deciding what breaking speed it should have. Bringing more blocks to parity makes it easier for our team to keep both versions up to date. We also hope it will be easier for the community to make and share guides that work for all players on all platforms.
    • The full list of block breaking times and changes can be found at the very end of this changelog

Gameplay

  • Wandering Trader now trades Cherry Saplings (MCPE-171521)
  • Villagers are now prevented from gaining a profession when sleeping (MCPE-81790)
  • Fixed an issue where beginning to swim while hitting the sneak button could cause the sneak button to be held down until swimming ends (MCPE-130070)
  • Potions are no longer thrown backwards when looking up (MCPE-138995)
  • Formation of ice and snow is now controlled by random tick
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)
  • Pillager Outposts can now generate in Cherry Grove biomes (MCPE-173323)
  • Fixed a bug that caused the Raid boss bar to automatically deplete to zero when a village was defeated (MCPE-161438)
  • Witches now throw healing and regeneration potions at raiders during village raids

Blocks

  • Fixed a bug that caused players to not be able to crawl under Slabs when standing on Top Snow (MCPE-170994)
  • Top Snow is now in parity with Java Edition and each layer has a different height (MCPE-60024)
  • Tweaked Shulker Box Redstone signals to match parity with Java Edition
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)

Audio

  • Missing Thorns damage sound has been added, and is played when appropriate (MCPE-37335)
  • Anvils now emit the proper sounds when broken, stepped on, fallen onto, etc. (MCPE-33286)
  • Skeletons and Drowned now play sounds when firing Arrows and Tridents, respectively (MCPE-50609)
  • Trident Channeling sound is now played when entities are hit (MCPE-43402)
  • Empty Maps now emit the appropriate sound when players draw them
  • Nether Portals now emit the Glass breaking sound when their Obsidian frame is broken (MCPE-94722)
  • Loyalty Tridents returning to players now play their sound at the player's position (MCPE-43831)
  • Big Dripleaf Blocks now play the correct sound when their tilt is reset (MCPE-123488)
  • Conduits now play their deactivation sound when deactivated (MCPE-128117)
  • Respawn Anchor Blocks now correctly play their ambient sounds (MCPE-136484)
  • Pigs now emit sounds when transformed into Zombified Piglins (MCPE-169557)
  • Using Shears to carve Pumpkins now produces a carving sound like in Java Edition
  • Hoglins now have their own sound when transforming into Zoglins (MCPE-87379)
  • Sound is now consistently played when an item is dropped into Lava (MCPE-96015)
  • Sound is no longer played sometimes when Netherite items are dropped into Lava (MCPE-95872)
  • Snow Golems now play a sound when they throw Snowballs (MCPE-119083)
  • Husks now play sounds when converting to Zombies underwater
  • Player entities now play the appropriate sounds when entering/exiting water (MCPE-132511)

Experimental Features

Experimental Trade Changes

  • This update includes experimental changes to the Wandering Trader and Librarian Villager trades. You must turn on this experiment in the Experiments Menu if you want to test the new trades.
  • We are trying out these changes to rebalance the villager trade system and make it more fair and fun for everyone. However, these changes are not yet final, and they will stay as experimental features while we continue to work on them. We still need your feedback to help us improve and decide, so please continue to let us know what you think of the new trades, what you like and dislike, and what suggestions you have at aka.ms/VillagerTradingFeedback.

Librarian

  • Before these changes, players could get any Village enchantment from any Librarian. A novice Librarian could sell the best enchantment in the game! For some players, this felt too random and made trading feel overpowered when compared to using the Enchanting Table or searching for Enchanted Books in structures.
  • With the new rules, Librarians from different biomes sell different enchantments. Master Librarians are guaranteed to have a special enchantment which is different in each Village biome.
  • Players will have to work towards getting the best trades instead of relying on random chance. We hope this makes Librarian trading more interesting and skilful, while also revealing some clues about their history of each Village type through the enchantments that are sold there.
  • Librarians from different biomes now sell different Enchanted Books
  • Master Librarians with full XP are guaranteed to sell a special enchantment, which is different in each Village biome
  • This means that players must visit all seven Village biomes to get the full set of Villager enchantments
  • There are two secret Village biomes where Villages do not generate
    • A player must build these Villages to access their trades!
  • Some enchantments have been removed from Village trading and must be found in other ways

Wandering Trader

  • Some players felt that the Wandering Trader had unfair prices and didn't sell many useful items. We have lowered their prices, added more trades, and increased the amounts available. The Wandering Trader will also now buy useful items from players, so it's possible to help them on their journey by giving them supplies even if you don't feel like buying anything.
  • As this is an experiment, we would really appreciate your feedback as work continues and to help us decide on the future direction for Villager trades!
  • Wandering Traders now have lower prices and have a higher amount of each item in stock
  • Wandering Traders now sell Logs
  • Wandering Traders can now buy many items, instead of only selling

Fixes and Changes

Diamond Ore Distribution

  • Increased the amount of Diamond Ore found in the deepest parts of the world. Our goal is to make it more rewarding to mine for Diamonds in the Deepslate layers

Performance and Stability

  • Fixed a crash when entering a world with a corrupted saved chunk (MCPE-164634)
  • Fixed a crash that could occur when the game lost focus while entering a world
  • Addressed ‘Out of Storage’ errors and texture corruption on Xbox in large worlds (MCPE-163050)
  • Fixed missing low disk space warning on Xbox
  • Fixed an issue with Local Network games not connecting in certain circumstances on Nintendo Switch
  • Fixed server becoming unresponsive when players were surrounded by Ghasts stuck in lava columns (MCPE-119093)
  • Placing one item of an item stack into a full stack of the same item no longer causes the game to crash
  • The game no longer crashes due to running out of rendering resources while entering a world through the End Portal back to the Overworld (MCPE-139021)
  • Fixed worlds downloaded from Realms not loading packs correctly

Gameplay

  • Improved mouse input to be more responsive when used on Xbox (MCPE-163671)
  • Breath meter now refills when swimming with head above water (MCPE-170969)
  • The third-person camera will no longer clip through terrain when near Water or Lava
  • Fixed Creative Mode players not being ignited when standing in fire
  • The player no longer gets forced into sneak or crawl in Spectator Mode (MCPE-170907)
  • The player now gets forced out of sneak/crawl when riding (MCPE-170870)
  • The player no longer gets forced into sneak or crawl during the Riptide animation
  • Entering flight mode in Creative Mode will now correctly cancel Elytra gliding (MCPE-171797)
  • Projectiles now sink into Top Snow just like mobs do
  • Third-person camera now passes through Glass, Glass Panes, and Iron Bars (MCPE-85429)
  • Third person camera no longer clips through Snow, Mud, and Soul Sand, preventing x-ray exploits (MCPE-168854)
  • Players will no longer enter End Portals when sleeping in a bed immediately below the portals (MCPE-165062)
  • The discount for curing a Zombie Villager no longer increases when the same Villager is reinfected and cured multiple times
  • Players can now toggle flying when crawling or sneaking in Creative Mode
  • Crouch-jumping while aiming forward and holding down the build button will no longer continue to build blocks upwards past where the player is aiming

Mobs

  • Wild Horses, Mules, and Donkeys can now be tempted using a Golden Apple/Carrot or Enchanted Apple. Llamas will be tempted by a player holding a Hay Bale (MCPE-140814)
  • Zombie Villagers now show correct professions when infected (MCPE-80924)
  • Villagers killed by players no longer drop items held in their hands
  • Camels now play the same stepping sound when walking on Red Sand, Suspicious Sand, and Concrete Powder Blocks as they do when walking on regular Sand (MCPE-163497)
  • Mobs can hold and pick up Illager Banner only in their main hand now (MCPE-151745)
  • Dolphins, Camels, and Sniffers can now have Balloons attached
  • The following mobs will now set their target on fire if the mob is on fire when attacking: Drowned, Husk, Zombie, and Zombified Villager (MCPE-77746)
  • Fixed an issue with Parrots facing a different position than the player when the player is in a Boat

Blocks

  • Falling blocks will now break when falling onto a Boat
  • Campfires within Trail Ruins are no longer lit by default (MCPE-170033)
  • Pink Petals can now be fertilized by Dispensers (MCPE-171560)
  • Shulker Boxes mined without a Pickaxe no longer take a long time to mine
  • Falling blocks now break and drop their item when falling on a Cocoa Bean
  • Calibrated Sculk Sensor's amethyst crystal now lights up alongside the rest of the block during its active phase (MCPE-168813) (MCPE-169953)
  • Hanging Signs placed with commands now have the proper hitbox (MCPE-163456)
  • "stained_hardened_clay" block is now split into unique instances, namely "white_terracotta", "orange_terracotta", "magenta_terracotta", "light_blue_terracotta", "yellow_terracotta", "lime_terracotta", "pink_terracotta", "gray_terracotta", "light_gray_terracotta", "cyan_terracotta", "purple_terracotta", "blue_terracotta", "brown_terracotta", "green_terracotta", "red_terracotta", and "black_terracotta"
    • Commands will still work with "stained_hardened_clay", but "stained_hardened_clay" won't be suggested in the command prompt, rather the new names will
  • Third person camera no longer phases through the lower part of the Composter (MCPE-171213)

Items

  • Suspicious Stew no longer shows up in the Creative inventory (a recent unintended change caused it to appear there)
  • It is once again possible to use Bone Meal underwater on Sand, Dirt, Gravel, and Clay (MCPE-171383)
  • Fixed held Maps not being centered when playing on narrow aspect ratio screens
  • The correct broken state of the Elytra is rendered in Item Frames (MCPE-19700)
  • Stonecutter no longer drops as an item when using the wrong tool (MCPE-33950)
  • Pickaxe can now quickly mine Pistons and Sticky Pistons (MCPE-62797)
  • Powering and unpowering a Redstone Repeater or Comparator no longer disrupts water flow (MCPE-157055)
  • Crossbow loses durability when shooting, not when drawn (MCPE-46490)

Sculk Vibrations

  • Sculk Sensors and Sculk Shriekers no longer risk losing vibrations when receiving them around the simulation distance limit
  • Vibrations are no longer produced when stopping the use of items while sneaking (MCPE-171254)
  • Wardens now detect items hitting the ground (MCPE-160889)
  • Sculk Sensors now send a signal to Sculk Shriekers when detecting items hitting the ground (MCPE-161165)
  • Throwing an Eye of Ender now emits vibrations
  • Minecarts now consistently emit vibrations when moving on Rails while empty
  • Collecting Fish, Axolotls, and Tadpoles with Buckets now emits vibrations
  • Cleaning items in Cauldrons now emits vibrations
  • Dying Leather Armor in Cauldrons now emits vibrations
  • Tipping Arrows in Cauldrons now emits vibrations
  • Using Dyes to change Cauldrons' water color now emits vibrations
  • Non-player actors now emit a vibration event when equipping Shields in their off-hand slot
  • Collecting Fish, Axolotl, and Tadpoles with Buckets now emits vibrations at the right position
  • Applying a Nametag now emits vibrations
  • Evokers summoning Vexes or Fangs now emit vibrations
  • Chickens laying eggs now emit vibrations
  • Turtles and Frogs laying eggs now emit vibrations
  • Using Bone Meal now emits vibrations
  • Sculk Sensors and Sculk Shriekers no longer activate repeatedly when a projectile is stuck in them (MCPE-172704)
  • Chiseled Bookshelves now emit vibrations when Books are inserted into them using Hoppers (MCPE-168887)
  • Extinguishing fire now emits vibrations
  • Mounting or dismounting a vehicle now emits vibrations
  • Rabbits eating Carrot crops now emit vibrations
  • Foxes eating Sweet Berry Bushes now emit vibrations
  • Unequipping armor now emits vibrations at a different frequency than equipping it
  • Placing a Banner now emits vibrations
  • Placing a Bamboo Sapling now emits vibrations
  • Placing a Mob Head now emits vibrations
  • Placing a Lily Pad now emits vibrations
  • Placing Frogspawn now emits vibrations
  • Placing or adding Sea Pickles now emits vibrations
  • Adding a Turtle Egg to already placed ones now emits vibrations of the same frequency as placing a block
  • Destroying a Turtle Egg now always emits vibrations of the same frequency as destroying a block, regardless of how many Turtle Eggs are left
  • Turtle Eggs cracking now emit vibrations

Realms

  • Fixed an issue which prevented some worlds from being downloaded from Realms on PlayStation 4
  • Fixed a bug where repeatedly pressing 'Esc' in Realms settings could remove UI or turn the screen black (REALMS-11388)

Accessibility

  • Fixed an issue where screen narration would read Recipe Book folder items as the first item in the folder
  • Screen narration now informs the user immediately after they change sliders and toggles
  • Screen narration will now read the disconnected message in the game menu when opened without an internet connection
  • Screen narrator will now read out the instruction text as well as the confirm button in the Safe Area menu

Touch Controls

  • Updated menu HUD icons for touch controls
  • Fixed an issue where the sneak input while flying would not work correctly with interactable blocks (MCPE-167043)
  • The functionality of long-pressing a crafting output slot on touch input has been returned to rapidly crafting single instances of the item in the output slot (MCPE-169728)
  • The rate of item crafting when long-pressing a crafting output slot has been slowed to 4 items per second and the time needed to long-press before starting the rapid crafting functionality has been reduced to 700 ms

User Interface

  • Nametags are no longer completely invisible while sneaking with the player still visible (MCPE-168789)
  • Pick Blocking a Decorated Pot will now produce the correct hover hint in the inventory (MCPE-171800)
  • Moved "Sync Old Worlds" button to the Settings/Storage screen
  • Changed Joystick Visibility option to a dropdown menu
  • Changed Sneak option to a dropdown menu
  • Added alerts for iOS players who have run out of disk space
  • Fixed UI flickering on Nintendo Switch
  • Banners' icons in hotbar and inventory are now properly displayed on Nintendo Switch (MCPE-169928)
  • The Lapis Lazuli icon in the Enchantment Table now matches the one in the Smithing Table screen
  • Large enchant labels in the Enchantment Table screen are no longer blocked by overlayed items in the inventory (MCPE-154428)
  • Fixed various pixel scaling issues on the HUD screen
  • Added three new user-friendly disconnection error messages and improved two others
  • iOS only: Fixed a bug in multiline text edits where some text was sometimes deleted when typing after repositioning the caret with spacebar (MCPE-166152)
  • Changed button text from "Manage" to "Cancel" in Options > Subscriptions
  • Fixed layering issue causing the underground vignette effect to draw on top of the hotbar (MCPE-159217)
  • Adding a button on the new death screen to allow player to go to the game menu to change settings, leave the world, and more
  • Fixed localization of 'Detected lost connection' connection is lost from other player or server (MCPE-173028)
  • Fixed textbox text sometimes not updating correctly when holding backspace on Android devices (MCPE-169840)
  • Fixed 'Full Keyboard Gameplay' support on iOS and Android
  • Fixed an issue where names with parentheses in them did not display on the inventory/crafting menus in their title (MCPE-161134)
  • Switching between Book and Quill pages with the gamepad now produces a sound (MCPE-162253)
  • Added a button to empty the search bar with one click
  • Pressing Return on the virtual keyboard no longer deletes text after cursor on Xbox (MCPE-172835)
  • Background now darkens while the Smithing Table UI is open and Pocket UI is enabled
  • Fixed ZL/ZR icons for Joy-Con and Switch Pro controller on Android
  • The caret can be re-positioned in text field by taps or mouse clicks (MCPE-131572)
  • The “Pause menu” has been renamed to “Game menu” in the user interface
  • Fixed layering issue causing the underground vignette effect to draw on top of all other HUD elements (MCPE-159217)

Audio

  • Strays now play the proper sound when firing bows (MCPE-172385)
  • Equipment sound is now played when switching between otherwise identical armor pieces, which may have differing enchantments and/or trims applied (MCPE-171527)
  • The Trails and Tales music tracks now play in the game menu (MCPE-171489)
  • Shields now play a sound when equipped in the off-hand slot (MCPE-168039)

Graphical

  • Added Vertical Sync toggle to Video menu (MCPE-98861)
  • Added a new experimental toggle to Video menu for players on Windows which reduces input latency; enabling this setting will increase battery consumption
  • The horizon no longer changes color when the player is standing under blocks (MCPE-85888)
  • Fixed a problem where blocks' rendering was not updating unless the player jumped (MCPE-173706)
  • Cherry Leaf blocks will now generate particle effects at a relatively large distance based on system performance
  • Transparent blocks viewed through an End Portal will no longer be visible nor flicker (MCPE-162061)
  • Fixed bottom face of portal effect so its color and transparency match the other faces
  • Fixed screen fade when sleeping in a Bed to no longer go fully opaque (MCPE-171461)
  • Name Tag rendering logic is now based on camera position rather than player position
  • The underwater fog in Cherry Groves now uses a transition that increases visibility after a while (MCPE-171822)

Marketplace

  • Players will now have a way to send a one-way message to Marketplace creators offering feedback on purchased items. This feedback could be used to improve future content and changes

Minimum Supported Mobile Hardware

As Minecraft grows, so must the operating system and hardware that supports it. For some older Apple devices, you may need to update to iOS 13 or above by February 2024 to continue receiving updates for Minecraft or to access online play. If you are on the most up-to-date version of iOS already, you have nothing to worry about. Please follow Apple’s guide on how to update your device. You can also refer to their list of devices currently compatible with iOS 13/iPadOS13.

For Android, as of February 2024, devices require greater than 1 GB RAM, run OS 8 (Oreo) or above, and have OpenGL ES 3.0 to run Minecraft.

Please refer to our Minecraft Help Center articles for further details:

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.30 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

General

  • The game no longer crashes when it tries to place an invalid custom feature
  • Entity names beginning with a number will now result in a content error
  • Fixed an issue with gliding with Elytra and switching to Creative flight (MCPE-171797)
    • Moved some entity JSONs that were misplaced to the correct area
  • Updated Aux-Value to Block-State table in the documentation to account for data upgrade since inception
  • Added server-authoritative-sound bool to server.properties
  • Exposed the following feature placement rules from behind the data driven biome experimental toggle. This allows creators to attach their custom features to a biome, and to define the rules by which those features are placed
    • minecraft:aggregate_feature
    • minecraft:cave_carver_feature
    • minecraft:fossil_feature
    • minecraft:geode_feature
    • minecraft:growing_plant_feature
    • minecraft:multiface_feature
    • minecraft:nether_cave_carver_feature
    • minecraft:ore_feature
    • minecraft:partially_exposed_blob_feature
    • minecraft:scatter_feature
    • minecraft:search_feature
    • minecraft:sequence_feature
    • minecraft:single_block_feature
    • minecraft:snap_to_surface_feature
    • minecraft:structure_template_feature
    • minecraft:surface_relative_threshold_feature
    • minecraft:tree_feature
    • minecraft:underwater_cave_carver_feature
    • minecraft:vegetation_patch_feature
    • minecraft:weighted_random_feature

Dedicated Server

  • Notice for Linux Dedicated Server operators: Ubuntu 20.04 LTS (Focal Fossa) is now the minimum supported Ubuntu version
  • Fixed a Bedrock Dedicated Servers memory leak while loading chunks (BDS-17527)
  • Fixed an issue with the client failing to attempt connection to dedicated server in some situations

Commands

  • The /camera command no longer requires the experimental cameras toggle
    • Note: The cameras experiment still contains several example preset JSON files for reference
  • Camera commands that are sent in the same tick are no longer ignored (MCPE-173524)
  • Display a message when the players presses the camera perspective change button but a particular perspective is already set via the camera command
  • Entities no longer disappear when they are teleported to saved chunks near the edge of the player's render distance
  • Released command /scriptevent out of experimental
  • Fixed an issue where the controllers right/left d-pad autocompletes commands when the text box wasn’t selected, which also selected different UI elements on the screen
  • Fixed a bug that autocomplete suggestions for values coming after brackets are missing if there is no space between tilde (as Z coordinate) and block name in commands
  • The unknown block is no longer available to be set or filled via commands (MCPE-165301)
  • The 'hasitem' command will now use the data value as damage when selecting damageable items (MCPE-159409)
  • "stained_glass" block is now split into unique instances, namely "white_stained_glass", "orange_stained_glass", "magenta_stained_glass", "light_blue_stained_glass", "yellow_stained_glass", "lime_stained_glass", "pink_stained_glass", "gray_stained_glass", "light_gray_stained_glass", "cyan_stained_glass", "purple_stained_glass", "blue_stained_glass", "brown_stained_glass", "green_stained_glass", "red_stained_glass", and "black_stained_glass"
    • Commands will still work with "stained_glass", but "stained_glass" won't be suggested in the command prompt, rather the new names will
  • "stained_glass_pane" block is now split into unique instances, namely "white_stained_glass_pane", "orange_stained_glass_pane", "magenta_stained_glass_pane", "light_blue_stained_glass_pane", "yellow_stained_glass_pane", "lime_stained_glass_pane", "pink_stained_glass_pane", "gray_stained_glass_pane", "light_gray_stained_glass_pane", "cyan_stained_glass_pane", "purple_stained_glass_pane", "blue_stained_glass_pane", "brown_stained_glass_pane", "green_stained_glass_pane", "red_stained_glass_pane", and "black_stained_glass_pane"
    • Commands will still work with "stained_glass_pane", but "stained_glass_pane" won't be suggested in the command prompt, rather the new names will
  • "concrete_powder" block is now split into unique instances, namely "white_concrete_powder", "orange_concrete_powder", "magenta_concrete_powder", "light_blue_concrete_powder", "yellow_concrete_powder", "lime_concrete_powder", "pink_concrete_powder", "gray_concrete_powder", "light_gray_concrete_powder", "cyan_concrete_powder", "purple_concrete_powder", "blue_concrete_powder", "brown_concrete_powder", "green_concrete_powder", "red_concrete_powder", and "black_concrete_powder"
    • Commands will still work with "concrete_powder", but "concrete_powder" won't be suggested in the command prompt, rather the new names will
  • Blocks that had an alias prior to being flattened can now be properly referenced in commands

Sound

  • Sound definitions now accept both float and integer values for min_distance and max_distance - please set sound_definitions.json "format_version" parameter equal to or greater than 1.20.20 to use this functionality (MCPE-154378)

Items

  • Released the "minecraft:wearable" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:hand_equipped" item component out of experimental in json formats 1.20.20 and higher
  • Deprecated "minecraft:creative_category" component in json formats 1.20.20 and higher
  • Creative group and command visibility can now be set in the "description" field in json formats 1.20.20 and higher
  • Renamed the "minecraft:foil" item component to "minecraft:glint" and released it out of experimental in json formats 1.20.20 and higher
  • Changed fire enchant duration used on projectiles from a ShooterItemComponent to match vanilla behavior
  • Released the "minecraft:use_duration" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:stacked_by_data" item component out of experimental in json formats 1.20.20 and higher
  • "minecraft:entity_placer" will now content error when invalid blocks are named in the "use_on" and "dispense_on" lists
  • Released the "minecraft:use_animation" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:allow_off_hand" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:should_despawn" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:liquid_clipped" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:damage" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:digger" item component out of experimental in json formats 1.20.20 and higher
  • Deprecated "on_dig" parameters from "minecraft:digger" item component in formats 1.20.20 and higher
  • Released the "minecraft:enchantable" item component out of experimental in json formats 1.20.30 and higher
  • Deprecated "minecraft:mining_speed" in json formats 1.20.30 and higher. Use "minecraft:digger" instead to achieve the same functionality
  • Released the "minecraft:food" item component out of experimental in json formats 1.20.30 and higher
  • Added "minecraft:interact_button" item component to enable and set text on the interact button in json formats 1.20.30 and above
  • Fixed an issue where content errors for items at the latest format version would appear for other items

Add-Ons and Script Engine

  • Render controllers without textures will now result in a content error and be ignored
  • Added support for the "allow_random_seed" option in world template manifests
  • Fixed a bug which prevented certain worlds with add-ons from being downloaded from Realms on some console platforms
    • Applied a fix with the way block descriptors resolved custom block states where it could resolve to the wrong state if multiple custom block states had the same name
  • AmethystCluster blocks use state "minecraft:block_face" instead of "facing_direction". "minecraft:block_face" uses string values ("down", "up", "north", "south", "east", "west")
  • Slab blocks use state "minecraft:vertical_half" instead of "top_slot_bit". "minecraft:vertical_half" uses string values ("bottom", "top")
  • Display a warning message when camera perspective option is changed in the settings menu but a camera command is active
  • Moved PlacementDirection ("minecraft:placement_direction") and PlacementPosition ("minecraft:placement_position") block traits out of experimental. These traits can be used for blocks with "format_version" >= "1.20.20"
  • Added Script Binding functions to get/set the CompoundBlockVolume origin
  • Added additional params to some methods to query the children of CompoundBlockVolume for their positional relativity to the parent
  • Added additional params to some methods to freeze positional relativty when origin changes are submitted
  • Big Dripleaf blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Small Dripleaf blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Pink Petals blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • End Portal Frame blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Lectern blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Anvil blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Campfire blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Soul Campfire blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Calibrated Sculk Sensor blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Powered Comparator blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Unpowered Comparator blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Powered Repeater blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Unpowered Repeater blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • BlastFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • Furnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitBlastFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitSmoker blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • Smoker blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]

Mobs

  • "cooldown" field for target descriptors now properly work in "minecraft:behavior.nearest_prioritized_attackable_target" goal
  • Exposed new data parameter "can_spread_on_fire" for the "minecraft:behavior.melee_attack" component to specify if the mob should set its target on fire when attacking if the attacking mob is on fire (MCPE-77746)

Script API

  • Converting the CompoundBlockVolume container to use relative coordinates to an internal origin
  • Normalize the use of CompoundBlockVolume instead of Selection across Editor API

Molang

  • Renamed block_property and has_block_property to block_state and has_block_state
    • This is a Molang Versioned Change that only takes effect for Molang expressions in packs that use a min_engine_version of 1.20.20 or higher

Experimental Technical Features

API

  • Added Scoreboard.addScore and improved Scoreboard.setScore to return the updated score
  • Using ScoreboardObjective.removeParticipant is now properly synced with clients (MCPE-172920)
  • ScriptEventCommandMessageAfterEvent
    • Made initiator, sourceBlock, and sourceEntity optional types
  • Removed MinecraftEntityTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Removed MinecraftItemTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Exposed MoonPhase and World.getMoonPhase to script
  • Removed server-authoritative-sound bool from server.properties
  • Exposed DimensionType to scripting
  • Converted "set_block_property" to "set_block_state" for custom blocks
  • Added defineVector to DynamicPropertiesDefinition
  • EntityEquipmentInventoryComponent
    • Implemented slot validation for setEquipment, which now returns a boolean indicating whether the item can be equipped to the specified slot
    • EntityEquipmentInventoryComponent is currently limited to Players only. However, we hope to reintroduce this component for mobs in a future update
      • Moved getDay() to 1.4.0
      • Moved getTimeOfDay() to 1.4.0
      • Moved setTimeOfDay(timeOfDay: number | TimeOfDay) to 1.4.0
      • Moved getAbsoluteTime() to 1.4.0
      • Moved setAbsoluteTime(absoluteTime: number) to 1.4.0
  • Moved TimeOfDay to 1.4.0
    • Added length restrictions to setLore - Up to 20 lines with up to 50 characters per line
    • Moved function setLore to 1.4.0
    • Moved function getLore to 1.4.0
    • Moved class SystemAfterEvents to 1.4.0
    • Moved class ScriptEventCommandMessageAfterEvent to 1.4.0
  • Moved player onScreenDisplay to 1.4.0
  • Moved titleDisplayOptions to 1.4.0
  • Moved screenDisplay to 1.4.0
  • Moved ProjectileHitBlockAfterEvent to 1.5.0.
  • Moved ProjectileHitEntityAfterEvent to 1.5.0.
  • Moved ProjectileHitBlockAfterEventSignal to 1.5.0.
  • Moved ProjectileHitEntityAfterEventSignal to 1.5.0.
  • Moved BlockHitInformation to 1.5.0.
  • Moved EntityHitInformation to 1.5.0.
    • Moved spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap) to 1.5.0
    • Moved setColorRGB(variableName: string, color: RGB) to 1.5.0
    • Moved setColorRGBA(variableName: string, color: RGBA) to 1.5.0
    • Moved setFloat(variableName: string, number: number) to 1.5.0
    • Moved setSpeedAndDirection(variableName: string, speed: number, direction: Vector3) to 1.5.0
    • Moved setVector3(variableName: string, vector: Vector3) to 1.5.0
  • RGB
    • Moved RGB to 1.5.0
    • Moved RGBA to 1.5.0
    • Moved triggerEvent(eventName: string) to 1.5.0
  • Renamed EntityEquipmentInventoryComponent to EntityEquippableComponent
  • Fixed issue where prototype properties are not possible to redefine using defineProperty (MCPE-174073)
  • ItemStack
    • Added getCanPlaceOn() and getCanDestroy()
    • Added upper maximum limit of 255 to amount property - will throw if exceeds
  • Entity
    • Added function getProperty(identifier: string): boolean | number | string | undefined - Gets an Entity Property
    • Added function setProperty(identifier: string, value: boolean | number | string): void - Sets an Entity Property during the next tick
    • Added function resetProperty(identifier: string): boolean | number | string; - Resets an Entity Property to its default value during the next tick and returns the default value
  • world.beforeEvents
    • Added event/property removeEvent
  • world.afterEvents
    • Renamed event/property removedEvent to removeEvent
  • Class EntityRemovedAfterEvent
    • Renamed field removedEntity to removedEntityId: removedEntityId: string
    • Added field typeId: string
  • Added class EntityRemovedBeforeEvent
    • Added field removedEntity: Entity
  • Moved EquipmentSlot to 1.5.0 and changed enum values to uppercase
  • Moved EntityEquippableComponent to 1.5.0
  • Scoreboard
    • setObjectiveAtDisplaySlot return type now correctly set to ScoreboardObjective or undefined
  • ScoreboardIdentity
    • getEntity return type now correctly set to Entity or undefined
  • setWeather API can now take an optional duration parameter to set the weather duration
  • Added read-only property heightRange: NumberRange - Gets min/max dimension height limits.
  • Added Player.isSleeping and Player.isEmoting
  • Changed Entity.scoreboardIdentity to be valid even after the entity has been killed
  • World Events
    • Renamed BlockBreakAfterEvent to PlayerBreakBlockAfterEvent
      • Added readonly itemStackAfterBreak?: ItemStack (undefined if empty hand)
      • Added readonly itemStackBeforeBreak?: ItemStack (undefined if empty hand)
    • Renamed BlockBreakAfterEventSignal to PlayerBreakBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerBreakBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • itemStack?: ItemStack, the item stack in use by the player (undefined if empty hand)
      • readonly player: Player, the player breaking the block
    • Added PlayerBreakBlockBeforeEventSignal
    • Renamed BlockPlaceAfterEvent to PlayerPlaceBlockAfterEvent
    • Renamed BlockPlaceAfterEventSignal to PlayerPlaceBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerPlaceBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • readonly face: Direction, the face the block is being placed on
      • readonly faceLocation: Vector3, the location on the face the block was placed on
      • itemStack: ItemStack, the item stack being used to place the block
      • readonly player: Player, the player placing the block
    • Added PlayerPlaceBlockBeforeEventSignal
    • Modified WorldAfterEvents
      • Renamed blockBreak to playerBreakBlock
      • Renamed blockPlace to playerPlaceBlock
    • Modified WorldBeforeEvents
      • Added playerBreakBlock
      • Added playerPlaceBlock
    • Added BlockEventOptions with the following members
      • blockTypes?: string[], names of blocks to be filtered against
      • permutations?: BlockPermutation[], specific block permutations to be filtered against
  • Added class EntityLoadAfterEvent
    • New field entity: Entity
    • Added class EntityLoadAfterEventSignal
  • Class EntitySpawnAfterEvent
    • Added property readonly cause: EntityInitializationCause_
  • Class WorldAfterEvents
    • Added property readonly entityLoad: EntityLoadAfterEventSignal
  • Added enum EntityInitializationCause

Moved the following APIs from beta to stable:

  • Moved Direction to 1.4.0.
  • Moved EntityDamageSource to 1.4.0.
  • Moved EntityDieAfterEvent to 1.4.0.
  • Moved EntityEventOptions to 1.4.0.
  • Moved EntityHitBlockAfterEvent to 1.4.0.
  • Moved EntityHitEntityAfterEvent to 1.4.0.
  • Moved EntityHurtAfterEvent to 1.4.0.
  • Moved EntityHealthChangedAfterEvent to 1.4.0.
  • Moved Dimension.getBlockFromRay method to 1.4.0
  • Moved Dimension.getEntitiesFromRay method to 1.4.0
  • Moved Entity.getBlockFromViewDirection method to 1.4.0
  • Moved Entity.getEntitiesFromViewDirection method to 1.4.0
  • Moved BlockRaycastHit to 1.4.0
  • Moved BlockRaycastOptions to 1.4.0
  • Moved EntityRaycastHit to 1.4.0
  • Moved EntityRaycastOptions to 1.4.0
  • Moved PressurePlatePushEvent to 1.4.0.
  • Moved PressurePlatePopEvent to 1.4.0.
  • Moved TripWireTripEvent to 1.4.0.
  • Moved TargetBlockHitEvent to 1.4.0.
    • Made property id accessible even if entity is not valid
    • Made property typeId accessible even if entity is not valid
    • Changed item event source properties from type Entity to Player
  • Added camera scripting APIs for the following APIs:
    • setCamera(): to set the camera to a specified preset
    • fade(): to start a camera fade
    • clear(): to clear the current settings on the camera
  • Released Scoreboard API's from beta to V1.4.0
    • Updated Scoreboard.getObjective, getObjectiveAtDisplaySlot, and clearObjectiveAtDisplaySlot to return '| undefined'
  • Removed MinecraftBlockTypes defined in @minecraft/server
  • Moved ItemUseBeforeEvent to 1.4.0
  • Moved ItemUseOnBeforeEvent to 1.4.0
  • Moved ItemUseAfterEvent to 1.4.0
  • Moved ItemUseOnAfterEvent to 1.4.0
  • Moved ItemStartUseOnAfterEvent to 1.4.0
  • Moved ItemStopUseAfterEvent to 1.4.0
  • Moved ItemStopUseOnAfterEvent to 1.4.0
  • Moved ItemCompleteUseAfterEvent to 1.4.0
  • Moved ItemReleaseUseAfterEvent to 1.4.0
  • Moved ItemStartUseAfterEvent to 1.4.0
  • Moved DimensionLocation to 1.4.0
  • Renamed PositionInUnloadedChunkError to LocationInUnloadedChunkError and moved it to 1.4.0
  • Renamed PositionOutOfWorldBoundariesError to LocationOutOfWorldBoundariesError and moved it to 1.4.0
    • Moved getSpawnPoint to 1.4.0
    • Moved setSpawnPoint to 1.4.0
    • Moved getDefaultSpawnLocation to 1.4.0
    • Moved setDefaultSpawnLocation to 1.4.0
  • Released isValid() from Beta to 1.4.0 for the following classes:
    • Block
    • Container
    • Entity
    • Player
    • SimulatedPlayer
  • WorldAfterEvents
    • Removed projectileHit
    • Added projectileHitBlock
    • Added projectileHitEntity
  • Added class ProjectileHitBlockAfterEvent export class:
    ProjectileHitBlockAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getBlockHit(): BlockHitInformation; }
  • Added class ProjectileHitEntityAfterEvent export class:
    ProjectileHitEntityAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getEntityHit(): EntityHitInformation; }
  • Fixed a bug where ContainerSlot would not work with certain container types (MCPE-168805)
  • Fixed a bug where setLore would incorrectly calculate the length of lore strings containing multi-byte characters (MCPE-173189)
    • Added function remove - Removes the Entity. This cannot be called on Players but can be used on SimulatedPlayers in Gametest
  • MolangVariableMap
    • Added setFloat function
    • Changed return type of setColorRBG, setColorRGBA, setSpeedAndDirection, and setVector3 to void
    • Changed the MolangVariableMap property on spawnParticle to be optional: spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap): void
  • Renamed Color interface to RGBA
  • Added interface RGB

Blocks

  • Custom blocks will now only transmit Redstone power if they are a unit cube and all materials are opaque (MCPE-168998)
  • Updated isSolid, isLiquid, and isAir to be properties instead of methods

Items

  • Fixed issue where items with the "minecraft:wearable" component would be duplicating when equipping by using the item (MCPE-159736)
  • Items with the "minecraft:wearable" component in non-weapon slots can no longer be stacked (MCPE-159736)
  • Removed the "minecraft:ignores_permission" component
  • Removed the "minecraft:mirrored_art" component
  • Moved the "protection" field from "minecraft:armor" component to "minecraft:wearable" component in json formats 1.20.20 and higher
  • Deprecate "minecraft:armor" component in json formats 1.20.20 and higher
  • Removed nonfunctional and redundant slot options from "minecraft:wearable" component, ie. mainhand, hotbar, inventory, enderchest, and equippable
  • Items with the "minecraft:wearable" component using the "slot.weapon.offhand" slot will no longer equip when item is used in hotbar
  • Equipping custom wearable items trigger generic equip sound
  • Custom items with "minecraft:wearable" component can now be equipped by clicking and dragging in inventory or shift-clicking
  • Removed the "minecraft:animates_in_toolbar" component
  • Removed the "minecraft:explodable" component
  • Extra damage hover text now appears on all component items that have an applied sharpness enchantment
  • The "minecraft:shooter" component now supports the Quick Charge enchantment with "minecraft:enchantable" when "charge_on_draw" is true
  • Added support for efficiency enchantment for data driven items using the "minecraft:digger" component
  • Remove nonfunctional entity slot options from "minecraft:wearable" component, ie. saddle, entity armor, and chest
  • Custom items with "minecraft:wearable" component auto-equip when dropped from a dispenser, matching parity with Vanilla armor items
  • Fixed an issue where items with format version 1.20.20 and above using the 'menu_category' field in a world with the 'Holiday Creator Features' toggle enabled would not load
  • Removed "minecraft:requires_interact" component
  • Fixed issue with content errors occurring with the Holiday Creator Features toggle turned on when using a json object version of "max_stack_size", "can_destroy_in_creative", "hover_text_color"

Block Destroy Time Changes - Full List

Bedrock ID Bedrock Name Destroy Time Explosion Resistance
activator_rail Activator Rail 0.5 → 0.7 0.5 → 0.7
ancient_debris Ancient Debris 720 → 1200
andesite_stairs Andesite Stairs 2 → 1.5
bamboo Bamboo 2 → 1 2 → 1
bamboo_block Block of Bamboo 3 → 2
bamboo_sapling Bamboo Shoot 0 → 1 0 → 1
bee_nest Bee Nest 2.7 → 0.3
beehive Beehive 5.4 → 0.6
bell Bell 1 → 5 3 → 5
big_dripleaf Big Dripleaf 0 → 0.1 0 → 0.1
campfire Campfire 5 → 2 5 → 2
chain Chain 3 → 6
chiseled_deepslate Chiseled Deepslate 3.6 → 6
cobbled_deepslate Cobbled Deepslate 3.6 → 6
cobbled_deepslate_double_slab Cobbled Deepslate Slab (Double) 3.6 → 6
cobbled_deepslate_slab Cobbled Deepslate Slab 3.6 → 6
cobbled_deepslate_stairs Cobbled Deepslate Stairs 3.6 → 6
cobbled_deepslate_wall Cobbled Deepslate Wall 3.6 → 6
composter Composter 2 → 0.6 2 → 0.6
copper_block Block of Copper 3.6 → 6
copper_ore Copper Ore 1.8 → 3
coral_block Coral Block (10 blocks) 7 → 1.5 0.9 → 6
coral_fan Coral Fan (5 blocks) 0.9 → 0
coral_fan_dead Dead Coral Fan (5 blocks) 0.9 → 0
coral_fan_hang Coral Wall Fan (2 blocks) 0.9 → 0
coral_fan_hang2 Coral Wall Fan (2 blocks) 0.9 → 0
coral_fan_hang3 Coral Wall Fan (1 block) 0.9 → 0
cracked_deepslate_bricks Cracked Deepslate Bricks 3.6 → 6
cracked_deepslate_tiles Cracked Deepslate Tiles 3.6 → 6
crimson_hyphae Crimson Hyphae 0.3 → 2 0.3 → 2
crimson_stem Crimson Stem 0.3 → 2
cut_copper Cut Copper 3.6 → 6
cut_copper_slab Cut Copper Slab 3.6 → 6
cut_copper_stairs Cut Copper Stairs 3.6 → 6
deepslate Deepslate 3.6 → 6
deepslate_brick_double_slab Deepslate Brick Slab (Double) 3.6 → 6
deepslate_brick_slab Deepslate Brick Slab 3.6 → 6
deepslate_brick_stairs Deepslate Brick Stairs 3.6 → 6
deepslate_brick_wall Deepslate Brick Wall 3.6 → 6
deepslate_bricks Deepslate Bricks 3.6 → 6
deepslate_coal_ore Deepslate Coal Ore 1.8 → 3
deepslate_copper_ore Deepslate Copper Ore 1.8 → 3
deepslate_diamond_ore Deepslate Diamond Ore 1.8 → 3
deepslate_gold_ore Deepslate Gold Ore 1.8 → 3
deepslate_iron_ore Deepslate Iron Ore 1.8 → 3
deepslate_lapis_ore Deepslate Lapis Lazuli Ore 1.8 → 3
deepslate_redstone_ore Deepslate Redstone Ore 1.8 → 3
deepslate_tile_double_slab Deepslate Tile Slab (Double) 3.6 → 6
deepslate_tile_slab Deepslate Tile Slab 3.6 → 6
deepslate_tile_stairs Deepslate Tile Stairs 3.6 → 6
deepslate_tile_wall Deepslate Tile Wall 3.6 → 6
deepslate_tiles Deepslate Tiles 3.6 → 6
diorite_stairs Diorite Stairs 2 → 1.5
double_cut_copper_slab Cut Copper Slab (Double) 3.6 → 6
dragon_egg Dragon Egg 3 → 9
dried_kelp_block Dried Kelp Block 0.5 → 2.5
end_brick_stairs End Stone Brick Stairs 2 → 3 6 → 9
end_bricks End Stone Bricks 0.8 → 3 0.8 → 9
exposed_cut_copper_slab Exposed Cut Copper Slab 3.6 → 6
exposed_copper Exposed Copper 3.6 → 6
exposed_cut_copper Exposed Cut Copper 3.6 → 6
exposed_cut_copper_stairs Exposed Cut Copper Stairs 3.6 → 6
exposed_double_cut_copper_slab Exposed Cut Copper Slab (Double) 3.6 → 6
granite_stairs Granite Stairs 2 → 1.5
infested_deepslate Infested Deepslate 1.8 → 0.75
jukebox Jukebox 0.8 → 2 0.8 → 6
lantern Lantern 5 → 3.5 5 → 3.5
lectern Lectern 2 → 2.5 2 → 2.5
light_block Light Block 3600000 → 3600000.8
light_gray_candle Light Gray Candle 0 → 0.1 0 → 0.1
lightning_rod Lightning Rod 3.6 → 6
lodestone Lodestone 2 → 3.5 2 → 3.5
magma Magma Block 1.5 → 0.5
monster_egg Infested blocks (5 blocks, missing Infested Cobblestone) 1.8 → 0.75
mossy_stone_brick_stairs Mossy Stone Brick Stairs 2 → 1.5
mud_bricks Mud Bricks 2 → 1.5 2 → 3
mud_brick_slab Mud Brick Slab 2 → 1.5 6 → 3
mud_brick_double_slab Mud Brick Slab (Double) 2 → 1.5 6 → 3
mud_brick_stairs Mud Brick Stairs 2 → 1.5 6 → 3
mud_brick_wall Mud Brick Wall 2 → 1.5 6 → 3
netherite_block Block of Netherite 720 → 1200
oxidized_cut_copper Oxidized Cut Copper 3.6 → 6
oxidized_cut_copper_slab Oxidized Cut Copper Slab 3.6 → 6
oxidized_cut_copper_stairs Oxidized Cut Copper Stairs 3.6 → 6
oxidized_copper Oxidized Copper 3.6 → 6
oxidized_double_cut_copper_slab Oxidized Cut Copper Slab (Double) 3.6 → 6
piston Piston 0.5 → 1.5 0.5 → 1.5
piston_arm_collision Piston Head (Normal) 0.5 → 1.5 0.5 → 1.5
pointed_dripstone Pointed Dripstone 1.8 → 3
polished_andesite_stairs Polished Andesite Stairs 2 → 1.5
polished_blackstone Polished Blackstone 1.5 → 2
polished_blackstone_stairs Polished Blackstone Stairs 1.5 → 2
polished_blackstone_wall Polished Blackstone Wall 1.5 → 2
polished_deepslate Polished Deepslate 3.6 → 6
polished_deepslate_double_slab Polished Deepslate Slab (Double) 3.6 → 6
polished_deepslate_slab Polished Deepslate Slab 3.6 → 6
polished_deepslate_stairs Polished Deepslate Stairs 3.6 → 6
polished_deepslate_wall Polished Deepslate Wall 3.6 → 6
polished_diorite_stairs Polished Diorite Stairs 2 → 1.5
polished_granite_stairs Polished Granite Stairs 2 → 1.5
reinforced_deepslate Reinforced Deepslate 720 → 1200
respawn_anchor Respawn Anchor 720 → 1200
scaffolding Scaffolding 0.6 → 0 0.9 → 0
sculk Sculk 0.6 → 0.2 0.6 → 0.2
sculk_catalyst Sculk Catalyst 1.8 → 3
sculk_shrieker Sculk Shrieker 1.8 → 3
shulker_box Shulker Box (16 blocks) 2.5 → 2 2.5 → 2
smooth_quartz_stairs Smooth Quartz Stairs 0.8 → 2 0.8 → 6
smooth_stone Smooth Stone 1.5 → 2
sniffer_egg Sniffer Egg 0.4 → 0.5 0.4 → 0.5
soul_campfire Soul Campfire 5 → 2 5 → 2
soul_lantern Soul Lantern 5 → 3.5 5 → 3.5
soul_soil Soul Soil 1 → 0.5 1 → 0.5
sticky_piston Sticky Piston 0.5 → 1.5 0.5 → 1.5
sticky_piston_arm_collision Piston Head (Sticky) 0.5 → 1.5 0.5 → 1.5
stripped_bamboo_block Block of Stripped Bamboo 3 → 2
stripped_crimson_hyphae Stripped Crimson Hyphae 0.3 → 2 0.3 → 2
stripped_crimson_stem Stripped Crimson Stem 0.3 → 2
stripped_warped_hyphae Stripped Warped Hyphae 0.3 → 2 0.3 → 2
stripped_warped_stem Stripped Warped Stem 0.3 → 2
sweet_berry_bush Sweet Berry Bush 0.2 → 0 0.2 → 0
turtle_egg Turtle Egg 0.4 → 0.5 0.4 → 0.5
undyed_shulker_box Shulker Box 2.5 → 2 2.5 → 2
warped_hyphae Warped Hyphae 0.3 → 2 0.3 → 2
warped_stem Warped Stem 0.3 → 2
waxed_cut_copper Waxed Cut Copper 3.6 → 6
waxed_cut_copper_slab Waxed Cut Copper Slab 3.6 → 6
waxed_cut_copper_stairs Waxed Cut Copper Stairs 3.6 → 6
waxed_copper Waxed Block of Copper 3.6 → 6
waxed_double_cut_copper_slab Waxed Cut Copper Slab (Double) 3.6 → 6
waxed_exposed_copper Waxed Exposed Copper 3.6 → 6
waxed_exposed_cut_copper Waxed Exposed Cut Copper 3.6 → 6
waxed_exposed_cut_copper_slab Waxed Exposed Cut Copper Slab 3.6 → 6
waxed_exposed_cut_copper_stairs Waxed Exposed Cut Copper Stairs 3.6 → 6
waxed_exposed_double_cut_copper_slab Waxed Exposed Cut Copper Slab (Double) 3.6 → 6
waxed_oxidized_copper Waxed Oxidized Copper 3.6 → 6
waxed_oxidized_cut_copper Waxed Oxidized Cut Copper 3.6 → 6
waxed_oxidized_cut_copper_stairs Waxed Oxidized Cut Copper Stairs 3.6 → 6
waxed_oxidized_cut_copper_slab Waxed Oxidized Cut Copper Slab 3.6 → 6
waxed_oxidized_double_cut_copper_slab Waxed Oxidized Cut Copper Slab (Double) 3.6 → 6
waxed_weathered_cut_copper Waxed Weathered Cut Copper 3.6 → 6
waxed_weathered_cut_copper_slab Waxed Weathered Cut Copper Slab 3.6 → 6
waxed_weathered_cut_copper_stairs Waxed Weathered Cut Copper Stairs 3.6 → 6
waxed_weathered_copper Waxed Weathered Copper 3.6 → 6
waxed_weathered_double_cut_copper_slab Waxed Weathered Cut Copper Slab (Double) 3.6 → 6
weathered_copper Weathered Copper 3.6 → 6
weathered_cut_copper Weathered Cut Copper 3.6 → 6
weathered_cut_copper_slab Weathered Cut Copper Slab 3.6 → 6
weathered_cut_copper_stairs Weathered Cut Copper Stairs 3.6 → 6
weathered_double_cut_copper_slab Weathered Cut Copper Slab (Double) 3.6 → 6

Remaining Parity Breaks

DT - destroy time
ER - explosion resistance

Bedrock ID Bedrock name DT Bedrock DT Java ER Bedrock ER Java
cobblestone_wall Granite Wall 2 1.5
cobblestone_wall Sandstone Wall 2 0.8 6 0.8
cobblestone_wall Prismarine Wall 2 1.5
cobblestone_wall Diorite Wall 2 1.5
cobblestone_wall Andesite Wall 2 1.5
cobblestone_wall End Stone Brick Wall 2 3 6 9
cobblestone_wall Stone Brick Wall 2 1.5
cobblestone_wall Mossy Stone Brick Wall 2 1.5
cobblestone_wall Red Sandstone Wall 2 0.8 6 0.8
stone_block_slab2 Prismarine Brick Slab 2 1.5
stone_block_slab2 Dark Prismarine Slab 2 1.5
stone_block_slab2 Prismarine Slab 2 1.5
double_stone_block_slab2 Prismarine Brick Slab (Double) 2 1.5
double_stone_block_slab2 Dark Prismarine Slab (Double) 2 1.5
double_stone_block_slab2 Prismarine Slab (Double) 2 1.5
stone_block_slab3 Andesite Slab 2 1.5
stone_block_slab3 End Stone Brick Slab 2 3 6 9
stone_block_slab3 Polished Andesite Slab 2 1.5
stone_block_slab3 Polished Diorite Slab 2 1.5
stone_block_slab3 Granite Slab 2 1.5
stone_block_slab3 Diorite Slab 2 1.5
stone_block_slab3 Polished Granite Slab 2 1.5
double_stone_block_slab3 Andesite Slab (Double) 2 1.5
double_stone_block_slab3 End Stone Brick Slab (Double) 2 3 6 9
double_stone_block_slab3 Polished Andesite Slab (Double) 2 1.5
double_stone_block_slab3 Polished Diorite Slab (Double) 2 1.5
double_stone_block_slab3 Granite Slab (Double) 2 1.5
double_stone_block_slab3 Diorite Slab (Double) 2 1.5
double_stone_block_slab3 Polished Granite Slab (Double) 2 1.5
stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5
double_stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5
crying_obsidian Crying Obsidian 35 50
monster_egg Infested Cobblestone 0.75 1
obsidian Obsidian 35 50
quartz_block Smooth Quartz 0.8 2 0.8 6
red_sandstone Smooth Red Sandstone 0.8 2 0.8 6
sandstone Smooth Sandstone 0.8 2 0.8 6

Minecraft - 1.20.30 (Bedrock) New FeaturesVanilla ParityExperimental FeaturesFixes and ChangesTechnical UpdatesExperimental Technical FeaturesBlock Destroy Time Changes - Full ListRemaining Parity Breaks

A new update has been released, bringing several changes to the game! Here are the highlights:

  • Updated “You died” experience
  • Players can now crawl under single block gaps
  • A new "Recipe Unlocked" notification will now tell you when you've found a new crafting material
  • Increased the amount of Diamond Ore found in the deepest parts of the world
  • Adjustments to block destroy times and explosion resistance values
  • Fixes to over 100 community reported issues

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

New Features

Updated “You Died” Experience

Today we’re making some changes to the screen you see when you die in Minecraft. The camera now zooms out so it’s easier to see why you died, the hotbar is visible at all times, and you can change certain settings before respawning.

These changes are available to everyone, except if you have add-ons applied. Also, the screen has limited text formatting code support, so it might look a bit different. To use the old screen, go to Settings -> Video, and turn off ‘New “You Died” Screen (Experimental)’.

We’d love to hear what you think about this change! Please share your feedback with us here.

Crawling

  • The Crawling experimental toggle has been removed and Crawling under 1 block gaps is now fully implemented into the game
  • Updated the camera interpolation rate when crawling to match Java Edition (MCPE-170841)
  • Fixed some scenarios where crawling was not correctly being triggered on the server (MCPE-171225)

Recipe Unlocking

  • Recipe Unlocking is no longer an Experimental Feature, but can still be turned on and off per world
  • You can now enable Recipe Unlocking on the Create New World screen (MCPE-172956)
  • The command for unlocking recipes has been updated. The autosuggestion to give a player a recipe now says "player: target" instead of "victim: target" (MCPE-172402)
  • ‘Recipe unlocked’ message is no longer visible on the pause menu (MCPE-171112)
  • Stained Glass Pane recipe now gets unlocked when obtaining any dyes (MCPE-171118)
  • Recipes unlocked notification now fit text in different languages and no longer bleed out of the screen (MCPE-171141)
  • Command line auto-complete has been added for recipe unlocking. Useful when you want to see what recipes you can unlock (MCPE-171086)
  • The order of command inputs was changed to be the same as on Java Edition (MCPE-171098)
  • Recipe Unlocking Game Rule
    • Added an optional game rule for limited crafting. The game rule is only relevant when recipe unlocking is enabled. When set to "true" it prevents players from crafting recipes they have not yet unlocked. It is off by default and can only be modified through the "/gamerule" command.

Recipe Book Search

  • The recipe book search has been updated when playing in Survival mode with the following changes:
    • The search will only match the beginning of any word in the item's name. For example, searching for "tor" will now show Torch and Redstone Torch but not Daylight Detector)
    • Search will now work better together with the Recipe Unlocking system - recipes that haven't been unlocked will show up in search results.
  • This change will enable experienced players to find items they are looking for (even if it hasn't been unlocked yet) while not overwhelming new players with recipes they aren't yet ready for.
  • These changes are planned for both Bedrock and Java Edition, but they are still being tweaked and we definitely want to hear your feedback! Send us your thoughts at aka.ms/MinecraftRecipeSearch

Sleeping Percentage Gamerule

  • Added the ‘playerssleepingpercentage’ gamerule, allowing night to be skipped when the specified percent of players logged into a world are sleeping (MCPE-114425)
    • A zero or a negative value will only require one player to sleep to skip the night
    • When set to over 100, the night cannot be skipped

Vanilla Parity

Block Breaking

  • We have adjusted the breaking times of 188 blocks to match Java Edition and our intended design. Some blocks couldn't be changed yet for technical reasons and Obsidian was left unchanged because we're still deciding what breaking speed it should have. Bringing more blocks to parity makes it easier for our team to keep both versions up to date. We also hope it will be easier for the community to make and share guides that work for all players on all platforms.
    • The full list of block breaking times and changes can be found at the very end of this changelog

Gameplay

  • Wandering Trader now trades Cherry Saplings (MCPE-171521)
  • Villagers are now prevented from gaining a profession when sleeping (MCPE-81790)
  • Fixed an issue where beginning to swim while hitting the sneak button could cause the sneak button to be held down until swimming ends (MCPE-130070)
  • Potions are no longer thrown backwards when looking up (MCPE-138995)
  • Formation of ice and snow is now controlled by random tick
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)
  • Pillager Outposts can now generate in Cherry Grove biomes (MCPE-173323)
  • Fixed a bug that caused the Raid boss bar to automatically deplete to zero when a village was defeated (MCPE-161438)
  • Witches now throw healing and regeneration potions at raiders during village raids

Blocks

  • Fixed a bug that caused players to not be able to crawl under Slabs when standing on Top Snow (MCPE-170994)
  • Top Snow is now in parity with Java Edition and each layer has a different height (MCPE-60024)
  • Tweaked Shulker Box Redstone signals to match parity with Java Edition
  • Fence Gate icon model in UI and Item Frames now match the Fence Gate Block (MCPE-44296)

Audio

  • Missing Thorns damage sound has been added, and is played when appropriate (MCPE-37335)
  • Anvils now emit the proper sounds when broken, stepped on, fallen onto, etc. (MCPE-33286)
  • Skeletons and Drowned now play sounds when firing Arrows and Tridents, respectively (MCPE-50609)
  • Trident Channeling sound is now played when entities are hit (MCPE-43402)
  • Empty Maps now emit the appropriate sound when players draw them
  • Nether Portals now emit the Glass breaking sound when their Obsidian frame is broken (MCPE-94722)
  • Loyalty Tridents returning to players now play their sound at the player's position (MCPE-43831)
  • Big Dripleaf Blocks now play the correct sound when their tilt is reset (MCPE-123488)
  • Conduits now play their deactivation sound when deactivated (MCPE-128117)
  • Respawn Anchor Blocks now correctly play their ambient sounds (MCPE-136484)
  • Pigs now emit sounds when transformed into Zombified Piglins (MCPE-169557)
  • Using Shears to carve Pumpkins now produces a carving sound like in Java Edition
  • Hoglins now have their own sound when transforming into Zoglins (MCPE-87379)
  • Sound is now consistently played when an item is dropped into Lava (MCPE-96015)
  • Sound is no longer played sometimes when Netherite items are dropped into Lava (MCPE-95872)
  • Snow Golems now play a sound when they throw Snowballs (MCPE-119083)
  • Husks now play sounds when converting to Zombies underwater
  • Player entities now play the appropriate sounds when entering/exiting water (MCPE-132511)

Experimental Features

Experimental Trade Changes

  • This update includes experimental changes to the Wandering Trader and Librarian Villager trades. You must turn on this experiment in the Experiments Menu if you want to test the new trades.
  • We are trying out these changes to rebalance the villager trade system and make it more fair and fun for everyone. However, these changes are not yet final, and they will stay as experimental features while we continue to work on them. We still need your feedback to help us improve and decide, so please continue to let us know what you think of the new trades, what you like and dislike, and what suggestions you have at aka.ms/VillagerTradingFeedback.

Librarian

  • Before these changes, players could get any Village enchantment from any Librarian. A novice Librarian could sell the best enchantment in the game! For some players, this felt too random and made trading feel overpowered when compared to using the Enchanting Table or searching for Enchanted Books in structures.
  • With the new rules, Librarians from different biomes sell different enchantments. Master Librarians are guaranteed to have a special enchantment which is different in each Village biome.
  • Players will have to work towards getting the best trades instead of relying on random chance. We hope this makes Librarian trading more interesting and skilful, while also revealing some clues about their history of each Village type through the enchantments that are sold there.
  • Librarians from different biomes now sell different Enchanted Books
  • Master Librarians with full XP are guaranteed to sell a special enchantment, which is different in each Village biome
  • This means that players must visit all seven Village biomes to get the full set of Villager enchantments
  • There are two secret Village biomes where Villages do not generate
    • A player must build these Villages to access their trades!
  • Some enchantments have been removed from Village trading and must be found in other ways

Wandering Trader

  • Some players felt that the Wandering Trader had unfair prices and didn't sell many useful items. We have lowered their prices, added more trades, and increased the amounts available. The Wandering Trader will also now buy useful items from players, so it's possible to help them on their journey by giving them supplies even if you don't feel like buying anything.
  • As this is an experiment, we would really appreciate your feedback as work continues and to help us decide on the future direction for Villager trades!
  • Wandering Traders now have lower prices and have a higher amount of each item in stock
  • Wandering Traders now sell Logs
  • Wandering Traders can now buy many items, instead of only selling

Fixes and Changes

Diamond Ore Distribution

  • Increased the amount of Diamond Ore found in the deepest parts of the world. Our goal is to make it more rewarding to mine for Diamonds in the Deepslate layers

Performance and Stability

  • Fixed a crash when entering a world with a corrupted saved chunk (MCPE-164634)
  • Fixed a crash that could occur when the game lost focus while entering a world
  • Addressed ‘Out of Storage’ errors and texture corruption on Xbox in large worlds (MCPE-163050)
  • Fixed missing low disk space warning on Xbox
  • Fixed an issue with Local Network games not connecting in certain circumstances on Nintendo Switch
  • Fixed server becoming unresponsive when players were surrounded by Ghasts stuck in lava columns (MCPE-119093)
  • Placing one item of an item stack into a full stack of the same item no longer causes the game to crash
  • The game no longer crashes due to running out of rendering resources while entering a world through the End Portal back to the Overworld (MCPE-139021)
  • Fixed worlds downloaded from Realms not loading packs correctly

Gameplay

  • Improved mouse input to be more responsive when used on Xbox (MCPE-163671)
  • Breath meter now refills when swimming with head above water (MCPE-170969)
  • The third-person camera will no longer clip through terrain when near Water or Lava
  • Fixed Creative Mode players not being ignited when standing in fire
  • The player no longer gets forced into sneak or crawl in Spectator Mode (MCPE-170907)
  • The player now gets forced out of sneak/crawl when riding (MCPE-170870)
  • The player no longer gets forced into sneak or crawl during the Riptide animation
  • Entering flight mode in Creative Mode will now correctly cancel Elytra gliding (MCPE-171797)
  • Projectiles now sink into Top Snow just like mobs do
  • Third-person camera now passes through Glass, Glass Panes, and Iron Bars (MCPE-85429)
  • Third person camera no longer clips through Snow, Mud, and Soul Sand, preventing x-ray exploits (MCPE-168854)
  • Players will no longer enter End Portals when sleeping in a bed immediately below the portals (MCPE-165062)
  • The discount for curing a Zombie Villager no longer increases when the same Villager is reinfected and cured multiple times
  • Players can now toggle flying when crawling or sneaking in Creative Mode
  • Crouch-jumping while aiming forward and holding down the build button will no longer continue to build blocks upwards past where the player is aiming

Mobs

  • Wild Horses, Mules, and Donkeys can now be tempted using a Golden Apple/Carrot or Enchanted Apple. Llamas will be tempted by a player holding a Hay Bale (MCPE-140814)
  • Zombie Villagers now show correct professions when infected (MCPE-80924)
  • Villagers killed by players no longer drop items held in their hands
  • Camels now play the same stepping sound when walking on Red Sand, Suspicious Sand, and Concrete Powder Blocks as they do when walking on regular Sand (MCPE-163497)
  • Mobs can hold and pick up Illager Banner only in their main hand now (MCPE-151745)
  • Dolphins, Camels, and Sniffers can now have Balloons attached
  • The following mobs will now set their target on fire if the mob is on fire when attacking: Drowned, Husk, Zombie, and Zombified Villager (MCPE-77746)
  • Fixed an issue with Parrots facing a different position than the player when the player is in a Boat

Blocks

  • Falling blocks will now break when falling onto a Boat
  • Campfires within Trail Ruins are no longer lit by default (MCPE-170033)
  • Pink Petals can now be fertilized by Dispensers (MCPE-171560)
  • Shulker Boxes mined without a Pickaxe no longer take a long time to mine
  • Falling blocks now break and drop their item when falling on a Cocoa Bean
  • Calibrated Sculk Sensor's amethyst crystal now lights up alongside the rest of the block during its active phase (MCPE-168813) (MCPE-169953)
  • Hanging Signs placed with commands now have the proper hitbox (MCPE-163456)
  • "stained_hardened_clay" block is now split into unique instances, namely "white_terracotta", "orange_terracotta", "magenta_terracotta", "light_blue_terracotta", "yellow_terracotta", "lime_terracotta", "pink_terracotta", "gray_terracotta", "light_gray_terracotta", "cyan_terracotta", "purple_terracotta", "blue_terracotta", "brown_terracotta", "green_terracotta", "red_terracotta", and "black_terracotta"
    • Commands will still work with "stained_hardened_clay", but "stained_hardened_clay" won't be suggested in the command prompt, rather the new names will
  • Third person camera no longer phases through the lower part of the Composter (MCPE-171213)

Items

  • Suspicious Stew no longer shows up in the Creative inventory (a recent unintended change caused it to appear there)
  • It is once again possible to use Bone Meal underwater on Sand, Dirt, Gravel, and Clay (MCPE-171383)
  • Fixed held Maps not being centered when playing on narrow aspect ratio screens
  • The correct broken state of the Elytra is rendered in Item Frames (MCPE-19700)
  • Stonecutter no longer drops as an item when using the wrong tool (MCPE-33950)
  • Pickaxe can now quickly mine Pistons and Sticky Pistons (MCPE-62797)
  • Powering and unpowering a Redstone Repeater or Comparator no longer disrupts water flow (MCPE-157055)
  • Crossbow loses durability when shooting, not when drawn (MCPE-46490)

Sculk Vibrations

  • Sculk Sensors and Sculk Shriekers no longer risk losing vibrations when receiving them around the simulation distance limit
  • Vibrations are no longer produced when stopping the use of items while sneaking (MCPE-171254)
  • Wardens now detect items hitting the ground (MCPE-160889)
  • Sculk Sensors now send a signal to Sculk Shriekers when detecting items hitting the ground (MCPE-161165)
  • Throwing an Eye of Ender now emits vibrations
  • Minecarts now consistently emit vibrations when moving on Rails while empty
  • Collecting Fish, Axolotls, and Tadpoles with Buckets now emits vibrations
  • Cleaning items in Cauldrons now emits vibrations
  • Dying Leather Armor in Cauldrons now emits vibrations
  • Tipping Arrows in Cauldrons now emits vibrations
  • Using Dyes to change Cauldrons' water color now emits vibrations
  • Non-player actors now emit a vibration event when equipping Shields in their off-hand slot
  • Collecting Fish, Axolotl, and Tadpoles with Buckets now emits vibrations at the right position
  • Applying a Nametag now emits vibrations
  • Evokers summoning Vexes or Fangs now emit vibrations
  • Chickens laying eggs now emit vibrations
  • Turtles and Frogs laying eggs now emit vibrations
  • Using Bone Meal now emits vibrations
  • Sculk Sensors and Sculk Shriekers no longer activate repeatedly when a projectile is stuck in them (MCPE-172704)
  • Chiseled Bookshelves now emit vibrations when Books are inserted into them using Hoppers (MCPE-168887)
  • Extinguishing fire now emits vibrations
  • Mounting or dismounting a vehicle now emits vibrations
  • Rabbits eating Carrot crops now emit vibrations
  • Foxes eating Sweet Berry Bushes now emit vibrations
  • Unequipping armor now emits vibrations at a different frequency than equipping it
  • Placing a Banner now emits vibrations
  • Placing a Bamboo Sapling now emits vibrations
  • Placing a Mob Head now emits vibrations
  • Placing a Lily Pad now emits vibrations
  • Placing Frogspawn now emits vibrations
  • Placing or adding Sea Pickles now emits vibrations
  • Adding a Turtle Egg to already placed ones now emits vibrations of the same frequency as placing a block
  • Destroying a Turtle Egg now always emits vibrations of the same frequency as destroying a block, regardless of how many Turtle Eggs are left
  • Turtle Eggs cracking now emit vibrations

Realms

  • Fixed an issue which prevented some worlds from being downloaded from Realms on PlayStation 4
  • Fixed a bug where repeatedly pressing 'Esc' in Realms settings could remove UI or turn the screen black (REALMS-11388)

Accessibility

  • Fixed an issue where screen narration would read Recipe Book folder items as the first item in the folder
  • Screen narration now informs the user immediately after they change sliders and toggles
  • Screen narration will now read the disconnected message in the game menu when opened without an internet connection
  • Screen narrator will now read out the instruction text as well as the confirm button in the Safe Area menu

Touch Controls

  • Updated menu HUD icons for touch controls
  • Fixed an issue where the sneak input while flying would not work correctly with interactable blocks (MCPE-167043)
  • The functionality of long-pressing a crafting output slot on touch input has been returned to rapidly crafting single instances of the item in the output slot (MCPE-169728)
  • The rate of item crafting when long-pressing a crafting output slot has been slowed to 4 items per second and the time needed to long-press before starting the rapid crafting functionality has been reduced to 700 ms

User Interface

  • Nametags are no longer completely invisible while sneaking with the player still visible (MCPE-168789)
  • Pick Blocking a Decorated Pot will now produce the correct hover hint in the inventory (MCPE-171800)
  • Moved "Sync Old Worlds" button to the Settings/Storage screen
  • Changed Joystick Visibility option to a dropdown menu
  • Changed Sneak option to a dropdown menu
  • Added alerts for iOS players who have run out of disk space
  • Fixed UI flickering on Nintendo Switch
  • Banners' icons in hotbar and inventory are now properly displayed on Nintendo Switch (MCPE-169928)
  • The Lapis Lazuli icon in the Enchantment Table now matches the one in the Smithing Table screen
  • Large enchant labels in the Enchantment Table screen are no longer blocked by overlayed items in the inventory (MCPE-154428)
  • Fixed various pixel scaling issues on the HUD screen
  • Added three new user-friendly disconnection error messages and improved two others
  • iOS only: Fixed a bug in multiline text edits where some text was sometimes deleted when typing after repositioning the caret with spacebar (MCPE-166152)
  • Changed button text from "Manage" to "Cancel" in Options > Subscriptions
  • Fixed layering issue causing the underground vignette effect to draw on top of the hotbar (MCPE-159217)
  • Adding a button on the new death screen to allow player to go to the game menu to change settings, leave the world, and more
  • Fixed localization of 'Detected lost connection' connection is lost from other player or server (MCPE-173028)
  • Fixed textbox text sometimes not updating correctly when holding backspace on Android devices (MCPE-169840)
  • Fixed 'Full Keyboard Gameplay' support on iOS and Android
  • Fixed an issue where names with parentheses in them did not display on the inventory/crafting menus in their title (MCPE-161134)
  • Switching between Book and Quill pages with the gamepad now produces a sound (MCPE-162253)
  • Added a button to empty the search bar with one click
  • Pressing Return on the virtual keyboard no longer deletes text after cursor on Xbox (MCPE-172835)
  • Background now darkens while the Smithing Table UI is open and Pocket UI is enabled
  • Fixed ZL/ZR icons for Joy-Con and Switch Pro controller on Android
  • The caret can be re-positioned in text field by taps or mouse clicks (MCPE-131572)
  • The “Pause menu” has been renamed to “Game menu” in the user interface
  • Fixed layering issue causing the underground vignette effect to draw on top of all other HUD elements (MCPE-159217)

Audio

  • Strays now play the proper sound when firing bows (MCPE-172385)
  • Equipment sound is now played when switching between otherwise identical armor pieces, which may have differing enchantments and/or trims applied (MCPE-171527)
  • The Trails and Tales music tracks now play in the game menu (MCPE-171489)
  • Shields now play a sound when equipped in the off-hand slot (MCPE-168039)

Graphical

  • Added a new experimental toggle to Video menu for players on Windows which reduces input latency; enabling this setting will increase battery consumption (MCPE-98861)
  • The horizon no longer changes color when the player is standing under blocks (MCPE-85888)
  • Fixed a problem where blocks' rendering was not updating unless the player jumped (MCPE-173706)
  • Cherry Leaf blocks will now generate particle effects at a relatively large distance based on system performance
  • Transparent blocks viewed through an End Portal will no longer be visible nor flicker (MCPE-162061)
  • Fixed bottom face of portal effect so its color and transparency match the other faces
  • Fixed screen fade when sleeping in a Bed to no longer go fully opaque (MCPE-171461)
  • Name Tag rendering logic is now based on camera position rather than player position
  • The underwater fog in Cherry Groves now uses a transition that increases visibility after a while (MCPE-171822)

Marketplace

  • Players will now have a way to send a one-way message to Marketplace creators offering feedback on purchased items. This feedback could be used to improve future content and changes

Minimum Supported Mobile Hardware

As Minecraft grows, so must the operating system and hardware that supports it. For some older Apple devices, you may need to update to iOS 13 or above by February 2024 to continue receiving updates for Minecraft or to access online play. If you are on the most up-to-date version of iOS already, you have nothing to worry about. Please follow Apple’s guide on how to update your device. You can also refer to their list of devices currently compatible with iOS 13/iPadOS13.

For Android, as of February 2024, devices require greater than 1 GB RAM, run OS 8 (Oreo) or above, and have OpenGL ES 3.0 to run Minecraft.

Please refer to our Minecraft Help Center articles for further details:

Technical Updates

Updated Add-On Template Packs

  • Updated Add-On templates for 1.20.30 with new resources, behaviors, and documentation are available to download at aka.ms/MCAddonPacks

General

  • The game no longer crashes when it tries to place an invalid custom feature
  • Entity names beginning with a number will now result in a content error
  • Fixed an issue with gliding with Elytra and switching to Creative flight (MCPE-171797)
    • Moved some entity JSONs that were misplaced to the correct area
  • Updated Aux-Value to Block-State table in the documentation to account for data upgrade since inception
  • Added server-authoritative-sound bool to server.properties
  • Exposed the following feature placement rules from behind the data driven biome experimental toggle. This allows creators to attach their custom features to a biome, and to define the rules by which those features are placed
    • minecraft:aggregate_feature
    • minecraft:cave_carver_feature
    • minecraft:fossil_feature
    • minecraft:geode_feature
    • minecraft:growing_plant_feature
    • minecraft:multiface_feature
    • minecraft:nether_cave_carver_feature
    • minecraft:ore_feature
    • minecraft:partially_exposed_blob_feature
    • minecraft:scatter_feature
    • minecraft:search_feature
    • minecraft:sequence_feature
    • minecraft:single_block_feature
    • minecraft:snap_to_surface_feature
    • minecraft:structure_template_feature
    • minecraft:surface_relative_threshold_feature
    • minecraft:tree_feature
    • minecraft:underwater_cave_carver_feature
    • minecraft:vegetation_patch_feature
    • minecraft:weighted_random_feature

Dedicated Server

  • Notice for Linux Dedicated Server operators: Ubuntu 20.04 LTS (Focal Fossa) is now the minimum supported Ubuntu version
  • Fixed a Bedrock Dedicated Servers memory leak while loading chunks (BDS-17527)
  • Fixed an issue with the client failing to attempt connection to dedicated server in some situations

Commands

  • The /camera command no longer requires the experimental cameras toggle
    • Note: The cameras experiment still contains several example preset JSON files for reference
  • Camera commands that are sent in the same tick are no longer ignored (MCPE-173524)
  • Display a message when the players presses the camera perspective change button but a particular perspective is already set via the camera command
  • Entities no longer disappear when they are teleported to saved chunks near the edge of the player's render distance
  • Released command /scriptevent out of experimental
  • Fixed an issue where the controllers right/left d-pad autocompletes commands when the text box wasn’t selected, which also selected different UI elements on the screen
  • Fixed a bug that autocomplete suggestions for values coming after brackets are missing if there is no space between tilde (as Z coordinate) and block name in commands
  • The unknown block is no longer available to be set or filled via commands (MCPE-165301)
  • The 'hasitem' command will now use the data value as damage when selecting damageable items (MCPE-159409)
  • "stained_glass" block is now split into unique instances, namely "white_stained_glass", "orange_stained_glass", "magenta_stained_glass", "light_blue_stained_glass", "yellow_stained_glass", "lime_stained_glass", "pink_stained_glass", "gray_stained_glass", "light_gray_stained_glass", "cyan_stained_glass", "purple_stained_glass", "blue_stained_glass", "brown_stained_glass", "green_stained_glass", "red_stained_glass", and "black_stained_glass"
    • Commands will still work with "stained_glass", but "stained_glass" won't be suggested in the command prompt, rather the new names will
  • "stained_glass_pane" block is now split into unique instances, namely "white_stained_glass_pane", "orange_stained_glass_pane", "magenta_stained_glass_pane", "light_blue_stained_glass_pane", "yellow_stained_glass_pane", "lime_stained_glass_pane", "pink_stained_glass_pane", "gray_stained_glass_pane", "light_gray_stained_glass_pane", "cyan_stained_glass_pane", "purple_stained_glass_pane", "blue_stained_glass_pane", "brown_stained_glass_pane", "green_stained_glass_pane", "red_stained_glass_pane", and "black_stained_glass_pane"
    • Commands will still work with "stained_glass_pane", but "stained_glass_pane" won't be suggested in the command prompt, rather the new names will
  • "concrete_powder" block is now split into unique instances, namely "white_concrete_powder", "orange_concrete_powder", "magenta_concrete_powder", "light_blue_concrete_powder", "yellow_concrete_powder", "lime_concrete_powder", "pink_concrete_powder", "gray_concrete_powder", "light_gray_concrete_powder", "cyan_concrete_powder", "purple_concrete_powder", "blue_concrete_powder", "brown_concrete_powder", "green_concrete_powder", "red_concrete_powder", and "black_concrete_powder"
    • Commands will still work with "concrete_powder", but "concrete_powder" won't be suggested in the command prompt, rather the new names will
  • Blocks that had an alias prior to being flattened can now be properly referenced in commands

Sound

  • Sound definitions now accept both float and integer values for min_distance and max_distance - please set sound_definitions.json "format_version" parameter equal to or greater than 1.20.20 to use this functionality (MCPE-154378)

Items

  • Released the "minecraft:wearable" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:hand_equipped" item component out of experimental in json formats 1.20.20 and higher
  • Deprecated "minecraft:creative_category" component in json formats 1.20.20 and higher
  • Creative group and command visibility can now be set in the "description" field in json formats 1.20.20 and higher
  • Renamed the "minecraft:foil" item component to "minecraft:glint" and released it out of experimental in json formats 1.20.20 and higher
  • Changed fire enchant duration used on projectiles from a ShooterItemComponent to match vanilla behavior
  • Released the "minecraft:use_duration" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:stacked_by_data" item component out of experimental in json formats 1.20.20 and higher
  • "minecraft:entity_placer" will now content error when invalid blocks are named in the "use_on" and "dispense_on" lists
  • Released the "minecraft:use_animation" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:allow_off_hand" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:should_despawn" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:liquid_clipped" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:damage" item component out of experimental in json formats 1.20.20 and higher
  • Released the "minecraft:digger" item component out of experimental in json formats 1.20.20 and higher
  • Deprecated "on_dig" parameters from "minecraft:digger" item component in formats 1.20.20 and higher
  • Released the "minecraft:enchantable" item component out of experimental in json formats 1.20.30 and higher
  • Deprecated "minecraft:mining_speed" in json formats 1.20.30 and higher. Use "minecraft:digger" instead to achieve the same functionality
  • Released the "minecraft:food" item component out of experimental in json formats 1.20.30 and higher
  • Added "minecraft:interact_button" item component to enable and set text on the interact button in json formats 1.20.30 and above
  • Fixed an issue where content errors for items at the latest format version would appear for other items

Add-Ons and Script Engine

  • Render controllers without textures will now result in a content error and be ignored
  • Added support for the "allow_random_seed" option in world template manifests
  • Fixed a bug which prevented certain worlds with add-ons from being downloaded from Realms on some console platforms
    • Applied a fix with the way block descriptors resolved custom block states where it could resolve to the wrong state if multiple custom block states had the same name
  • AmethystCluster blocks use state "minecraft:block_face" instead of "facing_direction". "minecraft:block_face" uses string values ("down", "up", "north", "south", "east", "west")
  • Slab blocks use state "minecraft:vertical_half" instead of "top_slot_bit". "minecraft:vertical_half" uses string values ("bottom", "top")
  • Display a warning message when camera perspective option is changed in the settings menu but a camera command is active
  • Moved PlacementDirection ("minecraft:placement_direction") and PlacementPosition ("minecraft:placement_position") block traits out of experimental. These traits can be used for blocks with "format_version" >= "1.20.20"
  • Added Script Binding functions to get/set the CompoundBlockVolume origin
  • Added additional params to some methods to query the children of CompoundBlockVolume for their positional relativity to the parent
  • Added additional params to some methods to freeze positional relativty when origin changes are submitted
  • Big Dripleaf blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Small Dripleaf blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Pink Petals blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • End Portal Frame blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Lectern blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Anvil blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Campfire blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Soul Campfire blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Calibrated Sculk Sensor blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Powered Comparator blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Unpowered Comparator blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Powered Repeater blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • Unpowered Repeater blocks use state "minecraft:cardinal_direction" instead of "direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3]
  • BlastFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • Furnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitBlastFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitFurnace blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • LitSmoker blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]
  • Smoker blocks use state "minecraft:cardinal_direction" instead of "facing_direction", this state uses string values ["south", "west", "north", and "east"] instead of [0, 1, 2, 3, 5, 6]

Mobs

  • "cooldown" field for target descriptors now properly work in "minecraft:behavior.nearest_prioritized_attackable_target" goal
  • Exposed new data parameter "can_spread_on_fire" for the "minecraft:behavior.melee_attack" component to specify if the mob should set its target on fire when attacking if the attacking mob is on fire (MCPE-77746)

Script API

  • Converting the CompoundBlockVolume container to use relative coordinates to an internal origin
  • Normalize the use of CompoundBlockVolume instead of Selection across Editor API

Molang

  • Renamed block_property and has_block_property to block_state and has_block_state
    • This is a Molang Versioned Change that only takes effect for Molang expressions in packs that use a min_engine_version of 1.20.20 or higher

Experimental Technical Features

API

  • Added Scoreboard.addScore and improved Scoreboard.setScore to return the updated score
  • Using ScoreboardObjective.removeParticipant is now properly synced with clients (MCPE-172920)
  • ScriptEventCommandMessageAfterEvent
    • Made initiator, sourceBlock, and sourceEntity optional types
  • Removed MinecraftEntityTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Removed MinecraftItemTypes from @minecraft/server and replaced with version from @minecraft/vanilla-data
  • Exposed MoonPhase and World.getMoonPhase to script
  • Removed server-authoritative-sound bool from server.properties
  • Exposed DimensionType to scripting
  • Converted "set_block_property" to "set_block_state" for custom blocks
  • Added defineVector to DynamicPropertiesDefinition
  • EntityEquipmentInventoryComponent
    • Implemented slot validation for setEquipment, which now returns a boolean indicating whether the item can be equipped to the specified slot
    • EntityEquipmentInventoryComponent is currently limited to Players only. However, we hope to reintroduce this component for mobs in a future update
      • Moved getDay() to 1.4.0
      • Moved getTimeOfDay() to 1.4.0
      • Moved setTimeOfDay(timeOfDay: number | TimeOfDay) to 1.4.0
      • Moved getAbsoluteTime() to 1.4.0
      • Moved setAbsoluteTime(absoluteTime: number) to 1.4.0
  • Moved TimeOfDay to 1.4.0
    • Added length restrictions to setLore - Up to 20 lines with up to 50 characters per line
    • Moved function setLore to 1.4.0
    • Moved function getLore to 1.4.0
    • Moved class SystemAfterEvents to 1.4.0
    • Moved class ScriptEventCommandMessageAfterEvent to 1.4.0
  • Moved player onScreenDisplay to 1.4.0
  • Moved titleDisplayOptions to 1.4.0
  • Moved screenDisplay to 1.4.0
  • Moved ProjectileHitBlockAfterEvent to 1.5.0.
  • Moved ProjectileHitEntityAfterEvent to 1.5.0.
  • Moved ProjectileHitBlockAfterEventSignal to 1.5.0.
  • Moved ProjectileHitEntityAfterEventSignal to 1.5.0.
  • Moved BlockHitInformation to 1.5.0.
  • Moved EntityHitInformation to 1.5.0.
    • Moved spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap) to 1.5.0
    • Moved setColorRGB(variableName: string, color: RGB) to 1.5.0
    • Moved setColorRGBA(variableName: string, color: RGBA) to 1.5.0
    • Moved setFloat(variableName: string, number: number) to 1.5.0
    • Moved setSpeedAndDirection(variableName: string, speed: number, direction: Vector3) to 1.5.0
    • Moved setVector3(variableName: string, vector: Vector3) to 1.5.0
  • RGB
    • Moved RGB to 1.5.0
    • Moved RGBA to 1.5.0
    • Moved triggerEvent(eventName: string) to 1.5.0
  • Renamed EntityEquipmentInventoryComponent to EntityEquippableComponent
  • Fixed issue where prototype properties are not possible to redefine using defineProperty (MCPE-174073)
  • ItemStack
    • Added getCanPlaceOn() and getCanDestroy()
    • Added upper maximum limit of 255 to amount property - will throw if exceeds
  • Entity
    • Added function getProperty(identifier: string): boolean | number | string | undefined - Gets an Entity Property
    • Added function setProperty(identifier: string, value: boolean | number | string): void - Sets an Entity Property during the next tick
    • Added function resetProperty(identifier: string): boolean | number | string; - Resets an Entity Property to its default value during the next tick and returns the default value
  • world.beforeEvents
    • Added event/property removeEvent
  • world.afterEvents
    • Renamed event/property removedEvent to removeEvent
  • Class EntityRemovedAfterEvent
    • Renamed field removedEntity to removedEntityId: removedEntityId: string
    • Added field typeId: string
  • Added class EntityRemovedBeforeEvent
    • Added field removedEntity: Entity
  • Moved EquipmentSlot to 1.5.0 and changed enum values to uppercase
  • Moved EntityEquippableComponent to 1.5.0
  • Scoreboard
    • setObjectiveAtDisplaySlot return type now correctly set to ScoreboardObjective or undefined
  • ScoreboardIdentity
    • getEntity return type now correctly set to Entity or undefined
  • setWeather API can now take an optional duration parameter to set the weather duration
  • Added read-only property heightRange: NumberRange - Gets min/max dimension height limits.
  • Added Player.isSleeping and Player.isEmoting
  • Changed Entity.scoreboardIdentity to be valid even after the entity has been killed
  • World Events
    • Renamed BlockBreakAfterEvent to PlayerBreakBlockAfterEvent
      • Added readonly itemStackAfterBreak?: ItemStack (undefined if empty hand)
      • Added readonly itemStackBeforeBreak?: ItemStack (undefined if empty hand)
    • Renamed BlockBreakAfterEventSignal to PlayerBreakBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerBreakBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • itemStack?: ItemStack, the item stack in use by the player (undefined if empty hand)
      • readonly player: Player, the player breaking the block
    • Added PlayerBreakBlockBeforeEventSignal
    • Renamed BlockPlaceAfterEvent to PlayerPlaceBlockAfterEvent
    • Renamed BlockPlaceAfterEventSignal to PlayerPlaceBlockAfterEventSignal
      • subscribe function now takes options?: BlockEventOptions
    • Added PlayerPlaceBlockBeforeEvent with the following members
      • cancel: boolean, cancels event from happening
      • readonly face: Direction, the face the block is being placed on
      • readonly faceLocation: Vector3, the location on the face the block was placed on
      • itemStack: ItemStack, the item stack being used to place the block
      • readonly player: Player, the player placing the block
    • Added PlayerPlaceBlockBeforeEventSignal
    • Modified WorldAfterEvents
      • Renamed blockBreak to playerBreakBlock
      • Renamed blockPlace to playerPlaceBlock
    • Modified WorldBeforeEvents
      • Added playerBreakBlock
      • Added playerPlaceBlock
    • Added BlockEventOptions with the following members
      • blockTypes?: string[], names of blocks to be filtered against
      • permutations?: BlockPermutation[], specific block permutations to be filtered against
  • Added class EntityLoadAfterEvent
    • New field entity: Entity
    • Added class EntityLoadAfterEventSignal
  • Class EntitySpawnAfterEvent
    • Added property readonly cause: EntityInitializationCause_
  • Class WorldAfterEvents
    • Added property readonly entityLoad: EntityLoadAfterEventSignal
  • Added enum EntityInitializationCause

Moved the following APIs from beta to stable:

  • Moved Direction to 1.4.0.
  • Moved EntityDamageSource to 1.4.0.
  • Moved EntityDieAfterEvent to 1.4.0.
  • Moved EntityEventOptions to 1.4.0.
  • Moved EntityHitBlockAfterEvent to 1.4.0.
  • Moved EntityHitEntityAfterEvent to 1.4.0.
  • Moved EntityHurtAfterEvent to 1.4.0.
  • Moved EntityHealthChangedAfterEvent to 1.4.0.
  • Moved Dimension.getBlockFromRay method to 1.4.0
  • Moved Dimension.getEntitiesFromRay method to 1.4.0
  • Moved Entity.getBlockFromViewDirection method to 1.4.0
  • Moved Entity.getEntitiesFromViewDirection method to 1.4.0
  • Moved BlockRaycastHit to 1.4.0
  • Moved BlockRaycastOptions to 1.4.0
  • Moved EntityRaycastHit to 1.4.0
  • Moved EntityRaycastOptions to 1.4.0
  • Moved PressurePlatePushEvent to 1.4.0.
  • Moved PressurePlatePopEvent to 1.4.0.
  • Moved TripWireTripEvent to 1.4.0.
  • Moved TargetBlockHitEvent to 1.4.0.
    • Made property id accessible even if entity is not valid
    • Made property typeId accessible even if entity is not valid
    • Changed item event source properties from type Entity to Player
  • Added camera scripting APIs for the following APIs:
    • setCamera(): to set the camera to a specified preset
    • fade(): to start a camera fade
    • clear(): to clear the current settings on the camera
  • Released Scoreboard API's from beta to V1.4.0
    • Updated Scoreboard.getObjective, getObjectiveAtDisplaySlot, and clearObjectiveAtDisplaySlot to return '| undefined'
  • Removed MinecraftBlockTypes defined in @minecraft/server
  • Moved ItemUseBeforeEvent to 1.4.0
  • Moved ItemUseOnBeforeEvent to 1.4.0
  • Moved ItemUseAfterEvent to 1.4.0
  • Moved ItemUseOnAfterEvent to 1.4.0
  • Moved ItemStartUseOnAfterEvent to 1.4.0
  • Moved ItemStopUseAfterEvent to 1.4.0
  • Moved ItemStopUseOnAfterEvent to 1.4.0
  • Moved ItemCompleteUseAfterEvent to 1.4.0
  • Moved ItemReleaseUseAfterEvent to 1.4.0
  • Moved ItemStartUseAfterEvent to 1.4.0
  • Moved DimensionLocation to 1.4.0
  • Renamed PositionInUnloadedChunkError to LocationInUnloadedChunkError and moved it to 1.4.0
  • Renamed PositionOutOfWorldBoundariesError to LocationOutOfWorldBoundariesError and moved it to 1.4.0
    • Moved getSpawnPoint to 1.4.0
    • Moved setSpawnPoint to 1.4.0
    • Moved getDefaultSpawnLocation to 1.4.0
    • Moved setDefaultSpawnLocation to 1.4.0
  • Released isValid() from Beta to 1.4.0 for the following classes:
    • Block
    • Container
    • Entity
    • Player
    • SimulatedPlayer
  • WorldAfterEvents
    • Removed projectileHit
    • Added projectileHitBlock
    • Added projectileHitEntity
  • Added class ProjectileHitBlockAfterEvent export class:
    ProjectileHitBlockAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getBlockHit(): BlockHitInformation; }
  • Added class ProjectileHitEntityAfterEvent export class:
    ProjectileHitEntityAfterEvent { readonly dimension: Dimension; readonly hitVector: Vector3; readonly location: Vector3; readonly projectile: Entity; readonly source?: Entity; getEntityHit(): EntityHitInformation; }
  • Fixed a bug where ContainerSlot would not work with certain container types (MCPE-168805)
  • Fixed a bug where setLore would incorrectly calculate the length of lore strings containing multi-byte characters (MCPE-173189)
    • Added function remove - Removes the Entity. This cannot be called on Players but can be used on SimulatedPlayers in Gametest
  • MolangVariableMap
    • Added setFloat function
    • Changed return type of setColorRBG, setColorRGBA, setSpeedAndDirection, and setVector3 to void
    • Changed the MolangVariableMap property on spawnParticle to be optional: spawnParticle(effectName: string, location: Vector3, molangVariables?: MolangVariableMap): void
  • Renamed Color interface to RGBA
  • Added interface RGB

Blocks

  • Custom blocks will now only transmit Redstone power if they are a unit cube and all materials are opaque (MCPE-168998)
  • Updated isSolid, isLiquid, and isAir to be properties instead of methods

Items

  • Fixed issue where items with the "minecraft:wearable" component would be duplicating when equipping by using the item (MCPE-159736)
  • Items with the "minecraft:wearable" component in non-weapon slots can no longer be stacked (MCPE-159736)
  • Removed the "minecraft:ignores_permission" component
  • Removed the "minecraft:mirrored_art" component
  • Moved the "protection" field from "minecraft:armor" component to "minecraft:wearable" component in json formats 1.20.20 and higher
  • Deprecate "minecraft:armor" component in json formats 1.20.20 and higher
  • Removed nonfunctional and redundant slot options from "minecraft:wearable" component, ie. mainhand, hotbar, inventory, enderchest, and equippable
  • Items with the "minecraft:wearable" component using the "slot.weapon.offhand" slot will no longer equip when item is used in hotbar
  • Equipping custom wearable items trigger generic equip sound
  • Custom items with "minecraft:wearable" component can now be equipped by clicking and dragging in inventory or shift-clicking
  • Removed the "minecraft:animates_in_toolbar" component
  • Removed the "minecraft:explodable" component
  • Extra damage hover text now appears on all component items that have an applied sharpness enchantment
  • The "minecraft:shooter" component now supports the Quick Charge enchantment with "minecraft:enchantable" when "charge_on_draw" is true
  • Added support for efficiency enchantment for data driven items using the "minecraft:digger" component
  • Remove nonfunctional entity slot options from "minecraft:wearable" component, ie. saddle, entity armor, and chest
  • Custom items with "minecraft:wearable" component auto-equip when dropped from a dispenser, matching parity with Vanilla armor items
  • Fixed an issue where items with format version 1.20.20 and above using the 'menu_category' field in a world with the 'Holiday Creator Features' toggle enabled would not load
  • Removed "minecraft:requires_interact" component
  • Fixed issue with content errors occurring with the Holiday Creator Features toggle turned on when using a json object version of "max_stack_size", "can_destroy_in_creative", "hover_text_color"

Block Destroy Time Changes - Full List

Bedrock ID Bedrock Name Destroy Time Explosion Resistance
activator_rail Activator Rail 0.5 → 0.7 0.5 → 0.7
ancient_debris Ancient Debris 720 → 1200
andesite_stairs Andesite Stairs 2 → 1.5
bamboo Bamboo 2 → 1 2 → 1
bamboo_block Block of Bamboo 3 → 2
bamboo_sapling Bamboo Shoot 0 → 1 0 → 1
bee_nest Bee Nest 2.7 → 0.3
beehive Beehive 5.4 → 0.6
bell Bell 1 → 5 3 → 5
big_dripleaf Big Dripleaf 0 → 0.1 0 → 0.1
campfire Campfire 5 → 2 5 → 2
chain Chain 3 → 6
chiseled_deepslate Chiseled Deepslate 3.6 → 6
cobbled_deepslate Cobbled Deepslate 3.6 → 6
cobbled_deepslate_double_slab Cobbled Deepslate Slab (Double) 3.6 → 6
cobbled_deepslate_slab Cobbled Deepslate Slab 3.6 → 6
cobbled_deepslate_stairs Cobbled Deepslate Stairs 3.6 → 6
cobbled_deepslate_wall Cobbled Deepslate Wall 3.6 → 6
composter Composter 2 → 0.6 2 → 0.6
copper_block Block of Copper 3.6 → 6
copper_ore Copper Ore 1.8 → 3
coral_block Coral Block (10 blocks) 7 → 1.5 0.9 → 6
coral_fan Coral Fan (5 blocks) 0.9 → 0
coral_fan_dead Dead Coral Fan (5 blocks) 0.9 → 0
coral_fan_hang Coral Wall Fan (2 blocks) 0.9 → 0
coral_fan_hang2 Coral Wall Fan (2 blocks) 0.9 → 0
coral_fan_hang3 Coral Wall Fan (1 block) 0.9 → 0
cracked_deepslate_bricks Cracked Deepslate Bricks 3.6 → 6
cracked_deepslate_tiles Cracked Deepslate Tiles 3.6 → 6
crimson_hyphae Crimson Hyphae 0.3 → 2 0.3 → 2
crimson_stem Crimson Stem 0.3 → 2
cut_copper Cut Copper 3.6 → 6
cut_copper_slab Cut Copper Slab 3.6 → 6
cut_copper_stairs Cut Copper Stairs 3.6 → 6
deepslate Deepslate 3.6 → 6
deepslate_brick_double_slab Deepslate Brick Slab (Double) 3.6 → 6
deepslate_brick_slab Deepslate Brick Slab 3.6 → 6
deepslate_brick_stairs Deepslate Brick Stairs 3.6 → 6
deepslate_brick_wall Deepslate Brick Wall 3.6 → 6
deepslate_bricks Deepslate Bricks 3.6 → 6
deepslate_coal_ore Deepslate Coal Ore 1.8 → 3
deepslate_copper_ore Deepslate Copper Ore 1.8 → 3
deepslate_diamond_ore Deepslate Diamond Ore 1.8 → 3
deepslate_gold_ore Deepslate Gold Ore 1.8 → 3
deepslate_iron_ore Deepslate Iron Ore 1.8 → 3
deepslate_lapis_ore Deepslate Lapis Lazuli Ore 1.8 → 3
deepslate_redstone_ore Deepslate Redstone Ore 1.8 → 3
deepslate_tile_double_slab Deepslate Tile Slab (Double) 3.6 → 6
deepslate_tile_slab Deepslate Tile Slab 3.6 → 6
deepslate_tile_stairs Deepslate Tile Stairs 3.6 → 6
deepslate_tile_wall Deepslate Tile Wall 3.6 → 6
deepslate_tiles Deepslate Tiles 3.6 → 6
diorite_stairs Diorite Stairs 2 → 1.5
double_cut_copper_slab Cut Copper Slab (Double) 3.6 → 6
dragon_egg Dragon Egg 3 → 9
dried_kelp_block Dried Kelp Block 0.5 → 2.5
end_brick_stairs End Stone Brick Stairs 2 → 3 6 → 9
end_bricks End Stone Bricks 0.8 → 3 0.8 → 9
exposed_cut_copper_slab Exposed Cut Copper Slab 3.6 → 6
exposed_copper Exposed Copper 3.6 → 6
exposed_cut_copper Exposed Cut Copper 3.6 → 6
exposed_cut_copper_stairs Exposed Cut Copper Stairs 3.6 → 6
exposed_double_cut_copper_slab Exposed Cut Copper Slab (Double) 3.6 → 6
granite_stairs Granite Stairs 2 → 1.5
infested_deepslate Infested Deepslate 1.8 → 0.75
jukebox Jukebox 0.8 → 2 0.8 → 6
lantern Lantern 5 → 3.5 5 → 3.5
lectern Lectern 2 → 2.5 2 → 2.5
light_block Light Block 3600000 → 3600000.8
light_gray_candle Light Gray Candle 0 → 0.1 0 → 0.1
lightning_rod Lightning Rod 3.6 → 6
lodestone Lodestone 2 → 3.5 2 → 3.5
magma Magma Block 1.5 → 0.5
monster_egg Infested blocks (5 blocks, missing Infested Cobblestone) 1.8 → 0.75
mossy_stone_brick_stairs Mossy Stone Brick Stairs 2 → 1.5
mud_bricks Mud Bricks 2 → 1.5 2 → 3
mud_brick_slab Mud Brick Slab 2 → 1.5 6 → 3
mud_brick_double_slab Mud Brick Slab (Double) 2 → 1.5 6 → 3
mud_brick_stairs Mud Brick Stairs 2 → 1.5 6 → 3
mud_brick_wall Mud Brick Wall 2 → 1.5 6 → 3
netherite_block Block of Netherite 720 → 1200
oxidized_cut_copper Oxidized Cut Copper 3.6 → 6
oxidized_cut_copper_slab Oxidized Cut Copper Slab 3.6 → 6
oxidized_cut_copper_stairs Oxidized Cut Copper Stairs 3.6 → 6
oxidized_copper Oxidized Copper 3.6 → 6
oxidized_double_cut_copper_slab Oxidized Cut Copper Slab (Double) 3.6 → 6
piston Piston 0.5 → 1.5 0.5 → 1.5
piston_arm_collision Piston Head (Normal) 0.5 → 1.5 0.5 → 1.5
pointed_dripstone Pointed Dripstone 1.8 → 3
polished_andesite_stairs Polished Andesite Stairs 2 → 1.5
polished_blackstone Polished Blackstone 1.5 → 2
polished_blackstone_stairs Polished Blackstone Stairs 1.5 → 2
polished_blackstone_wall Polished Blackstone Wall 1.5 → 2
polished_deepslate Polished Deepslate 3.6 → 6
polished_deepslate_double_slab Polished Deepslate Slab (Double) 3.6 → 6
polished_deepslate_slab Polished Deepslate Slab 3.6 → 6
polished_deepslate_stairs Polished Deepslate Stairs 3.6 → 6
polished_deepslate_wall Polished Deepslate Wall 3.6 → 6
polished_diorite_stairs Polished Diorite Stairs 2 → 1.5
polished_granite_stairs Polished Granite Stairs 2 → 1.5
reinforced_deepslate Reinforced Deepslate 720 → 1200
respawn_anchor Respawn Anchor 720 → 1200
scaffolding Scaffolding 0.6 → 0 0.9 → 0
sculk Sculk 0.6 → 0.2 0.6 → 0.2
sculk_catalyst Sculk Catalyst 1.8 → 3
sculk_shrieker Sculk Shrieker 1.8 → 3
shulker_box Shulker Box (16 blocks) 2.5 → 2 2.5 → 2
smooth_quartz_stairs Smooth Quartz Stairs 0.8 → 2 0.8 → 6
smooth_stone Smooth Stone 1.5 → 2
sniffer_egg Sniffer Egg 0.4 → 0.5 0.4 → 0.5
soul_campfire Soul Campfire 5 → 2 5 → 2
soul_lantern Soul Lantern 5 → 3.5 5 → 3.5
soul_soil Soul Soil 1 → 0.5 1 → 0.5
sticky_piston Sticky Piston 0.5 → 1.5 0.5 → 1.5
sticky_piston_arm_collision Piston Head (Sticky) 0.5 → 1.5 0.5 → 1.5
stripped_bamboo_block Block of Stripped Bamboo 3 → 2
stripped_crimson_hyphae Stripped Crimson Hyphae 0.3 → 2 0.3 → 2
stripped_crimson_stem Stripped Crimson Stem 0.3 → 2
stripped_warped_hyphae Stripped Warped Hyphae 0.3 → 2 0.3 → 2
stripped_warped_stem Stripped Warped Stem 0.3 → 2
sweet_berry_bush Sweet Berry Bush 0.2 → 0 0.2 → 0
turtle_egg Turtle Egg 0.4 → 0.5 0.4 → 0.5
undyed_shulker_box Shulker Box 2.5 → 2 2.5 → 2
warped_hyphae Warped Hyphae 0.3 → 2 0.3 → 2
warped_stem Warped Stem 0.3 → 2
waxed_cut_copper Waxed Cut Copper 3.6 → 6
waxed_cut_copper_slab Waxed Cut Copper Slab 3.6 → 6
waxed_cut_copper_stairs Waxed Cut Copper Stairs 3.6 → 6
waxed_copper Waxed Block of Copper 3.6 → 6
waxed_double_cut_copper_slab Waxed Cut Copper Slab (Double) 3.6 → 6
waxed_exposed_copper Waxed Exposed Copper 3.6 → 6
waxed_exposed_cut_copper Waxed Exposed Cut Copper 3.6 → 6
waxed_exposed_cut_copper_slab Waxed Exposed Cut Copper Slab 3.6 → 6
waxed_exposed_cut_copper_stairs Waxed Exposed Cut Copper Stairs 3.6 → 6
waxed_exposed_double_cut_copper_slab Waxed Exposed Cut Copper Slab (Double) 3.6 → 6
waxed_oxidized_copper Waxed Oxidized Copper 3.6 → 6
waxed_oxidized_cut_copper Waxed Oxidized Cut Copper 3.6 → 6
waxed_oxidized_cut_copper_stairs Waxed Oxidized Cut Copper Stairs 3.6 → 6
waxed_oxidized_cut_copper_slab Waxed Oxidized Cut Copper Slab 3.6 → 6
waxed_oxidized_double_cut_copper_slab Waxed Oxidized Cut Copper Slab (Double) 3.6 → 6
waxed_weathered_cut_copper Waxed Weathered Cut Copper 3.6 → 6
waxed_weathered_cut_copper_slab Waxed Weathered Cut Copper Slab 3.6 → 6
waxed_weathered_cut_copper_stairs Waxed Weathered Cut Copper Stairs 3.6 → 6
waxed_weathered_copper Waxed Weathered Copper 3.6 → 6
waxed_weathered_double_cut_copper_slab Waxed Weathered Cut Copper Slab (Double) 3.6 → 6
weathered_copper Weathered Copper 3.6 → 6
weathered_cut_copper Weathered Cut Copper 3.6 → 6
weathered_cut_copper_slab Weathered Cut Copper Slab 3.6 → 6
weathered_cut_copper_stairs Weathered Cut Copper Stairs 3.6 → 6
weathered_double_cut_copper_slab Weathered Cut Copper Slab (Double) 3.6 → 6

Remaining Parity Breaks

DT - destroy time
ER - explosion resistance

Bedrock ID Bedrock name DT Bedrock DT Java ER Bedrock ER Java
cobblestone_wall Granite Wall 2 1.5
cobblestone_wall Sandstone Wall 2 0.8 6 0.8
cobblestone_wall Prismarine Wall 2 1.5
cobblestone_wall Diorite Wall 2 1.5
cobblestone_wall Andesite Wall 2 1.5
cobblestone_wall End Stone Brick Wall 2 3 6 9
cobblestone_wall Stone Brick Wall 2 1.5
cobblestone_wall Mossy Stone Brick Wall 2 1.5
cobblestone_wall Red Sandstone Wall 2 0.8 6 0.8
stone_block_slab2 Prismarine Brick Slab 2 1.5
stone_block_slab2 Dark Prismarine Slab 2 1.5
stone_block_slab2 Prismarine Slab 2 1.5
double_stone_block_slab2 Prismarine Brick Slab (Double) 2 1.5
double_stone_block_slab2 Dark Prismarine Slab (Double) 2 1.5
double_stone_block_slab2 Prismarine Slab (Double) 2 1.5
stone_block_slab3 Andesite Slab 2 1.5
stone_block_slab3 End Stone Brick Slab 2 3 6 9
stone_block_slab3 Polished Andesite Slab 2 1.5
stone_block_slab3 Polished Diorite Slab 2 1.5
stone_block_slab3 Granite Slab 2 1.5
stone_block_slab3 Diorite Slab 2 1.5
stone_block_slab3 Polished Granite Slab 2 1.5
double_stone_block_slab3 Andesite Slab (Double) 2 1.5
double_stone_block_slab3 End Stone Brick Slab (Double) 2 3 6 9
double_stone_block_slab3 Polished Andesite Slab (Double) 2 1.5
double_stone_block_slab3 Polished Diorite Slab (Double) 2 1.5
double_stone_block_slab3 Granite Slab (Double) 2 1.5
double_stone_block_slab3 Diorite Slab (Double) 2 1.5
double_stone_block_slab3 Polished Granite Slab (Double) 2 1.5
stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5
double_stone_block_slab4 Mossy Stone Brick Slab (Double) 2 1.5
crying_obsidian Crying Obsidian 35 50
monster_egg Infested Cobblestone 0.75 1
obsidian Obsidian 35 50
quartz_block Smooth Quartz 0.8 2 0.8 6
red_sandstone Smooth Red Sandstone 0.8 2 0.8 6
sandstone Smooth Sandstone 0.8 2 0.8 6

Minecraft - 1.20.15 (Bedrock)

A new update has been released to improve stability of the game. This update is currently available on Xbox, PlayStation, and Android. Other platforms will receive the update as it becomes ready!

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

Fixes:

  • Fixed a top crash that could occur during gameplay
  • Fixed a bug related to some packs not being available to purchase successfully from the Marketplace

Minecraft - 1.20.15 (Bedrock)

A new update has been released to improve stability of the game.

Update: As of August 18, this update is now available on all supported platforms!

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

Fixes:

  • Fixed a top crash that could occur during gameplay
  • Fixed a bug related to some packs not being available to purchase successfully from the Marketplace

Minecraft - 1.20.14 (PlayStation Only)

A new update has been released for PlayStation only to address a top crash and Store issue.

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

Fixes:

  • Fixed a top crash that could occur during gameplay
  • Fixed an issue on PlayStation causing players to lose access to the Store

Minecraft - 1.20.14 (PlayStation Only)

A new update has been released for PlayStation only to address a top crash and Store issue.

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

Fixes:

  • Fixed a top crash that could occur during gameplay
  • Fixed an issue on PlayStation causing players to lose access to the Store

Minecraft - 1.20.13 (iOS Only)

A new update has been released for iOS only to address a top crash.

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

Fixes:

  • Fixed a crash that could occur on iOS

Minecraft - 1.20.13 (iOS Only)

A new update has been released for iOS only to address a top crash.

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

Fixes:

  • Fixed a crash that could occur on iOS