Java Edition 24w18a


| Edition | ||||||
|---|---|---|---|---|---|---|
| Release date |
May 3, 2024 | |||||
| Type | ||||||
| Snapshot for | ||||||
| Downloads | ||||||
| Obfuscation maps | ||||||
| Protocol version |
dec: 1073742017 | |||||
| Data version |
3940 | |||||
| Resource pack format |
33 | |||||
| Data pack format |
42 | |||||
| Minimum Java version | ||||||
| ||||||
{
"title": "Minecraft 24w18a",
"images": [
"24w18a.jpg",
"Java Edition 24w18a.png"
],
"rows": [
{
"field": "''(link to Java Edition article, displayed as Java Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "May 3, 2024",
"label": "Release date"
},
{
"field": "(link to Snapshot article, displayed as Snapshot)",
"label": "(link to Version types article, displayed as Type)"
},
{
"field": "(link to Java Edition 1.21 article, displayed as 1.21)",
"label": "Snapshot for"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/96a3d9cf921ac4e9f804b59562b27d2635e3b3e6/client.jar Client] ([https://piston-meta.mojang.com/v1/packages/870185f824de25941d0687e2b264d480c5f4250d/24w18a.json .json])<br />[https://piston-data.mojang.com/v1/objects/22618c686c86be630601e5d9fcf581674105c899/server.jar Server]",
"label": "(link to Tutorial:Installing a snapshot#Manual version installation article, displayed as Downloads)"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/b257021b6b34731ca9d3a40035509d6c976400e4/client.txt Client]<br />[https://piston-data.mojang.com/v1/objects/0469fa703be270956360ee9a9d08f4473a939d7b/server.txt Server]",
"label": "(link to Obfuscation map article, displayed as Obfuscation maps)"
},
{
"field": " <span style=\"font-size:smaller\"><abbr title=\"decimal\">dec</abbr>: </span>1073742017<br /> <span style=\"font-size:smaller\"><abbr title=\"hexadecimal\">hex</abbr>: </span>400000C1",
"label": "(link to Protocol version article, displayed as Protocol version)"
},
{
"field": "3940",
"label": "(link to Data version article, displayed as Data version)"
},
{
"field": "33",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of resource pack formats article, displayed as Resource pack format)</span>"
},
{
"field": "42",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of data pack formats article, displayed as Data pack format)</span>"
},
{
"field": "<span class=\"plainlinks\">[https://en.wikipedia.org/wiki/Java_version_history#Java_SE_21 Java SE 21]</span>",
"label": "<span style=\"white-space: normal;\">Minimum Java version</span>"
}
],
"invimages": [],
"footer": "<table style=\"margin: auto; word-break: break-word;\">\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\" rowspan=\"2\">[[Java Edition 1.20.6|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.20.6]]</td>\n<td style=\"padding: 0.4em\">'''[[Java Edition 1.21|1.21]]'''</td>\n<td style=\"padding: 0.4em\" >[[Java Edition 1.21.1| 1.21.1 <span style=\"margin-right:-0.35em\">►</span>►]]</td>\n</tr>\n<tr style=\"background: inherit;\">\n\n<td style=\"padding: 0.4em\">''' 24w18a'''</td>\n<td style=\"padding: 0.4em\">\n[[Java Edition 24w19a| 24w19a ►]]\n</td>\n</tr>\n</table>"
}
24w18a is the first snapshot for Java Edition 1.21, released on May 3, 2024,[1] which makes Tricky Trials features available in normal gameplay, adds 20 new paintings, 3 new music discs, and 9 new background music tracks, introduces custom enchantments, and fixes bugs.
Additions
Items
- Added 3 new music discs, which play the following songs from Tricky Trials' official soundtrack:
"Precipice" by Aaron Cherof
- Can be found rarely in standard vaults.
- Has a comparator output of 13 when played in a jukebox.
"Creator" by Lena Raine
- Can be found rarely in ominous vaults.
- Has a comparator output of 12 when played in a jukebox.
"Creator (Music Box)" by Lena Raine
- Can be found rarely in decorated pots broken in trial chambers.
- Has a comparator output of 11 when played in a jukebox.
- Added 20 new paintings by the artists Sarah Boeving and Kristoffer Zetterstrand:
| Picture | Name | Size | Artist |
|---|---|---|---|
| Meditative | 1x1 | Sarah Boeving | |
| Prairie Ride | 1x2 | Sarah Boeving | |
| Baroque | 2x2 | Sarah Boeving | |
| Humble | 2x2 | Sarah Boeving | |
|
Unpacked | 4x4 | Sarah Boeving |
| Bouquet | 3x3 | Kristoffer Zetterstrand | |
| Cavebird | 3x3 | Kristoffer Zetterstrand | |
| Cotán | 3x3 | Kristoffer Zetterstrand | |
| Endboss | 3x3 | Kristoffer Zetterstrand | |
| Fern | 3x3 | Kristoffer Zetterstrand | |
| Owlemons | 3x3 | Kristoffer Zetterstrand | |
| Sunflowers | 3x3 | Kristoffer Zetterstrand | |
| Tides | 3x3 | Kristoffer Zetterstrand | |
| Backyard | 3x4 | Kristoffer Zetterstrand | |
| Pond | 3x4 | Kristoffer Zetterstrand | |
| Changing | 4x2 | Kristoffer Zetterstrand | |
| Finding | 4x2 | Kristoffer Zetterstrand | |
| Lowmist | 4x2 | Kristoffer Zetterstrand | |
| Passage | 4x2 | Kristoffer Zetterstrand | |
|
Orb | 4x4 | Kristoffer Zetterstrand |
Music
- Added 9 new background music tracks. These can all play on the title screen. [https://minecraft.wiki/w/User: "Deeper" ~ DC; DD "Featherfall" ~ FF ; B ; CG; LC ]
Beach
Cold Ocean
Deep Cold Ocean
Deep Frozen Ocean
Deep Lukewarm Ocean
Deep Ocean
Frozen Ocean
Frozen River
Ice Spikes
Lukewarm Ocean
Mushroom Fields
Ocean
Plains
River
Savanna
Savanna Plateau
Snowy Beach
Snowy Plains
Stony Shore
Sunflower Plains
Taiga
The Void
Warm Ocean
Windswept Hills
Windswept Forest
Windswept Savanna
Windswept Gravelly Hills
Every other biome means all of these biomes:
Changes
Blocks
Copper door and copper trapdoor
- Are now crafted from copper ingots instead of copper blocks.
- Oxidized variants of copper doors and copper trapdoors can no longer be crafted.
- Spawners with mobs that are unable to wear equipment now spawn double the total mob count over the course of the challenge.
- These spawners also spawn an additional mob out at once during its challenge.
- Bottle o' enchanting is no longer a possible projectile for ominous trial spawners.
- Increased the chance of obtaining mace enchantments.
- Rotten flesh has been removed as a possible item to eject.
Items
- When a player with an axe in the main-hand and a shield in the off-hand performs a use action, the game now prioritizes holding up the shield over using the axe (to strip wood or scrape copper).
- The mace smash attack no longer creates dirt particles when hitting a target whose center is in the air nor knocks back the player's own pets.
- Doubled the mace's durability from 250 to 500.
- Density is no longer as powerful and the mace now does less damage when falling from great heights.
- See the § New mace damage formula below.
- Reduced the mace's base damage to 5HP. This means the player does 6HP damage when attacking with it.
- Reduced the damage per block per level of Density from 1HP to 0.5HP × 0.25 (a quarter heart).
- Increased the mace smash attack's damage for shorter falls, and decreased the damage for longer falls:
- The first 3 blocks fallen increase the damage by 4HP per block.
- The next 5 blocks fallen increase the damage by 2HP per block.
- Each block fallen after that increases the damage by 1HP.
- Attack speed has been drastically reduced from 1.6 to 0.5, the lowest attack speed in the game.
- Density, Breach, Smite, and Bane of Arthropods are now all incompatible with each other. Each mace can only have 1 of these enchantments.
- Fire Aspect can no longer be applied to maces.
- They now use a new damage type
wind_chargeinstead ofmob_projectile.
New mace damage formula
is the damage done by the mace when falling from a height of blocks
Here is a graph of what that formula means:
World generation
- Spider spawners have been moved to the "melee" category.
- Slime spawners have been moved to the "small melee" category.
- Made various layout changes in intersections and corridors.
- Added new trap dispenser style to chambers.
- Fixed various broken jigsaw connections in the corridors.
- Made seams match in corridors.
- Added new entrance variations.
- Fixed various broken or incorrect jigsaw data.
- Added empty chests to chamber entrances.
Gameplay
- Infested, Oozing, Weaving, and Wind Charged are now required for the "A Furious Cocktail" advancement.[2]
- Infested, Oozing, Raid Omen, Trial Omen, Weaving, and Wind Charged are now required for the "How Did We Get Here" advancement.[3]
- Flow and bolt armor trims now grant the "Crafting a New Look" advancement.[4]
- Projectile knockback is no longer dependent on the shooters position.
- Projectiles such as arrows and fireballs knock back in the direction they travel.
- Projectiles such as splash potions and fireworks knock back away from themselves.
- Projectiles shot by a dispenser also knock back.
General
- The unit of memory sizes in crash reports is changed from "MB" to "MiB", while the way to compute the sizes is not changed.
- Crash reports now includes the total sizes and available sizes of JNA temporary directory, netty native libraries' directory, LWJGL temporary directory and system temporary directory.
- The pack format version is now
42. - Added new music disc items and loot table entries for the music discs.
- Painting variants are now data-driven.
- The item argument in the
/give,/item, and/lootcommands now supports removal of default components with ! prefix.- e.g.
/give @s diamond_pickaxe[!tool]gives a diamond pickaxe without the tool component.
- e.g.
- Enchantments are now data-driven.
- Enchantments that show up in the game are now controlled by enchantment providers.
- Enchantment exclusivity is now controlled through tags.
Enchantments
- Weapons enchanted with Fire Aspect can now be used to light candles and campfires, to match Bedrock Edition.
- Enchantments are now set through data. An enchantment is a set of core properties like level ranges and cost together with some effects. Most effect types also support a set of conditions, making it possible to apply them only when certain criteria are met.
- Enchantments can be added in the registry enchantment. All vanilla enchantments can be found in the vanilla data pack in the client and server jar files.
- Fields:
description: the name of the enchantment when displayed in text represented as a text component.exclusive_set: the enchantment(s) this enchantment is exclusive with.- Two enchantments can never co-exist on an item if either is in the other's exclusive set.
- Specified as an enchantment ID, a list of enchantment IDs or an enchantment tag prefixed with
#. - Optional - if omitted, the exclusive set is empty.
supported_items: the item types that can have this enchantment.- Item ID, list of item IDs or tag prefixed with
#.
- Item ID, list of item IDs or tag prefixed with
primary_items: the item types for which this enchantment shows up in enchanting tables and on traded equipment.- Item ID, list of item IDs or tag prefixed with
#. - Must be a subset of
supported_items.
- Item ID, list of item IDs or tag prefixed with
weight: how commonly the enchantment appears, compared to the total combined weight of all available enchantments.- Positive integer - higher values mean more common.
max_level: the maximum level of the enchantment.- All enchantments range from level 1 to their maximum level.
- Positive integer.
min_cost,max_cost: describe the range of costs for this enchantment in the enchanting table (and how much it returns when disenchanted).- Both min and max cost are described using a linear formula:
base: base cost at level 1.per_level_above_first: added for each level over 1.
anvil_cost: fee taken for the enchantment in the anvil.- Non-negative integer.
- This value is halved when an enchantment is added to a book.
- The effective fee is multiplied by the level of the enchantment.
slots: a list of slot groups this enchantment works in.- Each entry is one of
any,hand,mainhand,offhand,armor,feet,legs,chest,headandbody.
- Each entry is one of
effects: a map of effect components, as described below in the effect components section.
Level-Based Values
- Many effects of enchantments depend on the level of the enchantment. For these fields, a type called "Level-Based Value" is used. In their most basic form, level-based values can be written as floating-point constants, which is interpreted as a value that isn't in fact level-based, the constant is used as-is for all levels.
- If a level-based value is not a floating-point constant, it is an object with a type field, specifying one of the following types:
linear- The most common type of level-based value is a linear value. A linear level-based value has two fields:
base: the base value added to all levels.per_level_above_first: amount added for each level above the first one.
- In effect, a
linearlevel-based value results in .
- The most common type of level-based value is a linear value. A linear level-based value has two fields:
clamped- A level-based value type that clamps a value between a min and max. Fields:
value: a level-based value used as the input.min: a floating point value specifying the minimum value of the output.max: a floating point value specifying the maximum value of the output.
- A level-based value type that clamps a value between a min and max. Fields:
fraction- A level-based value type that represents the fraction between two values. Fields:
numerator: a level-based value used as the numerator.denominator: a level-based value used as the denominator.
- A level-based value type that represents the fraction between two values. Fields:
levels_squared- A level-based value type that evaluates to the square of the levels, plus an addition. Fields:
added: a floating-point value added to the result of the squared levels.
- In effect, a levels_squared level-based value results in .
- A level-based value type that evaluates to the square of the levels, plus an addition. Fields:
Value effect types
- Value effects are effects used to manipulate the amount of something in the game.
add- A value effect that adds a value to the processed results.
- Fields:
value: a level-based value determining how much to add.
- Negative values are supported.
all_of- A value effect that runs a number of other value effects, in order. This can be useful when the same set of conditions apply to a number of value effects.
- Fields:
effects: a list of the value effects to run.
multiply- A value effect that multiplies the processed value by a given factor.
- Fields:
factor: a level-based value determining the factor to multiply in.
remove_binomial- A value effect that runs a binomial series of checks, reducing the input value by 1 for every successful check.
- Fields:
chance: a level-based value representing the chance that an input value is dropped.- The span is 0 to 1, with 0 being no chance to drop an input value and 1 dropping all input values.
set- A value effect that overwrites the input value with a given level-based value.
- Fields:
value: the level-based value to use as the result.
Attribute effects
- They use the attribute system to apply an attribute modifier whenever the enchanted item is correctly equipped. Attribute effects do not have a dynamic type - they are all the same type.
- Fields:
name: the name of the attribute modifier to add.attribute: the ID of the attribute to modify.operation: the operation of the attribute modifier.- One of
add_value,add_multiplied_baseandadd_multiplied_total
- One of
amount: a level-based value describing the amount.uuid: a string containing a UUID for the attribute modifier to use.- Must be unique to avoid different enchantments (or other systems) interfering with each others.
Entity effect types
- Enchantment effects that generally do something to an entity involved in an event. Which entity is affected depends on the specific component being configured.
all_of- An entity effect that runs a list of other entity effects. This can be useful when a set of conditions should apply to more than one entity effect.
- Fields:
effects: list of entity effects to run.
apply_mob_effect- An entity effect that applies a random mob effect to the affected entity, chosen from a set of options. The duration and amplifier are randomized within a given span. The effect of specifying larger maximum values than the minimum value is undefined.
- Fields:
to_apply: options for the effect to apply.- One of an effect ID, a list of effect IDs or an effect tag prefixed by #
min_duration,max_duration: level-based values representing the minimum and maximum duration of the effect in seconds.min_amplifier,max_amplifier: level-based values representing the minimum and maximum amplifier.
damage_entity- An entity effect that applies damage to the affected entity. The amount of damage is randomized within a given span. The effect of specifying a larger maximum value than the minimum value is undefined.
- Fields:
damage_type: the ID of the damage type to use.min_damage,max_damage: level-based values representing the minimum and maximum amount of damage.
damage_item- An entity effect that applies damage to the enchanted item.
- Fields:
amount: a level-based value determining the amount of damage to apply.
explode- An entity effect that causes an explosion.
- Fields:
attribute_to_user: a boolean deciding whether the explosion should be attributed to the user of the enchanted tool.damage_type: optional damage type of the explosion - if omitted, no damage is dealt by the explosion.immune_blocks: optional block, list of blocks or hash-prefixed block tag specifying which blocks fully block the explosion.knockback_multiplier: a level-based value deciding the knockback multiplier caused by the explosion - if omitted, the default explosion knockback is applied.offset: a position offset for where the explosion is spawned.- Format: list of 3 integers representing X, Y and Z offset.
- Optional, if omitted [0, 0, 0] is used.
radius: a level-based value representing the radius of the explosion.create_fire: a boolean for whether the explosion causes fire to be placed or not.block_interaction: How the explosion interacts with blocks. One of:none: no effect.block: act as if a block caused the explosion - the blockExplosionDropDecay game rule applies to drops.mob: act as if a mob caused the explosion - the mobExplosionDropDecay game rule applies to drops.tnt: act as if TNT caused the explosion - the tntExplosionDropDecay game rule applies to drops.trigger: trigger redstone-activated blocks.
small_particle: the small particle emitted by the explosion.large_particle: the large particle emitted by the explosion.sound: the sound event caused by the explosion.
ignite- An entity effect that ignites the affected entity for a given number of seconds.
- Fields:
duration: a level-based value specifying the number of seconds the fire should last.
play_sound- An entity effect that plays a sound.
- Fields:
sound: a sound event ID for the sound to play.volume: a float provider between 0.00001 and 10.0 specifying the volume of the sound.pitch: a float provider between 0.00001 and 2.0 specifying the pitch of the sound.
replace_block- An entity effect that replaces a block in the world.
- Fields:
block_state: a block state provider giving the block state to set.offset: a positional offset from the position of the event to where to place the block.- Format: list of 3 integers representing X, Y and Z offset.
- Optional, if omitted [0, 0, 0] is used.
predicate: a world-generation style block predicate to used to determine if the block should be replaced.- Optional, if omitted all block types are replaced.
replace_disc- An entity effect that replaces blocks in a disc / cylinder in the world.
- Fields:
block_state: a block state provider giving the block state to set.radius: a level-based value describing the radius of the cylinder.height: a level-based value describing the height of the cylinder.offset: a positional offset from the position of the event to the center of the cylinder.- Format: list of 3 integers representing X, Y and Z offset.
- Optional, if omitted [0, 0, 0] is used.
predicate: a world-generation style block predicate to used to determine if the block should be replaced.- Optional, if omitted all block types are replaced.
run_function- An entity effect that runs a command function. The execution entity the effect is executing for is represented as @sand ~ ~ ~ is the position of the event.
- Fields:
function: namespaced ID of the command function to run.
set_block_properties- An entity effect that sets properties on a block.
- Fields:
properties: map of property key to property value (same format as a minecraft:block_state item component)offset: a positional offset from the position of the event to the center of the cylinder.- Format: list of 3 integers representing X, Y and Z offset.
- Optional, if omitted [0, 0, 0] is used.
spawn_particles- An entity effect that spawns particles around the affected entity.
- Fields:
particle: a particle type definition.horizontal_position,vertical_position: decides where the particle spawns horizontally and vertically. Objects with fields:type: specifies the position selection type. One of:entity_position: spawn particles based on the entity position.in_bounding_box: spawn particles based on randomized positions inside the bounding box of the entity.
offset: a floating point value specifying an offset to the position source.- Optional, interpreted as 0 if omitted.
scale: a floating point value specifying a scaling factor.- Only available if type is
in_bounding_box
- Only available if type is
- Optional, interpreted as 1 if omitted.
horizontal_velocity,vertical_velocity: decides the initial velocity of the spawned particle. Object with fields:base: a float provider giving the base speed along the given axis.- Optional, interpreted as 0 if omitted.
movement_scale: a floating point scale factor applied to the entity speed along the given axis.- Optional, interpreted as 0 if omitted.
- Example: a movement_scale of 1 adds the velocity of the entity to the spawned particles.
summon_entity- An entity effect that summons a new entity, randomly chosen from a set of entity types, at the site of the event.
- Fields:
entity: the options for the entity type to summon.- Either an entity type ID, a list of entity type IDs or an entity type tag prefixed with #
join_team: boolean that specifies whether the summoned entity should join the team of the owner of the enchanted item.
Location-based effect types
- Special effects that activate and deactivate depending on where the owner of the enchanted item moves. Location-based effect only trigger when such items are initially equipped and subsequently when the owning entity moves to a new space in the block grid - i.e. when their coordinates change to a new integer value.
- All entity effect types can also be used as Location-Based effects, and in addition
attributecan be used to specify an Attribute effect as a location-based effect.
Effect conditions
- Most enchantment effects are filtered using conditions (same types as in loot tables). This enables effects to be specific for different situations. Each effect component defines which parameters are available for the condition to evaluate - some parameters are available for all of these parameter sets, while some are specific to a certain set. Each effect component specifies which parameters are available in the effect components list below.
- Damage parameters
- Entities:
this,attacker,direct_attacker - Enchantment level
- Origin
- Damage source
- Entities:
- Item parameters
- Tool
- Enchantment level
- Location parameters
- Entities:
this - Enchantment level
- Origin
- Enchantment active status
- Entities:
- Entity parameters
- Entities:
this - Enchantment level
- Origin
- Entities:
Effect components
- The
effectsfield in an enchantment is a map of effect component type the effect list data. Most effect components are lists, so any number of effects can be added of any component type. The data for each effect generally involves having a specified condition context and effect type, but some effects also deviate from this format. - In cases where the documentation specifies a condition context and effect, the component is a list. Each entry in the list has a field named
effectwith the effect of the type used by the list. Entries can also optionally include a field namedrequirementsspecifying the condition parameters, which are then evaluated with the documented context.minecraft:armor_effectiveness: effects for changing the armor effectiveness of the target of an attack.- Condition context: damage parameters
- Effect: value effect on the armor effectiveness: 0 for completely ineffective, 1 for fully effective.
minecraft:attributes: unfiltered list of attribute effects.minecraft:ammo_use: effects for ammunition being used when drawing a projectile weapon (firing a bow or loading a crossbow)- Condition context: item parameters - tool is the ammunition item.
- Effect: value effect on the amount of ammunition being used up.
minecraft:block_experience: effects for the amount of experience that drops when mining a block with the enchanted item.- Condition context: item parameters - tool is the mining tool used.
- Effect: value effect on the amount of experience awarded.
minecraft:crossbow_charge_sounds: effect for changing the charging sounds of a crossbow.- Note: only one of these effects can ever be active - the highest level is picked.
- Format: a list of crossbow sound banks:
start: optional sound event id for the start of charging.mid: optional sound event id for the middle of charging.end: optional sound event id for the end of charging.
- Each entry in the list represents the sounds at one level of the enchantment, so the first entry represents the sounds used by a level 1 enchantment.
minecraft:crossbow_charge_time: effects for the charging time of a crossbow.- Condition context: item parameters - tool is the crossbow.
- Effect: value effect on the charge time of the crossbow in seconds.
minecraft:damage: effects for the amount of damage caused by an attack.- Condition context: damage parameters.
- Effect: value effect on the amount of damage.
minecraft:damage_immunity: effects for complete damage immunity.- Condition context: damage parameters.
- Effect: not specified - any matching entry causes damage immunity.
minecraft:damage_protection: effects for damage protection.- Condition context: damage parameters.
- Effect: value effect on the amount of damage protection.
- Note that this adds damage protection ("magical armor") rather than processing the damage itself.
minecraft:equipment_drops: effects for the chance of equipment dropping when a target is killed by the owner of the enchanted item.- Condition context: damage parameters.
- Effect: value effect on the chance between 0 and 1 of an equipped piece dropping.
- Also has one other field:
enchanted: a specifier for who needs to be enchanted for the effect to apply.- Possible values are attacker and victim.
minecraft:fishing_luck_bonus: effects for the amount of luck given to a player fishing.- Condition context: entity parameters - this is the player fishing.
- Effect: value effect on the amount of luck.
- Note: the total amount of luck (in integer form) is applied as a luck effect to the fishing loot table.
minecraft:fishing_time_reduction: effects for reducing the time until a fish bites when fishing.- Condition context: entity parameters - this is the player fishing.
- Effect: value effect on the amount of time saved in seconds.
- Note: higher values here mean less time until a fish bites.
minecraft:hit_block: effects applying after a weapon or tool hits a block.- Condition context: entity parameters - this is the entity hitting the block.
- Effect: entity effect on the entity hitting the block.
- Note: in the case of a projectile attack, this is the projectile.
minecraft:knockback: effects for the amount of knockback caused by an attack.- Condition context: damage parameters.
- Effect: value effect on the amount of knockback caused by the attack.
minecraft:item_damage: effects for the amount of durability lost when an item is damaged.- Condition context: item parameters - tool is the damaged item.
- Effect: value effect on the amount of damage to the item.
minecraft:location_changed: effects that take effect when an entity crosses into a new block position.- Condition context: location parameters.
- Effect: location based effect.
minecraft:mob_experience: effects for the amount of experience that drops when killing a mob with the enchanted item.- Condition context: entity parameters - this is the killed mob.
- Effect: value effect on the amount of experience awarded.
minecraft:post_attack: effects applying after an attack damages a target.- Condition context: damage parameters.
- Effect: entity effect.
- Also has two other fields:
enchanted: a specifier for who needs to be enchanted for the effect to apply.affected: a specifier for whom the effect is applied to.
- Possible values for both fields are
attacker,damaging_entityandvictim - Example, a Fire Aspect enchantment would specify that when the attacker is enchanted, the ignite effect is applied, and the affected party is the victim.
minecraft:prevent_armor_change: effect for preventing the enchanted item from being unequipped from an armor slot.- Format: empty object.
minecraft:prevent_equipment_drop: effect for preventing the enchanted item from being dropped on owner death.- Format: empty object.
minecraft:projectile_count: effects for the amount of projectiles drawn when using a projectile weapon.- Condition context: entity parameters - this is the entity drawing the weapon.
- Effect: value effect on the number of projectiles drawn.
minecraft:projectile_piercing: effects for the piercing count of projectiles fired from a projectile weapon, i.e. the number of targets it can hit.- Condition context: item parameters - tool is the ammunition item.
- Effect: value effect on the pierce count of the fired projectile.
minecraft:projectile_spread: effects for the spread of arrows from a projectile weapon firing multiple projectiles.- Condition context: entity parameters - this is the entity using the weapon.
- Effect: value effect on the maximum spread of projectiles measured in degrees from the aim line.
minecraft:projectile_spawned: effects applying after a projectile entity has been spawned when firing a projectile weapon.- Condition context: entity parameters - this is the projectile entity.
- Effect: entity effect on the projectile entity.
minecraft:repair_with_xp: effect for repairing the item with XP when picked up by the player - any effect present triggers the function.- Condition context: item parameters - tool is the item being repaired.
- Effect: value effect converting the amount of XP to the amount of durability to repair.
minecraft:smash_damage_per_block_fallen: effects for the amount of damage caused by a mace's smash attack.- Condition context: damage parameters.
- Effect: value effect on the amount of damage.
minecraft:tick: Effects that apply every tick for correctly equipped enchanted items.- Condition context: entity parameters - this is the owner of the enchanted item.
- Effect: entity effect on the owner of the enchanted item.
minecraft:trident_return_acceleration: effects for the special acceleration value of a trident that returns it to its owner.- Condition context: entity parameters - this is the trident entity.
- Effect: value effect on the acceleration value.
minecraft:trident_spin_attack_strength: effects for the strength of a trident used as a spin attack.- Condition context: entity parameters - this is the player holding the trident.
- Effect: value effect on the attack strength.
- Any resulting value greater than 0 converts the trident to be a spin attack weapon instead of a thrown attack.
minecraft:trident_sound: effect for changing the charging sounds of a trident attack.- Note: Only one of these effects can ever be active - the highest level is picked.
- Format: a list of sound events.
- Each entry in the list represents the sound at one level of the enchantment, so the first entry represents the sound used by a level 1 enchantment.
Enchantment providers
- New ways for the game to source enchantments to use in various situations where enchantments show up.
- Spawn equipment enchantment providers:
mob_spawn_equipment: enchantment provider for mobs that spawn with randomly enchanted equipment.pillager_spawn_crossbow: enchantment provider for pillagers that spawn with enchanted crossbows.raid/pillager_post_wave_3: enchantment provider applied as a buff on the crossbow of pillagers spawning as waves 4 and 5.raid/pillager_post_wave_5: enchantment provider applied as a buff on the crossbow of pillagers spawning as waves above 5.raid/vindicator: enchantment provider applied as a buff on the axe of a vindicator spawning as wave 1-5.raid/vindicator_post_wave_5: enchantment provider applied as a buff on the axe of a vindicator spawning as waves above 5.
- Enderman loot enchantment provider:
enderman_loot_drop: an enchantment provider used for the "fake tool" applied to the carried block of a killed enderman.
- Villager Trade Rebalance enchantment providers:
- All equipment-specific enchantments in villager trades in the Villager Trade Rebalance experiment are now sourced from enchantment providers.
- These enchantment providers are only used when the Villager Trade Rebalance experiment is enabled and all have the following pattern:
trades/<biome>_<profession>_<equipment>_<level>
- For example: trades/desert_armorer_helmet_4 and trades/taiga_armorer_chestplate_5.
Enchantment provider types
single_enchantment- An enchantment provider which always provides the same enchantment. The level of the enchantment can be either constant or randomized.
- Fields:
enchantment: namespaced ID of the enchantmentlevel: int provider representing the level of the enchantment
enchantments_by_cost- An enchantment provider which gives one or more enchantments from a set of options according to a given cost (similar to the cost value in the enchanting table).
- Fields:
enchantments: the set of enchantments as either a single enchantment, a list of enchantments or hash-prefixed enchantment tag.cost: int provider representing the cost to use for the enchanting process.
enchantments_by_cost_with_difficulty- An enchantment provider which works like enchantments_by_cost, but where the cost is calculated partially based on the local difficulty of the area where the event happens causing the enchantments to be added.
- The used cost is a minimum cost plus a uniformly randomized factor up to a base cost span multiplied with the special factor, which starts at 0 for local difficulty up to 2, increases linearly up to 1 for local difficulty 4 and stays at a constant value of 1 for any difficulty above that.
- Fields:
enchantments: the set of enchantments as either a single enchantment, a list of enchantments or hash-prefixed enchantment tag.min_cost: positive integer representing the minimum possible cost.max_cost_span: non-negative integer representing the span of the cost randomization when the special factor is at its maximum.
Damage types
- New damage type:
campfire, split fromin_fire
Tags
- Enchantment tags
- Enchantment functionality tags:
curse: enchantments that get listed in red in tooltips and cannot be removed by disenchanting.prevents_bee_spawns_when_mining: enchantments that allow a tool to mine bee nests and hives with the bees still inside.prevents_decorated_pot_shattering: enchantments that make a tool not shatter decorated pots.prevents_ice_melting: enchantments that cause a tool to not break ice into water.prevents_infested_spawns: enchantments that allow a tool to break infested blocks without causing the mob inside to spawn.smelts_loot: enchantments that cause loot drops to be smelted.
- Enchantment availability tags:
tradeable: enchantments that show up on books in villager trades.on_traded_equipment: enchantments that show up on enchanted equipment in villager trades.double_trade_price: enchantments that double the emerald cost when traded.in_enchanting_table: enchantments that can show up in the enchanting table.on_mob_spawn_equipment: enchantments that can show up on equipment worn by randomly spawned mobs.on_random_loot: enchantments that can show up on loot in loot chests found in the world.
- Enchantment exclusivity tags:
- New tags used by the vanilla enchantments to control which ones are mutually exclusive, all of which are found under the exclusive_set/ path.
armor: enchantments that cannot co-exist on armor pieces.boots: enchantments that cannot co-exist on boots.bow:: enchantments that cannot co-exist on bows.crossbow: enchantments that cannot co-exist on crossbows.damage: damage-increasing enchantments that cannot co-exist.mining: mining-related enchantments that cannot co-exit.riptide: enchantments that cannot co-exist with Riptide.
- New tags used by the vanilla enchantments to control which ones are mutually exclusive, all of which are found under the exclusive_set/ path.
- Villager Trade Rebalance enchantment tags:
- In the experimental trade_rebalance pack, each biome type has two tags:
trades/<biome>_common: contains enchantments traded on the lower profession levels.trades/<biome>_special: contains enchantments traded on the highest profession level.
- In the experimental trade_rebalance pack, each biome type has two tags:
- Enchantment functionality tags:
- Damage type tags
burn_from_stepping: Damage types that represent burning damage from stepping on something - in particular, damage types countered by thefrost_walkerenchantment
Loot tables
- Conditions
- Targets
- Some target entity names have been renamed to fit in a more generic context:
killeris now calledattacker.direct_killeris now calleddirect_attacker.killer_playeris now calledattacking_player.
- Some target entity names have been renamed to fit in a more generic context:
- Targets
enchantment_active_check- New condition, requires the "Enchantment Active" parameter to exist in the context, which currently means it only works in enchantment conditions.
- Fields:
active: boolean determining whether the check should match for an active (true) or inactive (false).
random_chance- The chance field is now a number provider.
random_chance_with_enchanted_bonus- Renamed from
random_chance_with_looting. Field changes:looting_multiplier: field has been removed.chance: this is now a level-based value.enchantment: new field containing the namespaced ID of the enchantment which grants the bonus chance.
- Renamed from
Functions
enchanted_count_increase- Renamed from
looting_enchant. Now has a new field:enchantment: namespaced ID of the enchantment that increases yields.
- Renamed from
enchant_randomly- Changed format - the enchantments field is now called options.
optionsis now specified as one of an enchantment, a list of enchantments or an enchantment tag (prefixed with #)only_compatible: new optional boolean field - if true, only allows enchantments that are compatible with the item.- If omitted, defaults to true.
- Note: books are considered compatible with all enchantments.
- Changed format - the enchantments field is now called options.
enchant_with_levels- The treasure field has been removed.
- Changed format - options is now specified as one of an enchantment, a list of enchantments or an enchantment tag (prefixed with #)
copy_name- Some of the possible values for the source field have changed:
killerrenamed toattacking_entity.killer_playerrenamed tolast_damage_player.
- Some of the possible values for the source field have changed:
Number providers
enchantment_level- A new number provider that sources values from the enchantment level parameter.
- Fields:
amount: a level-based value giving a value based on the level of the enchantment.
Predicates
- Enchantment predicate
- The
enchantmentfield has been removed. - Added an
enchantmentsfield, one of an enchantment, a list of enchantments or an enchantment tag (prefixed with #)- If multiple enchantments are specified through a list or a tag, the predicate matches if any enchantment matches.
- If no
enchantmentsfield is specified, any enchantment matchinglevelssucceeds the test. - If neither the
levelsnorenchantmentsfields are defined, the predicate matches an item that has any enchantment.
- The
Entity flags predicate
- New possible fields:
is_on_ground: optional boolean - if provided, matches the "on ground" state of the entity.is_flying: optional boolean - if provided, matches whether the entity is flying, including:- Gliding with elytra.
- Flying in Creative mode.
Location predicate
- New possible field:
can_see_sky: optional boolean - if provided, matches exactly when the location has the maximum possible level of sky light.
Movement predicate
- New sub-predicate available as movement in entity predicates. Possible fields:
x,y,z:min/maxlimits for movement speed along a certain axis in blocks / second.speed:min/maxlimits for overall movement speed in blocks / second.horizontal_speed:min/maxlimits for the horizontal speed component of the entity's movement in blocks / second.vertical_speed:min/maxlimits for the vertical speed component of the entity's movement in blocks / second.fall_distance:min/maxlimits for the fall distance of the entity in blocks.
Periodic ticks
- New entity sub-predicate available as periodic_ticks in entity predicates. Format: a positive integer.
- This sub-predicate is true every n ticks of an entity's lifetime.
Attributes
generic.attack_knockback- Now also works on players.
generic.burning_time- A factor to how long an entity remains on fire after being ignited. A factor of
0removes the entire burn time, a factor of1lets the entity burn the default fire time - larger values increase the amount of time the entity remains on fire.- Default:
1 - Minimum:
0 - Maximum:
1024
- Default:
- A factor to how long an entity remains on fire after being ignited. A factor of
generic.explosion_knockback_resistance- A factor to how much knockback an entity takes from an explosion. A factor of
1removes the entire knockback, a factor of0means no knockback reduction.- Default:
0 - Minimum:
0 - Maximum:
1
- Default:
- A factor to how much knockback an entity takes from an explosion. A factor of
player.mining_efficiency- Mining speed factor added to the speed of mining when using a tool that efficiently mines a block.
- Default:
0 - Minimum:
0 - Maximum:
1024
- Default:
- Mining speed factor added to the speed of mining when using a tool that efficiently mines a block.
generic.movement_efficiency- How efficiently the entity can move through impeding terrain that slows down movement. A factor of
1removes all movement penalty, a factor of0applies full movement penalty.- Default:
0 - Minimum:
0 - Maximum:
1
- Default:
- How efficiently the entity can move through impeding terrain that slows down movement. A factor of
generic.oxygen_bonus- Factor to the chance an entity has to not use up air when underwater.
0has no effect, values over0are used in the following formula to determine the chance of using up air:- Default:
0 - Minimum:
0 - Maximum:
1024
- Default:
- Factor to the chance an entity has to not use up air when underwater.
player.sneaking_speed- The movement speed factor when sneaking. A factor of
1means sneaking is as fast as walking, a factor of0means unable to move while sneaking.- Default:
0.3 - Minimum:
0 - Maximum:
1
- Default:
- The movement speed factor when sneaking. A factor of
player.submerged_mining_speed- The mining speed factor when submerged. A factor of
1means mining as fast submerged as on land, a factor of0means unable to mine while submerged. Note that this represents only the submersion factor itself, and other factors(such as not touching the ground) also apply.- Default:
0.2 - Minimum:
0 - Maximum:
20
- Default:
- The mining speed factor when submerged. A factor of
player.sweeping_damage_ratio- How much of the base attack damage that gets transferred transfer to secondary targets in a sweep attack. This is additive to the base attack of the sweep damage itself of
1. A value of0means none of the base attack damage is transferred (sweep damage is 1). A value of1means all of the base attack damage is transferred (sweep damage is )- Default:
0 - Minimum:
0 - Maximum:
1
- Default:
- How much of the base attack damage that gets transferred transfer to secondary targets in a sweep attack. This is additive to the base attack of the sweep damage itself of
generic.water_movement_efficiency- The movement speed factor when submerged. The higher, the more of the underwater movement penalty is mitigated. Note that this represents only the submersion factor itself, and other factors (such as not touching the ground) also apply.
- Default:
0 - Minimum:
0 - Maximum:
1
- Default:
- The movement speed factor when submerged. The higher, the more of the underwater movement penalty is mitigated. Note that this represents only the submersion factor itself, and other factors (such as not touching the ground) also apply.
Block predicates (world generation style)
unobstructed- New block predicate type that passes if the selected block is unobstructed (no entities are in the space of the block).
- Fields:
offset: List of 3 int offset coordinates, specifying the offset from the origin position to test.- Optional, defaults to [0, 0, 0] if unspecified.
Entity data
- Arrow-like projectile data now contains a weapon field containing an item stack representing the weapon the projectile was fired from. The following fields have been removed:
ShotFromCrossbow
Painting variants
- Improved support for custom paintings.
- Painting variants registry are now loaded from packs.
- Path to painting definition is data/<namespace>/painting_variant/<id>.json
- Fields in definition:
width- width of painting in blocks, between 1 and 16.height- height of painting in blocks, between 1 and 16.asset_id- id of sprite in paintings atlas.
- The pack format version is now
33.- Added new textures and music assets for music discs.
- The sound events for ominous trial spawner becoming active and ambient sound were renamed.
- The panorama was changed to showcase trial chambers.
Experimental
The features that were previously under the "Update 1.21" experimental toggle have been de-experimentified. This means they can be accessed by simply playing the game normally. This change was made because this snapshot is the first snapshot for 1.21, which makes the features for 1.21 available in normal gameplay.
- Removed the
update_1_21feature flag and built-in data pack.- The features that were previously under the built-in data pack
update_1_21have been "de-experimentified" and are now available during normal gameplay.
- The features that were previously under the built-in data pack
Fixes
From released versions before 1.21
- MC-44280 – Entities don't receive knockback from projectiles fired from dispensers.
- MC-59626 – Arrows lose their Punch enchantment property when unloaded.
- MC-76104 – Guardians are unaffected by Thorns enchantment.
- MC-93669 – The sweeping attack doesn't ignite other mobs when using the Fire Aspect enchantment.
- MC-99411 – Frost Walker ice only semi-affected by
randomTickSpeedgamerule. - MC-116643 – Silk Touch cannot be combined with Looting or Luck of the Sea.
- MC-117361 – Mob type specific damage enchantment (Smite, Bane of Arthropods) affects all nearby entities when hitting affected mob with Sweeping Edge.
- MC-131637 – The Slowness effect is applied to entities when the Bane of Arthropods enchantment is held in the off-hand.
- MC-137018 – Killing rabbits with Looting and Fire Aspect only drops cooked rabbit sometimes.
- MC-158245 – Fire Aspect enchantment from mobs can set you on fire even when blocking with a shield.
- MC-175729 – Walking on the edge of underwater soul soil with Depth Strider and Soul Speed doesn't show soul particles.
- MC-177965 – Putting on/taking off Soul Speed boots while standing on soul sand/soil does not properly give speed.
- MC-182606 – When sneak-walking with Soul Speed on a soul sand or soul soil block (most noticeably) adjacent to lava, too many soul particles spawn.
- MC-188693 – FOV doesn't change back when riding a mob after staying on Soul Sand with Soul Speed.
- MC-189365 – Player can retain Soul Speed effect by bridging.
- MC-193343 – Soul Speed effect remains after switching to Spectator mode.
- MC-200899 – Players don't receive Thorns damage when attacking entities wearing Thorns armor with indirect sweeping attacks.
- MC-200991 – Soul Speed in minecart uses durability.
- MC-213349 – Certain mobs that can melee can't use the Fire Aspect enchantment.
- MC-215144 – A re-created "Default" world has world type of "Custom".
- MC-223301 – Goats not taking damage when attacking with Thorns armor equipped.
- MC-224743 – Jumping on soul sand uses durability of Soul Speed boots.
- MC-225312 – Evokers using evoker fangs are not affected by the Thorns enchantment.
- MC-232770 – Entities receive knockback from incorrect directions when being damaged by firework explosions.
- MC-234162 – The "
minecraft:ui.button.click" sound isn't played when adjusting sliders if the mouse cursor is released while not being held over them. - MC-234880 – Llamas are unaffected by Thorns.
- MC-237057 – The "
minecraft:particle.soul_escape" sound is very rarely heard by other players when using boots enchanted with Soul Speed. - MC-237063 – Particles produced from using boots enchanted with Soul Speed are inconsistently displayed for other players.
- MC-248272 –
Enchantment::doPostHurtandEnchantment::doPostAttackare called twice for players. - MC-253457 – Cats and ocelots are immune to Thorns damage.
- MC-258967 – Entities receive knockback from splash potions based on the direction that the said entity was facing when throwing the potion.
- MC-259811 – Paintings with non-existent variant entity tag are falsely labeled as random variant.
- MC-259987 –
/damagecommand at position applies knockback in random direction. - MC-261701 – Lag spike when opening Creative inventory for first time in world.
- MC-265088 – Onboarding Narrator button doesn't update upon pressing Ctrl+B.
- MC-266556 – Trial spawner cannot be activated in Peaceful difficulty.
- MC-267154 – Using an eye of ender plays the
minecraft:entity.ender_eye.launchsound event twice. - MC-267441 – When a player's
generic.step_heightattribute is set to more than two, attempting to step atop of more than two blocks may fail if there are blocks higher up. - MC-268347 – Setting gravity higher than 0.84 allows you to jump up a block.
- MC-268367 – Arrows repeatedly bouncing off a breeze spam sound.
- MC-268551 – When a wind charge is fired from a dispenser, it makes a "dispensed item" sound instead of a "Wind Charge flies" sound.
- MC-268564 – Entities receive knockback from incorrect directions when being hit by projectiles deflected by breezes.
- MC-269881 – Flow and bolt armor trims don't grant "Crafting a New Look" advancement.
- MC-269958 – New effects are not required for the "How Did We Get Here?" advancement.
- MC-269966 – "A Furious Cocktail" Advancement does not require the new potion effects.
- MC-269969 – Using a normal trial key on the ominous vault grants "Under Lock and Key" advancement.
- MC-269978 – The central dispenser in eruption trial chamber is missing a water bucket.
- MC-270021 – Drinking a single ominous bottle in Survival doesn't grant Bad Omen with the correct amplifier.
- MC-270031 – Arrows spawned from ominous trial spawner can be picked up.
- MC-270047 – Axe prioritizes scraping copper over shield.
- MC-270216 – Mace smash attack particles cannot be reduced with the Particles setting.
- MC-270278 – "Who needs rockets?" is granted at heights lower than 8 blocks when using Slow Falling.
- MC-270379 – Buttons and levers don't make sounds when toggled by wind charges.
- MC-270499 – Riptide trident in off-hand applies mace effects in main hand.
- MC-270588 – Hitting wind charges and fireballs makes no sound.
- MC-270682 –
modify_contentsitem modifier can create overstacked items. - MC-270791 – Mace smash attack can knockback tamed mobs.
- MC-270849 – Breeze can extinguish lit candles when
mobGriefingis false. - MC-270934 – Missing trial chamber structure
minecraft:trial_chambers/chamber/addon/c6. - MC-270974 – Breeze wind charges can change activation blockstates of redstone components when
mobGriefingis disabled. - MC-270977 – Breezes don't make deflection sounds.
- MC-271039 – Upgrading to 1.20.5 leads to the removal of all enchantments if item had the "
sweeping" enchantment without namespace. - MC-271157 – "Telemetry is disabled" tooltip does not get updated when the client locale changes.
- MC-271353 – Crafting UI flickers incorrect or blank recipes when choosing items from the recipe book.
- MC-272808 – Step height steps too high when there's a gap the player can fit through.
Videos
Videos made by Slicedlime:
Trivia
- This snapshot was the first time a new panorama was introduced with the first snapshot of an update.
- This snapshot had a notable bug in which shapeless crafting recipes did not always consume all the items in the crafting grid. This meant that some items could be (partially) duplicated.
References
- ↑ "Minecraft Snapshot 24w18a" – Minecraft.net, May 3, 2024.
- ↑ MC-269966 — "A Furious Cocktail" Advancement does not require the new potion effects — resolved as "Fixed".
- ↑ MC-269958 — New effects are not required for the "How Did We Get Here?" advancement — resolved as "Fixed".
- ↑ MC-269881 — Flow and bolt armor trims don't grant "Crafting a New Look" advancement. — resolved as "Fixed".

