Java Edition 1.21.11

From Minecraft Wiki
Jump to navigation Jump to search
Minecraft 1.21.11

1.21.11 banner image.jpg: Infobox image for Minecraftversion Minecraft 1.21.11
Java Edition 1.21.11.png: Infobox image for Minecraftversion Minecraft 1.21.11

1.21.11 banner.jpg: Infobox image for Minecraftversion Minecraft 1.21.11
Java Edition 1.21.11 Unobfuscated.png: Infobox image for Minecraftversion Minecraft 1.21.11

Edition

Java Edition

Official name

Mounts of Mayhem

Release date

December 9, 2025

Development versions
Downloads

Client
Obfuscated (.json)
Unobfuscated (.zip)[note 1]
Server
Obfuscated
Unobfuscated

Obfuscation maps

Client
Server

Protocol version

774

Data version

4671

Resource pack format

75.0

Data pack format

94.1

Minimum Java version

Java SE 21

There is a guide for this update!
 
See Java Edition guides/Mounts of Mayhem for a guide to all of the new features introduced in Mounts of Mayhem.

1.21.11, the release of Mounts of Mayhem, is a game drop for Java Edition released on December 9, 2025,[1][2] which adds the nautilus, zombie nautilus, nautilus armor, spears, netherite horse armor, camel husks, parched, and zombie horsemen.

A separate unobfuscated version of 1.21.11 was released, titled 1.21.11 Unobfuscated (or 1.21.11_unobfuscated when in the launcher). This is an experimental version released in preparation for obfuscation being removed from Java Edition clients and servers.[3]

1.21.11 is the final version of Java Edition to be obfuscated,[4] the final version released in 2025, the final version to require Java 21, and the final version to use the old 1.x.y version format.

Additions

[edit | edit source]
1.21.11 block and item additionsInvicon Copper Nautilus Armor.png: Inventory sprite for Copper Nautilus Armor in Minecraft as shown in-game linking to Copper Nautilus Armor with description: Copper Nautilus Armor When equipped: +4 ArmorInvicon Iron Nautilus Armor.png: Inventory sprite for Iron Nautilus Armor in Minecraft as shown in-game linking to Iron Nautilus Armor with description: Iron Nautilus Armor When equipped: +5 ArmorInvicon Golden Nautilus Armor.png: Inventory sprite for Golden Nautilus Armor in Minecraft as shown in-game linking to Golden Nautilus Armor with description: Golden Nautilus Armor When equipped: +7 ArmorInvicon Diamond Nautilus Armor.png: Inventory sprite for Diamond Nautilus Armor in Minecraft as shown in-game linking to Diamond Nautilus Armor with description: Diamond Nautilus Armor When equipped: +11 Armor +2 Armor ToughnessInvicon Netherite Nautilus Armor.png: Inventory sprite for Netherite Nautilus Armor in Minecraft as shown in-game linking to Netherite Nautilus Armor with description: Netherite Nautilus Armor When equipped: +19 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Netherite Horse Armor.png: Inventory sprite for Netherite Horse Armor in Minecraft as shown in-game linking to Netherite Horse Armor with description: Netherite Horse Armor When equipped: +19 Armor +3 Armor Toughness +1 Knockback ResistanceInvicon Wooden Spear.png: Inventory sprite for Wooden Spear in Minecraft as shown in-game linking to Wooden Spear with description: Wooden Spear When in Main Hand:  1 Attack Damage  1.54 Attack SpeedInvicon Stone Spear.png: Inventory sprite for Stone Spear in Minecraft as shown in-game linking to Stone Spear with description: Stone Spear When in Main Hand:  2 Attack Damage  1.33 Attack SpeedInvicon Copper Spear.png: Inventory sprite for Copper Spear in Minecraft as shown in-game linking to Copper Spear with description: Copper Spear When in Main Hand:  2 Attack Damage  1.18 Attack SpeedInvicon Iron Spear.png: Inventory sprite for Iron Spear in Minecraft as shown in-game linking to Iron Spear with description: Iron Spear When in Main Hand:  3 Attack Damage  1.05 Attack SpeedInvicon Golden Spear.png: Inventory sprite for Golden Spear in Minecraft as shown in-game linking to Golden Spear with description: Golden Spear When in Main Hand:  1 Attack Damage  1.05 Attack SpeedInvicon Diamond Spear.png: Inventory sprite for Diamond Spear in Minecraft as shown in-game linking to Diamond Spear with description: Diamond Spear When in Main Hand:  4 Attack Damage  0.95 Attack SpeedInvicon Netherite Spear.png: Inventory sprite for Netherite Spear in Minecraft as shown in-game linking to Netherite Spear with description: Netherite Spear When in Main Hand:  5 Attack Damage  0.87 Attack SpeedInvicon Camel Husk Spawn Egg.png: Inventory sprite for Camel Husk Spawn Egg in Minecraft as shown in-game linking to Camel Husk Spawn Egg with description: Camel Husk Spawn EggInvicon Nautilus Spawn Egg.png: Inventory sprite for Nautilus Spawn Egg in Minecraft as shown in-game linking to Nautilus Spawn Egg with description: Nautilus Spawn EggInvicon Parched Spawn Egg.png: Inventory sprite for Parched Spawn Egg in Minecraft as shown in-game linking to Parched Spawn Egg with description: Parched Spawn EggInvicon Zombie Nautilus Spawn Egg.png: Inventory sprite for Zombie Nautilus Spawn Egg in Minecraft as shown in-game linking to Zombie Nautilus Spawn Egg with description: Zombie Nautilus Spawn EggInvicon Enchanted Book.png: Inventory sprite for Enchanted Book in Minecraft as shown in-game linking to Enchanted Book with description: Lunge IInvicon Enchanted Book.png: Inventory sprite for Enchanted Book in Minecraft as shown in-game linking to Enchanted Book with description: Lunge IIInvicon Enchanted Book.png: Inventory sprite for Enchanted Book in Minecraft as shown in-game linking to Enchanted Book with description: Lunge III

Items

[edit | edit source]

Nautilus armor

Netherite horse armor

ItemSprite nautilus-spawn-egg.png: Sprite image for nautilus-spawn-egg in MinecraftItemSprite zombie-nautilus-spawn-egg.png: Sprite image for zombie-nautilus-spawn-egg in MinecraftItemSprite parched-spawn-egg.png: Sprite image for parched-spawn-egg in MinecraftItemSprite camel-husk-spawn-egg.png: Sprite image for camel-husk-spawn-egg in Minecraft Spawn eggs

  • Added nautilus, zombie nautilus, parched, and camel husk spawn eggs.

Spear

  • New weapon that can be crafted in wood, stone, copper, iron, gold, diamond and netherite versions.
    • Each material has different stats for timing, influencing how fast they are to use.
    • Copper, iron and golden spears can be smelted into the respective nuggets.
    • Wooden spears can be used as a fuel in a furnace.
  • Cannot be used to mine blocks, as opposed to other weapons.
  • Can be enchanted with the exclusive enchantment Lunge, in addition to the available enchantments for swords (except Sweeping Edge).
  • Has a minimum reach for damage, being too close to a target will yield no damage.
    • Has extended maximum reach compared to other tools and weapons.
  • Zombies, husks, zombified piglins and piglins can spawn holding a spear.
    • Golden spears are a piglin-preferred weapon.
  • Has two attacks: jab and charge.
    • Jab
      • Used by quick-pressing the primary action button.
      • Is a low-damage attack with knockback.
      • Has a cooldown between attacks.
      • Wooden spears have the fastest cooldown, while netherite has the slowest.
      • Can hit multiple enemies.
    • Charge
      • Used by holding the secondary action button.
      • Damage is based on spear material, the player’s view angle, and the velocity of both the player and the target.
      • While holding down the button, the attack goes through three stages before returning to idle:
        • Engaged: The spear can deal damage, knockback, and dismount mounted enemies if the speed is above the required thresholds.
        • Tired: Indicated by the spear rotating to a vertical position and shaking. The Spear can deal damage and knockback (but not dismount) if the speed is above the required thresholds.
        • Disengaged: Indicated by the spear being lowered, pointing downwards. The Spear gives damage but not knockback or dismount if the speed is above the required threshold.
      • The spear's range when used by mobs is half of that when used by players, but they can deal damage, dismount and knockback at lower speeds than the players.
      • Spears provide visual feedback when they hit a target in the charge attack.

