Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Java Edition 1.21.5

From SAS Gaming Wiki

Template:Infobox version Template:Relevant guide 1.21.5, the release of Minecraft:Spring to Life, is a Minecraft:game drop released on March 25, 2025.<ref>Template:Mcnet</ref> This drop introduces new Minecraft:chicken, Minecraft:cow, and Minecraft:pig variants, expands plant life, and updates all Minecraft:spawn egg textures. Additionally, several features previously exclusive to Minecraft:Bedrock Edition have been added to Template:JE, enhancing gameplay diversity and visual aesthetics, and also fixes bugs. This is the first version released in 2025.

Additions

Template:Additions table

Blocks

Template:Animate Minecraft:Leaf litter

Template:Animate Minecraft:Wildflowers

File:Bush JE1.png Minecraft:Bush

File:Firefly Bush.png Minecraft:Firefly bush

  • Generates in Minecraft:swamps and near Minecraft:rivers.
  • When it's light level 13 or lower, glowing firefly particles appear around the firefly bush, up to 5 blocks away.

File:Cactus Flower JE1.png Minecraft:Cactus flower

File:Short Dry Grass.png Minecraft:Short dry grass

File:Tall Dry Grass.png Minecraft:Tall dry grass

Template:Animate Minecraft:Test block

  • A technical block used in game tests.
  • Can be obtained by Template:Cmd, Template:Cmd, or Template:Cmd commands, or through the Minecraft:Operator Items Tab.
  • The test block is a block used for implementing block-based tests. It has four modes:
  • Block-based tests are required to have at least one start block and one accept block in the structure.

File:Test Instance Block JE2.png Minecraft:Test instance block

  • A technical block used in game tests.
  • Can be obtained by Template:Cmd, Template:Cmd, Template:Cmd, or Template:Cmd commands, or through the Minecraft:Operator Items Tab.
  • 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 Template:Cmd command to run or create a test will also place a test instance block to control that test.

Items

File:Blue Egg.png Minecraft:Blue egg

  • A variant of the Minecraft:egg laid by the cold chicken variant.
  • Spawns the cold chicken variant when hatched.

File:Brown Egg.png Minecraft:Brown egg

  • A variant of the Minecraft:egg laid by the warm chicken variant.
  • Spawns the warm chicken variant when hatched.

Mobs

There are now cold<ref group="info" name="cold biomes"> The cold variant of each mob spawns in the following cold biomes:

</ref> and warm<ref group="info" name="warm biomes"> The warm variant of each mob spawns in the following warm biomes:

</ref> variants of pigs, cows, and chickens.

  • The variant of naturally spawned mobs is determined by the biome they spawn in.
  • When bred by a Minecraft:player, a baby of these mobs will not be a variant chosen by the current biome, but instead randomly be selected from one of its parent's variants.
  • The temperate versions of the mobs spawn by default wherever the cold and warm variants do not.

Template:Animate Minecraft:Pig

Template:Animate Minecraft:Cow

Template:Animate Minecraft:Chicken

Minecraft:Wolf

  • Added six new sound variants.
    • The sound variants are Classic, Big, Cute, Puglin, Angry, Grumpy, and Sad. The existing wolf sounds are used for the Classic variant.
    • Wolves receive a random sound variant when they spawn.
    • Sound variants are not related to texture variants

World generation

Minecraft:Fallen tree

Gameplay

Minecraft:Sounds

General

Minecraft:Language

  • Added support for Kyrgyz language.

Changes

Blocks

