Minecraft:Java Edition 1.20.5
More actions
Template:Dangerous version Template:Infobox version Template:Relevant guide
1.20.5, the release of Minecraft:Armored Paws, is a Minecraft:game drop for Minecraft:Java Edition released on April 23, 2024.<ref>Template:Mcnet</ref> It adds Minecraft:armadillos, Minecraft:wolf armor, new wolf variants, redoes how items store data, along with fixing many bugs. Additionally, it updates the Update 1.21 Experiment, including the addition of the Minecraft:bogged, the Minecraft:vault, Minecraft:breeze rods, Minecraft:wind charges, the Minecraft:mace, and Minecraft:ominous events. This is the first version released in 2024, and the first release version of Java Edition to require a 64-bit operating system and Java 21 or later.<ref>Template:Snap</ref>
Additions
Items
File:Armadillo Scute JE2 BE2.png Minecraft:Armadillo scute
- Dropped by Minecraft:armadillos periodically and when Minecraft:brushed.
- Minecraft:Dispensers can be used to brush armadillo scutes off armadillos.
- Can be used to craft and repair Minecraft:wolf armor.
File:Wolf Armor JE3 BE3.png Minecraft:Wolf armor
- Crafted with 6 Minecraft:armadillo scutes in a harness shape.
- Protects Minecraft:wolves from most damage sources until the armor loses all durability and breaks.
- Provides an armor value of Template:Armor.
- Shows signs of increased breakage as durability goes down.
- Using wolf armor on an adult tamed wolf equips the armor on the wolf, and using Minecraft:shears makes it drop the armor.
- When the wolf gets sheared, the player is granted the Shear Brilliance advancement.
- Only a wolf's owner can put on / shear off wolf armor. That also excludes dispensers.
- The wolf's owner can repair the armor with Minecraft:armadillo scutes while it is equipped on the Minecraft:wolf.
- If a wolf dies while wearing armor, it drops the armor.
- Wolf armor can be dyed similarly to Minecraft:leather armor.
Mobs
File:Armadillo JE2 BE2.png Minecraft:Armadillo
- The winner of Minecraft:Minecraft Live 2023's Mob Vote.
- A passive mob that spawns in Minecraft:savanna and Minecraft:badlands biomes with the same frequency as Minecraft:chickens and Minecraft:pigs.
- Has Template:Hp health points.
- Can drop Minecraft:armadillo scutes either periodically or when Minecraft:brushed, but drops no loot when killed.
- Armadillos drop scutes at around the same rate as Minecraft:chickens lay eggs.
- Brushing takes 16 durability from the Minecraft:brush.
- Can be bred with Minecraft:spider eyes.
- If an armadillo detects a threat, it rolls up.
- Threats include:
- A player Minecraft:sprinting.
- A player in a vehicle or mounted.
- Anyone who has been attacked by someone recently.
- Minecraft:Undead mobs.
- Special cases where an armadillo doesn't roll up include when it is:
- Fleeing.
- In water or in the air.
- On a lead.
- When an armadillo is rolled up it cannot walk nor eat, and is not tempted by food. Additionally, it is protected by its shell, causing it to take reduced damage and completely negating damage from weaker attacks.
- While rolled up, armadillo continuously scans for threats. If no threats are detected for 3 seconds (60 ticks), it unrolls. Armadillos peek out to see if “the coast is clear” before unrolling.
- Threats include:
- Added 8 new wolf variants. There are now 9 wolf variants, including the original pale wolf.<ref>Template:Mcnet</ref>
- Template:EntitySprite The pale wolf spawns in the Minecraft:taiga biome.
- Template:EntitySprite The rusty wolf spawns in the Minecraft:sparse jungle.
- Template:EntitySprite The spotted wolf spawns in the Minecraft:savanna plateau.
- Template:EntitySprite The black wolf spawns in the Minecraft:old growth pine taiga.
- Template:EntitySprite The striped wolf spawns in the Minecraft:wooded badlands.
- Template:EntitySprite The snowy wolf spawns in the Minecraft:grove.
- Template:EntitySprite The ashen wolf spawns in the Minecraft:snowy taiga.
- Template:EntitySprite The woods wolf spawns in the Minecraft:forest.
- Template:EntitySprite The chestnut wolf spawns in the Minecraft:old growth spruce taiga.
- Wolves spawned with the Minecraft:wolf spawn egg spawn as the variant associated with the biome the egg is used in. They default to pale wolf in any other biome.
- All wolves spawned before 1.20.5 are pale wolves and continue to be pale wolves.
- The new variants combined with the ability to dye a wolf's armor and collar, there are effectively 2,415,919,248 (2.4 billion) distinct wolves, which is 2,415,919,232 more than the 16 wolves that used to be available. Therefore, this update added 2,415,919,232 distinct wolves. See Template:Slink for more details.
Command format
- New command that triggers a transfer of a player to another server.
- Only exists on dedicated servers.
- Syntax: Template:Cmd
- Template:Cd: String describing the hostname of the server to connect to.
- Template:Cd: Integer denoting the port number of the server to connect to.
- If omitted, Template:Cd is used.
- Template:Cd: The players to transfer.
- If omitted, Template:Cd is used.
- Added
minecraft:copy_componentsfunction.- Copies components from a specified source onto an item.
- This is now used in the Vanilla pack in place of the
minecraft:copy_nameandminecraft:copy_nbtfunctions. conditions: list of conditions (default:[]):- Conditions to check before applying the function.
source: source type to pull from.- Currently, can only and must be
"block_entity".
- Currently, can only and must be
include: optional, list of components to copy.- If omitted, all components are copied.
exclude: optional, list of components to exclude.- If omitted, defaults to an empty list.
- Added
minecraft:set_componentsfunction.- Adds or replaces the given component on the input item.
conditions: list of conditions (default:[]):- Conditions to check before applying the function.
components: map of component id to component value (format varied by id).- Components with a
!prefix (e.g."!minecraft:damage": {}) cause this component to be removed.
- Components with a
- Added
filteredloot function.- Applies sub-function only to items that match item predicate.
- Fields:
conditions- list of conditions to filter this function.item_filter- item predicate used to match items.modifier- functions to apply to matching items.
- Added
modify_contentsloot function.- Apply modifier function to every item inside a component.
- If component does not exist, it is not be added.
- Fields:
conditions- list of conditions to filter this function.component- target component.- Allowed values:
container,bundle_contents,charged_projectiles.
- Allowed values:
modifier- function or list of functions to be applied to every item inside container
- Added
set_book_coverloot function.- New function for setting the cover details of the
minecraft:written_book_contentcomponent. If present, any pages in the book are left untouched. - Fields:
conditions: list of conditions (default:[]):- Conditions to check before applying the function
title: optional filterable text (same format astitleon theminecraft:written_book_contentcomponent):- The title to set
- If omitted, the original title is kept (or an empty string is used if there was no component)
author: optional string:- The author to set
- If omitted, the original author is kept (or an empty string is used if there was no component)
generation: optional integer [0; 3]:- The generation value to set
- If omitted, the original generation is kept (or
0is used if there was no component)
- New function for setting the cover details of the
- Added
set_custom_model_dataloot function.- Sets
custom_model_datacomponent. - Fields:
conditions- list of conditions to filter this function.value- integer number provider.
- Sets
- Added
set_fireworksloot function.- New function for setting the details of the
minecraft:fireworkscomponent. - Fields:
conditions: list of conditions (default:[]):- Conditions to check before applying the function
flight_duration: Optional integer, 0-255:- The flight duration measured in number of gunpowder.
- If omitted, the flight duration of the item is left untouched - or set to 0 if the component did not exist before.
explosions: List offirework_explosiondata - same format as theexplosionfield in theminecraft:fireworkscomponent:- The explosion data to set
mode: enumerated value deciding function for explosions:replace_all: fully replace the explosions listreplace_section: replace a section of the explosions. Arguments:offset: optional non-negative integer:- Start of replaced range.
- If omitted,
0is used.
size: optional non-negative integer:- Size of range to be replaced in explosions.
- If omitted, the size of
explosionsfield is used.
insert: insert explosions, moving existing explosions to after the inserted section. Arguments:offset: optional non-negative integer:- Index before which explosions are inserted.
- If omitted,
0(before first explosion) is used.
append: append explosions at the end of the list
- Fields
explosionsandmodeare grouped together as a sub-object.{ "explosions": <list>, "mode": <mode>, <mode-dependent fields>}becomes{"explosions": {"values": <list>, "mode": <mode>, <mode-dependent fields>}}.explosionsfield is now optional, whilevaluefield inside it is now mandatory.
- New function for setting the details of the
- Added
set_firework_explosionloot function.- New function for setting the details of the
minecraft:firework_explosioncomponent. - Fields:
conditions: list of conditions (default:[]):- Conditions to check before applying the function
shape: optional Explosion Shape:- The explosion shape to set
- If omitted, the original shape is kept (or
small_ballis used if there was no component)
colors: optional integer array, RGB values:- List of initial particle colors to replace the ones on the existing explosion with
- If omitted, the original colors are kept (or
[]is used if there was no component)
fade_colors: optional integer array, RGB values:- List of fade-to particle colors to replace the ones on the existing explosion with
- If omitted, the original colors are kept (or
[]is used if there was no component)
trail: optional boolean:- Set whether the explosion should have a trail or not
- If omitted, the original
has_trailvalue is kept (orfalseis used if there was no component)
twinkle: optional boolean:- Set whether the explosion should have a twinkle or not
- If omitted, the original
has_twinklevalue is kept (orfalseis used if there was no component)
- New function for setting the details of the
- Added
set_itemloot function.- Replaces item type of item stack without changing count and components.
- Fields:
conditions- list of conditions to filter this function.item- new item type.
- Added
set_writable_book_pagesloot function.- New function for manipulating the pages of the
minecraft:writable_book_contentcomponent. - Fields:
conditions: list of conditions (default:[]):- Conditions to check before applying the function
pages: list of Filterable strings (same format aspageson theminecraft:writable_book_contentcomponent):- The pages to apply
mode: enumerated value deciding function:replace_all: fully replace the book contentsreplace_section: replace a section of the book. Arguments:offset: optional non-negative integer:- Start of replaced range
- If omitted,
0is used
size: optional non-negative integer:- Size of range to be replaced in book
- If omitted, the size of
pagesfield is used
insert: insert pages, moving existing pages to after the inserted section. Arguments:offset: optional non-negative integer:- Index before which pages are inserted
- If omitted,
0(before first page) is used
append: append pages at the end of the book
- New function for manipulating the pages of the
- Added
set_written_book_pagesloot function.- New function for manipulating the pages of the
minecraft:written_book_contentcomponent. Same format asset_writable_book_contentbut thepagesfield contains filterable Components instead of Strings (same format aspageson theminecraft:writable_book_contentcomponent), and is a JSON Object rather than a string containing JSON. - Any cover data is left untouched, and the page content components are set to resolve next time a player opens the book.
- New function for manipulating the pages of the
- Added
toggle_tooltipsloot function.- This function can be used to modify item component tooltip visiblity.
- It works by setting fields like
show_in_tooltipwithout changing other values. - Format:
toggles- a map of supported item component type to boolean value. - Supported components:
trim,dyed_color,enchantments,stored_enchantments,unbreakable,can_break,can_place_on,attribute_modifiers. - Example:
{function:"toggle_tooltips","toggles":{"enchantments":false}}hides enchantments tooltip.
- Added
storageloot number provider to access values from command storage.- This number provider is able to access numeric values from command storage directly.
- If selected storage does not exist or tag selected by path is not numeric or does not exist, provider returns 0.
- Fields:
storage: namespaced id of command storage.path: NBT path to field.
- Added new loot table type
minecraft:equipment.- Has required parameters of
this_entityandorigin.this_entity: the mob that is about to be given equipment.origin: the position of the mob.
- Has required parameters of
- Added optional
equipment_loot_tableto the spawn data present in theSpawnPotentialsof monster spawners andspawn_potentialsof trial spawner configs.- If present, rolled items from the specified loot table are equipped to the mob that spawns.
Gameplay
- Added four new advancements:
- Added the
default_block_useadvancement trigger, which triggers due to the default interaction of a block by a player, such as opening a door. - Added the
any_block_useadvancement trigger, which triggers due to any type of interaction with a block by a player, such as using an item on the block or its default usage. - Added the
crafter_recipe_craftedadvancement trigger, which triggers when a crafter ejects a successfully crafted item into the world.- The
playerentity predicate matches the player who is nearby. - Has a
recipe_idcondition which is the ID of the recipe being crafted. - Has an optional
ingredientscondition which is a list of item predicates matching the ingredients that form the recipe being crafted.
- The
- Added the
fall_after_explosionadvancement trigger, which triggers when a player begins falling after being knocked upwards by an explosion or wind burst- The
playerentity predicate matches the player who is falling. - Has an optional
start_positioncondition which is a location predicate matching the position the player was at when they were hit by the explosion or burst. - Has an optional
distancecondition which is a distance predicate matching how far the player must be fromstart_positionto cause the criterion to be granted. - Has an optional
causecondition which is an entity predicate matching the entity which caused the explosion or burst to happen.
- The
Gameplay
- Minecraft:Armadillos are now required for the "Two by Two" advancement.
- The "The Parrots and the Bats" advancement can be granted by breeding armadillos now.
Minecraft:Creative mode
- Template:Key+Template:Control a renamed block (such as a chest) in Creative mode now gives a renamed item.
Minecraft:Effects<ref name="noexp">Template:Bug</ref>
- File:Infested JE1 BE1.png Minecraft:Infested
- Affected entities have a 10% chance to spawn 1-2 Minecraft:silverfish when hurt.
- Silverfish spawn at the center of the entity's bounding box and fling out in the direction the entity is facing.
- Silverfish cannot get this affect.
- File:Oozing JE1 BE1.png Minecraft:Oozing
- Affected entities spawn two Minecraft:slimes upon death.
- Slimes only spawn in a given 5x5x5 area up to the max entity cramming count.
- Slimes cannot get this effect.
- File:Raid Omen JE2 BE1.png Minecraft:Raid Omen
- A variant that Bad Omen can transform into if the player enters a village.
- It has a duration of 30 seconds.
- Once the Raid Omen expires, a Minecraft:raid starts at the location the player gained the Raid Omen.
- File:Trial Omen JE1 BE1.png Minecraft:Trial Omen
- A variant that Bad Omen can transform into if the player is within detection range of a Minecraft:trial spawner that is not ominous.
- The Trial Omen has a duration of 15 minutes multiplied by the transformed Bad Omen's level.
- Players that have Trial Omen are surrounded by ominous particles.
- File:Weaving JE1 BE1.png Minecraft:Weaving
- Affected entities spread 2-3 Minecraft:cobweb blocks upon death.
- Players are affected by the movement buff through cobwebs, affecting 50% of their normal speed instead of 25%.
- File:Wind Charged JE1 BE1.png Minecraft:Wind Charged
- Affected entities emit a wind burst upon death.
- Three new enchantments have been introduced, though only obtainable via commands.<ref name="noexp">Template:Bug</ref>
- Minecraft:Breach
- Rare enchantment, accessible in the Minecraft:enchanting table and on Minecraft:enchanted books in loot.
- Has 4 levels.
- Maces enchanted with Breach reduce the effectiveness of armor on the target.
- The effectiveness of the armor is reduced by 15% per Breach level.
- Minecraft:Density
- Common enchantment, accessible in the enchanting table and on enchanted books in loot.
- Has 5 levels.
- Maces enchanted with Density do more damage per fallen block per Density level.
- Damage dealt per fallen block is increased by 1 per level of Density.
- Minecraft:Wind Burst
- Unique enchantment which can only be found in Minecraft:ominous vaults.
- Has 3 levels.
- Maces enchanted with Wind Burst emit a burst of wind upon hitting an enemy, launching the attacker upward and enabling the linking of smash attacks one after the other.
- Each level bounces the attacker higher up in the air; however any level above the default maximum of 3 obtained through commands makes the player simply lose all downward momentum and begin falling again, without gaining any upward momentum.
General
- Added
generic.fall_damage_multiplierattribute to multiply overall fall damage amount.- Default is 1, and the valid range is from 0 to 100.
- Added
generic.gravityattribute that controls blocks/tick^2 acceleration downward.- Default is 0.08, and the valid range is from -1 to +1.
- Added
generic.safe_fall_distanceattribute to control the fall distance after which the entity takes fall damage.- Default is 3, and the valid range is from -1024 to +1024.
- Added the
generic.scaleattribute.- Allows changing the size of any mob to anywhere between 0.0625 and 16 times their default size.
- Added the
generic.step_heightattribute.- Determines the max height in blocks where a mob can walk above without jumping.
- Default is 0.6, and the valid range is from 0 to 10.
- Added
player.block_break_speedattribute that acts as a multiplier over block breaking speed for players.- The valid range is from 0 to 1024.
- Added the
player.block_interaction_rangeandplayer.entity_interaction_rangeattributes.- Determines the maximum range a player can interact with blocks and entities, respectively.
- They both range between 0 and 64, with the default value being 4.5 for blocks and 3 for entities.
Entity Minecraft:predicate
- Added entity sub-predicate
slots, used to check single or multiple slots on any entity.- For slot ranges, only one slot needs to match for whole entry to pass
- The field contains a map of slot names (same as ones used in
itemcommands) to item predicate - Example:
- <syntaxhighlight lang="json">{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"slots": {
"container.*": {
"items": "dirt"
}
}
}
}</syntaxhighlight>
- Added
raidersub entity predicate.- New sub-predicate has been added to match raidersFields:
has_raid- Match whether the raider is in an active raid.is_captain- Match whether the raider is a captain.
- New sub-predicate has been added to match raidersFields:
- Added
spawnChunkRadiusto set the size of the spawn chunks.- Defaults to
2, equivalent to 3×3 entity ticking chunks. - Possible values are
0to32, where0completely disables the spawn chunks and10is equivalent to the functionality before this change.
- Defaults to
- Added new slot names:
container.*: containscontainer.0tocontainer.53.hotbar.*: containshotbar.0tohotbar.8.inventory.*: containsinventory.0toinventory.26.enderchest.*: containsenderchest.0toenderchest.26.villager.*: containsvillager.0tovillager.7.horse.*: containshorse.0tohorse.14.weapon.*: contains Template:Cd.armor.*: contains Template:Cd.player.cursor: item held by player on screen except Minecraft:Creative mode<ref>Template:Bug</ref>.- Template:Cd: player's crafting slots
- Added
gameplay/panda_sneezeloot table for drops when Minecraft:pandas sneeze.
- Added "Menu Background Blurriness" in accessibility settings.
- Defaults to 50%.
- Added the following particle types: Template:Cd.
- Added transfer packets.
- Custom servers can now request that clients connect to another server with a new packet.
- When a client is transferred, it connects to the target server with a new transfer intent (id 3).
- By default, servers do not accept incoming transfers and disconnect the client.
- This can be changed by setting the Template:Cd property to Template:Cd in the Template:Cd file.
- Resource packs are maintained across transfers.
- In the case of a transfer, custom servers can skip authentication with a new flag.
- Added cookie packets.
- Cookie packets allow custom servers to request and store data on a client.
- Each cookie may be up to 5 KiB in size.
- Cookies may be requested during login, configuration and play phases — but only stored during the configuration and play phases.
- Cookies are persisted across server transfers but are not persisted when the player disconnects.
- This allows servers to pass along information such as authentication or custom game data to the new server.
- Cookie packets allow custom servers to request and store data on a client.
- Added an option to configure how region file compression algorithm is handled on dedicated servers.
- Added a dedicated server configuration property Template:Cd with 3 possible values:
- Template:Cd, the default option. Uses Template:Wikipedia.
- Template:Cd uses Template:Wikipedia, which requires less CPU time to compress and decompress but uses more disk space.
- Template:Cd does not compress the data.
- Consumes significantly more space and requires significant time to read and write, even though CPU is used less.
- Might make sense together with filesystem level compression.
- Changing the compression algorithm does not automatically recompress the world.
- New or updated chunks use the newly configured algorithm, but the old ones stay in the previous format.
- Added a dedicated server configuration property Template:Cd with 3 possible values:
- Added a reserved region file compression id for third-party servers to use for custom compression implementations.
- Compression id Template:Cd can now be used for custom implementations of region file compression.
- When used, the version id must be followed by a namespaced string representing the custom algorithm used.
- Added the following block tags:
- Template:Cd: contains Template:Cd
- Controls which blocks the Minecraft:armadillo can spawn on.
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Controls which blocks never disable a hopper when placed above one.
- Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, and Template:Cd
- These tags combine the existing Template:Cd, Template:Cd, and Template:Cd tags for each specific tool tier.
- Template:Cd: contains Template:Cd
- Added the following damage type tag:
- Template:Cd: contains Template:Cd
- Controls which damage types bypass Minecraft:wolf armor.
- Template:Cd: contains Template:Cd
- For attacks performed by the player.
- Template:Cd: contains Template:Cd
- Added the following enchantment tag:
- Template:Cd: contains Template:Cd
- Controls which order Enchantments are listed in tooltips.
- Template:Cd: contains Template:Cd
- Added the following entity type tags:
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Controls which entities cannot be affected by Minecraft:Poison and Minecraft:Regeneration effects.
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Controls which entities Minecraft:illagers consider allies (unless on a different team).
- Template:Cd: contains Template:Cd
- Controls which entities that have inverted meanings of the Healing and Harming effects.
- Template:Cd: contains Template:Cd
- Controls which entities do not cause Minecraft:pufferfish to puff.
- Template:Cd: contains Template:Cd
- Controls projectiles which can be redirected by player attacks and projectiles toward the direction the player is looking.
- Template:Cd: contains Template:Cd
- Controls which entities are sensitive to Minecraft:Bane of Arthropods.
- Template:Cd: contains Template:Cd
- Controls which entities are sensitive to Minecraft:Impaling.
- Template:Cd: contains Template:Cd
- Controls which entities are sensitive to Minecraft:Smite.
- Template:Cd: contains Template:Cd
- Controls which entities the Minecraft:wither does not target and which cannot harm the wither.
- Added the following item tags:
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- Template:Cd: contains Template:Cd
- This is not used by the game directly, but may be included by other tags.
- Template:Cd: contains Template:Cd
- Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, Template:Cd, and Template:Cd
- These tags control which items can be fed to or tempt the corresponding mobs.
Changes
Blocks
- Added unique sounds.
- No longer accepts items that have Template:Nbt component but do not have an enchantment.
- If the item above has Minecraft:durability, it can be repaired with an unbreakable item and the output does not inherit Template:Nbt component. If the order is swapped, the item is neither be repaired nor disenchanted. If the only item in slots is an enchanted unbreakable item, it is disenchanted and Template:Nbt component remains.
- No longer disenchants two Minecraft:enchanted books at the same time.
- Improved hopper performance.
- Hoppers no longer try to pick up item entities if there is a full block placed above it.
- Can, however, still pick up items from Minecraft:beehives and Minecraft:bee nests.<ref>Template:Bug</ref>
- Now stores item name in
custom_nametag. - NBT tag Template:Cd and Template:Cd is replaced with
profileto keep a consistent format with the item component form.
Items
General
- Now
countis stored again when there is only 1 item.- Defaults to 1 if this field is invalid.
- Renamed "Scute" to "Turtle Scute".
- The ID has been changed from Template:Cd to Template:Cd.
Mobs
General
FactorCalculationDatahas been removed from mob effect instance tags.- Mobs with
CanPickUpLootno longer pick up enchanted items after picking up an unenchanted item.<ref>Template:Bug</ref>
Minecraft:Bees and Minecraft:parrots
- Adjusted their flying behavior to keep them from overshooting their position when flying up and down.
Minecraft:Cave spiders and Minecraft:spiders
- Are now scared of armadillos that are not in a rolled up state.
- Replaced Template:Nbt with Template:Nbt.
- Replaced Template:Nbt with Template:Nbt.
- Are no longer able to destroy armor stands.
- Are now easier to hit with melee player attacks, as their hitbox is now larger specifically when being melee-attacked by a player.
- Changes to tamed wolves:
- Now have Template:Hp instead of Template:Hp.
- No longer take half damage from most environmental sources like they used to do.
- Feeding a wolf now heals twice as many health points.
- Now only take knockback from Minecraft:snowballs from Minecraft:snow golems, like other mobs, instead of taking damage.
- Now have tag Template:Nbt to store the armor they are wearing.
- The texture of the wolf collar layer has been changed.
- Now spawns on Minecraft:coarse dirt and Minecraft:podzol blocks.
- Now spawns in Minecraft:sparse jungle, Minecraft:savanna plateau, and Minecraft:wooded badlands biomes.
- When summoned using Minecraft:spawn eggs or Minecraft:commands, the variant selection now follows the natural spawning biome rules with the following extensions:
- Rusty wolf is selected in all Minecraft:jungle biomes, including jungle and bamboo jungle.
- Spotted wolf is selected in all Minecraft:savanna biomes, including savanna and windswept savanna.
- Striped wolf is selected in all Minecraft:badlands biomes, including badlands and eroded badlands.
Non-mob entities
- Now use a new damage type
spitinstead ofmob_projectile. - Are no longer able to destroy armor stands.
World generation
- Minecraft:Rabbits, Minecraft:wolves, and Minecraft:foxes are now the only animals spawning in the grove biome.
Command format
General
- Unstructured Minecraft:NBT data attached to stacks of items (
tagfield) has been replaced with structured 'components'.- This data is parsed and validated when the item is loaded.
- This should improve performance in certain scenarios (e.g. armor trim rendering) when item data was frequently compared or requested and parsed.
- Custom data can still be stored in the Template:Cd component.
- This change has been made in order to:
- Improve performance in cases where the game needs to frequently look up some property of an item (e.g. armor trims rendering every frame).
- Validate item properties at load time, enabling easier identification of invalid data in commands and data packs.
- This should avoid any 'silent' breakages in commands specifying custom item data for any potential future format changes.
- Continue to evolve the game to enable the creation of dynamic content.
- Item types (e.g. Template:Cd) hold a set of default components on an item that individual item stacks can override.
- Commands such as
/give,/item,/loot, and/clearhave updated item syntax. - Components can now be specified after the item name in square brackets.
- Components are assigned with an = (e.g.
wooden_pickaxe[damage=23]). - Components are comma-separated (e.g.
netherite_hoe[damage=5,repair_cost=2]).
- Components are assigned with an = (e.g.
- Component types are autocompleted, but values themselves are not.
- Values however are validated, and the command fails to parse if the component is improperly specified.
- e.g.
/give @s wooden_pickaxe[damage=-34]is not valid.
- e.g.
- The pre-existing NBT syntax (
{...}) must now be specified with theminecraft:custom_datacomponent.- e.g.
/give @s stick{foo:'bar'}is equivalent to/give @s stick[custom_data={foo:'bar'}].
- e.g.
- Item predicate arguments (in
/clear) have new semantics with respect to matching components and custom data.- Each specified component must be present on the target item, and have an exactly equal parsed value.
- Components with default values (e.g.
damage=0by default) automatically exist on the target item if not specified.- As such,
/clear @s diamond_pickaxe[damage=0]matches only undamaged diamond pickaxes. - On the other hand,
/clear @s diamond_pickaxematches any diamond pickaxe, irrespective of damage.
- As such,
- Exact matching of component values applies even for the
minecraft:custom_datacomponent. - However, the
{...}syntax for custom data still uses the pre-existing partial matching behavior for NBT.- This means that all tags specified in the predicate must be present on the target item, but additional tags on the target item are ignored.
- Lists in the target must contain all list-items specified in the predicate, but additional list-items are ignored.
- The format of serialized items and items in data packs has been updated for consistency and to support components.
- When advanced tooltips are enabled (F3+H), the number of components is displayed instead of number of tags.
- Default component values for items are now listed in Template:Cd generated in Template:Cd directory.
- Block definitions are now added to Template:Cd report (note: those definitions are not used yet and present only for informational purposes).
- The Template:Cd field on villager trades has been removed and replaced by a component predicate on damage.
- If the Template:Cd field of a vault block is not present, the vault cannot be unlocked.
- Command arguments that previously accepted namespaced ids of loot tables, modifiers and predicates can now also accept inline definitions
lootitemexecute if predicate- Values have same structure as matching JSON files, though they are encoded as SNBT. Example:
execute if predicate {condition:weather_check, raining:true}
- Added Template:Nbt to entity data, which functions similarly to entries of Template:Nbt and Template:Nbt.
- Also added Template:Nbt, which determines the chance of dropping body armor.
- Potion effects stored in items or entities no longer encode their default values.
- All block positions are now stored as an array of 3 integers instead of a map of XYZ.
- Template:Code and Template:Code in bees have been renamed to Template:Code and Template:Code.
- Template:Code in beehives has been renamed to Template:Code.
- Template:Code in end crystals has been renamed to Template:Code.
- Template:Code in all leashable entities has been renamed to Template:Code.
- Template:Code in patrolling mobs has been renamed to Template:Code.
- Template:Code in end gateways has been renamed to Template:Code.
- Template:Code in wandering traders has been renamed to Template:Code.
- Tipped arrows no longer store their applied potion effects.
- This is instead fetched from their held
item.
- This is instead fetched from their held
- Area effect clouds now store potions in the same format as the
minecraft:potion_contentscomponent in apotion_contentsfield:Potion->potion_contents.potionColor->potion_contents.custom_coloreffects->potion_contents.custom_effects
- Villager trades can be configured to accept only undamaged items by selecting for
'minecraft:damage': 0- By default, if no components are specified, any item is accepted (similar to
componentsfield in item predicates).
- By default, if no components are specified, any item is accepted (similar to
Item stack format
- Along with format changes due to components, the structures of item stacks on disk and in data packs have been updated for consistency.
- Previous
id(string) andCount(byte) fields have been replaced withid(namespaced string) andcount(integer) fields.- This format is additionally applied to the
iconfield in advancements, items in chat component hover events, and theresultfield in smelting recipes (resultandcountare no longer inlined).
- This format is additionally applied to the
- The
countfield is optional (defaults to1), and no longer stored if default.- Stack size is now limited to the maximum stack size of the item.
- The
tagfield has been removed, and any remaining contents end up in theminecraft:custom_datacomponent when upgrading. - A new
componentsfield stores all components attached to an item.- Format: map of component id to component value (varies by component id).
- e.g.
{..., components: {'minecraft:damage': 12}}. - Components with a
!prefix (e.g."!minecraft:damage": {}) cause this component to be removed.
- e.g.
- Components equal to their default value are not stored.
- Format: map of component id to component value (varies by component id).
- The item stack format no longer represents empty stacks (
airitem, orcount0).- Instead, in places that support it, the field should be omitted.
- In some cases, such as lists of stacks (e.g.
HandItemsin living entities), an empty map ({}) is used to represent empty stacks.
Minecraft:Predicate format
- Item predicate format has been updated:
tagfield has been removed.itemsfield now supports a single entry, hash-prefixed item tag, or list of items.potion->potions, and supports a single entry, hash-prefixed potion tag, or list of potions.nbtpredicate has been renamed tocustom_dataand now matchesminecraft:custom_datacomponent.- A new optional
componentsfield matches exact components.- All specified components must be present an exactly equal on the target item, but additional components may be ignored.
- Components with defaults are assumed to exist on the target item if not specified.
- Format: map of component id to component value (varies by component id).
- e.g.
"components": { "minecraft:damage": 0 }matches only undamaged items.
- e.g.
- Block predicate format has been updated:
tagfield has been removed.blocksfield now supports a single entry, hash-prefixed block tag, or list of blocks.
- Fluid predicate format has been updated:
tagfield has been removed.fluid->fluids, and supports a single entry, hash-prefixed fluid tag, or list of fluids.
- Entity predicate format has been updated:
typefield now supports a single entry, hash-prefixed entity type tag, or list of entity types.
- Location predicate format has been updated:
biome->biomes, and supports a single entry, hash-prefixed biome tag, or list of biomes.structure->structures, and supports a single entry, hash-prefixed structure tag, or list of structures.
Other format changes
- Banners now store applied patterns in the same format as the
minecraft:banner_patternscomponent in apatternsfield:Patterns[].Pattern(string short id) ->patterns[].pattern(string pattern registry id)Patterns[].Color(integer dye id) ->patterns[].color(string dye name)
- Beehive format has also been updated:
Bees[].EntityData->bees[].entity_dataBees[].TicksInHive->bees[].ticks_in_hiveBees[].MinOccupationTicks->bees[].min_ticks_in_hiveFlowerPos->flower_pos
- Modifier operations have been renamed:
add->add_valuemultiply_base->add_multiplied_basemultiply->add_multiplied_total
ifandunlesssub-commands can now useitemsto compare or count items.execute if|unless items <source> <slots> <item_predicate><source>is the same one as used in Template:Cmd.- e.g.
block <x> <y> <z>orentity <target>(selector can return multiple entities)
- e.g.
<slots>can accept single slot (likecontainer.0) or a range (likecontainer.*)<item_predicate>is the same as item predicate in Template:Cmd command.
- If used alone, it returns total number of items in stacks that match predicates.
slotnow supports a range of slots.
- Can now be used without specifying the player (assuming Template:Cd) and without specifying the mixer (assuming Template:Cd).
minecraft:set_nbtandminecraft:copy_nbtfunctions have been renamed tominecraft:set_custom_dataandminecraft:copy_custom_datarespectively.- These now apply to the
minecraft:custom_datacomponent of the target item.
- These now apply to the
minecraft:set_attributesfunction has been updated.- The modifier
slotfield now supportsany,armor, andhandvalues. - The modifier
operationvalues have been renamed:addition->add_valuemultiply_base->add_multiplied_basemultiply_total->add_multiplied_total
- Added
replacefield (default: true).- When false, attributes are appended.
- The modifier
- Nested lists are no longer supported in function lists.
- Changed
set_contentsloot function.- Unused field
typehas been removed. - Added new mandatory field
component:- Describes target component to be filled with items.
- Existing contents are replaced.
- Allowed values:
container,bundle_contents,charged_projectiles bundle_contentsandcharged_projectilesignore empty stacks.
- Unused field
- Changed
set_custom_dataloot function.- Field
tagnow accepts both SNBT data written as a string (existing format) and unflattened tags.
- Field
- Changed
set_loreloot function.- The
replacefield has been removed. - Now has
modelikeset_fireworksandset_written_book_pages.
- The
- Changed
set_nameloot function.- Added optional field
targetto specify which name should be set - Values:
custom_name- setscustom_namecomponent (default)item_name- setsitem_namecomponent
- Added optional field
Item predicate argument
- The item predicate syntax (used in
execute if|unless itemsandclearcommands) has been significantly expanded. - The general syntax is:
<type> [comma-separated list of <test>] <type>can be one of:- item id
- item tag id prefixed with
# *to match any item
<test>can have one of 3 forms:<component_id>=<value>- match exact value of component (same as in previous format)<value>is a representation of component value in SNBT format (same as initem giveargument)
<component_id>- check if component exists<predicate_id>~<value>- check item sub-predicate<value>is a representation of item sub-predicate in SNBT format (but otherwise same as one used for advancement and loot table JSON files)- Example:
*[damage~{durability:{min:3}}]matches any stack with at least 3 uses left
- The special name
minecraft:countcan be used for matching the stack sizecount=<positive int>passes only when the stack size equals the given valuecount~<int range>passes when the stack size is in the specified range- Example:
*[count~{max:2}]matches any stack with count <= 2
- Example:
countalways passes
- Any
<test>entry can be negated by prefixing with!- Example:
*[!count=1]matches any stack that has count other than 1
- Example:
<test>elements can be also joined with | to check multiple alternatives- Example:
*[!damage|damage=0]looks for items without damage component or with 0 damage
- Example:
- Removed redundant custom data section (
{...}) from item arguments (it's fully replaced by[custom_data={...}])- To make this transition easier,
custom_dataitem sub-predicate has been changed to allow unquoted SNBT
- To make this transition easier,
- The syntax for custom data partial matching (
{}) has been removed in favor of usingcustom_datapredicates- So
stick{a:2}becomesstick[custom_data~{a:2}]
- So
Item sub-predicates
- General rules of component predicates:
- Unless otherwise specified, a field in predicate with the same name as a field in component that matches (i.e. has the same name as predicate) will match that field value
- Those fields usually have the same type as in the components, but are optional.
- Exceptions:
- List fields are replaced with collection matchers (see below)
- Integer and float fields are replaced with ranges
- Registry ids are replaced with a type that accepts id, list of ids or a tag
- Collection matcher is a shared part of predicate used for matching collections. Every instance of this matcher has same fields with same functionality, with only difference being type of matched elementFields:
size- integer range to match against collection sizecontains- a list of element predicates- All conditions must match for predicate to pass
- Not all elements in tested container have to be matched
- Elements can be in any order
- Single element can match multiple predicates
- Examples (when matching item stacks):
{contents:[{item:diamond}]}- matches when there is at least one diamond item{contents:[{item:diamond}, {item:dirt}]}- matches when there is at least one diamond item and at least one dirt item
count- a list of matchers on element counts- Entry fields:
test- element matchercount- optional integer range to check against number of elements passingtest
- Examples (when matching item stacks):
{count:[{count:3,test:{items:diamond}}]}}matches only when there are exactly 3 stacks of diamonds (no matter the stack size)
- Entry fields:
- Removed Template:Cd entity sub-predicate.
- Added slot name Template:Cd for single-slot entities like Minecraft:item frames and Minecraft:item displays.
- Contents of Template:Cd entity can now be accessed through Template:Cd slot name.
- Component-specific item predicate properties have been moved to separate field Template:Cd.
- Some fields from item predicate have been moved to a map in an optional field Template:Cd.
- The new field is similar to the
componentsfield on item stacks. - This was done to simplify addition for future predicates and to allow sub-predicates to more closely resemble names of components they match.
- The following fields have been moved:
enchantments- field moved to sub-predicateminecraft:enchantmentsstored_enchantments- field moved to sub-predicateminecraft:stored_enchantmentspotions- field moved to sub-predicateminecraft:potion_contentscustom_data- field moved to sub-predicateminecraft:custom_data- Predicate
minecraft:custom_datanow accepts both SNBT data written as a string (existing format) and unflattened tags- That means that
*[custom_data~{a:1}]and*[custom_data~"{a:1}"]are equivalent - Flattened string format has been kept since NBT type information can't be expressed in JSON
- That means that
- Predicate
durabilityfield has been expanded tominecraft:damagepredicate:- This check now works for any item that has
minecraft:damagecomponent - An item that does not have a
minecraft:damagecomponent can never match - To check for unbreakable items, query value of
minecraft:unbreakablecomponent - Fields:
damage- optional bounds for value ofminecraft:damagecomponentdurability- optional bounds for durability (max damage minus value ofminecraft:damage)
- This check now works for any item that has
- Predicates
minecraft:enchantments,minecraft:stored_enchantments,minecraft:potion_contentsandminecraft:damagerequire matching component to exist on item- That means that, for example, matching for empty enchantment list does not pass on items without
minecraft:damagecomponent - Note: some components, like
minecraft:enchantmentshave default values, so they always match. wolf- New
wolfsub-predicate has been added to match wolf variantsFields:variant- wolf variant to match (single entry, list of entries or tag)
- New
cat,frog,painting- Field
variantnow accepts single entries, list of entries or tags.
- Field
wolf,cat,frogandpaintingentity sub-predicates now accept tags and plain lists instead of just single elements.
- That means that, for example, matching for empty enchantment list does not pass on items without
- Replaced
horse.armorMinecraft:slot argument witharmor.body, applicable now to all mobs.
- The projectile weapon enchantments Minecraft:Infinity, Minecraft:Flame, Minecraft:Multishot, Minecraft:Piercing, Minecraft:Power, and Minecraft:Punch now work on both crossbows and bows, if placed onto the alternative weapon using data manipulation or a change to the
enchantable/*tags.
- When entities leave or enter Minecraft:the End, the area they arrive in now stays loaded for 15 seconds, matching the behavior of Minecraft:nether portals.
- The size of the spawn chunks changed from radius 10 (19x19 entity ticking chunks) to radius 2 (3×3 entity ticking chunks).
- This was done to reduce memory usage, loading times and CPU usage.
- The developers opted to not fully remove spawn chunks to allow players who currently utilize this functionality to continue to do so.
General
General
- The game now requires a 64-bit operating system.
- The game now requires Java 21.
- The included Java distribution is now the Microsoft build of OpenJDK 21.0.2.
Accessibility
- The default focus is now always set when entering or exiting any menu while navigating using tab or arrow keys.
- Renamed
horse.jump_strengthtogeneric.jump_strength, and now applies to all entities.- This controls the base impulse from a jump (before jump boost or modifier on block).
- Default is 0.42, and the valid range is from 0 to 32.
- The menu background dirt texture has been replaced by a darkened background.
- The dirt texture has been moved to the "Programmer Art" resource pack.
- Outside the game, the menu panorama is displayed across all screen.
- In the game, the world is visible across all screens.
- Paired with the darkened background is a blur.
- The strength of the blur can be configured in accessibility settings.
- In-game screens such as containers and books are not affected by these changes.
- The animated Minecraft:nether portal texture is displayed when changing Minecraft:dimension to or from Minecraft:The Nether.
- The animated Minecraft:end portal effect is displayed when changing dimension to or from Minecraft:The End.
- After defeating the ender dragon and entering the end portal, the Minecraft:End Poem and credits are now displayed with a background based on the animated end portal effect.
Chat
- Client chat state (on-screen messages and chat input history) is now preserved by client when entering and exiting configuration phase.
- Message signature chain handling remains unchanged - going into configuration phase starts new session.
- If client has message delay configured, pending messages are delivered immediately before leaving world.
- Server can clear chat state by sending
reset_chatpacket in configuration phase.
- Using Template:Key or Template:Key + pick block no longer lists "(+NBT)" in the item tooltip.
Minecraft:Create New World screen
- Renamed "Allow cheats" to "Allow commands".
- Also applies to "Open to LAN" menu.
- The Minecraft:pack format version is now
41. - The Template:Cd enchantment has been renamed to Template:Cd.
- Minecraft:Loot table entry with id loot_table now also accepts inline loot tables.
- Loot table entry Template:Cd (which returns all items from provided nested loot table) now has the following syntax: Template:Cd - can be either:
- namespaced id - reference to another named loot table.
- full loot table (same format as in standalone file).
- Loot table entry Template:Cd (which returns all items from provided nested loot table) now has the following syntax: Template:Cd - can be either:
- Minecraft:Banner patterns are now be loaded into the registry from
data/<namespace>/banner_pattern/<id>
- Template:Nbt: The root object.
- Template:Nbt: A namespaced id for the texture. e.g.
custom:patternresolves toassets/custom/textures/entity/banner/pattern.pngandassets/custom/textures/entity/shield/pattern.png. - Template:Nbt: A translation key prefix. e.g.
block.minecraft.banner.custom.patternresolves toblock.minecraft.banner.custom.pattern.<color>.
- Template:Nbt: A namespaced id for the texture. e.g.
- Template:Nbt: The root object.
- Int and float providers used in worldgen definitions are no longer wrapped in an extra
valuefield next totype- For example,
{"type":"minecraft:uniform","value":{"min_inclusive":0.0,"max_inclusive":1.0}}becomes{"type":"minecraft:uniform","min_inclusive":0.0,"max_inclusive":1.0}
- For example,
- The
textfield within filterable entries in book components has been renamed torawto avoid ambiguity. - The
profilecomponent and fields on player head items and blocks respectively now support resolving from a UUID.- By specifying the
idfield without aname, thenameand textures will be looked up.
- By specifying the
- Added new terrain adaptation type for structures:
encapsulate- Density will be added all around every piece of a structure
- Ideal for structures that need to be entirely covered underground
- The combination of
max_stack_sizeandmax_damagecomponents is no longer allowed in commands and data pack definitions - Added a new option
bodyin entityequipmentsub-predicate to match the item in the body armor slot of an entity - The
saturation_modifierfield on thefoodcomponent has been replaced withsaturationsaturationis the exact value added to the player's saturation level- In respect to the former
saturation_modifier, this is defined bysaturation = nutrition * saturation_modifier * 2
- Changed optional
equipment_loot_tablefield in theSpawnPotentialsof Monster Spawners andspawn_potentialsof Trial Spawner configs.- Now named
equipmentinstead ofequipment_loot_table - Format: object with fields
loot_table- A loot table used to generate the equipmentslot_drop_chances- An optional map of equipment slot to specified drop chance- Can also be a single value instead of a list to apply to all slots: e.g.
slot_drop_chances: 0.0fapplies a chance of 0% to all slots
- Can also be a single value instead of a list to apply to all slots: e.g.
- e.g.
equipment: {loot_table: "minecraft:equipment/trial_chamber", slot_drop_chances: {"head": 0.0f, "chest": 0.25f, "legs": 1.0f, "feet": 0.25f}} - If present, rolled items from the specified loot table are equipped to the mob that spawns.
- Now named
- The background texture of the small effect UI has been changed.
- The former behavior of effects such as Jump Boost, Levitation, and Mining Fatigue over 127 has been replaced with new attributes.
shiftin TTF glyph providers is now restricted to the range[-512;512].
- Non-default components on item stacks containing block items are now stored on block entities when placed.
- Component removals from defaults are currently not preserved.
- Placing and breaking non-block entity blocks remains unchanged - nothing is preserved.
- Does not automatically cause preserved components to be restored on drops - this requires addition of
copy_componentsfunction to loot table. - Components are stored in field called
components.- Some components (like
custom_name) are still handled by legacy serialization, which means they might not be present in there. - Contains map of component id to component value.
- Some components (like
- Added support for Viossa language.
[[Minecraft:options.txt|Template:Mono]]
- Removed
skipRealms32bitWarning.
- Status effect particle colors are no longer blended into one particle color.
- All active visible status effect particles are now rendered separately.
- The frequency of emitting status effect particles has been lowered to clutter the screen less.
- Particle options in commands and in fields like
Particlesin Area Effect clouds now use the same representation as worldgen files (like existing biomes' ambient particle settings) - For example, command
/particle minecraft:dust 1.0 0.0 0.0 2.0 ...becomes/particle minecraft:dust{color:[1.0, 0.0, 0.0], scale:2.0} ... - The syntax for particles without extra options (like
minecraft:villager) remains unchanged - Changes to block particles (
minecraft:block,minecraft:block_marker,minecraft:falling_dust,minecraft:dust_pillar) options:- Field
valuehas been renamed toblock_state - Field
block_statenow also accepts plain block name to represent default block state - Example transformations:
minecraft:block minecraft:redstone_lamp[lit=true]->minecraft:block{block_state: {Name: "minecraft:redstone_lamp", Properties: {lit: "true"}}}minecraft:block minecraft:diamond_block->minecraft:block{block_state: "minecraft:diamond_block"}
- Field
- Changes to
minecraft:itemoptions:- Field
valuehas been renamed toitem - Field
itemnow also accepts plain item name to represent item stack with default components countfield is now ignored- Example transformations:
minecraft:item minecraft:dirt->minecraft:item{item: {id: "minecraft:dirt"}}minecraft:item minecraft:dirt->minecraft:item{item: "minecraft:dirt"}
- Field
- Changes to
dust_color_transitionoptions:- Field
fromColorhas been renamed tofrom_color - Field
toColorhas been renamed toto_color - Example transformation:
dust_color_transition 1.0 0.0 0.0 0.5 0.0 1.0 0.5->dust_color_transition{from_color: [1.0f, 0.0f, 0.0f], scale: 0.5f, to_color: [0.0f, 1.0f, 0.5f]}
- Field
- Changes to
entity_effectoptions:- Field
valuehas been renamed tocolor - Field
colornow also accepts list of floats representing RGBA color
- Field
Protocol
- The
minecraft:chat_command_signedpacket has been split fromminecraft:chat_command.- Commands that do not accept any signed arguments use the unsigned packet, and do not pass any 'last seen' chat updates.
- Invalid data in packets sent from a server now causes the game client to disconnect.
- Changed the approach to game client disconnecting on invalid data in packets sent from a server.
- To ease the transition period, modded servers can opt out by setting the appropriate field in the
handshake/game_profilepacket. - This option will be removed in the next release.
- To ease the transition period, modded servers can opt out by setting the appropriate field in the
- Can now specify item component.
- Template:Nbt field for Template:Cd now accepts Template:Nbt.
- Template:Nbt field for Template:Cd recipes are now an item stack without count. That is, Template:Nbt must be specified and Template:Nbt is now accepted.
- The Minecraft:pack format version is now
32. - The Template:Cd font provider transforms have been adjusted to have more reasonable defaults.
- Template:Cd is no longer applied double, and now directly represents a number of pixels in the game UI.
- The font EM square is fitted to Template:Cd pixels in the game UI, instead of between the font ascender and font descender.
- The font baseline is positioned consistently with the default font (7 pixels below line top).
- This means that generally, any font with a Template:Cd of 9 and no Template:Cd should look correct by default.
- The unused attributes array in core shader definitions has been removed.
- The
IViewRotMatuniform has been removed, and the Position attribute for entities is now in (camera relative) world space. - Light direction uniforms are no longer premultiplied by the view matrix.
- Added texture and model files for vault block.
- The trial key item texture has been changed.
- Added texture and particle file for
vault_connectionparticle. - Added font variant filters to font providers.
- Every glyph provider can now be enabled or disabled based on certain set of variants.
- Available variants are currently hardcoded and controlled by font options menu.
- Current variants:
uniform- wired to "Force Uniform" button.jp- wired to "Japanese Glyph Variants" button.
- Current variants:
- Filters are defined in section called
filter, available for every glyph provider.- Keys in that object are variant names (for example
uniform). - Glyph provider is included only when value in filter matches actual value of variant in key.
- Keys in that object are variant names (for example
- Changed Japanese font variants.
- New option has been added to select Japanese variants for some CJK characters.
- Replacement glyphs come from Japanese version of Unifont font.
- New option is included in new "Font Settings" menu, accessible from "Language" menu.
- Default value of this option is based on system locale language setting.
- "Force Unicode" button has been moved to "Font Settings".
- Added additional textures to support colored layers of wolf armor for the wolf model and wolf armor item:
textures/entity/wolf/wolf_armor_overlay.pngtextures/item/wolf_armor_overlay.png
- Wolf armor item texture,
textures/item/wolf_armor.png, has been raise by 2px to create space for the durability bar. - Added three semi-transparent textures for the cracks to show on the wolf armor layer:
textures/entity/wolf/wolf_armor_crackiness_low.pngtextures/entity/wolf/wolf_armor_crackiness_medium.pngtextures/entity/wolf/wolf_armor_crackiness_high.png
- The
options_backgroundand thelight_dirt_backgroundtextures have been removed.- Instead,
menu_backgroundis used as the background of screens, whilemenu_list_backgroundis used for the background of lists.
- Instead,
- Lists now use the
header_separatorandfooter_separatortextures at the top and bottom, respectively. - The following textures have been updated:
footer_separator,header_separator. - The following sprites have been updated:
widget\tab,widget\tab_highlighted,widget\tab_selected,widget\tab_selected_highlighted. - The
widget\scroller_backgroundsprite has been added. - The following textures in Realms have been removed:
changes,changes_highlighted,restore,restore_highlighted,make_operator_highlighted,remove_operator_highlighted,remove_player_highlighted. - Added Template:Cd textures to allow menus accessed from the pause menu to look different from menus accessed from the title screen.
- Added Template:Cd texture, which is rendered behind the tab buttons in the Create World Screen.
- Added Template:Cd texture, which is rendered behind the poem and the credits.
- The Template:Cd post-processing shader has been renamed to Template:Cd.
- Added optional boolean field Template:Cd to post-processing passes which when set to Template:Cd switches texture sampling mode from nearest-neighbor sampling to linear interpolation for that pass.
- Added Template:Cd post-processing shader.
- Particle
entity_effecttakes color argument when spawned from command/particle entity_effect Template:Cd Template:Cd Template:Cd Template:Cd.- 4 float values ranging from 0.0 to 1.0 representing RGBA.
- Removed
map_icons.png- Map decoration icons have been split from the former
map_icons.pngto use an atlas loaded from thetextures/map/decorations/directory
- Map decoration icons have been split from the former
- The process of upgrading a pack can be assisted by using an automated Slicer tool.<ref>https://github.com/Mojang/slicer/releases/tag/v1.1.4</ref>
- Added
trial_chambersmap decoration icon - Added the following sound events: Template:Cd
- Added textures for the following blocks and items: ominous vault, ominous trial spawner, ominous bottle
- Updated textures for normal vault block
- Added the following mob effect icon textures: Template:Cd
- Added new models for ominous state of vault block
- Removed
position_color_normalandposition_tex_lightmap_colorshaders. - Replaced
position_tex_color_normalshader withrendertype_clouds.
- Changed "Java 16 + 1 = 17!" to "Java 16 + 1 + 4 = 21!".
- Added Template:Cd to the Template:Cd block tag.
- The
axolotl_tempt_itemsitem tag has been renamed toaxolotl_food - Removed the
toolsitem tag (overlapping withbreaks_decorated_pots), moving previous contents into that tag.
- No longer appears when hovering outside the containing element.
UI
- The UI has been updated to sport a fresher look and to be more consistent when it comes to the layout of different UI elements, all while retaining the essence and feel of the old screens.
- Screen elements such as titles and buttons are positioned more consistently across different screens.
- The "Player" and "World Backups" screens in Realms have been updated.
- Lists now have clearer borders at the top and bottom.
Other
- Added JFR (Java Flight Recorder) events for individual chunk reads (
minecraft.ChunkRegionRead) and writes (minecraft.ChunkRegionWrite). - Introduced changes to optimizing worlds.
- Optimizing singleplayer worlds and running dedicated server with Template:Cd now also upgrades contents of Template:Cd and Template:Cd directories of the world.
- New Template:Cd dedicated server startup parameter.
- It triggers world optimization similar to Template:Cd, but also rewrites all the chunks independently of whether they have been upgraded.
- This creates fresh and defragmented region files.
- Using this parameter after changing the Template:Cd server property recompresses all region files in the new format.
- Improved server TPS debug chart.
- As before, it is accessible by pressing Template:Cd in a singleplayer world.
- The bottom dark red section of the chart displays the time spent during the main logic of the server tick. It is equivalent to the value displayed in the old chart.
- The light brown section displays time spent on running scheduled tasks.
- The purple section displays time spent executing all other code during the tick.
- The top light green (or yellow or red depending on lag) section displays time spent idling, waiting for next tick.
- The Template:Cd, Template:Cd, Template:Cd aggregate values are based on the sum of the first 3 sections.
- Allowed server operators to view dedicated server TPS debug chart.
- Maximum length of a command in a function (including macro expansions) can no longer exceed 2,000,000 characters.
- Reduced time needed to generate Minecraft:explorer maps to Minecraft:buried treasures.
- Reduced amount of data sent by the server during login by reusing parts of the vanilla datapack.
- In singleplayer, when errors occur during loading or saving of chunks a warning is shown in a toast.
- Trying to join a singleplayer world with less than 64 MB free disk space shows a warning screen.
- Additionally, a warning toast is shown periodically while in game.
Experimental
These additions and changes only take effect when the Minecraft:Update 1.21 experimental data pack is enabled, the exception to this is the change to villagers, which takes effect when the "Minecraft:Villager Trade Rebalance" experimental data pack is enabled.
Additions
Blocks
File:Heavy Core JE1 BE1.png Minecraft:Heavy core
- A mysterious, dense block which can be combined with a Minecraft:breeze rod to craft a Minecraft:mace.
- Can be found as a loot reward in Minecraft:ominous vaults with a chance of 8.3%.
- When placed, it has the same size as a Minecraft:player head, and can be oriented in 12 directions.
- Mining a heavy core is slow - it takes 15 seconds to mine.
- The appropriate tool is the pickaxe.
- Are resistant to explosions: blast resistance matches the one from Minecraft:obsidian.
- Can be waterlogged.
File:Ominous Trial Spawner.png Minecraft:Ominous trial spawner
- A more powerful active phase of the Minecraft:trial spawner with unique challenges and rewards.
- Provides a more challenging experience that advanced players can opt into for better rewards.
- A trial spawner becomes ominous when it detects a Minecraft:player with the Minecraft:Trial Omen effect if:
- Either it is not in cooldown.
- Or, it is in cooldown but was not ominous during its last activation. This bypasses the cooldown.
- While active, it:
- Glows blue instead of orange.
- Emits soul flames instead of normal flames.
- Spawns mobs, usually with equipment if they can wear it.
- Mobs that can wear equipment often spawn with enchanted weapons and armor.
- Armor enchantments include Protection IV, Projectile Protection IV and Fire Protection IV.
- Weapon enchantments include Sharpness I, Knockback I, Power I and Punch I.
- The Minecraft:armor these mobs wear have Minecraft:armor trims applied from the Minecraft:trial chambers.
- Mobs that can wear equipment often spawn with enchanted weapons and armor.
- Periodically spawns potions and projectiles on top of unsuspecting players and mobs.
- Based on their location, spawners in an area select a random set of projectiles to spawn.
- These projectiles always include a single type of Minecraft:lingering potion from a set of possible status effects.
- Players are chosen 50% of the time when an ominous trial spawner chooses which entity to drop projectiles on top of.
- Becoming ominous despawns any existing mobs it spawned and resets its challenge.
- It stays ominous until it has been defeated and its cooldown has finished.
- When defeated, it ejects a different set of loot to normal trial spawners.
- An ominous Minecraft:trial key has a 30% chance of ejecting from a defeated ominous trial spawner, replacing the usual 50% chance to eject a Minecraft:trial key.
File:Ominous Vault (active) JE2 BE2.png Minecraft:Ominous vault
- A variant of the Minecraft:vault, with a different texture, that emits soul flames instead of normal flames.
- Can be found throughout the Minecraft:trial chambers in harder to find places.
- Is unlocked with an Minecraft:ominous trial key.
- Holds a more valuable set of rewards than the normal vault.
- Can provide some particularly valuable items, to mention a few:
- File:Ominous Bottle JE1 BE1.png Minecraft:Ominous bottle (Minecraft:Bad Omen level III - V)
- File:Enchanted Golden Apple JE2 BE2.gif Minecraft:Enchanted golden apple
- File:Flow Armor Trim Smithing Template JE1 BE1.png Minecraft:Flow armor trim
- File:Heavy Core JE1 BE1.png Minecraft:Heavy core
- File:Flow banner pattern.png Minecraft:Flow banner pattern
- Enchantments for the Minecraft:mace:
File:Vault JE6 BE5.png Minecraft:Vault
- A block containing loot that can be unlocked with Minecraft:trial keys.
- Found throughout Minecraft:trial chambers.
- Template:Control a trial key on a vault unlocks it, making it eject loot.
- Can be unlocked by an unlimited amount of players.
- It can be only activated once per Minecraft:player. After a player has unlocked a vault, they cannot unlock that vault again.
- If a player has not unlocked that vault before, an orange stream of particles flows from the player to the vault when nearby.
- Has a keyhole that opens or closes depending on the players nearby.
- If any nearby player has not unlocked that vault, the keyhole opens.
- If all nearby players have unlocked that vault, the keyhole remains closed.
- Within its cage, it cycles through and display items which are possible to eject from its loot table.
- The rewards it ejects are randomized from its loot table each time it is unlocked.
- The player gets no more than 1 unstackable item per vault.
- The player more often gets rewards which can stack together.
- Cannot be crafted or obtained in Survival, and does not drop anything when mined.
- Explosion-resistant and cannot be moved.
- Can eject:
- File:Wind Charge (item) JE1 BE1.png Minecraft:Wind charges
- File:Bolt Armor Trim Smithing Template JE1 BE1.png Minecraft:Bolt armor trim
- File:Trident (item).png Minecraft:Trident
- File:Honey Bottle JE1 BE2.png Minecraft:Honey bottle
- File:Arrow (item) JE1 BE1.png Minecraft:Arrow
- File:Arrow of Poison JE3.png Minecraft:Arrow of Poison
- File:Golden Apple JE2 BE2.png Minecraft:Golden apple
- File:Enchanted Golden Apple JE2 BE2.gif Minecraft:Enchanted golden apple
- File:Ominous Bottle JE1 BE1.png Minecraft:Ominous bottle (Minecraft:Bad Omen level I or II)
- File:Guster banner pattern.png Minecraft:Guster banner pattern
Items
- Added two new banner patterns:
width=32x32 Minecraft:Breeze rod
- Dropped by the Minecraft:breeze.
- Can be crafted into 4 Minecraft:wind charges.
- Can be used with the Minecraft:heavy core to craft a Minecraft:mace.
- A new heavy weapon that can be crafted from a Minecraft:breeze rod and a Minecraft:heavy core.
- Using the weapon while falling can increase the damage output. The higher the player falls, the more damage is dealt.
- This can be done by jumping toward the target and hitting them before the player hits the ground.
- Successfully striking a target in this way negates any damage accumulated from the fall, similar to how a Minecraft:wind charge works, as well as resets all vertical momentum.
- Maces have a unique explosive particle effect when executing a smash attack with the mace to really show the player's power.
- Maces have a unique sound when hitting an entity from a fall of more than 5 blocks.
- Other entities near the struck enemy receive knockback, even stronger when falling for more than 5 blocks before attacking.
- Can be enchanted with:
- Can be repaired with Minecraft:breeze rods using an Minecraft:anvil.
- Players can use a mace in combination with Minecraft:wind charges to launch up and deliver devastating smash attacks on their enemies.
File:Ominous Bottle JE1 BE1.png Minecraft:Ominous bottle
- Can be consumed by players to give the Minecraft:Bad Omen effect for Template:Convert.
- Has 5 variations, one for each Bad Omen level.
- The bottle breaks when consumed.
- Can be stacked to 64.
- Is ocassionally found in loots from Minecraft:vaults
- Is dropped by Minecraft:raid captains when they are defeated outside a Minecraft:raid.
File:Ominous Trial Key JE1 BE1.png Minecraft:Ominous trial key
- A new variant of the Minecraft:trial key.
- Can only be obtained by defeating an Minecraft:ominous trial spawner.
- Can be used to unlock an Minecraft:ominous vault, but cannot unlock a Minecraft:vault.
- Added 3 new pottery sherds, that can be found on Minecraft:decorated pots inside of Minecraft:trial chambers:
- Added two new smithing templates, that are exclusively obtained from Minecraft:vault and Minecraft:ominous vaults:
File:Trial Chambers Map JE1.png Minecraft:Trial chambers map
- Can be traded from journeyman cartographers.
- Point to a nearby Minecraft:trial chamber.
File:Wind Charge (item) JE1 BE1.png Minecraft:Wind charge
- It can now be obtained as an Minecraft:item by the Minecraft:player.
- Can be crafted from Minecraft:breeze rods.
- When used it fires off a wind charge projectile similar to the Minecraft:breeze's.
- A wind charge fired by a player grants 10% more knockback than a breeze's, but has a much smaller area of impact.
- Just like the Minecraft:projectile fired by the Minecraft:breeze, wind charges fired by the player also deal damage if they hit an entity directly, and they activate Minecraft:redstone components.
- There is a half-second cooldown after each use.
- Wind charges can be fired from a Minecraft:dispenser.
- Players that launch themselves with a wind charge only accumulate fall damage below the Y-level of where they collided with the wind burst.
Mobs
- A new, mossy and mushroom covered variant of the Minecraft:skeleton that shoots poisonous arrows.
- Is faster to take down with Template:Hp health instead of Template:Hp health.
- Attack at a slower interval of Template:Convert instead of skeletons' Template:Convert.
- Has a chance to drop Minecraft:arrows of Poison when killed by a Minecraft:player.
- Drops 2 Minecraft:mushrooms (either both red/brown or one of each) when Minecraft:sheared.
- Spawns naturally in Minecraft:swamps and Minecraft:mangrove swamps.
- They're somewhat rare, with their spawn chance being half of that of the skeleton.
- As opposed to Minecraft:strays and Minecraft:husks, bogged do not require sky access to spawn, and they can also spawn in caves.
- Can spawn from Minecraft:trial spawners in some Minecraft:trial chambers. These spawners now replace the ones that spawn skeletons shooting arrows of Poison.
Command format
Loot functions
- Added
set_ominous_bottle_amplifierloot function.- Sets the
ominous_bottle_amplifiercomponent on the target item according to a number provider.conditions: list of conditions to filter this functionamplifier: a number provider used to generate theominous_bottle_amplifiercomponent
- Sets the
Gameplay
- Added eight new advancements:
Template:Animate Minecraft:Ominous events
- Bad Omen has been expanded to give access to an optional experience in trial chambers.
- These optional experiences accessed through Minecraft:Bad Omen are now known as ominous events.
- They are more challenging than usual, and are designed to shake up the experience in unique ways.
- Illager Minecraft:raids are an example of an existing ominous event.
- Bad Omen is getting some changes with this redesign:
- It has a new, shadowy icon and a sound for being applied to the player.
- It no longer triggers a raid directly when entering a village.
- Instead, it transforms into Minecraft:Raid Omen with a duration of 30 seconds.
- Once the Raid Omen expires, a raid starts at the location the player gained the Raid Omen.
- Like any other effect, players can drink a bucket of milk to clear the Raid Omen to prevent the raid from starting.
- It is no longer given to players that defeat a raid captain outside a raid.
- Instead, players can gain access to Bad Omen by consuming a new ominous bottle.
General
- Added the following block tag:
- Template:Cd: contains Template:Cd
- Controls which blocks are not impacted by the explosion when hit by Minecraft:wind charge.
- Template:Cd: contains Template:Cd
- Added the following entity type tags:
- Template:Cd: contains Template:Cd.
- Template:Cd: contains Template:Cd.
- For entities that cannot receive the Infested mob effect.
- Template:Cd: contains Template:Cd.
- For entities that cannot receive the Oozing mob effect.
- Template:Cd: contains Template:Cd.
- Added the following item tag:
- Template:Cd: contains Template:Cd.
- Added the following structure tag:
- Template:Cd: contains Template:Cd.
Changes
Blocks
- The top face of the crafter is no longer mirrored.
- Trial spawners now have the same two default loot tables as they have in the trial chamber.
- The loot ejected from trial spawners has been adjusted.
- It now has a focus on providing higher quality food more often to make replenishing between fights more safe.
- No longer ignore the Template:Cd field.
- Now appears more frequently in the Minecraft:trial chambers corridors.
- All trials spawners now increase the amount of mobs present at once by 0.5 for each additional player, down from 2.
- Baby zombie spawners now only have 2 mobs present at once for its baseline, down from 3 mobs.
- Can now only activate when a player is in line of sight.
Items
- Can now be used to open Minecraft:vaults.
- Texture changed to match the vaults.
Mobs
- Breezes now deflect all projectiles.
- Deflected projectiles now deflect in the direction of the shooter.
- Added sounds for projectile deflection, 'charging up attack', the breeze being in the air, and a 'whirl' idle sound.
- Tweaked the existing sounds.
- Separate eyes textures have merged into the head.
- The texture for the bottom faces of breeze's rods was changed.
- Is now aggressive toward Minecraft:iron golems in addition to players.
- No longer retaliates against attacks from Minecraft:skeletons, Minecraft:strays, Minecraft:zombies, Minecraft:husks, Minecraft:spiders, Minecraft:cave spiders, and Minecraft:slimes. These mobs don't retaliate when damaged by a breeze.
- Now avoids jumping into dangerous blocks or air.
- Drops 1-2 Minecraft:breeze rods when killed by a player.
- The number of breeze rods dropped is affected by Minecraft:Looting enchantments.
- Can now imitate bogged sounds.
- In the "Minecraft:Villager Trade Rebalance" experiment, villagers who buy armor now ignore durability and can buy damaged armor.
Non-mob entities
- Updated the model, texture, and animation, to give it a more dynamic look and feel.
- They now use a new damage type
wind_chargeinstead ofmob_projectile.
World generation
- The spawners that used to spawn skeletons holding Poison arrows now spawn bogged.
- Added new chambers and variations, with new challenges:
- Remade
chamber_3, and renamed it topedestal. - Remade
chamber_5with variations, and renamed it toeruption. - Remade
chamber_6with variations, and renamed it toassembly. - Remade
chamber_9, and renamed it toslanted.
- Remade
- Added flow, guster, and scrape Minecraft:pottery sherds to the Minecraft:decorated pots in the decor structure pool.
- Placed vaults and ominous vaults.
- Reduced amount of trial spawners in corridors.
- Added an atrium to the corridors.
- Made various layout changes in intersections and corridors.
- Fixed various broken jigsaw connections in the corridors.
- Trial chambers now generate slightly more rarely and a bit more spaced out from each other, and more consistently buried by terrain when found underground.
- Added a new trap dispenser style to chambers.
- Chamber "Eruption":
- Stopped tuff bricks from spawning in the air.
- Added more lights to quadrants.
Gameplay
- Killing a bogged now counts for the "Monster Hunter" advancement.
- Bogged are now required for the "Monsters Hunted" advancement.
General
- Added Template:Cd to the Template:Cd block tag.
- Added Template:Cd to the Template:Cd block tag.
- Added Template:Cd to the Template:Cd entity type tag.
- Added Template:Cd to the Template:Cd item tag.
- Removed the Template:Cd and Template:Cd entity type tags.
Fixes
Videos
Trivia
- The scale attribute comes from the April Fools snapshot Minecraft:23w13a_or_b mainly taken from the attribute "minecraft:generic.scale" or the Template:Cmd command.
- This minor update has the most snapshots (15, beating the previous record of 1.7.4 and 1.20.3 at 8 snapshots), even surpassing major updates such as 1.19 and 1.20.
- The first snapshot was released on the 51st week, surpassing 1.9 (Minecraft:15w51a/Minecraft:15w51b) as it was released on the latest calendar of all snapshots, on December 18th.
- 1.20.5 has the longest wait for a minor update to Java Edition, with 138 days having elapsed since the release of 1.20.4 on December 7, 2023, surpassing 1.8.9 by only 4 days.
See also
References
Template:Navbox Java Edition versions
Minecraft:de:1.20.5 Minecraft:es:Java Edition 1.20.5 Minecraft:fr:Version Java 1.20.5 Minecraft:ja:Java Edition 1.20.5 Minecraft:pt:Edição Java 1.20.5 Minecraft:ru:1.20.5 (Java Edition) Minecraft:th:รุ่น Java 1.20.5 Minecraft:uk:1.20.5 (Java Edition) Minecraft:zh:Java版1.20.5