Camel husk

  • New undead variant of the camel.
  • Spawns at a light level of 0 in deserts.
    • Spawns with two riders: A husk wielding a spear in the front and a parched in the back.
    • Does not spawn in caves, following the husk's spawning rules.
  • Does not burn in sunlight.
  • Has 32HP❤️ × 16 health.
  • Is hostile if the rider is a hostile mob (similar to the zombie horse). Is passive without a rider.
  • Despawns like other hostile mobs, but becomes persistent while ridden by a player.
  • Favorite food is rabbit foot, but it cannot be bred.
  • Drops 2-3 rotten flesh when killed, with an extra 0-1 for each level of Looting.
    • Any husk riding it now has a chance of dropping a rabbit foot on death.
  • As a mount, it works similar to a normal camel.

Nautilus

  • A new neutral aquatic mob.
  • Spawns in all ocean biomes.
  • Has 15HP❤️ × 7.5 health.
  • Attacks using a dash attack, if provoked.
    • Plays a dash sound when it performs its dash attack.
  • Occasionally attacks pufferfish within range using the dash attack.
  • Takes suffocation damage on land.
  • Grants the Breath of the Nautilus effect to mounted players.
  • Can be bred and tamed using a pufferfish or a bucket of pufferfish.
  • A tamed nautilus can be equipped with a saddle, then the player can ride it.
    • While riding it, the player can use its dash attack (similar to camels) by pressing the jump button.
    • Has an inventory UI.
  • Once tamed, has a roaming restriction around its home position of 16 blocks with a saddle, and 32 blocks without.
  • Has a 5% (120) chance of dropping a nautilus shell upon death, on a player kill, affected by Looting.

Parched

  • New variant of the skeleton.
  • Spawns at a light level of 0 in deserts replacing some of the regular skeletons.
    • Does not spawn in caves, following the husk's spawning rules.
  • Does not burn in sunlight.
  • Has 16HP❤️ × 8 health.
  • Shoots arrows of Weakness, and has a chance to drop them as well.
  • Has a slower rate of fire compared to a normal skeleton, similar to the bogged.
  • Is immune to the Weakness effect.

Zombie nautilus

  • A new underwater mob that spawns with a Drowned rider wielding a trident.
  • Has a coral variant, which appears when spawned in a warm ocean type biome.
  • Hostile only if ridden by a hostile mob.
  • Behaves similar to the nautilus except that it cannot be bred.
  • Burns in sunlight, like other undead mobs.
    • Nautilus armor protects it from sunlight damage.
  • Does not take suffocation damage on land, as opposed to regular nautilus.
  • Drops 0-3 rotten flesh when killed, on a player kill, affected by Looting.

Command format

[edit | edit source]

/stopwatch

  • New command that allows the creation of a stopwatch that keeps track of real time.
  • Stopwatches do not depend on game ticks.
  • They only run when the server/world is running, even when paused.
  • Syntax:
    • /stopwatch create <id> – creates a stopwatch with the given namespaced ID.
    • /stopwatch query <id> – returns the queried value and takes in a new scale argument.
      • The returned value will be scaled by that argument and truncated.
      • The scale is optional and will default to 1 if omitted.
      • Example: /stopwatch query foo:bar 20 to get the elapsed time in ticks.
    • /stopwatch restart <id> – restarts the given stopwatch.
    • /stopwatch remove <id> – removes the given stopwatch.

Gameplay

[edit | edit source]

Advancements

  • Added the following advancement:
IconAdvancementIn-game descriptionActual requirements (if different)
Mob KabobHit five mobs in the same Charge attack using the Spear.Armor Stand and Mannequin also count for this advancement.

Death messages

  • Added the following death messages:
    • "<player> was speared by <player/mob>"
    • "<player> was speared by <player/mob> using <item>"

Effects

  • Breath of the Nautilus
    • Affects mounted players.
    • Pauses player oxygen consumption (but does not replenish oxygen).

Enchantments

  • Lunge
    • A new enchantment that is unique to the spear.
    • Only works with the jab attack.
    • When doing a jab attack with Lunge, it propels the player horizontally in the view direction.
    • The view angle needs to be perfectly leveled horizontally to achieve maximum lunge distance.
    • Costs saturation/hunger to use, similar to sprinting or jumping.
      • Level I consumes 1 (🍖), level II consumes 2 (🍗), and level III consumes 3 (🍖🍗).
      • Lunge can only be used if the player has at least 6 (🍗🍗🍗) hunger points in their hunger bar.
    • There's also a durability cost of 1 for using Lunge across all Enchantment levels.

General

[edit | edit source]

Environment attributes

Game rules

  • Added minecraft:fire_spread_radius_around_player
    • Controls the maximum distance in blocks that fire can spread around a player.
      • This replaces the previous doFireTick and allowFireTicksAwayFromPlayer game rules, which have now been removed.
      • Setting it to 0 will disable fire spreading.
      • Setting it to -1 will allow fire spreading without players around.
      • Limit: Minimum -1

Item components

  • minecraft:attack_range
    • Enables a custom attack range when using the item.
    • Overrides the normal entity interaction range for player.
    • Regular melee attack range is computed for mobs based on the distance of the target hitbox to their hitbox. This component modifies that distance check by adjusting minimum and maximum padding for the attack hitbox.
    • Mobs using minecraft:kinetic_weapon will have their attack range applied in the same way it applies to players.
    • Format: object with fields
      • min_reach: float, the minimum distance in blocks from the attacker to the target to be considered valid.
        • Default value: 0.0, valid from 0.0 to 64.0
      • max_reach: float, the maximum distance in blocks from the attacker to the target to be considered valid.
        • Default value: 3.0, valid from 0.0 to 64.0
      • min_creative_reach: float, the minimum distance in blocks from the Creative Mode attacker to the target to be considered valid.
        • Default value: 0.0, valid from 0.0 to 64.0
      • max_creative_reach: float, the maximum distance in blocks from the Creative Mode attacker to the target to be considered valid.
        • Default value: 5.0, valid from 0.0 to 64.0
      • hitbox_margin: float, the margin applied to the target bounding box when checking for valid hitbox collision.
        • Default value: 0.3, valid from 0.0 to 1.0
      • mob_factor: float, the multiplier applied to the min_range and max_range when checking for valid distance when item is used by a mob.
        • Default value: 1.0, valid from 0.0 to 2.0
  • minecraft:damage_type
    • Specifies the type of damage this item deals.
    • Format: string, damage type identifier.
      • e.g. damage_type='minecraft:spear'
  • minecraft:kinetic_weapon
    • Enables a charge-type attack when using the item (primarily for Spears), where, while being used, the damage is dealt along a ray every tick based on the relative speed of the entities.
    • Format: object with fields.
      • delay_ticks: integer, the time in ticks required before weapon is effective.
        • Default value: 0
      • dismount_conditions: Indicates the condition to apply dismount. Objects with fields:
        • max_duration_ticks: integer, the ticks after which the condition is no longer checked. This starts after delay has elapsed.
        • min_speed: float, the minimum speed of the attacker, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
        • min_relative_speed: float, the minimum relative speed between the attacker and target, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
      • knockback_conditions: Indicates the condition to apply knockback. Objects with fields:
        • max_duration_ticks: integer, the ticks after which the condition is no longer checked. This starts after delay has elapsed.
        • min_speed: float, the minimum speed of the attacker, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
        • min_relative_speed: float, the minimum relative speed between the attacker and target, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
      • damage_conditions: Indicates the condition to apply damage effects. Objects with fields:
        • max_duration_ticks: integer, the ticks after which the condition is no longer checked. This starts after delay has elapsed.
        • min_speed: float, the minimum speed of the attacker, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
        • min_relative_speed: float, the minimum relative speed between the attacker and target, in blocks per second, along the direction that the attacker is looking.
          • Optional, default value: 0.0
      • forward_movement: float, the distance the item moves out of hand during animation.
        • Default value: 0.0
      • damage_multiplier: float, the multiplier for the final damage from the relative speed.
        • Default value: 1.0
      • sound: Optional Sound Event to play when the weapon is engaged.
      • hit_sound: Optional Sound Event to play when the weapon hits an entity.
      • contact_cooldown_ticks: integer, the cooldown in ticks after hitting, and loosing contact with an entity before being able to hit it again.
        • Default value: 10
      • e.g. kinetic_weapon={max_reach:5.0,forward_movement:1.0,delay:20,damage_conditions:{max_duration_ticks:60},knockback_conditions:{max_duration_ticks:40},dismount_conditions:{max_duration_ticks:20}}
    • The damage dealt is calculated as floor(relativespeed*velocitymultiplier) where relative_speed is the difference of speed vectors of the attacker and the target as projected onto the axis of the attacker's view vector.
      • Any additional damage from enchantments or attribute modifiers is * after this calculation.
  • minecraft:minimum_attack_charge
    • Sets the minimum attack charge on the attack indicator required to attack with this item.
    • Format: float (0.0 to 1.0).
      • 0.0: no charge required.
      • 1.0: full charge required.
  • minecraft:piercing_weapon
    • Enables a quick attack that damages multiple entities along a ray (primarily for Spears).
    • Format: object with fields.
      • deals_knockback: boolean, whether the attack deals knockback.
        • Default value: true
      • dismounts: boolean, whether the attack dismounts the target.
        • Default value: false
      • sound: Optional Sound Event to play when a player attacks with the weapon.
      • hit_sound: Optional Sound Event to play when the weapon hits an entity.
      • e.g. piercing_weapon={min_reach:0,max_reach:4,dismounts:true}
  • minecraft:swing_animation
    • Specifies the swing animation to play when attacking or interacting using this item.
    • Format: object with fields.
      • type: string, the animation identifier (none, whack, stab).
        • Default value: whack
      • duration: integer, the duration in ticks.
        • Default value: 6
      • e.g. swing_animation={type:'stab',duration:20}
  • minecraft:use_effects
    • Controls how the player behaves when using an item (right mouse click).
    • Format: object with fields.
      • can_sprint: boolean, whether the player can sprint while using this item.
        • Default value: false
      • speed_multiplier: float (0 to 1), the speed multiplier applied to the player while using this item.
        • Default value: 0.2
      • interact_vibrations: boolean
        • Whether using this item emits minecraft:item_interact_start and minecraft:item_interact_finish game events.
        • Default value: true
      • e.g. use_effects={can_sprint:true,speed_multiplier:1.0}