General

  • Any block in the simulation distance of a player or loaded by another source of chunk loading (such as Minecraft: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, Minecraft:ice can melt, Minecraft:snow can fall, and a Minecraft:cauldron can be filled by rain.
    • Mob spawning, lava spreading fire, and lightning strikes are not affected by this change. They will only occur in the previous radius of 8 chunks around players.

Minecraft:Fire

  • Will no longer burn or spread if no player is within 8 chunks.

Minecraft:Leaves

Minecraft:Short grass

Minecraft:Creaking heart

  • Added a new texture for when a creaking heart is in the dormant state.
    • Before, it looked the same as an uprooted creaking heart.
  • The transition between the awake and dormant states of creaking hearts is now based on the fixed day time.

Minecraft:Eyeblossom

  • The transition between the states of eyeblossoms is now based on the fixed day time.

Minecraft:Pale oak leaves and Minecraft:pale oak sapling

  • Now have an updated map color.

Minecraft:Dead bush

Minecraft:Beacon

  • Beacons and their beams now render beyond 16 chunks up to the client render distance.
    • To keep it easily visible at large distances, the beam is rendered thicker the further away it is from the player.
    • The beam now renders up to 2048 blocks high, up from 1024.

Minecraft:Bubble column

  • Bubble columns produce less particles and sounds when entities that are unaffected by them are inside them.

Minecraft:Lodestone

Template:Crafting Table

Minecraft:Iron bars, Minecraft:iron block, Minecraft:iron trapdoor, Minecraft:iron door, and Minecraft:heavy weighted pressure plate

  • Added new break, place, step, fall and hit sounds.

Minecraft:Powder snow

  • Landing on powder snow with Minecraft: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.

Items

Minecraft:Bundle

Minecraft:Cake and Minecraft:pumpkin pie

Minecraft:Elytra

Minecraft:Saddle

File:Wall of spawn eggs.jpg
A collection of the new spawn egg textures.

Template:Animate Minecraft:Spawn eggs

  • 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.
  • Added textures for Minecraft:Programmer Art resource pack.

Mobs

General

Minecraft:Bee

Minecraft:Camel

Minecraft:Cow and Minecraft:mooshroom

  • Textures have been changed.
  • Nose now extrudes from model.
  • Position of legs and horns changed now matches Minecraft:Bedrock Edition.

Minecraft:Creaking

  • Can now be named using Minecraft:name tags.
    • Named creakings will persist through the day.
      • However, it will still be torn down if stuck with a player or if it is too far from its heart.
    • Named creakings are still resistant to all damage, and can communicate with their hearts via particles.

Minecraft:Sheep

Minecraft:Villager

  • 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.

Template:Anchor

File:Villager Trade Reblance Cartographer.png
An image referring to how the different maps for the different village types are connected.
File:Village Graph.png
A graph showing where each type of cartographer's maps leads to

Template:AnchorTemplate:AnchorTemplate:AnchorTemplate:Anchor

Available new tradable maps
Desert Jungle Plains Savanna Snow Swamp Taiga
Group 1 Savanna Village Map Savanna Village Map Savanna Village Map Desert Village Map Plains Village Map Snowy Village Map Plains Village Map
Group 2 Plains Village Map Desert Village Map Taiga Village Map Plains Village Map Taiga Village Map Taiga Village Map Snowy Village Map
Group 3 Jungle Explorer Map Swamp Explorer Map Jungle Explorer Map Swamp Explorer Map Jungle Explorer Map Swamp Explorer Map

Template:TradeTable

File:25w07a cartographer trades.png
New cartographer trade prices.


Minecraft:Wandering trader

  • The changes to wandering trader trades have been moved from experimental features and are now available during normal gameplay.
    • The Wandering Trader now has better prices, more trades and a larger amount of stock for many items.
    • They will also now buy basic supplies from players.
    • The Wandering Trader will offer to buy two items from this list:
    • Wandering Traders now have a chance of selling these items (in addition to their previous trades):
    • Trade list now made up by following trades, in order:
      • Buying Trade (new) × 2
      • Special Selling Trade × 2
      • Ordinary Selling Trade × 5
    • Added new buying trades, some selling trades, and changed some existing selling trades:
New trades of wandering traders
Category Item wanted Quantity Item given Quantity Trades until disabled
Buying Template:ItemLink 4 Template:ItemLink 1 2
Buying Template:ItemLink 1 Template:ItemLink 3 2
Buying Template:BlockLink 1 Template:ItemLink 1 2
Buying Template:ItemLink 1 Template:ItemLink 2 2
Buying Template:ItemLink 1 Template:ItemLink 1 2
Buying Template:ItemLink 1 Template:ItemLink 2 2
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 1 Template:BlockLink 8 4
Special Selling Template:ItemLink 6–20 Template:ItemLink (Enchanted) 1 1
Special Selling Template:ItemLink 5 Template:ItemLink (Long) 1 1
Changed trades of wandering traders
Category Item wanted Quantity Item given Quantity Trades until disabled
Special Selling Template:ItemLink 1 Template:ItemLink 1 → 4 8 → 2
Special Selling Template:ItemLink 3 → 1 Template:BlockLink 1 6
Special Selling → Ordinary Selling Template:ItemLink 5 → 3 Template:ItemLink 1 4
Special Selling → Ordinary Selling Template:ItemLink 5 → 3 Template:ItemLink 1 4
Ordinary Selling Template:ItemLink 1 Template:BlockLink 2 → 5 5 → 2
Ordinary Selling Template:ItemLink 1 Template:BlockLink 1 → 3 12 → 4
Ordinary Selling Template:ItemLink 1 Template:BlockLink 1 → 3 12 → 4
Ordinary Selling Template:ItemLink 1 Template:BlockLink 1 → 3 12 → 4
File:25w07a wandering trader trades.png
New wandering trader trade prices.


Minecraft:Zombified piglin

World generation

Minecraft:Pale garden

Minecraft:Villages

  • Pigs and cows spawned in desert villages are now of the warm variant.

Gameplay

Minecraft:Advancements

  • The "Country Lode, Take Me Home" advancement has been moved from the Nether category to the Adventure category.

Minecraft:Creative mode

Minecraft:End portal and Minecraft:exit portal

  • When changing state, any blocks that are in its radius will be dropped as items and also make breaking sounds, rather than outright overwritten.<ref>Template:Citation</ref>

Minecraft:Narrator

  • The volume of the narrator is now affected by the game's configured volume in the 'Voice' category.

Minecraft:Sounds

General

General

  • If the game detects that the last startup did not complete normally, the fullscreen option will now be reset.
  • Chunks loaded by a portal will now be re-loaded again automatically when the world is reopened.

Minecraft:Realms

  • Uploading a world to Realms will now enable command blocks by default.
  • It's now possible to upload hardcore singleplayer worlds to Realms.

Minecraft:Title screen

Minecraft:Tooltip

Technical

Additions

Command format

Template:Cmd

  • A new command used to create and run tests.
  • Template:Cmd
    • These subcommands clear the structures and blocks associated with the selected tests.
  • Template:Cmd
    • This subcommand creates a test setup in the current location for the given test, preparing for a structure of the given size.
    • This gives a starting point for creating the structure for the test.
  • Template:Cmd
    • Attempts to locate the given test.
      • Note that only loaded chunks are searched.
  • Template:Cmd
    • These subcommands reset the structures for the selected tests, removing any surrounding barriers and placing the structure in from scratch.
  • Template:Cmd
    • 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.
  • Template:Cmd
    • Runs one or more tests.
      • 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.
  • Template:Cmd
    • Stops all running tests.
      • Note that gameplay events triggered by tests may still remain.
  • Template:Cmd
    • Verifies one or more tests by running multiple instances of the same test.

General

Minecraft:Block-based tests

Data components

Template:Cd component

  • When present, this item can be used like a Shield to block attacks to the holding player.
  • Format: object with fields
    • Template:Cd
      • Non-negative float (default: Template:Cd).
      • The number of seconds that right-click must be held before successfully blocking attacks.
    • Template:Cd – hashtagged damage type tag (optional)
      • If specified, blocking is bypassed by these damage types.
    • Template:Cd
      • 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:
        • Template:Cd – 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.
        • Template:Cd – float
          • Constant amount of damage to be blocked.
        • Template:Cd – float
          • Fraction of the dealt damage that should be blocked.
        • Template:Cd – angle in degrees as a positive float
          • Default: Template:Cd
          • 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.
    • Template:Cd
      • Non-negative float (default: Template:Cd).
      • Multiplier applied to the number of seconds that the item will be on cooldown for when attacked by a disabling attack (Template:Cd on the Template:Cd component).
      • If Template:Cd, this item can never be disabled by attacks.
    • Template:Cd
      • 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: <math>floor(base + factor * dealt_damage)</math>.
      • The final value may be negative, causing the item to be repaired.
      • Format:
        • Template:Cd – non-negative float
          • The minimum amount of damage dealt by the attack before item damage is applied to the item.
        • Template:Cd – float
          • Constant amount of damage applied to the item, if threshold is passed.
        • Template:Cd – float
          • Fraction of the dealt damage that should be applied to the item, if threshold is passed.
    • Template:Cd
      • Sound event (optional).
      • If specified, this sound will be played when an attack is successfully blocked.
    • Template:Cd
      • Sound event (optional).
      • If specified, this sound will be played when the item goes on its disabled cooldown due to an attack.

Template:Cd 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'

Template:Cd component

  • When present, for items that have the Template:Cd component, the duration of the applied effects will be scaled by this factor.
  • This also applies to Template:Cd in the Template:Cd component, unlike the previous hard-coded scaling factor.
  • If not specified, defaults to Template:Cd.
  • Format: non-negative float
  • e.g. Template:Cd

Template:Cd 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'

Template:Cd 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 Template:Cd tag.
    • As such, the trim material registry definition no longer specifies an item.
  • Format: trim material id
    • e.g. provides_trim_material='minecraft:iron'

Template:Cd component

  • This component allows the tooltips provided specifically by any given item component to be suppressed.
  • This replaces the previous Template:Cd fields, Template:Cd and Template:Cd components.
  • Format: object with fields:
    • Template:Cd - boolean (default: Template:Cd).
      • If true, the item will have no tooltip when hovered.
    • Template:Cd - list of item component ids (default: Template:Cd).
      • The tooltips provided by any component in this list will be hidden.
      • If that component provides no tooltip, it will have no effect.

Template:Cd 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.
  • Format: object with fields:
    • Template:Cd – non-negative integer (default: Template:Cd)
      • The amount to damage the weapon for each attack performed.
    • Template:Cd
      • Non-negative float (default: Template:Cd)
      • If non-zero, will disable a blocking Shield on successful attack for the specified amount of seconds.
  • e.g. Template:Cd}

