Java Edition 25w45a

Minecraft 25w45a
25w45a.jpg: Infobox image for Minecraft 25w45a the version in Minecraft
Java Edition 25w45a.png: Infobox image for Minecraft 25w45a the version in Minecraft
Edition

Java Edition

Release date

November 4, 2025

Type

Snapshot

Snapshot for

1.21.11

Downloads

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

Obfuscation maps

Client
Server

Protocol version

 dec1073742103
 hex40000117

Data version

4661

Resource pack format

73.0

Data pack format

93.0

Minimum Java version

Java SE 21

25w45a is the fifth snapshot for Java Edition 1.21.11,[unofficial name] released on November 4, 2025, which adds a coral variant of zombie nautilus and a netherite tier of horse armor.[1]

Additions

Mobs

Coral zombie nautilus

Items

Netherite horse armor

  • Can be obtained by upgrading diamond horse armor with a smithing table.
Ingredients Smithing recipe
Netherite Upgrade +
Diamond Horse Armor +
Netherite Ingot
Invicon Netherite Upgrade Smithing Template.png: Inventory sprite for Netherite Upgrade Smithing Template in Minecraft as shown in-game linking to Netherite Upgrade Smithing Template with description: Netherite Upgrade Smithing Template Applies to:  Diamond Equipment Ingredients:  Netherite IngotInvicon Diamond Horse Armor.png: Inventory sprite for Diamond Horse Armor in Minecraft as shown in-game linking to Diamond Horse Armor with description: Diamond Horse Armor When equipped: +11 Armor +2 Armor ToughnessInvicon Netherite Ingot.png: Inventory sprite for Netherite Ingot in Minecraft as shown in-game linking to Netherite Ingot with description: Netherite IngotInvicon 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 Resistance

Gameplay

Advancement

  • Added one new advancement.
IconAdvancementIn-game descriptionActual requirements (if different)
Mob Kabob[upcoming JE 1.21.11]Hit five mobs in the same Charge attack using the Spear.Armor Stand and Mannequin also count for this advancement.

General