Loot functions

  • minecraft:discard
    • Replaces any item stack with empty one.
    • No fields.

Options

  • Added the anisotropic filtering graphics option.
    • This new option improves the visual quality of blocks when viewed at a distance or at an angle.
    • The default depends on the graphics preset, and the values are "off", "2x", "4x", and "8x".
    • If the hardware does not support it, it will not be used.
    • This significantly impacts video memory usage (especially combined with a high mipmap count).
  • Added the chunk fade time option.
    • Located in Video Settings.
    • Controls the fade-in time of chunks.
An announcement on Rotated Grid Super Sampling.
  • Added texture filtering in video settings.
    • Controls the method used to sample textures when they are viewed at an angle or from a distance.
    • Available values are "None", "RGSS", and "Anisotropic".
    • The default depends on the selected graphics preset as well as the computer's graphics card capabilities.[note 2]
    • "RGSS" (Rotated Grid Super Sampling) is a shader-based filtering method that improves texture clarity at a moderate performance cost.
      • This is available on all hardware.
    • "Anisotropic" is a hardware-based filtering method that improves texture clarity even further.
      • The maximum anisotropy may be "2x", "4x", and "8x", controllable by a separate slider.
      • If the graphics card does not support it, anisotropic filtering will do nothing.
      • This significantly impacts VRAM usage (especially combined with a high mipmap count).

Slot sources

  • Added slot sources to allow the location of any inventory slot to be specified within datapacks.
    • Format: object with fields.
      • type: the slot source type.
      • <type-specific>: additional fields depending on the type.
  • minecraft:empty Type
    • Empty selection containing no slots.
  • minecraft:group Type
    • Merges several slot sources into one, with the resulting selection containing all slots from each slot source provided.
      • If a slot is included in more than one slot source, it will be repeated in the resulting slot source.
      • e.g. [a, b] + [c, a] -> [a, b, c, a]
    • Format:
      • terms: list of slot sources to join.
    • Can alternatively be written inline as a list of slot sources.
  • minecraft:slot_range Type
    • Selects slots within a slot range from the inventory of an entity or block entity.
    • Mirrors the behavior of the from argument of the /item command.
    • Format:
      • source: an entity or block entity from which the slots will be sourced, from loot context.
        • Can be block_entity, this, attacking_entity, last_damage_player, direct_attacker, target_entity, or interacting_entity
      • slots: a slot range in the format of <slot_type> or <slot_type>.<slot_number> (e.g. armor.chest or container.*).
  • minecraft:contents Type
    • Selects all non-empty slots from the inventory component of one or more items.
      • If no item is stored inside that component, the resulting selection will be empty.
    • The location of the item(s) whose inventory component to use is specified by another slot source.
      • If the slot source includes more than one item with that component, the resulting selections will be merged identically as with the minecraft:group type.
      • e.g. Bundle [a, b] + Shulker Box [c, d] -> [a, b, c, d]
    • Format:
      • component: the inventory component to target.
        • Allowed values are minecraft:bundle_contents, minecraft:charged_projectiles, and minecraft:container
      • slot_source: a slot source containing slots with item(s) to target.
  • minecraft:filtered Type
    • Applies a filter to the selected slots, excluding any non-matching slots from the resulting selection.
    • Format:
      • item_filter: an item predicate to match against the items in each slot.
      • slot_source: the slot source to filter.
  • minecraft:limit_slots Type
    • Limits the number of slots provided, with the resulting selection containing at most that number of slots.
      • Any slots bringing the number of slots above that limit will be excluded, in order of inclusion.
      • e.g. [a, b, c, d] -> [a, b, c] if the limit is set to 3
    • Format:
      • limit: integer, the maximum number of slots to include in the resulting selection.
      • slot_source: the slot source to limit.
  • Example slot source selecting every slot with more than 16 items from the hotbar and armor slots of an entity:
{
    "type": "minecraft:filtered",
    "item_filter": {
        "count": {
            "min": 16
        }
    },
    "slot_source": [
        {
            "type": "minecraft:slot_range",
            "source": "this",
            "slots": "hotbar.*"
        },
        {
            "type": "minecraft:slot_range",
            "source": "this",
            "slots": "armor.*"
        }
    ]
}

Splash

  • Added "One does not simply walk to the Far Lands".
    • References kurtjmac, who completed his 14-year Far Lands walk a month prior.
  • Added "Music by Hyper Potions!"

Tags

  • Biome Tags
    • Added #spawns_coral_variant_zombie_nautilus
      • Contains the biomes where the coral variant of the zombie nautilus can spawn.
  • Block Tags
    • Added #can_glide_through.
      • Contains climbable blocks that can be glided through without stopping.
  • Entity Tags
    • Added #burn_in_daylight
      • Contains entities that burn in daylight.
    • Added #can_float_while_ridden
      • Contains entities that can float on water while being ridden.
    • Added #can_wear_nautilus_armor
    • Added #nautilus_hostiles
      • Contains entities that the nautilus will be hostile towards when untamed.
  • Item Tags
    • Added #camel_husk_food
      • Contains all items that can be used to feed a camel husk.
    • Added #enchantable/lunge
      • Contains all items that can be enchanted with the lunge enchantment.
    • Added #enchantable/melee_weapon
      • Contains all primary melee weapons including swords and spears.
    • Added #nautilus_bucket_food
      • Contains bucketed fish items that can be used to feed a tamed nautilus and zombie nautilus.
    • Added #nautilus_food
      • Contains all items that can be used to feed a tamed nautilus and zombie nautilus.
    • Added #nautilus_taming_items
    • Added #spears
      • Contains all spear weapons.
    • Added #zombie_horse_food
      • Contains all items that can be used to feed a tamed zombie horse.
  • Timeline Tags
    • Added #universal
      • Contains timelines that are active in every dimension.
    • Added #in_overworld
      • Contains timelines that are active in the Overworld.
    • Added #in_nether
      • Contains timelines that are active in the Nether.
    • Added #in_end
      • Contains timelines that are active in the End.