Entity components

  • wolf/sound_variant
    • Namespaced ID from wolf_sound_variant registry.

Minecraft:Function tests

  • Rely on built-in functions to run a test and indicate success or failure.
    • They have one additional field:
      • Template:Cd:
        • The namespaced ID of the Test Function to run.

Minecraft:Game rule

Minecraft:Game tests

  • The Game Tests system is a new integrated system for testing aspects of the game.
  • Each test is an asset defining some parameters for how the test gets executed, combined with a saved structure file containing a base setup.
  • Generally, the test framework expects to run tests in a separate superflat world.

Minecraft:Items model definition

  • Select Property
    • Template:Cd
      • New data source has been added to select item model: Template:Cd.
      • Returns value of component on item, if any.
      • Fields:
      • Possible values: depends on component type.

Minecraft:Tags

  • Biome Tags
    • Added Template:Cd – all biomes where cold variant of farm animals spawn.
    • Added Template:Cd – all biomes where warm variants of farm animals spawn.
  • Entity Tags
    • Added Template:Cd – 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 Template:Cd – contains entity that can hold horse armor in their body slot.
  • Structure tags
    • Added Template:Cd – contains structures that can appear on savanna village maps.
    • Added Template:Cd – contains structures that can appear on desert village maps.
    • Added Template:Cd – contains structures that can appear on plains village maps.
    • Added Template:Cd – contains structures that can appear on taiga village maps.
    • Added Template:Cd – contains structures that can appear on snowy village maps.
    • Added Template:Cd – contains structures that can appear on swamp explorer maps.
    • Added Template:Cd – contains structures that can appear on jungle explorer maps.