Environment attributes

  • minecraft:visual/sunrise_sunset_color
    • Controls the color and intensity of the sunrise and sunset effect. If fully transparent, no sunrise or sunset will be rendered. Only visible with the overworld skybox type.
      • Value type: ARGB Color
      • Default value: "#00000000"
      • Modifiers: ARGB Color Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/sun_angle
    • The angle in degrees of the sun, clockwise from east to west, with 0 being directly up.
      • Value type: float, angle in degrees
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/moon_angle
    • The angle in degrees of the moon, clockwise from east to west, with 0 being directly up.
      • Value type: float, angle in degrees
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/star_angle
    • The angle in degrees of the stars, clockwise from east to west, with 0 being directly up.
      • Value type: float, angle in degrees
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/moon_phase
    • The phase of the moon.
      • Value type: string id, one of:
        • full_moon
        • waning_gibbous
        • third_quarter
        • waning_crescent
        • new_moon
        • waxing_crescent
        • first_quarter
        • waxing_gibbous
      • Default value: "full_moon"
      • Modifiers: override
      • Interpolated: no
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/star_brightness
    • The brightness of the stars in the sky, where 0.5 is the normal brightness during the night and 0 is fully hidden.
      • Value type: float between 0 and 1
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
    • Only visible with the overworld skybox type.
  • minecraft:visual/sky_light_color
    • The visual color of sky light. For blocks with a sky light level of 0 (or minecraft:visual/sky_light_factor is 0), this will have no effect. This is the value passed to the lightmap.fsh shader as SkyLightColor.
      • Value type: RGB Color
      • Default value: "#ffffff"
      • Modifiers: RGB Color Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
  • minecraft:visual/sky_light_factor
    • The visual brightness of sky light. minecraft:visual/sky_light_color is multiplied by this value. This is the value passed to the lightmap.fsh shader as SkyFactor.
    • The corresponding gameplay effect is controlled entirely by minecraft:gameplay/sky_light_level.
      • Value type: float
      • Default value: 1.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the camera's position.
  • minecraft:audio/firefly_bush_sounds
    • If true and not below an opaque block, firefly bushes will produce idle sounds.
      • Value type: boolean
      • Default value: false
      • Modifiers: Boolean Modifiers
      • Interpolated: no
      • Resolved at the position of a firefly bush.
  • minecraft:gameplay/sky_light_level
    • The effective light level of the sky used by mechanics such as mob spawning or daylight detectors.
      • For example, a block fully exposed to the sky will be considered to have a light level of exactly this value, while a block deep in a cave will not be affected at all.
    • The corresponding visual effect is controlled entirely by minecraft:visual/sky_light_factor.
      • Value type: float
      • Default value: 15.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved for a whole dimension (cannot be specified on a Biome)
  • minecraft:gameplay/eyeblossom_open
    • If true, closed eyeblossoms will eventually open by random block ticks. If false, open eyeblossoms will do the opposite. If "default", open or Closed closed will remain in their current state.
      • Value type: one of:
        • true
        • false
        • "default"
      • Default value: "default"
      • Modifiers: override
      • Interpolated: no
      • Resolved at the eyeblossom block's position
  • minecraft:gameplay/turtle_egg_hatch_chance
    • The chance that a turtle egg block will switch to its next hatching state when randomly ticked.
      • Value type: float between 0 and 1
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the turtle egg block's position.
  • minecraft:gameplay/creaking_active
    • While true, creaking heart blocks (and their corresponding Creaking) will become active. On the other hand, when false, it will enter its dormant state.
      • Value type: boolean
      • Default value: false
      • Modifiers: Boolean Modifiers
      • Interpolated: no
      • Resolved at the creaking heart block's position.
  • minecraft:gameplay/surface_slime_spawn_chance
    • An additional chance rolled when a natural slime spawn attempt occurs in a biome with the #allows_surface_slime_spawns tag.
      • Value type: float between 0 and 1
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the position of the slime spawn attempt.
  • minecraft:gameplay/cat_waking_up_gift_chance
    • The chance that a cat lying on its owner's bed will drop a gift (from the gameplay/cat_morning_gift loot table) when the player wakes up.
      • Value type: float
      • Default value: 0.0
      • Modifiers: Float Modifiers
      • Interpolated: yes
      • Resolved at the cat's position.
  • minecraft:gameplay/bees_stay_in_hive
    • When true, bees will try to navigate to their hives and will not exit unless the hive is broken or next to a fire.
      • Value type: boolean
      • Default value: false
      • Modifiers: Boolean Modifiers
      • Interpolated: no
      • Resolved at a bee or bee hive block's position.
  • minecraft:gameplay/monsters_burn
    • When true, monsters will burn while exposed to the sky.
      • Value type: boolean
      • Default value: false
      • Modifiers: Boolean Modifiers
      • Interpolated: no
      • Resolved at the monster's position.
  • minecraft:gameplay/can_pillager_patrol_spawn
    • When true, pillager patrols are able to spawn.
      • Note: the global skylight level must also be greater than 11.
      • Value type: boolean
      • Default value: true
      • Modifiers: Boolean Modifiers
      • Interpolated: no
      • Resolved at the position of the patrol spawn attempt.
      • Replaces the #without_patrol_spawns biome tag.
  • minecraft:gameplay/villager_activity
    • Controls the default AI activity for adult villagers.
    • Not all activities are supported by villager AI - if an unsupported one is chosen, the Villager will do nothing. The following activities are supported:
      • core
      • hide
      • idle
      • meet
      • panic
      • pre_raid
      • raid
      • rest
      • work
      • Value type: Mob Activity
      • Default value: "minecraft:idle"
      • Modifiers: override
      • Interpolated: no
      • Resolved at the villager's position.
  • minecraft:gameplay/baby_villager_activity
    • Controls the default AI activity for baby villagers.
    • Not all activities are supported by villager AI - if an unsupported one is chosen, the villager will do nothing. The following activities are supported:
      • core
      • hide
      • idle
      • meet
      • panic
      • play
      • pre_raid
      • raid
      • rest
      • Value type: Mob Activity
      • Default value: "minecraft:idle"
      • Modifiers: override
      • Interpolated: no
      • Resolved at the villager's position.

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

Tags

  • Biome Tags
    • Added #spawns_coral_variant_zombie_nautilus
      • Contains the biomes where the coral variant of the zombie nautilus can spawn.
  • 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.

Changes

Mobs

Camel husk

  • Drops 2-3 rotten flesh when killed, with extra 0-1 for each level of Looting.

Zombie horse, camel husk, and nautilus

  • Now become persistent with any interaction from a player, not just riding them.

Items

Spear

  • The margin hitbox from all spears have been changed from 0.25 to 0.125.[2]

General

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.

Data pack