Timelines

  • Are a new experimental concept defined in data packs under the timeline registry (i.e. found under data/<namespace>/timeline/<id>.json).
  • Specify game behavior based on the absolute day time (that which is set by /time set). Timelines optionally can specify a period over which they will be repeated.
  • Are able to modify game behavior or visuals by acting as an Environment Attribute source to apply Environment Attribute modifiers.
    • Format: object with fields
      • period_ticks: optional integer, defines the duration in ticks over which the timeline will repeat.
        • If not specified, the timeline will not repeat
      • tracks: optional map between Environment Attribute IDs and a corresponding Environment Attribute Track object.
  • Timelines by default have no effect unless they are included by a dimension.
  • With the inclusion of Timelines, Environment Attribute sources are processed in the following order (from low to high priority):
    • Dimensions
    • Biomes
    • Timelines
    • Weather (not data-driven)
  • Interpolation
    • Timelines can define Attribute Tracks
      • These specify how a modifier for a particular Environment Attribute changes over time by defining keyframes.
      • Depending on the attribute, interpolation may be used between each keyframe. If interpolation is not used, the previous keyframe value will always be selected.
    • For example, a Timeline with a period of 24000 might be set up as following:
      • At time = 0, the timeline provides sky_color = #ff0000 (red)
      • At time = 1000, the timeline provides sky_color = #ff0000 (red)
      • At time = 6000, the timeline provides sky_color = #ff00ff (magenta)
    • Between time = 0 and time = 1000, the sky color will be red. Between 1000 and 6000, it will shift from red to magenta. Then, from 6000 all the way until the timeline repeats and reaches time = 0 again, the color will slowly shift back to red.
    • Unlike biomes, if a Timeline uses a modifier instead of an override, interpolation is applied to the modifier arguments rather than the final modified values.
  • Attribute Tracks
    • An Attribute Track specified within a Timeline takes the format of an object with the following fields:
      • ease – optional Easing Type (see below), used to ease the interpolation of the value between keyframes.
        • Default: linear
          • If the target attribute does not support interpolation, the easing mode will have no effect.
      • keyframes – list of keyframe objects, must be ordered by the ticks field:
        • ticks – integer between 0 and period_ticks (if specified), defines the tick (within the period) at which this keyframe's value will be active.
        • value – the modifier argument (format dependent on the chosen modifier).
          • If no modifier is specified (or override is used), the type of this field is the same as the Environment Attribute itself.
          • How this value is used depends on the type of modifier.
            • Note: at most two keyframes can be placed on the same tick, creating an immediate transition.
      • modifier – optional string modifier ID, dependent on the Attribute Type (see the Common Modifiers section below).
        • Default: override
    • For example, the following Timeline has a period of 24000, and has an attribute track that modifies only minecraft:gameplay/cat_waking_up_gift_chance. Because the easing is constant, between tick 362 and 23667 the value is 0.0, while between tick 23667 and 362 it is 0.7.
    • Like other Environment Attribute sources, the specified value is used as the argument to the specified modifier. This is then applied on top of sources with a lower priority. In this case the modifier is maximum, so this timeline will only ever increase the value of cat_waking_up_gift_chance to the value specified in the track.
{
    "period_ticks": 24000,
    "tracks": {
        "minecraft:gameplay/cat_waking_up_gift_chance": {
            "ease": "constant",
            "modifier": "maximum",
            "keyframes": [
                { "ticks": 362,   "value": 0.0 },
                { "ticks": 23667, "value": 0.7 }
            ]
        }
    }
}
  • Easing Types
    • Easing Types control the interpolation between two keyframes by applying a curve. The following built-in Easing Types are provided:
      • constant – always selects the previous keyframe
      • linear
      • in_back
      • in_bounce
      • in_circ
      • in_cubic
      • in_elastic
      • in_expo
      • in_quad
      • in_quart
      • in_quint
      • in_sine
      • in_out_back
      • in_out_bounce
      • in_out_circ
      • in_out_cubic
      • in_out_elastic
      • in_out_expo
      • in_out_quad
      • in_out_quart
      • in_out_quint
      • in_out_sine
      • out_back
      • out_bounce
      • out_circ
      • out_cubic
      • out_elastic
      • out_expo
      • out_quad
      • out_quart
      • out_quint
      • out_sine
    • An Easing Type may also be specified with a Cubic Bézier in the format: { "cubic_bezier": [ x1, y1, x2, y2 ] }
      • x1: float between 0 and 1, x-coordinate of the first control point.
      • y1: float, y-coordinate of the first control point.
      • x2: float between 0 and 1, x-coordinate of the second control point.
      • y2: float, y-coordinate of the second control point.
  • Common Data Types
    • Mob Activity
      • A string ID from the minecraft:activity built-in registry. One of:
        • minecraft:core
        • minecraft:idle
        • minecraft:work
        • minecraft:play
        • minecraft:rest
        • minecraft:meet
        • minecraft:panic
        • minecraft:raid
        • minecraft:pre_raid
        • minecraft:hide
        • minecraft:fight
        • minecraft:celebrate
        • minecraft:admire_item
        • minecraft:avoid
        • minecraft:ride
        • minecraft:play_dead
        • minecraft:long_jump
        • minecraft:ram
        • minecraft:tongue
        • minecraft:swim
        • minecraft:lay_spawn
        • minecraft:sniff
        • minecraft:investigate
        • minecraft:roar
        • minecraft:emerge
        • minecraft:dig
  • Modifiers
    • Added blend_to_gray RGB/ARGB modifier – modifies a color by taking its grayscale form, applying a brightness modifier, and mixing with this using some factor.
      • Where gray = brightness * (0.3 * red + 0.59 * green + 0.11 * blue), result = lerp(factor, subject, [gray, gray, gray])
        • Argument format: object with fields
        • brightness: float between 0 and 1, a multiplier to apply to the grayscale value.
        • factor: float between 0 and 1, the factor to mix with.

Changes

[edit | edit source]

Blocks

[edit | edit source]

Decorated Pots

Leaves

  • The gaps between leaves are now dark green instead of black when "See-Through Leaves" video setting is disabled.

Items

[edit | edit source]

General

  • Items will no longer "bob" whenever their durability changes, such as when losing durability from an attack, or repaired by Mending.

Elytra

Leather horse armor

  • The texture is now the same as in Bedrock Edition.
  • Both the item and the equipment assets have been split into a tinted base layer and an overlay layer.

Spawn Eggs

Bats

  • No longer spawn more frequently and in higher light levels between October 20 and November 3.

Horses, mules, donkeys, zombie horses and camels

  • No longer sink in water while ridden by a player.
  • Will not panic if controlled by mobs.
  • Tamed horses no longer run into cactus or sweet berry bushes.

Llamas and trader llamas

  • Will not panic if controlled by mobs.

Parrots

Piglin

Zombie and husk

  • Zombies and husks can now spawn holding iron spears and use its Charge attack.

Zombie horse

  • Texture changed from to have a darker texture.
  • Now spawns naturally, in plains and savanna biomes.
    • Spawns in darkness, and burns in sunlight, like other undead mobs.
    • Counts towards the hostile mob cap and spawns with other hostile mobs in the spawning cycle.
    • Spawns being ridden by a zombie holding an iron spear, forming a zombie horseman.
  • Has 25HP❤️ × 12.5 health.
  • Drops 2-3 rotten flesh when killed (instead of 0-2), with an extra 0-1 for each level of Looting.
  • An unridden zombie horse does not display any hostile behavior towards players.
    • If it is ridden by a zombie, the zombie will control its pathfinding and therefore make it hostile.
  • Untamed zombie horses despawn like other hostile mobs.
    • Tamed zombie horses are persistent and do not despawn.
  • Can be tamed in the same fashion as a regular horse, and can then be mounted and controlled by a player.
  • Can be equipped with a saddle and horse armor.
    • Horse armor protects it from sunlight damage.
  • Has variable movement speed and jump strength, determined when it spawns.

Zombie villager

  • Zombie villagers can now hold Spears and use its Charge attack.
    • This change was not mentioned in the changelog.

Zombified piglin

  • Zombified piglins can now spawn holding golden spears and use its Charge attack.
  • Zombified piglins spawned from lightning striking a pig also have a chance to hold a golden spear.

World generation

[edit | edit source]

Bastion remnant

  • Bastion remnant chests can now contain diamond spears.

Buried treasure

  • Buried treasure chests can now contain iron spears.
  • Buried treasure chests can now contain copper, iron, golden and diamond nautilus armor.

End city

  • End city chests can now contain diamond spears.

Ocean ruins

  • Ocean ruin chests can now contain stone spears.
  • Ocean ruin chests can now contain copper, iron, golden and diamond nautilus armor.

Shipwreck

  • Shipwreck chests can now contain copper, iron, golden and diamond nautilus armor.

Village

  • Weaponsmith chests can now contain copper and iron spears.

Command format

[edit | edit source]

General

  • Resource suggestions now show results in any namespace instead of just within minecraft.

/execute

  • Added new syntax /execute (if|unless) stopwatch <id> <range>
  • Allows to compare the elapsed time of a given stopwatch with a floating point value range.
    • The stopwatch value is measured in seconds and has an accuracy of at most a millisecond.
      • Example: /execute if stopwatch foo:bar ..10 run say Stopwatch foo:bar has not reached 10 seconds yet.