Test environments

  • Test Environments are a way to group up tests and give them the right preconditions to run.
  • A test environment is an asset in the Template:Cd registry.
  • Each test environment definition has a Template:Cd field that determines its setup:
    • Template:Cd definitions
      • Apply the setup from several sub-definitions in the Template:Cd field.
    • Template:Cd definitions
      • Use mcfunction files as setup and teardown.
      • Template:Cd:
        • Optional namespaced ID of the mcfunction to use for setup, if any.
      • Template:Cd:
        • Optional namespaced ID of the mcfunction to use for teardown, if any.
    • Template:Cd: definitions
      • Set any number of game rules.
      • Template:Cd:
        • A list of boolean game rules to set and the value to set.
      • Template:Cd:
        • A list of integer game rules to set and the value to set.
      • Each rule is an object with two fields:
      • Game rules are reset to their default values after the test environment has completed.
    • Template:Cd definitions
    • Template:Cd definitions
      • Set a given time of day.
      • Template:Cd:
        • The time of day to set in number of ticks, as a non-negative integer.
  • The game provides a single, empty test environment by default: Template:Cd.

Test instances

Changes

Command format

General

  • Text components in commands such as Template:Cmd or Template:Cmd are now specified with SNBT instead of JSON.
  • Text style in the Template:Cmd command when specifying the styled number format is now specified with SNBT instead of JSON.
  • The behavior of Template:Cmd and Template:Cmd 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.