Data component format

  • minecraft:piercing_weapon and minecraft:kinetic_weapon data components now have bounds on their reach parameters:
    • min_reach: is now valid from 0.0 to 128.0
    • max_reach: is now valid from 0.0 to 128.0
    • hitbox_margin: is now valid from 0.0 to 1.0

Dimension types

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

Game rules

  • The limit for the maxEntityCramming game rule has been changed to a minimum of 0.

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.

Panorama

Resource pack

  • The version is now 73.0.

Tags

  • Biome Tags
    • Removed #without_patrol_spawns - replaced by gameplay/can_pillager_patrol_spawn environment attributes.

Texture atlas

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

Fixes

45 issues fixed

  • MC-199467 – Certain entity animations stop after they've existed in world for too long.
  • MC-245895 – View Bobbing stops working after long elytra flight.
  • 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-271938 – Mace smash attack can push players in creative mode that are flying.
  • MC-301424entity_data item component detection is broken in resource packs.
  • MC-302184 – Copper golems in cave/void air never turn into statues.
  • 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-302659 – Items such as grass blocks and cacti have incorrect textures in inventories when mipmap levels are enabled.
  • MC-302663 – Any form of attacking non-player entities always produces the “weak attack” sound instead of the appropriate sound.
  • MC-302703 – Spear can dismount invulnerable, non-living, and otherwise inanimate passengers from any vehicle.
  • MC-302887 – Spear charging animation in first person isn’t perfectly mirrored between the main hand and off hand.
  • MC-302911 – If the sun texture cannot be loaded, the moon texture is reused instead.
  • MC-303067 – Players can charge with the spear and deal damage while dying.
  • MC-303108 – Inventory items are now mipmapped, making them look very blurry.
  • MC-303109 – Tick freeze and memory spikes with long piercing_weapon ray reach.
  • MC-303226 – Music doesn't restart after exiting a pale garden.
  • MC-303292 – Cloud movement is jittery when the world's gametime value is large.
  • MC-303402 – Hover events on text posted in the chat take effect even when in a GUI.
  • MC-303405 – You can attack entities diagonally through solid blocks using spears.
  • MC-303413 – Scrolling text does not get clipped properly in UI elements.
  • MC-303427 – The lunge enchantment doesn’t work in creative mode if you have 6 or less hunger points.
  • MC-303510 – Dropping a spear while charging slows down the player.
  • MC-303554minecraft:piercing_weapon component causes attack cooldown damage penalty to be ignored.
  • MC-303654 – Closed captions of parched show as strays.
  • MC-303656 – Placing blocks in empty chunk sections inside loaded chunks shows the chunk fade animation.
  • MC-303658 – Block textures are blurry on some systems, depending on mipmap and anisotropic filtering settings.
  • MC-303659 – Elements within the language menu are not selected in order when using the TAB key.
  • MC-303671 – Camel husks can despawn when wearing a saddle.
  • MC-303674 – The hand animation plays when right clicking on a camel husk or zombie horse ridden by another mob with a lead.
  • MC-303677 – Camel husks can despawn when attached to a lead.
  • MC-303680 – Untamed zombie horses can despawn when attached to a lead.
  • MC-303681 – Untamed zombie nautiluses can despawn when attached to a lead.
  • MC-303703 – Entities and block entities are not affected by the chunk fade-in effect.
  • MC-303704 – Statistics are no longer saved if the folder they would save into doesn't exist yet.
  • MC-303705 – Entity cramming can no longer be disabled.
  • MC-303714 – The jump bar's progress sprite is improperly scaled.
  • MC-303727 – Short effect names can cause the effect duration to appear outside the effect box.
  • MC-303734deprecated.json renames translation keys to nonexistent keys.
  • MC-303744 – Ender pearls can launch players in the direction they are thrown.
  • MC-303746 – Spear attacks can hurt entities through doors.
  • MC-303799 – There is no 'Search...' text in the search field in the world selection screen.
  • MC-303802 – Spamming right click and shift when getting into boat gives a speed boost.
  • MC-303891 – Untamed zombie horses and skeleton horses cannot have saddles placed on their saddle slot using /item.

Trivia

  • This is the first snapshot to have an experimental snapshot without obfuscation.


Video

Video made by Slicedlime:

Notes

  1. Unzip this file in the .minecraft\versions folder to install the .json for the unobfuscated client.

References

  1. "Minecraft Snapshot 25w45a"Minecraft.net, November 4, 2025.
  2. "hitbox_margin": 0.25,
    "hitbox_margin": 0.125,

Navigation