/worldborder

  • The time argument is now given in ticks instead of seconds.
  • The time argument for setting the size can now also specify seconds or in-game days using an s or d suffix.
  • The time argument for setting the warning distance now specifies ticks by default but can also specify seconds or in-game days using an s or d suffix.

Gameplay

[edit | edit source]

Advancements

Clouds

  • Cloud movement and position is now tied to the world time, hence the same for all players on a server.

Sky

  • The color of the sky during sunrises and sunsets is now affected by rain and thunder.

World border

  • World border interpolation is now dependent on game ticks instead of real time.
    • This means the world border will no longer move when the game is paused.
    • It will also respect any changes made by the /tick command.

General

[edit | edit source]

General

  • Added support for KQueue on OSX to improve network connection performance.

Advancement trigger

  • Added new spear_mobs trigger with fields:
    • player: optional entity predicate, the player using the kinetic weapon.
    • count: optional integer, the number of mobs hit in a single use of the kinetic weapon.

Biomes

  • Underwater biome fog color and fog distance is now blended based on the player's position between biomes, similarly to regular biome fog and sky colors.
  • Added new attributes field for biomes to specify Environment Attributes.
    • Note: certain attributes, such as gameplay/fast_lava are not evaluated positionally and thus cannot be set on a Biome.
  • Many subfields under effects have been migrated to Environment Attributes:
    • Note: the form of these attributes may not be identical to the original fields.
    • fog_color -> minecraft:visual/fog_color
    • water_fog_color -> minecraft:visual/water_fog_color
    • sky_color -> minecraft:visual/sky_color
    • particle -> minecraft:visual/ambient_particles
    • ambient_sound, mood_sound, additions_sound -> minecraft:audio/ambient_sounds
    • music -> minecraft:audio/background_music
    • music_volume -> minecraft:audio/music_volume
  • The following color fields in the effects definition now support colors as a string in the form "#rrggbb", or a float array in the form [red, green, blue]
    • water_color
    • foliage_color
    • dry_foliage_color
    • grass_color
    • grass_color_modifier

Block models

  • Block model elements can now be rotated around multiple axes.
    • Model is first rotated around X, then Y, then Z
    • New fields:
      • x – rotation around axis X in degrees, float, defaults to 0.0
      • y – rotation around axis Y in degrees, float, defaults to 0.0
      • z – rotation around axis Z in degrees, float, defaults to 0.0
    • Existing fields axis and angle can still be used.
      • If both field sets are present, older notation takes presence.
  • Existing restriction for angle value limiting them to [-45, 45] has been removed.
    • Note: Names of faces are not influenced by rotation. Features that depend on them, like culling, will always use original directions.

Blockstates definition

  • Variants in blockstates definition files (defined in assets/minecraft/blockstates/) can now be also rotated around Z axis.
    • New optional field z has the same format as existing x and y fields: an integer with allowed values of 0 (default), 90, 180 and 270.
    • Rotation around Z axis is applied after X and Y.

Chunks

  • Now fade in instead of appearing out of nowhere, with the fade-in time adjustable through Video Settings.

Controls

  • Several uses of the ⌘ Command key on Mac have been rebound to Ctrl:
    • The input modifier to drop all items.
    • The input modifier to include all the data when picking a block.
    • The input modifier to change GUI scale in the Video Settings screen.
    • Stopping the recipe book from cycling through variations of items.

Damage types

  • Added a new minecraft:spear damage type.

Data pack

Debug renderer

  • More debug renderers are now available through the Debug Settings screen.
  • Some existing renderers were improved.
  • The performance of debug renderers has been significantly improved.

Dimension types

  • Added new attributes field for dimensions to specify Environment Attributes.
  • Many fields have been migrated to Environment Attributes:
    • Note: the form of these attributes may not be identical to the original fields.
    • ultrawarm -> minecraft:gameplay/water_evaporates, minecraft:gameplay/fast_lava, visual/default_dripstone_particle
    • bed_works -> minecraft:gameplay/bed_rule
    • respawn_anchor_works -> minecraft:gameplay/respawn_anchor_works
    • cloud_height -> minecraft:visual/cloud_height
    • piglin_safe -> minecraft:gameplay/piglins_zombify
    • has_raids -> minecraft:gameplay/can_start_raid
    • natural (note: not removed) -> minecraft:gameplay/nether_portal_spawns_piglin
  • Added a new optional timelines field that specifies which Timelines are active in this dimension.
    • Format: a Timeline ID, a list of Timeline IDs, or a Timeline Tag.
  • The natural field has been fully replaced by the minecraft:gameplay/eyeblossom_open and minecraft:gameplay/creaking_active environment attributes.
  • The effects field has been removed and replaced with the following new fields:
    • skybox – the skybox rendering type to use, one of:
      • none (was minecraft:nether effect ID)
      • overworld (was minecraft:overworld effect ID)
        • Following environment attributes are applied only when the skybox is overworld:
          • minecraft:visual/sky_color, minecraft:visual/sun_angle,minecraft:visual/sunrise_sunset_color, minecraft:visual/moon_phase, minecraft:visual/moon_angle, minecraft:visual/star_angle, minecraft:visual/star_brightness
      • end (was minecraft:end effect ID)
      • Default: overworld
    • cardinal_light – the direction of cardinal lighting that affects blocks, one of:
      • default (was minecraft:overworld and minecraft:end effect ID).
      • nether (was minecraft:nether effect ID).
      • Default: default
  • The fixed_time field has been replaced by a has_fixed_time boolean (default: false)
    • Time-based effects such as the angle of the sun are now specified instead by environment attributes.
    • However, the remainder of behaviors formerly affected by fixed_time being present will now instead use the has_fixed_time boolean.

Enchantment definition

  • Added exponent
    • Raises the base to the specified power level.
      • base – Level-Based Value indicating the base of the exponent.
      • power – Level-Based Value indicating the power of the exponent.
  • Enchantment Effect Components
    • minecraft:post_piercing_attack: Effects applying after a piercing attack with an item.
  • Enchantment Entity Effects
    • minecraft:apply_exhaustion: applies exhaustion to the targeted entity.
      • amount – Level-Based Value indicating the amount of exhaustion to apply.
      • Effective only on players.
    • minecraft:apply_impulse: applies an impulse to the targeted entity.
      • direction – The first step of determining the impulse is applying this vector as local coordinates (the same used by /tp @s ^ ^ ^) onto the entity look vector.
      • coordinate_scale – The second step is scaling the resulting vector by this vector on each axis in world space, X, Y and Z.
      • magnitude – The third step is scaling the resulting vector by this Level-Based Value.
    • minecraft:play_sound: can now support a list of sound event identifiers, one for each level of enchantment. If a level is higher than the number of sounds, the last sound in the list is used.

Entity data

  • The AngryAt field has been renamed to angry_at.
  • The AngerTime field has been removed.
  • An anger_end_time (long) field has been added, containing the time anger ends in game ticks.

Fog

  • Environmental Fog in the Nether is no longer dependent on the render distance setting, and will consistently be applied from 10 to 96 blocks.

Fonts

  • uniform font has been updated to use Unifont 17.0.01.

Game rules

  • Have been moved into a registry.
    • With that, all game rules have been renamed from their previous camel case names to resource locations in snake case.
    • Additionally, some game rules have been further renamed:
      • announceAdvancements -> minecraft:show_advancement_messages
      • commandBlocksEnabled -> minecraft:command_blocks_work
      • command_modification_block_limit -> minecraft:max_block_modifications
      • disableElytraMovementCheck -> minecraft:elytra_movement_check
        • The value is inverted accordingly in places that use the resource location.
      • disablePlayerMovementCheck -> minecraft:player_movement_check
        • The value is inverted accordingly in places that use the resource location.
      • disableRaids -> minecraft:raids
        • The value is inverted accordingly in places that use the resource location.
      • doDaylightCycle -> minecraft:advance_time
      • doEntityDrops -> minecraft:entity_drops
      • doImmediateRespawn -> minecraft:immediate_respawn
      • doInsomnia -> minecraft:spawn_phantoms
      • doLimitedCrafting -> minecraft:limited_crafting
      • doMobLoot -> minecraft:mob_drops
      • doMobSpawning -> minecraft:spawn_mobs
      • doPatrolSpawning -> minecraft:spawn_patrols
      • doTileDrops -> minecraft:block_drops
      • doTraderSpawning -> minecraft:spawn_wandering_traders
      • doVinesSpread -> minecraft:spread_vines
      • doWardenSpawning -> minecraft:spawn_wardens
      • doWeatherCycle -> minecraft:advance_weather
      • maxCommandChainLength -> minecraft:max_command_sequence_length
      • maxCommandForkCount -> minecraft:max_command_forks
      • naturalRegeneration -> minecraft:natural_health_regeneration
      • snowAccumulationHeight -> minecraft:max_snow_accumulation_height
      • spawnRadius -> minecraft:respawn_radius
      • spawnerBlocksEnabled -> minecraft:spawner_blocks_work
  • Limits
    • Some game rules that previously did not have a limited value range now do:
      • minecraft:max_block_modifications: Minimum 1
      • minecraft:max_command_forks: Minimum 1
      • minecraft:max_command_sequence_length: Minimum 0
      • minecraft:max_entity_cramming: Minimum 0
      • minecraft:max_snow_accumulation_height: Minimum 0, maximum: 8
      • minecraft:players_nether_portal_creative_delay: Minimum 0
      • minecraft:players_nether_portal_default_delay: Minimum 0
      • minecraft:players_sleeping_percentage: Minimum 0
      • minecraft:random_tick_speed: Minimum 0
      • minecraft:respawn_radius: Minimum 0