Template:Cmd, Template:Cmd, and Template:Cmd

  • Text component arguments are now resolved before use in context of entity held in Template:Cd.

Template:Cmd

  • Can now create and modify heterogeneous lists transparently.
  • Can no longer traverse paths with an empty key (e.g. Template:Cmd)

Template:Cmd

  • The replace option in the fill command is no longer terminal, and can be followed with additional options.

Template:Cmd, Template:Cmd, Template:Cmd, and Template:Cmd

  • Accepts a new option: strict.
    • If specified, the command will place blocks as-is without triggering block updates and shape updates.
  • New syntax for commands to use the new strict option, and more flexible use of replace:

Item slots

  • The Template:Cd item slot has been renamed to Template:Cd, and now supports any entity that can equip a Saddle.
    • Driven by the Template:Cd component.
    • Only mobs that normally support saddles will support riding and rendering of the saddle.
    • Items in the Template:Cd slot can apply attribute modifiers as with other equipment.

Minecraft:NBT format

  • Any interface with NBT data within the game (SNBT representation, Template:Cmd) 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 Template:Cmd 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.

Minecraft:SNBT format

  • SNBT (textual representation of NBT-like data) has been expanded to accept heterogeneous lists, i.e. ones where elements are not of the same type.
  • NBT format is not changed
    • If SNBT command argument transforms value to NBT (like arguments of Template:Cmd or Template:Cmd), lists might be transformed to bypass NBT constraints
      • Example transform: ['a', {'b':3}] is stored as [{'':'a'},{'b':3}]
    • This transform is not reversed by Template:Cmd
  • The text format for describing object-like data in commands (like NBT, text components, predicates, etc.) has been extended.
  • SNBT now also supports following operations:
    • Template:Cd - converts argument to boolean.
      • If argument is a boolean value, returns value directly.
      • If argument is a number value, returns true if it is non-zero.
    • Template:Cd - converts string representation of UUID to integer array.
  • Implicit infinite float values (like Template:Cd) are now rejected.
  • Lists
  • Compounds
    • Compounds (maps) now accept trailing commas

General

Minecraft:Advancement definition

Minecraft:Atlas

  • Template:Cd sprite source
    • New field:
      • Template:Cd
        • Optional string (default: Template:Cd).
        • Value to be used when joining texture and permutation names to produce sprite name.

Biome effects

  • Template:Cd field
    • Defines the color used for tinting blocks using dry foliage tinting.

Minecraft:Block entity format

  • The Template:Cd field will no longer be preserved when removed.
  • The Template:Cd field will no longer be preserved when removed.

Data components

  • Template:Cd component
    • Removed the Template:Cd field, replaced by Template:Cd component.
    • This component now always uses its simplified form, with the modifiers field inlined to top-level.
      • e.g. attribute_modifiers={modifiers:[...]}] -> attributes_modifiers=[...]
  • Template:Cd and Template:Cd components
    • Removed the Template:Cd field, replaced by Template:Cd component.
    • The predicates field has been inlined to top-level, and supports either a single element or list.
      • e.g. can_place_on={predicates:[{blocks:'stone'},{blocks:'dirt'}]}] -> can_place_on=[{blocks:'stone'},{blocks:'dirt'}]]
      • or: can_place_on={predicates:[{blocks:'stone'}]}] -> can_place_on={blocks:'stone'}]
  • Template:Cd component
    • Removed the Template:Cd field, replaced by Template:Cd 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]
  • Template:Cd and Template:Cd components
    • Removed the Template:Cd field, replaced by Template:Cd 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}]
  • Template:Cd component
    • Can now apply to saddle slot.
    • Any mob can now have equipment added in the Template:Cd slot as long as the component allows it (Template:Cd).
    • Added new optional field: Template:Cd (boolean).
      • If Template:Cd, 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 Template:Cd.
  • Template:Cd component
    • Added new optional field: Template:Cd (boolean)
      • If false, players cannot break blocks while holding this tool in Creative Mode.
      • If not specified, defaults to Template:Cd.
  • Some existing components are now also transferred from spawning item to spawned entity:

Minecraft:Data pack

  • The Minecraft:pack format version is now Template:Cd.
  • Trim pattern and trim material items are no longer specified in the trim registries, but instead in the recipes and items respectively.
  • The Template:Cd entity type has been split into Template:Cd and Template:Cd
  • Filled Maps without any Template:Cd component no longer show an 'Unknown Map' tooltip (invalid IDs will still produce this tooltip)
  • New command line argument Template:Cd is available for the client.
    • Adds debug labels to relevant OpenGL objects, making debugging rendering easier for developers.

Minecraft:Entity data

  • Custom data (previously present only on Minecraft:markers) is now available on all entities.
    • It is exposed as a Template:Cd component, so it can be set by spawning items and matched by predicates.
    • The component is currently stored in a field called Template:Cd.
    • It is stored only if it's non-empty.

Minecraft:Entity format

Entity variant components

Equipment assets

Minecraft:Items model definition

  • Select Property
    • Template:Cd
      • 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
    • Template:Cd
      • New conditional model property has been added to condition item model: Template:Cd
      • Uses component predicates (like ones used in item predicates) to match item components.
        • However, instead of encoding them as a map of Template:Cd, a single predicate is encoded in two fields.
      • Fields:

Loot Functions

  • Template:Cd
    • Now supports any component id in the toggles map.
    • Any component specified will be toggled in the Template:Cd component.

Network protocol

  • The client-bound Template:Cd 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 Template:Cd 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 Template:Cd and Template:Cd 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 Template:Cd to disable the check, for compatibility with protocol translation.

Minecraft:Particle format

  • The particle type Template:Cd now has a parameter:
    • Template:Cd
      • Tint color, specified either as packed int or list of 4 floats.

Minecraft:Predicates

  • Block predicates
    • New optional fields have been added to block predicates: Template:Cd and Template:Cd.
    • Their functionality and format are identical to the fields Template:Cd and Template:Cd on item predicates, but they operate on block entity components (when present).
      • When present, Template:Cd will match exact contents of block entity components.
      • When present, Template:Cd will match partial contents of block entity components.

Minecraft:Recipes

  • Template:Cd
    • The result field now supports specifying a count and a components patch to apply to the result.
    • The components patch is applied to the final transmuted item.
    • The new format is an object with fields:
      • Template:Cd – item id
      • Template:Cd – positive integer (default: Template:Cd)
      • Template:Cd – a component patch object (default: empty)
      • e.g. "result": {"id": "minecraft:stick", "count": 3, "components": {"!minecraft:damage": {}, "minecraft:enchantment_glint_override": {}}}
    • The field can still be defined as before as an inline item id (e.g. Template:Cd)
  • Template:Cd recipe type
    • The Template:Cd field is no longer optional
      • Previously, if no base ingredient was given, the recipe would parse but never be usable.
  • Template:Cd recipe type
    • The Template:Cd, Template:Cd, and Template:Cd fields are no longer optional.
      • Previously, if these ingredients were not given, the recipe would parse but never be usable.
    • Added new Template:Cd field, controlling which trim pattern will be applied in the recipe.
      • As such, the trim pattern registry definition no longer specifies the item.
      • Format: trim pattern id
        • e.g. "pattern": "minecraft:bolt"

