{
"title": "Minecraft 1.21.5",
"images": [
"1.21.5 banner.jpg",
"Java Edition 1.21.5.png"
],
"rows": [
{
"field": "''(link to Java Edition article, displayed as Java Edition)''",
"label": "(link to Edizione article, displayed as Edizione)"
},
{
"field": "(link to Spring to Life article, displayed as Spring to Life)",
"label": "Nome ufficiale"
},
{
"field": "March 25, 2025",
"label": "Data di rilascio"
},
{
"field": "[https://launcher.mojang.com/v1/objects/b88808bbb3da8d9f453694b5d8f74a3396f1a533/client.jar Client] ([https://launchermeta.mojang.com/v1/packages/09fe09042d1767d677649d1e4a9d26ce3b462ebb/1.21.5.json .json])<br />[https://launcher.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar Server]",
"label": "(link to Lezioni:Installare una versione#Installazione delle versioni manuale article, displayed as Download)"
},
{
"field": "[https://launcher.mojang.com/v1/objects/57669731d542f98646772e91a0d68628f9827a5c/client.txt Client]<br />[https://launcher.mojang.com/v1/objects/f4812c1d66d0098a94616b19c21829e591d0af3a/server.txt Server]",
"label": "(link to Mappe di offuscamento article, displayed as Mappe di offuscamento)"
},
{
"field": "770",
"label": "(link to Versione di protocollo article, displayed as Versione di protocollo)"
},
{
"field": "4325",
"label": "(link to Versione dati article, displayed as Versione dati)"
},
{
"field": "55",
"label": "<span style=\"white-space: normal;\">(link to Fornato dei pacchetti#Lista dei formati di pacchetto article, displayed as Formato pacchetto di risorse)</span>"
},
{
"field": "71",
"label": "<span style=\"white-space: normal;\">(link to Fornato dei pacchetti#Lista dei formati di pacchetto article, displayed as Formato pacchetto di dati)</span>"
},
{
"field": "(link to wikipedia:Java version history#Java SE 21 (LTS) article, displayed as Java SE 21)",
"label": "<span style=\"white-space: normal;\">Versione Java minima</span>"
}
],
"invimages": [],
"footer": "<table style=\"margin: auto; word-break: break-word;\">\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\" >[[Java Edition 1.21|<span style=\"margin-right:-0.35em\">β</span>β 1.21]]</td>\n<td rowspan=\"2\" style=\"padding: 0.4em\">'''1.21.5'''</td>\n<td style=\"padding: 0.4em\" ></td>\n</tr>\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\">\n[[Java Edition 1.21.4|β 1.21.4]]\n</td>\n\n<td style=\"padding: 0.4em\">\n[[Java Edition 1.21.6| 1.21.6 βΊ]]\n</td>\n</tr>\n</table>"
}
1.21.5, il rilascio di Spring to Life, Γ¨ un rilascio rilasciato il 25 marzo 2025.[1] Questo aggiornamento aggiunge nuove varianti per le galline, le mucche, e i maiali, expands plant life, and updates all spawn egg textures. Additionally, several features previously exclusive to Bedrock Edition have been added to Java Edition, enhancing gameplay diversity and visual aesthetics, and also fixes bugs. This is the first version released in 2025.
To run a test in a world, a test instance block is used. This type of block represents the test as placed in the world and is used to interact with that test, to save the structure, reset or run the test.
Using the /test command to run or create a test will also place a test instance block to control that test.
When bred by a player, the baby chicken variant will not be chosen by the current biome, but instead randomly selected from one of the parents' variants.
When bred by a player, the baby pig variant will not be chosen by the current biome, but instead randomly selected from one of the parentsβ variants.
Dead bush blocks have a chance of playing ambient sounds when placed on top of two blocks that are any color of terracotta, sand or red sand blocks in any biome.
Sand, red sand and terracotta of any color have a chance of playing ambient sounds when surrounded by any one of them on at least 3 sides 8 blocks away.
block.sand.idle can be played in any biome.
block.sand.wind only plays when in desert or badlands biomes.
Any block in the simulation distance of a player or loaded by another source of chunk loading (such as ender pearls) may now receive random ticks, instead of just 8 chunks around players.
For example: if a chunk is loaded by an ender pearl or is in the spawn chunks, crops are able to grow, ice can melt, snow can fall, and a cauldron can be filled by rain.
Mob spawning, lava spreading fire, and lightning strikes still occur in the previous radius of 8 chunks around players.
Landing on powder snow with leather boots equipped after falling further than 2.5 blocks (more precisely ~2.69456... blocks) will now make entities fall through the snow.
Jumping or falling less than 2.5 blocks allows the entity to land on top of the snow like before.
Changed the visuals of all spawn eggs to make them easier to distinguish: each type of spawn egg now has its own unique icon instead of all just being colored variants of the same spotted egg.
Each egg visual varies in shape to reflect the in-world properties of the mob it spawns: for example, smaller mobs tend to have a smaller spawn egg icon.
The changes to cartographer trades have been moved from experimental features and are now available during normal gameplay.
Added seven new maps which cartographers can sell, each pointing to a different village or other structures in a different biome, depending on the biome they come from. These maps can help players who want to quickly find a specific location.
Village maps points to a village in a specific biome. Jungle explorer map points to a jungle pyramid. Swamp explorer map points to a swamp hut.
Cartographers from different village types will sell a different range of maps and colored banners.
Some prices and quantities have also been adjusted.
π Image An image referring to how the different maps for the different village types are connected.π Image A graph showing where each type of cartographer's maps leads to
Ambient block sounds in deserts, badlands and pale gardens which are only used for ambience have been moved from Blocks to Ambient/Environment category.
The breaking sound for grass sound type has been lowered, affecting all blocks using this sound.
Blocks that are broken by a piston now play their breaking sound.
Shows the local coordinates to the block pointed at in the test.
If the optional variable name is specified, this variable name is used in a code fragment obtained by clicking on the coordinates in the output message.
If multiple tests are run at once, they are placed in a grid and run in parallel, although only up to a certain limit. Beyond that limit, tests are run in rounds where each round completes before any tests from the next round are started.
For each test, loads the given structure and runs the associated test. Each test location will have a beacon beam showcasing the test status.
Gray beacon = in progress
Red = fail (required test)
Orange = fail (optional test)
Green = success
If a test fails, the error is shown on a lectern book and an overlay.
When present, this item can be used like a Shield to block attacks to the holding player.
Format: object with fields
block_delay_seconds
Non-negative float (default: 0).
The number of seconds that right-click must be held before successfully blocking attacks.
bypassed_by β hashtagged damage type tag (optional)
If specified, blocking is bypassed by these damage types.
damage_reductions
List of object with fields (optional)
Controls how much damage should be blocked in a given attack.
If not specified, all damage is blocked.
Each entry in the list contributes an amount of damage to be blocked, optionally filtered by damage type.
Each entry adds to blocked damage, determined by clamp(base + factor * dealt_damage, 0, dealt_damage).
The final damage applied in the attack to the entity is determined by dealt_damage - clamp(blocked_damage, 0, dealt_damage)
Entry format:
type β damage type id, list of damage type ids, or hash-prefixed damage type tag (optional).
This entry will only contribute to the blocked damage if the dealt damage type matches this field.
If not specified, any damage type will be accepted.
base β float
Constant amount of damage to be blocked.
factor β float
Fraction of the dealt damage that should be blocked.
horizontal_blocking_angle β angle in degrees as a positive float
Default: 90
The maximum angle between the user's facing and the incoming attack for the block to be effective.
If the blocked damage has no position, the compared angle will be assumed to be the maximum 180.
disable_cooldown_scale
Non-negative float (default: 1).
Multiplier applied to the number of seconds that the item will be on cooldown for when attacked by a disabling attack (disable_blocking_for_seconds on the weapon component).
If 0, this item can never be disabled by attacks.
item_damage
Object with fields (optional)
Controls how much damage should be applied to the item from a given attack.
If not specified, a point of durability is removed for every point of damage dealt.
The final damage applied to the item is determined by: .
The final value may be negative, causing the item to be repaired.
Format:
threshold β non-negative float
The minimum amount of damage dealt by the attack before item damage is applied to the item.
base β float
Constant amount of damage applied to the item, if threshold is passed.
factor β float
Fraction of the dealt damage that should be applied to the item, if threshold is passed.
block_sound
Sound event (optional).
If specified, this sound will be played when an attack is successfully blocked.
disable_sound
Sound event (optional).
If specified, this sound will be played when the item goes on its disabled cooldown due to an attack.
break_sound component
When present, this sound will be played when the item runs out of durability and breaks.
If not present, no sound will be played on break.
This component is present by default on every item type.
Format: sound event
e.g. break_sound='item.wolf_armor.break'
potion_duration_scale component
When present, for items that have the potion_contents component, the duration of the applied effects will be scaled by this factor.
This also applies to custom_effects in the potion_contents component, unlike the previous hard-coded scaling factor.
If not specified, defaults to 1.0.
Format: non-negative float
e.g. potion_duration_scale=0.25
provides_banner_patterns component
When present, this item can be placed in the pattern slot of a Loom.
Format: hash-prefixed banner pattern tag.
e.g. provides_banner_patterns='#minecraft:pattern_item/globe'
provides_trim_material component
When present, this item will provide the specified trim material when used in a trimming recipe.
Note that to be used in the built-in smithing recipes, the item must also be in the #trim_material tag.
As such, the trim material registry definition no longer specifies an item.
Format: trim material id
e.g. provides_trim_material='minecraft:iron'
tooltip_display component
This component allows the tooltips provided specifically by any given item component to be suppressed.
This replaces the previous show_in_tooltip fields, hide_additional_tooltip and hide_tooltip components.
Format: object with fields:
hide_tooltip - boolean (default: false).
If true, the item will have no tooltip when hovered.
hidden_components - list of item component ids (default: []).
The tooltips provided by any component in this list will be hidden.
If that component provides no tooltip, it will have no effect.
weapon component
When present, the 'Item Used' statistic will be incremented for each attack with the item.
The specified amount of damage can be done to the item with each attack.
Added #spawns_cold_variant_farm_animals β all biomes where cold variant of farm animals spawn.
Added #spawns_warm_variant_farm_animals β all biomes where warm variants of farm animals spawn.
Block Tags
Added #camels_spawnable_on β contains blocks that camels can spawn on.
Added #edible_for_sheep β contains blocks that can be eaten by sheep to regrow their wool.
Added #plays_ambient_desert_block_sounds β contains blocks that will play ambient desert block sounds.
Added #replaceable_by_mushrooms β exhaustive list of all blocks that can be replaced as a mushroom is placed or grows.
Added #sword_instantly_mines β blocks that are instantly mined by Swords.
Entity Tags
Added #can_equip_saddle β contains entities that can be equipped with a saddle. This does not mean that the Saddle will function, just that it can be equipped into the saddle slot.
Added #can_wear_horse_armor β contains entity that can hold horse armor in their body slot.
Item Tags
Added #book_cloning_target β item that can be crafted together with a Written Book to clone it.
Added #eggs β contains all variants of the egg item.
Added #flowers β corresponds to the #flowers block tag.
Structure tags
Added #on_savanna_village_maps β contains structures that can appear on savanna village maps.
Added #on_desert_village_maps β contains structures that can appear on desert village maps.
Added #on_plains_village_maps β contains structures that can appear on plains village maps.
Added #on_taiga_village_maps β contains structures that can appear on taiga village maps.
Added #on_snowy_village_maps β contains structures that can appear on snowy village maps.
Added #on_swamp_explorer_maps β contains structures that can appear on swamp explorer maps.
Added #on_jungle_explorer_maps β contains structures that can appear on jungle explorer maps.
Arguments in commands that accept inline values like loot tables, predicates, modifiers, data components, formatted text (/loot, /give, /tellraw, /execute if predicate, data components in /execute if items, etc.) have been reverted to accept numbers in place of booleans.
Text components in commands such as /tellraw or /title are now specified with SNBT instead of JSON.
Text style in the /scoreboard command when specifying the styled number format is now specified with SNBT instead of JSON.
The behavior of /setblock and /fill commands have changed in how they handle block entity data:
If the block entity data is not specified, and the existing block has data, the block entity data will be preserved.
If the block entity data is specified, the block entity data will be set to the specified value.
To clear the block entity data explicitly, the block entity data must be specified as {}.
The operation is now successful if either the block state changed or the block entity data changed.
Any interface with NBT data within the game (SNBT representation, /data) now supports heterogeneous lists, i.e. ones where elements are not of the same type
Inserting or replacing into a list of a different type with /data will no longer give an error.
Inserting into an array type (e.g. [I;1,2,3]) is still type-restricted.
This means that the 'wrapper' objects previously used to represent heterogeneous lists will no longer be observable by in-game means.
The NBT file format is unchanged.
Heterogeneous lists are transformed before storage to bypass NBT constraints.
Example transform: ['a', {'b':3}] is stored as [{'':'a'},{'b':3}].
Existing external tools will still be able to read NBT files as before, but heterogeneous lists will be displayed in the transformed form.
No data produced by the game has changed: objects such as Text Components were already producing heterogeneous lists in this form.
Note: these wrapper objects may never be observed in-game, they are only relevant to developers working with the NBT file or network format directly.
Removed the show_in_tooltip field, replaced by tooltip_display component.
This component now always uses its simplified form, with the RGB field inlined to top-level.
e.g. dyed_color={rgb:12345}] -> dyed_color=12345]
The specified color now supports the RGB array format.
e.g. dyed_color=[0.5, 1.0, 0.2]
enchantments and stored_enchantments components
Removed the show_in_tooltip field, replaced by tooltip_display component.
These components now always use their simplified form, with the levels field inlined to top-level.
e.g. enchantments={levels:{sharpness:2}}] -> enchantments={sharpness:2}]
equippable component
Can now apply to saddle slot.
Any mob can now have equipment added in the body slot as long as the component allows it (allowed_entities).
Added new optional field: equip_on_interact (boolean).
If true, players can equip this item onto a target mob by right-clicking it (as long as this item can be equipped on the target at all).
The item will not be equipped if the target already has an item in the relevant slot.
If not specified, defaults to false.
hide_additional_tooltip component
Has been removed and replaced by use of the tooltip_display component and hidden_components field.
The following components previously covered by the hide_additional_tooltip component may need to be hidden:
minecraft:banner_patterns
minecraft:bees
minecraft:block_entity_data
Specifically, Mob Spawner and Trial Spawner block entity data will display the configured mob.
minecraft:block_state
Specifically, the honey_level property will be displayed in the tooltip for any item with this specified.
minecraft:bundle_contents
minecraft:charged_projectiles
minecraft:container
minecraft:container_loot
minecraft:firework_explosion
minecraft:fireworks
minecraft:instrument
minecraft:map_id
minecraft:painting/variant
minecraft:pot_decorations
minecraft:potion_contents
minecraft:tropical_fish/pattern
minecraft:written_book_content
This additionally means that tooltips from the above listed components are no longer restricted to specific item types.
Note: for existing items in a world with the hide_additional_tooltip component, any of the above listed components also present on the same item will be added to the list to hide in tooltip_display.
hide_tooltip component
Has been removed and replaced by use of the tooltip_display component and hide_tooltip field.
jukebox_playable component
Removed the show_in_tooltip field, replaced by tooltip_display component.
tool component
Added new optional field: can_destroy_blocks_in_creative (boolean)
If false, players cannot break blocks while holding this tool in Creative Mode.
If not specified, defaults to true.
trim component
Removed the show_in_tooltip field, replaced by tooltip_display component.
unbreakable component
Removed the show_in_tooltip field, replaced by tooltip_display component.
Some existing components are now also transferred from spawning item to spawned entity:
minecraft:custom_name - any entity.
minecraft:potion_contents - Lingering Potion to Area Effect Cloud.
minecraft:potion_duration_scale - Lingering Potion to Area Effect Cloud.
If not specified or removed, the entity will have no equipment.
e.g. equipment:{chest:{id:'minecraft:diamond_chestplate'}}.
This affects all mobs and armor stands, but players are unaffected.
The data format of saddles has been unified between mobs such as horses and pigs, becoming a new kind of equipment slot (and stored in the equipment.saddle field)
This also replaces the boolean Saddle flag from pigs and striders.
The Saddle dropping on death is now affected by the drop_chances field, as with other equipment slots.
The FallDistance field has been changed from float to double and is now called fall_distance.
The armor and off-hand equipment of players is now also stored in the equipment field.
Although items written into the Inventory using armor and off-hand slot numbers still work.
Pos, Motion, and Rotation values without the correct number of components (3, 3, and 2 respectively) will now be fully discarded, instead of only selecting the specified components.
The SleepingX, SleepingY, and SleepingZ fields have been collected into a single sleeping_pos field.
e.g. sleeping_pos: [I;1,2,3]
Block States in the entity data of arrows, minecarts, block displays, endermen, falling blocks, primed TNT, or piston moving blocks are no longer allowed to be specified as an empty object.
The Tags field will no longer be preserved if removed.
The FallFlying field will no longer be preserved if removed.
The Health and Air fields now default to their respective maximum value if not specified.
allay
Removed the CanDuplicate field (controlled by DuplicationCooldown).
area_effect_cloud
The Duration field now defaults to -1 if not specified.
If the Duration field is -1, the Area Effect Cloud will never run out.
This means that an Area Effect Cloud summoned with no duration specified will no longer immediately disappear.
arrow, spectral_arrow, trident
The inBlockState and SoundEvent fields will no longer be preserved when removed.
The damage field now defaults to 2 if not specified.
block_display, item_display, and text_display
The glow_color_override field will no longer be preserved when removed.
The interpolation_duration, teleport_duration, and start_interpolation fields now default to 0 if not specified.
The view_range field now defaults to 1 if not specified.
The shadow_radius field now defaults to 0 if not specified.
The shadow_strength field now defaults to 1 if not specified.
The width and height fields now default to 0 if not specified.
cat
The CollarColor field now defaults to 14 (red) if not specified.
creeper
The Fuse field now defaults to 30 if not specified.
The ExplosionRadius field now defaults to 3 if not specified.
The Moistness field now defaults to 2400 if not specified.
dragon_fireball, wind_charge, breeze_wind_charge, wither_skull, small_fireball, and large_fireball
The acceleration_power field now defaults to 0.1 if not specified.
ender_dragon
The DragonDeathTime field now defaults to 0 if not specified.
evoker_fangs, area_effect_cloud, and all projectiles
The Owner field will no longer be preserved when removed.
falling_block
The BlockState field can now be air (will despawn immediately) - if otherwise not specified or invalid, defaults to sand.
The HurtEntities field now defaults to false if not specified (or true if BlockState is anvil).
The FallHurtAmount field now defaults to 0 if not specified.
The FallHurtMax field now defaults to 40 if not specified.
The DropItem field now defaults to true if not specified.
The TileEntityData field will no longer be preserved if removed.
firework_rocket
The ShotAtAngle field now defaults to false if not specified.
fox
The Trusted field now defaults to empty if not specified (and will no longer be merged with the previous state if modified by /data).
ghast
The ExplosionPower field now defaults to 1 if not specified.
goat
The HasLeftHorn and HasRightHorn fields now default to true if not specified.
interaction
The width and height fields now default to 1 if not specified.
item
The Health field now defaults to 5 if not specified.
The PickupDelay field now defaults to 0 if not specified.
The Age field now defaults to 0 if not specified.
The Owner and Thrower fields will no longer be preserved when removed.
item_frame and glow_item_frame
The ItemDropChance field now defaults to 1.0 if not specified
item_frame, glow_item_frame, painting, and leash_knot
The TileX, TileY, and TileZ fields have been collected into a single block_pos field.
minecart, *_minecart
The CustomDisplayTile field has been removed.
DisplayState will now always override the default displayed block state if specified.
DisplayOffset may now be specified to override the default offset even without a custom display block state set.
phantom
The Size field has been renamed to size.
The AX, AY, and AZ fields have been collected into a single anchor_pos field.
player
The SpawnX, SpawnY, SpawnZ, SpawnAngle, SpawnDimension, and SpawnForced fields have been collected into a single respawn field.
Format: object with fields
pos - block position to spawn at.
angle - float, angle to spawn with (default: 0.0).
dimension - dimension id to spawn in (default minecraft:overworld).
forced - boolean, true if this spawn was set through commands (default: false).
The enteredNetherPosition field has been renamed to entered_nether_pos, and is now formatted as a list of doubles.
e.g. entered_nether_pos: [1.0, 2.0, 3.0]
primed_tnt
The block_state field now defaults to tnt if not specified.
The fuse field now defaults to 80 if not specified.
The explosion_power field now defaults to 4 if not specified.
shulker
The Color field now defaults to 16 (no color) if not specified.
shulker_bullet
The Dir and Target fields will no longer be preserved when removed.
skeleton
The StrayConversionTime field will no longer be preserved when removed.
small_fireball and large_fireball
The ExplosionPower field now defaults to 1 if not specified.
snow_golem
The Pumpkin field now defaults to true if not specified.
spectral_arrow
The Duration field now defaults to 200 if not specified.
tnt_minecart
The fuse field now defaults to 80 if not specified.
The explosion_power field now defaults to 4 if not specified.
The explosion_speed_factor field now defaults to 1 if not specified.
trader_llama
The DespawnDelay field now defaults to 47999.
turtle
The HomePosX, HomePosY, and HomePosZ fields have been collected into a single home_pos field.
Removed TravelPosX, TravelPosY, and TravelPosZ fields.
The HasEgg field has been renamed to has_egg.
vex
The LifeTicks field has been renamed to life_ticks.
The BoundX, BoundY, and BoundZ fields have been collected into a single bound_pos field.
villager
The Gossips field will no longer be preserved when removed.
The FoodLevel and Xp fields now default to 0 if not specified.
The ConversionTime field will no longer be preserved when removed.
wandering_trader
The wander_target field will no longer be preserved when removed.
The DespawnDelay field now defaults to 0 if not specified.
witch, ravager, pillager, illusioner, evoker, and vindicator
The patrol_target field will no longer be preserved when removed.
wolf
The CollarColor field now defaults to 14 (red) if not specified.
zombie
The DrownedConversionTime field will no longer be preserved when removed.
zombie_villager
The Gossips field will no longer be preserved when removed.
The Xp field now defaults to 0 if not specified.
The ConversionTime field will no longer be preserved when removed.
Entity variant components
Entities now have a set of components for configuring variants and other aspects of appearance.
If those components are present on spawning item (like spawn eggs, mob buckets, minecraft:painting, minecraft:item_frame), they will be applied to new entity
Components are currently not restored when spawn egg is picked from existing entity
Added components:
axolotl/variant β one of lucy, wild, gold, cyan, blue
cat/collar β one of 16 dye colors
cat/variant β namespaced id from cat_variant registry
chicken/variant β namespaced id from chicken_variant registry
cow/variant β namespaced id from cow_variant registry
fox/variant β one of red, snow
frog/variant β namespaced id from frog_variant registry
horse/variant β one of white, creamy, chestnut, brown, black, gray, dark_brown
llama/variant β one of creamy, white, brown, gray
mooshroom/variant β one of red, brown
painting/variant β namespaced id from painting_variant registry
parrot/variant β one of red_blue, blue, green, yellow_blue, gray
pig/variant β namespaced id from pig_variant registry
rabbit/variant β one of brown, white, black, white_splotched, gold, salt, evil
salmon/size β one of small, medium, large
sheep/color β one of 16 dye colors
shulker/color β one of 16 dye colors
tropical_fish/base_color β one of 16 dye colors
tropical_fish/pattern β one of kob, sunstreak, snooper, dasher, brinely, spotty, flopper, stripey, glitter, blockfish, betty, clayfish
tropical_fish/pattern_color β one of 16 dye colors
villager/variant β one of desert, jungle, plains, savanna, snow, swamp, taiga
wolf/collar β one of 16 dye colors
wolf/variant β namespaced id from wolf_variant registry
Mob buckets and paintings available in creative menu will now use new variants instead of minecraft:entity_data component.
Custom tooltips for bucket of tropical fish and painting items are now based on new components instead of minecraft:bucket_entity_data and minecraft:entity_data.
Cat and Frog variants are now data-driven.
Added uniform way to define variant selection rules.
Equipment assets
Equipment assets may now define new layer types:
pig_saddle β equipment layer for Pig saddles
strider_saddle β equipment layer for Strider saddles
camel_saddle β equipment layer for Camel saddles
horse_saddle β equipment layer for Horse saddles
donkey_saddle β equipment layer for Donkey saddles
mule_saddle β equipment layer for Mule saddles
skeleton_horse_saddle β equipment layer for Skeleton Horse saddles
zombie_horse_saddle β equipment layer for Zombie Horse saddles
The following textures have been moved to support the use of equipment assets for saddles:
Equipment layers configured to be dyeable will now show if the dyed_color component is present on the item, even if the item is not in the #dyeable tag.
If the selected value comes from a registry and the current datapacks does not provide it, the entry will be silently ignored.
In previous snapshot, unrecognized elements caused the whole item model to be ignored.
Boolean Property
minecraft:component
New conditional model property has been added to condition item model: component
Uses component predicates (like ones used in item predicates) to match item components.
However, instead of encoding them as a map of <predicate type>:<predicate value>, a single predicate is encoded in two fields.
Fields:
predicate β type of component predicate (member of minecraft:data_component_predicate_type registry)
value β predicate-specific value
Loot Functions
toggle_tooltips
Now supports any component id in the toggles map.
Any component specified will be toggled in the tooltip_display component.
Network protocol
The client-bound player_chat packet now contains an index increasing for every message sent to the client.
The index starts at 0 when logging in (or is reset by configuration phase and the login packet).
For every message, the server should increment this value by 1.
If this value updates in an unexpected way, the client will disconnect.
As the protocol requires that every chat packet reaches the client in produced order, the goal is to enable faster detection of missed/reordered chat messages for custom server developers.
The server-bound chat and chat_command_signed packets now contain a checksum byte along with the 'last seen' update.
This is a simple hash of the 'last seen' signatures which should be reconstructed by the server, allowing quicker detection of de-synchronized state.
This can be passed as 0 to disable the check, for compatibility with protocol translation.
New optional fields have been added to block predicates: components and predicates.
Their functionality and format are identical to the fields components and predicates on item predicates, but they operate on block entity components (when present).
When present, components will match exact contents of block entity components.
When present, predicates will match partial contents of block entity components.
Entity predicates
A new optional field was added to entity predicate: components.
When present, predicate will match contents of entity components.
Format:
Map of component type key to matching component values.
A new optional field has been added to entity predicates: predicates.
Its functionality and format is identical to the field predicates on item predicates, but they operate on entity components.
When present, predicates will match partial contents of entity components.
The following entity sub-predicates have been removed and replaced with combination of components predicate and variant entity components:
minecraft:axolotl
minecraft:fox
minecraft:mooshroom
minecraft:rabbit
minecraft:horse
minecraft:llama
minecraft:villager
minecraft:parrot
minecraft:salmon
minecraft:tropical_fish
minecraft:painting
minecraft:cat
minecraft:frog
minecraft:wolf
minecraft:pig
The field color has been removed from minecraft:sheep sub-predicate.
The stepping_on entity predicate can only evaluate to true if the entity is on ground.
Text Components are no longer stored as JSON wrapped by a string.
The format itself is the same as before, but inlined directly into the outer structure.
For example, the item component minecraft:custom_name="{"text":"Renamed item"}" will become minecraft:custom_name={text:'Renamed item'}.
This includes Text Components passed as arguments to commands such as /tellraw or /title.
For example, /tellraw @s '{"text":"Hello world"}' may become tellraw @s {text:'Hello world'}.
Note: in the case where Text Components are embedded in NBT, no distinction exists between boolean and integer types.
To pass boolean arguments to translations, the string form must be used.
For Text Components with the NBT type and interpret set to true, Text Components will be parsed from the given NBT directly rather than converting to string and parsing as JSON.
Hover Events
The hoverEvent field has been renamed to hover_event.
For the show_text action:
contents field has been renamed to value.
e.g. {action:'show_text',contents:'Hello world'} becomes {action:'show_text',value:'Hello world'}
For the show_item action:
The text field has been renamed to value.
The contents field has been inlined.
e.g. {action:'show_item',contents:{id:'minecraft:stick',count:2}} becomes {action:'show_item',id:'minecraft:stick',count:2}
If contents was specified only as an item id, it is replaced with the full format and inlined.
e.g. {action:'show_item',contents:'minecraft:stick'} becomes {action:'show_item',id:'minecraft:stick'}
For the show_entity action:
The contents field has been inlined.
The id field has been renamed to uuid.
The type field has been renamed to id.
e.g. {action:'show_entity',contents:{id:[I;0,0,0,0],type:'minecraft:pig'}} becomes {action:'show_entity',uuid:[I;0,0,0,0],id:'minecraft:pig'}
Click Events
The clickEvent field has been renamed to click_event
For the open_url action:
The value field has been renamed to url
The click event will no longer parse if not a valid URI with either https:// or http:// schemes, instead of simply not working.
e.g. {action:'open_url',value:'https://minecraft.net'} becomes {action:'open_url',url:'https://minecraft.net'}
For the run_command action:
The value field has been renamed to command.
The click event will no longer parse if the command contains disallowed characters, instead of simply not working.
It is no longer required that the specified command field has a / prefix.
e.g. {action:'run_command',value:'/say Hi'} becomes {action:'run_command',command:'/say Hi'}.
For the suggest_command action:
The value field has been renamed to command.
The click event will no longer parse if the command contains disallowed characters, instead of simply not working.
e.g. {action:'suggest_command',value:'/help'} becomes {action:'suggest_command',command:'/help'}
For the change_page action:
The value field has been renamed to page.
The page value now requires a positive integer instead of a string.
e.g. {action:'change_page',value:'1'} becomes {action:'change_page',page:1}
The copy_to_clipboard format is unchanged.
Uniform variant selection
Variants that have spawn rules now use uniform approach for selecting.
Selection process:
Every variant field spawn_conditions that contain a list of entries.
Every entry has a condition and an integer priority.
Conditions for all variants for given entity type are evaluated for position where entity is being spawned.
Entries with priority lower than maximum priority of remaining entries are removed.
The game randomly picks one entry out of remaining ones.
If no conditions are remaining, variant remains unchanged from default.
Entry format:
priority β integer
condition β optional structure
Fields:
type
Additional fields dependent on type.
If field is not present, condition is always true.
Spawn conditions
minecraft:biome
Checks if entity is spawning in specific biomes.
Fields:
biomes β single entry, list or a tag describing biomes.
minecraft:moon_brightness
Checks if current moon brightness is within certain range.
Fields:
range β floating point range (a single number or an object like {"min": 1, "max": 2}).
minecraft:structure
Checks if entity is spawning in specific structures.
Fields:
structures β single entry, list or a tag describing structures.
Wolf Variants
The fields angry_texture, tame_texture, and wild_texture have been grouped in field assets and renamed to angry, tame, and wild.
Added the field spawn_conditions.
Pig Variants
texture and biome fields are replaced with asset_id and spawn_conditions respectively.
Fields in file:
asset_id β namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png.
spawn_conditions β field described in uniform variant selection above
Cat variants
Cat variants can be data-driven by adding entries to data/<namespace>/cat_variant/<id>.json.
This feature is experimental.
Fields in file:
asset_id β namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png.
spawn_conditions β field described in uniform variant selection above
Frog variants
Frog variants can be data-driven by adding entries to data/<namespace>/frog_variant/<id>.json.
This feature is experimental.
Fields in file:
asset_id β namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png.
spawn_conditions β field described in uniform variant selection above
Referring to the ability to place dead bushes on farmland:
If the player attempts to place a seed on the same farmland block as an existing dead bush then the seed will override the dead bush and the dead bush will be broken without any particles or block drops.
MC-7697 β Tridents or arrows shot through lava sometimes don't catch fire.
MC-13738 β Invisible saddle when using invisibility potion on a horse, donkey or mule.
MC-55800 β Successful "/fill air destroy" commands give error message and return 0 for result/success.
MC-56653 β Zombified Piglins drop XP and rare drops if killed by anything while in angered state.
MC-80243 β Saddles don't apply attribute modifiers when worn by entities.
MC-90212 β You cannot hang on to climbable blocks while gliding with elytra.
MC-93185 β The exit portal in the end generates at highest block at 0 0 which can make it generate incomplete.
MC-97244 β The "minecraft:enchant.thorns.hit" sound event doesn't play when non-player entities are damaged by the thorns enchantment.
MC-98271 β The sound of blocking with a shield is only hearable by other players (not the person blocking).
MC-101556 β Nether Portal teleport range is too large (equivalent to a full block).
MC-108495 β Non-LivingBase entities can be on a team (and show color) but can't be targeted using team=.
MC-113878 β Attribute modifiers description for chest is misleading / "When on body" instead of "When on chest".
MC-117574 β Using /setblock or /fill to re-place a block entity keeps old NBT (if no NBT specified) but clears inventories, even when the command fails.
MC-118092 β Crafting recipe unlock toast says "New Recipes Unlocked!" even when only one recipe was unlocked.
MC-118470 β Narrator plays at full volume when volume is off.
MC-122840 β "/data remove" cannot delete beam_target tag in End Crystals.
MC-128079 β Statistic for using shears doesn't increase when mining certain blocks.
MC-135192 β Boats are immediately sunken if there is a string on the surface of the water.
MC-141297 β You cannot set lit state of redstone torches using /setblock, debug stick and BlockStateTag, to be to opposite of the situation it would be in.
MC-152382 β End gateways and end portals don't fade away with render distance fog.
MC-153392 β Unable to remove villager gossips using /data remove.
MC-157196 β Tamed animals cannot be added to a team.
MC-160304 β Sneaking on ice can change direction of movement to lines along axis.
MC-165421 β Bubble columns have the opposite effect on wind charges.
MC-165461 β Crossbow loading animation stops after loading, even when still holding down right click.
MC-165711 β Eye of ender hitbox always lags behind the animation.
MC-255756 β When the shield is broken between players, the attacking side has no shield breaking sound.
MC-256469 β Invisible camels don't show their saddles.
MC-258253 β Spawn egg particles use an uncolored spawn egg overlay.
MC-260440 β Players can no longer activate swimming mode in water while flying with elytra.
MC-261385 β Bubble columns act differently at the surface depending on non-air blocks.
MC-262928 β The "minecraft:entity.player.hurt" sound is no longer played when players receive thorns damage from guardians or elder guardians.
MC-262939 β Changing dimensions or respawning with nausea effect active displays nether portal overlay.
MC-265514 β HRTF stuck on even when directional audio is set to off in update 1.20.2.
MC-266912 β Saddle equipping sounds aren't played when saddles are equipped on horses, donkeys, mules, or camels shortly after the said entity is summoned.
MC-267221 β "value" within "change_page" clickEvent json looks for a string instead of an integer.
MC-267323 β Items fields with old boolean JSON formatting are cleared upon world update.
MC-268942 β The swimming animation no longer displays when gliding with an elytra and swimming at the same time.
MC-269386 β Flow Pottery Sherd is not in the correct spot in the creative inventory.
MC-269637 β Horses can wear multiple saddles but not multiple horse armor.
MC-270043 β Reduced armor glint applies to tridents.
MC-270192 β The saddles of some entities stay visible through their death animation.
MC-270197 β The saddle on pigs and striders stays visible through their death animation.
MC-270220 β Granting all advancements results in prolonged, disruptive and loud audio spam.
MC-272100 β Unused palette pixels in horse textures (horse_[brown/chestnut/creamy/white].png).
MC-272790 β Shulker boxes and other blocks in the end exit portal when it changes state are not dropped as items.
MC-279646 β Toggling fullscreen with F11 does not visually update the fullscreen option in the video settings menu.
From 1.21
MC-273338 β Flying boat glitch using string and rising bubble columns.
MC-274187 β The sweeping attack from a sword enchanted with Fire Aspect can ignite other players with PVP disabled.
MC-274258 β All horse textures contain an unused chest bag texture.
From 1.21.1
MC-276061 β Decorated pot sherds don't visually update until relog when replacing with blank pot.
From 1.21.2
MC-275994 β Having the pie chart open while the window is unfocused spams the logs.
MC-276861 β The player can sometimes teleport through blocked end portals when moving very fast.
MC-277403 β Flaming arrows and tridents still don't extinguish when water is placed in their location.
MC-277537 β Pale moss carpets sometimes generate disjointed.
MC-277780 β Minecraft resaves all maps with every autosave even after the 1st patch.
MC-277865 β The animation of boats in bubble columns breaks when over a certain "Time" in level.dat.
MC-277922 β Boats in 1 block high downward bubble column will continue to rock back and forth.
MC-278040 β Creaking swim pathfinding breaks after being submerged.
MC-278639 β Tripwire hooks are not activated by shulker bullets.
MC-278422 β Reloading the world after removing Owner tag from a sitting tamed wolf with /data remove makes the wolf moving and sitting at the same time.
MC-278493 β Tamed wolves which are angry at creakings remain angry when said creakings despawn.
MC-278502 β Weeping and twisting vines disconnect.
MC-278552 β minecraft:entity.player.big_fall no longer plays the sound when falling from great height.
MC-278585 β Players can get stuck when landing on the edge of powder snow.
MC-278591 β Ender dragon spawn egg is no longer given when using pick block on the ender dragon entity.
MC-278615 β Reinforcement zombified piglins are angry at you even if you killed the "caller" in one hit.
MC-278621 β Client/server desync when placing powder snow while landing in it.
MC-278627 β Players wearing leather boots will take fall damage when landing on the edge of powder snow.
MC-278634 β Trying to /setblock a 'waterlogged=true' state on (glow_lichen, resin_clump, sculk_vein, etc.) produces an error.
MC-278659 β Attacking a natural stationary creaking does not trigger sculk sensors.
MC-278673 β The x-rotation of /teleport is limited to Β±90 degrees relative to the entity's original angle.
MC-278683 β Mobs spawned from spawners or /summon never drop their equipment.
MC-278708 β Throwing ender pearls while mounted only dismounts you, without teleporting.
MC-278728 β smithing_transform recipes can't set an item's components back to default.
MC-278733 β Breaking a double resin brick slab block only returns a single slab.
MC-278734 β Sheep's heads stutter when they look up or down.
MC-278755 β Teleporting far away while riding an entity softlocks the game.
MC-278801 β The closed eyeblossom to gray dye recipe is not grouped with the other gray dye recipe.
MC-278841 β Powder snow no longer slows down the player falling from a high place.
MC-279145 β Shulker bullets are no longer affected by bubble columns.
MC-279152 β Shulker bullets can't teleport through nether or end portals, end gateways.
MC-279196 β Block loot tables cannot be removed with /data remove
MC-279364 β CustomName cannot be removed from block entities.
MC-279472 β Void appears lower & more faded than before.
MC-279572 β End portals and end gateways aren't affected by water, lava or powder snow fog.
MC-279653 β Block Entity Data desynchronizes after subsequent setblock commands.
MC-279857 β Piglins summoned by the /summon command do not pick up gold items.