Game Tests

  • In the game_rules test environment the keys bool_rule and int_rule have been replaced with a single key rules.
    • It is a map from game rules resource locations to the game rules value. The value type is either integer or boolean depending on the game rule.

Graphics

  • The "See-Through Leaves" video setting is now turned off on the "Fast" graphics preset.
  • Disabling the "See-Through Leaves" video setting now improves performance more than before because leaves occluded faces are now culled.

Item components

  • minecraft:consumable
    • The animation field has been updated:
      • Renamed spear to trident
      • Added new spear animation.
  • minecraft:intangible
    • Items with this component now show information about it in their tooltip.
  • Added food properties to the following fish bucket items:
    • minecraft:cod_bucket
    • minecraft:salmon_bucket
    • minecraft:pufferfish_bucket
    • minecraft:tropical_fish_bucket

Item models

  • Added new option for all item models:
    • swap_animation_scale
      • Defaults to 1.0
      • Indicates how fast the item moves up and down when swapping items in hotbar.
      • Large speeds can allow items that take more of the screen space to fully duck before swapped into the next item.
  • Added new item model:
    • spear_in_hand – model for the spear when in hand.

Key binds

  • Added a Debug category category in the key binds screen.
  • Keys used to access debug features can now be rebound.
  • The debug modifier key can be bound separately from the debug overlay key.
  • The key to toggle GUI can now be rebound.
  • The key to toggle spectator shader effects, such as when spectating an enderman, can now be rebound.

Loot functions

  • minecraft:filtered
    • The field modifier has been replaced with two fields:
      • on_pass – function or a list of functions to run when item_filter predicate passes.
      • on_fail – function or a list of functions to run when item_filter predicate fails.

Loot tables

  • Added new minecraft:slots loot pool entry.
    • Provides the items contained within the selected slots to the loot table.
    • Format:
      • slot_source: a slot source describing where the items are located.
    • Supports all standard loot pool entry fields.

Minecraft Server Management Protocol

  • The version is now 2.0.0.
  • Added a new notification server/activity.
    • Indicates that a network connection to the server has been initiated.
    • Rate limited to 1 notification per 30 seconds.
  • Enable authentication from web browsers.
    • Authenticate by passing the token in Sec-WebSocket-Protocol header when opening the WebSocket connection.
      • Example: Sec-WebSocket-Protocol: minecraft-v1, <token>
    • Requests authenticating this way are subject to Origin header checks. This requires configuration of allowed origins on the server side using management-server-allowed-origins. The default value is empty, meaning Sec-Websocket-Protocol authentication is effectively disabled.
  • In the typed_game_rule and untyped_game_rule schemas, the type of the value field has been changed from string to take either a boolean or an integer.
    • It now uses the game rule resource location as the key.

Mob variant definitions

  • Zombie Nautilus Variants
    • Zombie Nautilus variants can be data-driven by adding entries to data/<namespace>/zombie_nautilus_variant/<id>.json
      • This feature is experimental.
      • Fields in file:
        • model – one of: normal, warm
        • asset_id – namespaced id for this variant asset, resolves to assets/<namespace>/textures/<path>.png
        • spawn_conditions – a uniform variant selection rule.
    • Spawn conditions
      • minecraft:biome
        • Checks if entity is spawning in specific biomes.
        • Fields:
          • biomes – single entry, list or a tag describing biomes.
      • minecraft:moon_brightness
        • Checks if current moon brightness is within certain range.
        • Fields:
          • range – floating point range (a single number or an object like {"min": 1, "max": 2})
      • minecraft:structures
        • Checks if entity is spawning in specific structures.
        • Fields:
          • structures – single entry, list or a tag describing structures.

Options

  • Renamed the "Show Music Toast" option to "Music Toast".
    • Added a third state to the "Music Toast" option, allowing it to only be shown in the pause menu.

Panorama