Minecraft:Resource pack

  • The Minecraft:pack format version is now Template:Cd.
  • Added textures for new falling leaves particles.
  • Added textures for new Wildflowers block.
  • Added break, place, step, fall and hit sounds for Iron Blocks, Iron Bars, Iron Trapdoors, Iron Doors and Heavy Weighted Pressure Plates.
  • Added the possibility to tint blocks based on a dry foliage color map.
  • Added colormap texture for tinting dry foliage tinted blocks.
  • Removed Template:Cd and Template:Cd.
  • The texture sheep_fur has been renamed to sheep_wool.
  • The texture pig has been renamed to temperate_pig.
  • Added new textures for Pig variants:
  • Changed the size of Template:Cd texture.
  • Pig variants can be data-driven by adding entries to Template:Cd
    • This feature is experimental.
    • Fields in file:
  • Added new equipment asset layer type for Pigs and Striders, and moved saddle textures.
  • Changed the size of Template:Cd texture.
  • The texture cow has been renamed to temperate_cow.
  • Added new textures for cow variants.
    • cold_cow
    • warm_cow
  • Changed the size of temperate_cow texture.
  • Changed the size of red_mooshroom and brown_mooshroom textures.
  • The temperate Cow has an updated model and texture.
    • Cow models now have a snout.
    • Cow models now have their legs mirrored.
  • Cow variants can be data-driven adding entries to data/<namespace>/cow_variant/<id>.json.
    • This feature is experimental.
    • Fields in file:
      • model – one of: normal, cold, warm.
      • asset_id – namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png.
      • spawn_conditions – field described in uniform variant selection above.
  • The texture chicken has been renamed to temperate_chicken.
  • The temperate_chicken texture has been moved to a new folder:
    • entity/chicken.png → entity/chicken/temperate_chicken.png
  • Added new textures for chicken variants:
    • cold_chicken
    • warm_chicken
  • Chicken variants can be data-driven adding entries to data/<namespace>/chicken_variant/<id>.json.
    • This feature is experimental.
    • Fields in file:
      • model – one of: normal, cold.
      • asset_id – namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png.
      • spawn_conditions – field described in uniform variant selection above.
  • Item rendering
    • Minecraft:Item Display
    • Item Entity
      • When on ground, model size is now taken into account when determining hovering motion.
        • That means that models should never clip into the block below, no matter what size they are.
      • Positioning of items in an item stack on ground now depends on model size and model type.
        • If model depth (Z coordinate) is below 1/16th of a block, item is rendered as flat stack of items.
        • Otherwise model is rendered as a cluster of items offset in all directions around center.
        • Previously, flat stack rendering happened only for models with Template:Cd parent.

Minecraft:Server.jar

  • Added the entry point Template:Cd.
    • Automatically starts a server, runs all available game tests and then exits.
    • Options:
      • Template:Cd – Shows usage information
      • Template:Cd – Set a folder of Minecraft:datapacks to include in the world
        • Any zip file or folder with a Template:Cd file is included
      • Template:Cd – Exports results in a junit-like XML report at the given path
      • Template:Cd – Specify which tests to run with a selection - a wildcard expression matching namespace test instance IDs
        • If omitted, or used with an empty ID, runs all tests
      • Template:Cd – The path to where the test server world will be created
        • Any existing folder will be replaced
        • Default: Template:Cd
      • Template:Cd – Enables test verification
    • Example usage: Template:Cd

Minecraft:Shaders

  • Shader program definitions for core shaders and post-processing effects as JSON files have been removed.
  • The shader programs themselves are still available and can be overridden.
  • The post-processing effects are still configurable as JSON.
  • Post-process Effect Definitions

Minecraft:Tags

Minecraft:Text component format

  • 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 Template:Cmd or Template:Cmd.
    • For example, Template:Cmd 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 Template:Cd field has been renamed to Template:Cd.
      • 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 Template:Cd 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:
  • Spawn conditions
    • Template:Cd
      • Checks if entity is spawning in specific biomes.
      • Fields:
        • Template:Cd – single entry, list or a tag describing biomes.
    • Template:Cd
      • Checks if current moon brightness is within certain range.
      • Fields:
        • Template:Cd – floating point range (a single number or an object like {"min": 1, "max": 2}).
    • Template:Cd
      • Checks if entity is spawning in specific structures.
      • Fields:
        • Template:Cd – single entry, list or a tag describing structures.
  • Cat variants
    • Cat variants can be data-driven by adding entries to Template:Cd.
    • This feature is experimental.
    • Fields in file:
  • Frog variants
    • Frog variants can be data-driven by adding entries to Template:Cd.
    • This feature is experimental.
    • Fields in file:

Fixes

Template:Fixes

Videos

Template:Youtube Template:Slicedlime

Gallery

Notes

<references group="info"/>

References

Template:Reflist

Navigation

Template:Navbox Java Edition versions

Minecraft:de:1.21.5 Minecraft:es:Java Edition 1.21.5 Minecraft:fr:Édition Java 1.21.5 Minecraft:it:Java Edition 1.21.5 Minecraft:ja:Java Edition 1.21.5 Minecraft:lzh:爪哇版一點二一點五 Minecraft:pl:Java Edition 1.21.5 Minecraft:pt:Edição Java 1.21.5 Minecraft:ru:1.21.5 (Java Edition) Minecraft:th:รุ่น Java 1.21.5 Minecraft:uk:1.21.5 (Java Edition) Minecraft:zh:Java版1.21.5