Predicates

  • Component Predicates
    • Component predicates (predicates field in block, item and entity predicates) now include predicates for checking existence of every component type.
    • Those predicates are written as {<component_type>: {}}.
    • Such predicate check passes as long as component is present, no matter the actual value.
    • Existing predicates for specific components remain unchanged.
    • Example:
      • {predicates:{written_book_content:{author:"foo"}} – existing format for matching books.
      • {predicates:{written_book_content:{}} – special case of above that accepted any value, as long as component existed.
      • {predicates:{instrument:{}} – checks if component minecraft:instrument exists (was not allowed before).
  • Entity Predicates
    • The flags predicate now supports new values:
      • is_in_water: when an entity is touching water or a bubble column.
      • is_fall_flying: when an entity is gliding with an elytra.
  • Item Predicates
    • Item predicate in command form (<item>[predicate~{...},component={...}]) has been extended to accept empty predicates for any component type.
    • Similarly to component predicates in data, those empty entries only check for component existence.
    • Existing shorter syntax for checking component existence remains unchanged.
      • That means *[instrument] and *[instrument~{}] are equivalent.

Resource pack

  • The version is now 75.0.
  • block.vsh/fsh copies terrain.vsh/fsh and handles ad-hoc blocks (e.g. held by entities).
  • Added ChunkSection uniform, used by terrain.vsh (which replaces DynamicTransforms).
  • New shaders have been introduced to perform GPU based sprite animations.
  • Globals uniform now has camera coordinates.
  • terrain core shader now samples the blocks atlas texture linearly instead of with nearest neighbour
  • Block model and state format has been expanded to allow more rotations.

Server

  • Added ClientFps JFR event.
  • Experience packets that do not change the player's experience progress or level are no longer sent by the server.
  • Client FPS is expected to be higher for most players.

Settings

  • Graphics modes "Fast", "Fancy", and "Fabulous!" have been replaced with graphics presets with the same names.
  • Settings on the Video Settings screen have been reordered and split into 3 sections: "Display", "Quality & Performance", and "Interface".
    • The following settings that have been removed from the Video Settings screen, because were duplicating accessibility settings:
      • "View Bobbing"
      • "Glint Speed"
      • "Glint Strength"
      • "FOV Effects"
      • "Distortion Effects"
    • Tweaks that were previously hidden behind the "Graphics" setting have been split out to be configurable independently:
      • "See-Through Leaves"
      • "Show Vignette"
      • "Weather Effect Radius"
        • Configures the distance in blocks within which rain and snow are visible.
      • "Improved Transparency"
        • Resolves some of the transparent geometry rendering issues at a significant GPU cost, previously was hidden behind "Fabulous!".
    • A new "Preset" slider was added to the top of the "Quality & Performance" section.
      • Presets control most of the "Quality & Performance" settings at once, not only the ones that were previously hidden behind the "Graphics" setting.
      • Available presets are "Fast", "Fancy", "Fabulous!" and "Custom"
      • The default preset is "Fancy" for new players.
      • But for players who are upgrading to this version the preset will be set to "Custom" to preserve the current configuration.

Shaders & Post-process Effects

  • Added animate_sprite* core shaders, which use a new SpriteAnimationInfo uniform.

Sounds

  • Anvil destroy, land, place and use sounds now play at a slightly lower volume.

Sprite Animations

  • Sprites (textures as part of a larger atlas) are now animated on the GPU rather than per-tick on the CPU.
  • For regular frame-based animations, animate_sprite.vsh and animate_sprite_blit.fsh are used to perform the draw.
  • For interpolated animations, animate_sprite.vsh and animate_sprite_interpolate.fsh are used to perform the draw.
  • The UBO SpriteAnimationInfo contains information on where the sprite should be drawn to, within the greater texture atlas.

Statistics

  • Added minecraft:nautilus_one_cm statistic (Distance By Nautilus).

Tags

  • Biome Tags
    • Removed #snow_golem_melts, and #increased_fire_burnout – replaced by gameplay/snow_golem_melts, and gameplay/increased_fire_burnout Environment Attributes.
    • Removed #plays_underwater_music – replaced by only_underwater field in the audio/background_music Environment Attribute.
    • Removed #has_closer_water_fog – replaced by visual/water_fog_radius Environment Attribute.
    • Removed #without_patrol_spawns – replaced by gameplay/can_pillager_patrol_spawn Environment Attribute.
  • Damage Tags
    • Added spear to #is_player_attack, and #no_knockback tags.
  • Enchantment Tags
    • Added lunge to #non_treasure, and tooltip_order tags.
  • Entity Tags
    • Added camel_husk, nautilus, and zombie_nautilus to #can_equip_saddle tags.
    • Added nautilus to #can_breathe_under_water tag.
    • Added nautilus, and zombie_nautilus to #aquatic, #cannot_be_pushed_onto_boats, and #not_scary_for_pufferfish tags.
    • Added zombie_horse to #can_wear_horse_armor tag.
    • Added parched to #skeletons tag.
    • Added camel_husk zombie_nautilus to #zombies tag.
  • Item Tags
    • Added golden_nautilus_armor, and golden_spear to #piglin_loved tag.
    • Added golden_spear to #piglin_preferred_weapons tag.
    • Added #spears to #enchantable/durability tag.
    • Renamed tag #enchantable/sword to #enchantable/sweeping.
    • Renamed #enchantable/sword to #enchantable/melee_weapon from #enchantable/fire_aspect tag.
    • Renamed #swords to #enchantable/melee_weapon from #enchantable/sharp_weapon tag.

Texture atlases

  • Item textures were split out of the blocks atlas into a separate new items atlas that does not have mipmaps.
    • All textures used in an item model have to come from the same (items or blocks) atlas.
    • All textures used in a block model have to come from the blocks atlas.
    • Commands that were referencing the blocks atlas for item textures now need to reference the items atlas instead.
  • To prepare for future work, the game will now print a warning if any defined sprites in any atlases share a name.
  • celestials.png-atlas
    • A new celestials atlas has been introduced, including sprites for objects rendered in the sky such as the Sun and Moon.
    • Includes sprites from <namespace>:textures/environment/celestial/<path>.png
    • The following textures have been moved or split:
      • textures/environment/sun.png -> sun
      • textures/environment/end_flash.png -> end_flash
      • textures/environment/moon_phases -> moon/full_moon, moon/waning_gibbous, moon/third_quarter, moon/waning_crescent, moon/new_moon, moon/waxing_crescent, moon/first_quarter, moon/waxing_gibbous

Textures

  • All blocks in the world now have mipmaps applied if enabled in video settings.
    • Blocks that did not have mipmaps before, such as different vines, rails, foliage (apart from leaves) and more should look better from higher distances.
  • Only mipmaps of level 0 and 1 are now animated for block animated textures.
  • Glass and glass panes now support translucent textures.
  • All mipmap levels are once again animated for block animated textures.
  • Beacon and redstone dust now support translucent textures.
  • Textures used for still water and lava are now hardcoded to minecraft:block/water_still and minecraft:block/lava_still.
  • Beacons no longer support translucent textures.
  • Added gui/container/nautilus used for the Nautilus inventory UI.
  • texture section of *.mcmeta files has a new field mipmap_strategy with the following supported values:
    • mean averages both color and alpha between groups of four pixels for the current mipmap level to generate the next mipmap level pixel. This was and stays the default strategy for most solid or translucent full block textures.
    • dark_cutout is similar to mean, but blends colors in a way that makes the pixels bordering cutout pixels darker. This was and stays the strategy for leaves and mangrove roots. It simulates dark interior of the blocks.
    • cutout is a new strategy that always generates a mipmap based on the original texture instead of the previous mipmap. Used for most cutout blocks that became mipmapped in this version.
    • strict_cutout is a modification of cutout that uses stricter alpha cutoff value leading to the textures using this value disappearing at higher mipmap levels. Is used for flowers and similar blocks to avoid artifacts.
    • auto is the default value and will make the game to pick mean for textures that do not contain fully transparent pixels and cutout for those that do.
  • texture section of *.mcmeta files has a new alpha_cutoff_bias field that controls alpha bias for cutout textures.
    • There is no limit for this value technically, it can be negative as well, but it does not make sense to set this higher than 1.0 or lower than -1.0 since the texture will become either fully opaque or fully transparent.
    • Default value for this field is 0.0, and it can be increased for textures that can become too transparent/thin at distance, or decreased if it's too "opaque".
    • Only used for lower mips of cutout textures, does not change the alpha of first mip level, and has no effect on other textures.

UI

  • Menu sliders will now "stick" to the closest available value when releasing them after dragging with a mouse.
  • When using keyboard to change slider values, arrow keys will now move the slider to the next available value, not by one pixel as before.
  • The inF3 button in the Debug Option screen has been renamed to inOverlay.
  • "Interface" option inside the Video Settings screen has been renamed to "Preferences".
  • The Single Biome Customization screen now has a search box.
  • The language selection screen now has a search box to filter languages.

UI Sprites

  • Added new UI sprites:
    • container/slot/nautilus_armor
    • container/slot/nautilus_armor_inventory
      • Nautilus icon used in Nautilus inventory UI.
    • container/slot/spear
  • Added new nine-sliced sprites:
    • container/inventory/effect_background
    • container/inventory/effect_background_ambient
  • Removed the following sprites:
    • container/inventory/effect_background_large
    • container/inventory/effect_background_small

Fixes

[edit | edit source]

104 issues fixed

From released versions before 1.21

  • MC-2791 – The player model in the inventory screen renders in the wrong orientation when it's not standing up straight.
  • MC-22882Ctrl + Q doesn't work on Mac.
  • MC-53491 – The world border can change in size when the game is paused.
  • MC-54989 – Sliders can be moved to positions between available values.
  • MC-57918 – Leaves' transparent pixels no longer blend correctly on fast graphics.
  • MC-73186 – Gaps between the faces of item models and complex block models.
  • MC-80476 – On macOS, the "drop item stack" shortcut conflicts with the "quit Minecraft" shortcut.
  • MC-114265 – Mipmaps are too dark around transparent edges in textures (e.g. side of grass).
  • MC-146862 – Long effect names cause text to appear outside the effect box.
  • MC-147718F1, F3, F3 + [char] combos cannot be rebound.
  • MC-149630 – Some particles have very thin, vertical lines that flash in and out around the particles.
  • MC-154651 – Boats and rafts can break off paintings and item frames.
  • MC-159275 – Map player markers on maps of the nether don't rotate when doDaylightCycle is disabled.
  • MC-162573 – A white outline is rendered on composters' edges when viewed from far away.
  • MC-171688 – Invisibility status of LivingEntity is not updated when ActiveEffects are modified directly.
  • MC-179383 – Leaves not culled with graphics set to Fast.
  • MC-195505 – Short grass is unaffected by mipmap levels.
  • MC-199467 – Certain entity animations stop after they've existed in world for too long.
  • MC-234358 – Moiré patterns / aliasing on certain objects when viewed from a distance.
  • MC-237158 – Magma blocks can generate on the ceilings of caves below aquifers.
  • MC-238715 – The minecraft:block.chest.locked sound cannot be heard by other players when attempting to open locked blocks.
  • MC-241862 – It sometimes requires multiple keyboard inputs to change values on sliders.
  • MC-245895 – View Bobbing stops working after long elytra flight.
  • MC-248499 – Potion UIs displayed within the inventory don't have cyan outlines if the effects are granted by beacons or conduits.
  • MC-263562 – World types in Realms backup info screen are untranslatable.
  • MC-264151 – Glass blocks do not use mipmapping, but glass panes do.
  • MC-266425 – Recipes for new waxed copper blocks are not grouped.
  • MC-267364 – Teleporting in the air is considered flying by server.
  • MC-269295 – Jump bar progress renders unused pixels from dynamic texture atlas.
  • MC-271729 – Armadillo scute drops are not affected by the mob_drops game rule.
  • MC-271941 – Music discs can sometimes spawn inside jukeboxes when ejected from them.

From 1.21

  • MC-271938 – Mace smash attack can push players in creative mode that are flying.

From 1.21.1

  • MC-276382 – Leather horse armor leggings & helmet parts are untextured.
  • MC-276445 – Highlighted text within the anvil and creative inventory interfaces renders blue making it difficult to read.

From 1.21.4

  • MC-278742 – Creakings cannot be ridden by any entities using commands.
  • MC-279076 – Certain mobs will always retarget the player upon reloading the chunks, regardless of distance or gamemode.

From 1.21.5

  • MC-295949 – Flying through vines with an elytra cancels the flight.
  • MC-296952F4 key to toggle shaders cannot be rebound.
  • MC-297328 – Unloading and reloading an area causes invisible entities to be visible until you get close enough.
  • MC-297367 – Checkbox filled status isn't narrated.
  • MC-298767 – Piercing arrows phase through mobs that are in the same block.

From 1.21.6

  • MC-298405 – Text components in the "label" of input controls in dialogs don't support "hover_event".
  • MC-298915 – Multishot crossbows loaded in survival or adventure mode show their secondary charged projectiles on a separate line in the tooltip.
  • MC-298942 – Character body moves instead of the head when riding a happy ghast.
  • MC-299196 – Waypoints fade out when an advancement is granted.

From 1.21.7

  • MC-299136 – Hyper Potions (Ian Tsuchiura) is not mentioned in the credits and splash texts.

From 1.21.8

  • MC-299876 – Labels for booleans within dialogs are rendered in a slightly different shade of white than normal.
  • MC-300588 – Waypoint modifications reset upon death.
  • MC-300642 – When texture atlases are large, gaps are rendered between blocks that have a low resolution.
  • MC-301127 – Music stops and restarts when trying to connect to a server when the music frequency is set to constant.
  • MC-301595 – Music toasts briefly appear in the pause menu after a song has finished.
  • MC-301632 – Comparators measuring jukeboxes do not update when a music disc is taken out of a jukebox if the music disc has already finished its song.
  • MC-301988 – Buttons in the telemetry screen are not aligned properly in some languages.

From 1.21.9

  • MC-300979 – The movement and duration messages in the demo introduction screen now have a text shadow.
  • MC-301271 – Object text components do not render in some places unless there are text glyphs on the same line.
  • MC-301311 – The “Transfer Now” button no longer renders highlighted when the java realms information box is selected.
  • MC-301424entity_data item component detection is broken in resource packs.
  • MC-301516 – The mouse cursor doesn’t change to the hand shape when hovering over tabs in the “Create New World” menu and similar screens.
  • MC-301517 – The mouse cursor doesn’t change to the hand shape when hovering over arrows in the singleplayer, multiplayer, resource packs, and data packs menus.
  • MC-301518 – The mouse cursor doesn’t change to the hand shape when hovering over checkboxes.
  • MC-301520 – The mouse cursor doesn’t change to the hand shape when hovering over the difficulty lock button.
  • MC-301527 – The mouse cursor doesn’t change to the resize shape when scrolling in the advancements menu.
  • MC-301557 – The shading direction of the bolts on single and large copper chests does not match.
  • MC-301754 – The hand animation plays when right-clicking shelves with nothing in your hand.
  • MC-301763 – The outline of the “Invited” element within the realms “Players” tab renders above other tabs when selected and when a scroll bar is present.
  • MC-301805 – Selected item outline on statistics screen renders outside of scissor area.
  • MC-301879 – Double weathered and waxed weathered copper chests' bottom texture looks off compared to the other variants.
  • MC-302030 – Setting commandBlocksEnabled to false prevents command blocks from being edited.
  • MC-302071 – Single and double copper chests have inconsistent side textures.
  • MC-302111 – Elements within the resource pack and data pack menus are not selected in order when using the ↹ Tab key.
  • MC-302184 – Copper golems in cave/void air never turn into statues.
  • MC-302209 – Debug renderers stop working when changing dimensions.
  • MC-302246 – Sprite object component does not render in server list depending on component tree.
  • MC-302254 – Cursor changes do not work for command suggestions.
  • MC-302288 – All shelves have the oak tan map color.
  • MC-302325 – When the player toggles a debug renderer using its hotkey (F3 + B, F3 + G) while in the debug options screen, the corresponding entry is not updated.
  • MC-302338 – The narrator button in the Accessibility Settings menu doesn't update upon pressing Ctrl + B.
  • MC-302362 – Clicking on "Singleplayer" or "Multiplayer" in the main menu then immediately clicking on a world or server joins it even when not clicking the play button.
  • MC-302409 – Lightning that strikes waxed lightning rods do not deoxidize nearby unwaxed copper blocks.
  • MC-302469 – Creepers at the player's exact position with an explosion radius of 0 set the player's velocity to NaN.
  • MC-302477 – Loot tables stopped supporting SNBT as entity data.
  • MC-302482 – Resource and data pack names can overlap selection boxes when the scroll bar is present.
  • MC-302516 – Zombie villagers spawn as the variant matching the biome at 0, 0, 0.
  • MC-302549 – Server main thread deadlock during respawn position resolution when the entire world spawn radius is filled with fluids.
  • MC-302601 – A white outline is rendered on anvils' top texture when viewed from far away.

From 1.21.10

  • MC-302695 – Can use the game mode switcher while the game is paused, and doing so unpauses the game.
  • MC-302816 – When running NBT to SNBT conversion, the program waits for 1 minute after completion.
  • MC-302854 – Glass is less transparent when viewed from far away.
  • MC-303061 – The minecraft:block.chest.locked sound plays at the player's position, not the chest's.
  • MC-303381 – Game crashes when serializing a world spawn point with yaw or pitch values outside of rotation bounds.
  • MC-303382 – Player spawn points with rotation values outside of bounds aren't serialized.
  • MC-303395 – You cannot double-click on server regions within the realms select region menu to select them.
  • MC-303396 – The search fields in the resource and data pack menus aren’t automatically selected when opening the menus via keyboard navigation.
  • MC-303755 – The mouse cursor doesn’t change to the resize shape when hovering over the scroll bar in the villager and wandering trader trade UI.
  • MC-303757 – The mouse cursor doesn’t change to the proper shape when hovering over enchantments in the enchanting table UI.
  • MC-303758 – The mouse cursor doesn’t change to the hand shape when hovering over various elements in the recipe book.
  • MC-303761 – The mouse cursor doesn’t change to the proper shape when hovering over the output buttons or the scroll bar in the stonecutter UI.
  • MC-303762 – The mouse cursor doesn’t change to the proper shape when hovering over the output buttons or the scroll bar in the loom UI.
  • MC-303763 – The mouse cursor doesn’t change to the hand shape when hovering over the crafting slots in the crafter UI.
  • MC-303764 – The mouse cursor doesn’t change to the proper shape when hovering over the tabs or the scroll bar in the Creative mode inventory.
  • MC-303765 – The mouse cursor doesn’t change to the hand shape when hovering over the tabs in the advancements menu.
  • MC-303799 – There is no 'Search...' text in the search field in the world selection screen.
  • MC-303891 – Untamed zombie horses and skeleton horses cannot have saddles placed on their saddle slot using /item.
  • MC-304385 – Item frames and paintings pop out when in the same space as a stationary happy ghast.

Videos

[edit | edit source]
Videos made by slicedlime:

Trivia

[edit | edit source]
  • 1.21.11 has the highest minor version number of any Java Edition release version, beating the previous records of 1.7.10 and 1.21.10.
  • This is the first version of Minecraft to have its code unobfuscated.
  • This version was released exactly ten years after 1.8.9 and 15w50a.
  • The unobfuscated release candidates for this version share the record for the longest version string of all Java Edition versions, at 40 characters.

Notes

[edit | edit source]
  1. The contents of the ZIP file should be extracted to the File directory.png: Sprite image for directory in Minecraft .minecraft/versions directory in order to install this version.
  2. AMD GPUs use "RGSS" on the "Fabulous!" preset instead of "Anisotropic" as using "Anisotropic" on AMD GPUs does not perform well.[5]

References

[edit | edit source]
  1. "Minecraft Java Edition 1.21.11"Minecraft.net, December 9, 2025.
  2. "Mounts of Mayhem official release date" by Sophie Austin – Minecraft.net, November 26, 2025.
  3. "Removing obfuscation in Java Edition"Minecraft.net, October 29, 2025.
  4. "Minecraft 26.1 Snapshot 1"Minecraft.net, December 16, 2025.
  5. Discord message in #dev-updates of Minecraft Feedback – @timur6030 on Discord, November 18, 2025. View screenshot of message.
  6. MC-295949 — Flying through vines with an elytra cancels the flight
  1. Before: "particle": "entity/decorated_pot/decorated_pot_side"

    After: "particle": "minecraft:block/terracotta"
[edit | edit source]