A fresh new snapshot is out with some changes to the features introduced in last week’s snapshot and bug fixes, like that you can now use the lunge and mending enchantments together on the same item. We have also added environment attributes which can be used to control various visual and gameplay effects. Happy mining!

Changes

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
Updated the “Oh Shiny” advancement to include the Golden Spear and Golden Nautilus Armor
Zombie Horses can be leashed when its mob jockey is removed
The Nautilus and Zombie Nautilus can now be controlled while on land
Mending is no longer incompatible with the Lunge enchantment

Technical Changes

The Data Pack version is now 90.0
The Resource Pack version is now 70.1

Minecraft Server Management Protocol Version 1.1.0

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,

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

Data Pack Version 90.0

Certain visual and gameplay effects can now be controlled by Environment Attributes

Commands

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

Changed stopwatch

Switched the order of the id argument
Example: /stopwatch foo:bar create is now /stopwatch create foo:bar

query now 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

Environment Attributes

Environment Attributes provide a data-driven way to control a variety of visual and gameplay systems.

Each Environment Attribute controls a specific visual or gameplay effect: for example, minecraft:visual/sky_color controls the color of the sky, and minecraft:gameplay/water_evaporates controls whether water can be placed at a given location.

Developer’s Note: This system and many of the introduced attributes should be considered very experimental, and may still change significantly in coming snapshots and releases. In the meantime, we would as always love to hear any feedback or suggestions you may have!

Sources

Environment Attribute values can be provided by the following Environment Attribute sources (in order of low to high priority):

The “effective” value of the Environment Attribute (i.e. what will actually show up in game) will be some combination of the values provided by each source according to their priority.

For example, in the following scenario:

The overworld dimension provides sky_color = #00ff00 (green)
The plains biome provides sky_color = #ff0000 (red)

When the player is in the plains biome, they will see the red sky_color, while anywhere else in the overworld they will see green.

When an Environment Attribute source provides an Environment Attribute, it can:

Override the value, such as the plains biome overriding the overworld’s sky_color in the above scenario
Apply a modifier to a previous value (see section on Modifiers below)

Modifiers

As described in the above example, an Environment Attribute source may simply override the value of a particular attribute. However, it is sometimes also desirable to rather apply a modifier to a value provided by a source with lower priority.

For example, in the following scenario:

The overworld dimension provides water_fog_radius = 96.0
The plains biome modifies water_fog_radius with a multiply modifier of 0.85

When in the plains biome, the water_fog_radius will be resolved to 96.0*0.85 = 81.6, while in any other Overworld biome, it will resolve to 96.0.

The kinds of modifiers available depends on the type of Environment Attribute. The most basic modifier, supported by every Environment Attribute, is the override modifier. This behaves purely as an override of the preceding value. If not specified by an Environment Attribute source, the modifier will always be assumed to be override.

Full descriptions of the available modifiers and their behaviors can be found in the Common Modifiers section below.

Interpolation

While modifiers describe how a value provided by one source is applied on the value from a preceding source, interpolation describes the combination of values within a source. Interpolation is performed on values from a source after modifiers have been applied.

Only some Environment Attributes support interpolation. This allows for the smooth transition between two or more values, such as when moving between two biomes.

Biomes

For example, in the following scenario:

The plains biome provides sky_color = #ff0000 (red)
The desert biome provides sky_color = #ffff00 (yellow)

sky_color is one such attribute that will transition smoothly based on position: for example, in the above scenario, as a player moves from a plains to a desert biome, the sky color will gradually shift from red to yellow. Other attributes, such as water_evaporates, represent discrete values and will not be smoothly transitioned – only the biome exactly at a subject position will be considered.

Smooth transitions between biomes are based on the biomes within an 8 block radius of the camera. Biomes that occupy a larger portion of that radius and are closer to the camera will have a stronger influence on the final interpolated value.

Environment Attribute Map

Dimension Type and Biome definitions contain a new attributes field, enabling them to define Environment Attributes.

This map generally takes the form of an object mapping between Environment Attribute IDs and their corresponding values, for example:

“attributes”: {
“minecraft:visual/fog_color”: “#ffaa00”,
“minecraft:gameplay/water_evaporates”: true
}

Values defined as above will always be assumed to use the override modifier.

The value object can however be expanded in order to express different modifiers, in the format of an object with the following fields:

modifier: optional string modifier ID, dependent on the Attribute Type (see the Common Modifiers section below)

argument: the modifier argument (format dependent on the chosen modifier)
How the argument is used also depends on the type of modifier

For example, the following definition describes multiplying water_fog_radius by 85%:

“attributes”: {
“minecraft:visual/water_fog_radius”: {
“modifier”: “multiply”,
“argument”: 0.85
}
}

Common Data Types

The following data types are reused in various parts of the Environment Attributes system and will be referenced in sections below.

RGB Color

Format can be one of the following:

A hex color RGB string, in the form #rrggbb
A float array with 3 components, between 0 and 1, in the form [r, g, b]
An integer in packed RGB form

ARGB Color

Format can be one of the following:

A hex color ARGB string, in the form #aarrggbb
A float array with 4 components, between 0 and 1, in the form [a, r, g, b]
An integer in packed ARGB form

Particle Options

A full definition of a particle, including any type-specific properties (as in the /particle command).

For example:

{
“type”: “minecraft:block_crumble”,
“block_state”: {
“Name”: “minecraft:dirt”
}
}

Common Modifiers

Every Environment Attribute has a specific value type, which describes how values must be defined as well as what modifiers are available and how they are interpolated. Some are very specific, while others are reused across many attributes.

Although this is not an exhaustive list, the following Attribute Types are used commonly across many Environment Attributes:

Modifiers on Boolean Values

Argument format: boolean

override
and
nand
or
nor
xor
xnor

Modifiers on Float Values

Argument format: float

override
add
subtract
multiply
minimum
maximum

Modifiers on Color Values

Argument format: RGB color (except alpha_blend)

override
add – component-wise additive color blending
subtract – component-wise subtractive color blending
multiply – component-wise multiplicative color blending
alpha_blend – traditional alpha blending that might be seen in image editing software
Argument format: ARGB Color
When the argument alpha is 1, it will behave as an override with no blending

New Environment Attributes
minecraft:visual/fog_color

The color of fog (when the camera is not submerged in another substance). Note: the final value is also affected by the time of day, weather, and potion effects.

Value type: RGB color
Default value: #000000
Modifiers: Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.fog_color field

minecraft:visual/extra_fog

Controls whether dense fog (like that of the Nether) should be used (when the camera is not submerged in another substance).

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the camera’s position

minecraft:visual/water_fog_color

The color of fog when submerged in water. Note: the final value is also affected by the time of day, weather, and potion effects.

Value type: RGB color
Default value: #050533
Modifiers: Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.water_fog_color field

minecraft:visual/water_fog_radius

The distance in blocks from the camera at which underwater fog reaches its maximum density.
Note: the final value is also modified by how long the player has been underwater.

Value type: non-negative float
Default value: 96.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces #has_closer_water_fog Biome Tag

minecraft:visual/sky_color

The color of the sky. This color is only visible for the overworld sky. Note: the final value is also affected by the time of day and weather.

Value type: RGB color
Default value: #000000
Modifiers: Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.sky_color field

minecraft:visual/cloud_opacity

The opacity of clouds. If 0, clouds are entirely disabled and Happy Ghasts will not regenerate health faster when at cloud height.

Value type: float between 0 and 1
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position for rendering, or at the position of a Happy Ghast for regeneration

minecraft:visual/cloud_height

The height at which all clouds appear.

Value type: float
Default value: 192.33
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position for rendering, or at the position of a Happy Ghast for regeneration
Replaces Dimension Type cloud_height field

minecraft:visual/default_dripstone_particle

The default particle to be dripped from Dripstone blocks when no fluid is placed above.

Value type: Particle Options
Default value: {type:”minecraft:dripping_dripstone_water”}
Modifiers: override
Interpolated: no
Resolved at the position of the Dripstone block
Replaces Dimension Type ultrawarm field

minecraft:visual/ambient_particles

Controls ambient particles that randomly spawn around the camera.

Value type: list of objects with fields
particle: Particle Options to spawn
probability: float between 0 and 1, the probability to spawn the particle in an empty space when randomly ticked

Default value: []
Modifiers: override
Interpolated: no
Resolved at the camera’s position
Replaces Biome effects.particle field

minecraft:audio/background_music

Controls how and which background music is played.

Value type: object with fields
default: optional object with fields:
sound: Sound Event to play
min_delay: int, minimum delay in ticks between tracks
max_delay: int, maximum delay in ticks between tracks
replace_current_music: optional boolean, whether this track can replace whatever is currently playing

If not defined and not overridden, no music will start playing while this attribute is active

underwater: optional object with fields in the same format as default – if present and the player is underwater, will override default
creative: optional object with fields in the same format as default – if present and the player is in Creative Mode, will override default

Default value: {}
Modifiers: override
Interpolated: no
Resolved at the camera’s position
Replaces Biome effects.music field

minecraft:audio/music_volume

The volume at which music should play. Any music playing will fade over time to this value.

Value type: float between 0 and 1
Default value: 1.0
Modifiers: Float Modifiers
Interpolated: no
Resolved at the camera’s position
Replaces Biome effects.music_volume field

minecraft:audio/ambient_sounds

Controls which ambient sounds are played around the camera, and when.

Value type: object with fields
loop: optional Sound Event, sound to be continually looped
mood: object with fields, sounds that will be randomly played based on surrounding darkness
sound: Sound Event to play
tick_delay: int, the number of ticks between mood sounds, assuming a light level of 0
block_search_extent: int, the radius in which light levels are sampled
offset: double, an additional distance offset to apply to sounds produced

additions: list of objects with fields, sounds that will be randomly played
sound: Sound Event to play
tick_chance: float between 0 and 1, probability within a tick to play a given sound

Default value: {}
Modifiers: override
Interpolated: no
Resolved at the camera’s position
Replaces Biome effects.ambient_sound, effects.mood_sound, and effects.additions_sound fields

minecraft:gameplay/can_start_raid

If false, a Raid cannot be started by a player with Raid Omen.

Value type: boolean
Default value: true
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position that the Raid would be started
Replaces Dimension Type has_raids field

minecraft:gameplay/water_evaporates

If true, Water cannot be placed with a Bucket, melting Ice will not produce water, Wet Sponge will dry out when placed, and Dripstone will not produce water from Mud blocks.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the interaction
Replaces Dimension Type ultrawarm field

minecraft:gameplay/bed_rule

Controls whether a Bed can be used to sleep, and whether it can be used to set a respawn point.

Value type: object with fields
can_sleep: one of:
always – the Bed can always be used to sleep (assuming the Bed is not obstructed and there are no monsters nearby)
when_dark – the Bed can only be used to be sleep when the global skylight level is less than 4
never – the Bed can never be used to sleep

can_set_spawn – same as can_sleep
explodes – optional boolean, if true the Bed will explode when interacted with

error_message: optional Text Component, the message to show if the player is unable to sleep or set their spawn

Default value: {type:”can_sleep_when_dark”,error_message:{translate:”block.minecraft.bed.no_sleep”}}
Modifiers: override
Interpolated: no
Resolved at the head position of the Bed block
Replaces Dimension Type bed_works field

minecraft:gameplay/respawn_anchor_works

Controls whether Respawn Anchors can be used to set spawn (or respawn). If false, the Respawn Anchor will explode once charged.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the Respawn Anchor block
Replaces Dimension Type respawn_anchor_works field

minecraft:gameplay/nether_portal_spawns_piglin

Controls whether Nether Portal blocks can spawn Piglins.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of a random Nether Portal block
Replaces Dimension Type natural field

minecraft:gameplay/fast_lava

Controls whether Lava should spread faster and further, as well as have a stronger pushing force on entities when flowing.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved for a whole dimension (cannot be specified on a Biome)
Replaces Dimension Type ultrawarm field

minecraft:gameplay/increased_fire_burnout

Controls whether Fire blocks burn out more rapidly than normal.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the burning Fire block
Replaces #increased_fire_burnout Biome Tag

minecraft:gameplay/piglins_zombify

Controls whether Piglins and Hoglins should zombify.

Value type: boolean
Default value: true
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the zombifying entity
Replaces Dimension Type piglin_safe field

minecraft:gameplay/snow_golem_melts

Controls whether a Snow Golem should be damaged.

Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the Snow Golem
Replaces #snow_golem_melts Biome Tag

Dimension Types

Added new attributes field for dimensions to specify Environment Attributes
Refer to the Environment Attributes section for information about the format of this field

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

Biomes

Added new attributes field for biomes to specify Environment Attributes
Refer to the Environment Attributes section for information about the format of this field
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

Item Components
minecraft:kinetic_weapon

Added new field:
contact_cooldown_ticks: integer, the cooldown in ticks after hitting, and loosing contact with an entity before being able to hit it again

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

Resource Pack Version 70.1
Sounds

Added new sound events for the Nautilus:

Fixed bugs in 25w42a

MC-263562 – World types in Realms backup info screen are untranslatable
MC-298405 – Text components in the “label” of input controls in dialogs don’t support “hover_event”
MC-299876 – Labels for booleans within dialogs are rendered in a slightly different shade of white than normal
MC-301271 – Object text components do not render in some places unless there are text glyphs on the same line
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-301557 – The shading direction of the bolts on single and large copper chests does not match
MC-301879 – Double weathered and waxed weathered copper chests’ bottom texture looks off compared to the other variants
MC-302071 – Single and double copper chests have inconsistent side textures
MC-302246 – Sprite object component does not render in server list depending on component tree
MC-302409 – Lightning that strikes waxed lightning rods do not deoxidize nearby unwaxed copper blocks
MC-302656 – Skeleton horses burn in the sunlight
MC-302657 – The “subtitles.entity.nautilus.eat” string misspells the word “Nautilus” as “Nauilus”
MC-302664 – Piglins aren’t attracted to golden nautilus armor
MC-302672 – “Invalid player data” error when loading a world in which you have an effect applied
MC-302680 – Zombie horses and zombie nautiluses cannot be spawned in Peaceful difficulty
MC-302683 – The “Confirm Command Execution” dialog is popped up for commands with a permission level of 0
MC-302729 – Blast furnaces do not smelt nautilus armor
MC-302732 – Performing a charge attack with a spear in your off hand applies the effects from the enchantments present on the item held in the main hand
MC-302743 – Repeatedly using a spear keeps performing charge attacks every 10 ticks
MC-302767 – Holding a spear in Spectator mode and performing a jab attack plays the jab sound
MC-302783 – Baby nautiluses use #minecraft:nautilus_taming_items instead of #minecraft:nautilus_food for growing up
MC-302802 – Spear charge attack breaks item frames when still
MC-302813 – Zombified piglins no longer appear to sprint or make any angry noises when angry
MC-302816 – When running NBT to SNBT conversion, the program waits for 1 minute after completion
MC-302817 – Spears with Fire Aspect can ignite victims even when the attacks are blocked
MC-302818 – Zombie horsemen can occasionally spawn holding something other than an iron spear
MC-302827 – Spears can jab through walls
MC-302834 – Wolves’ eyes don’t turn red when angry
MC-302838 – Extreme TPS lag when using high Lunge levels with Unbreaking
MC-302842 – Nautiluses and zombie nautiluses never despawn
MC-302920 – “scoreboard players display” settings sometimes reset on world load
MC-302924 – Players can no longer be invited to realms
MC-302984 – Holding a spear in the off hand and attacking an entity adds the spear’s attack damage to the attack
MC-302988 – Bees no longer get angry at players or mobs
MC-303083 – Searching in the resource/data pack selection screens doesn’t properly scroll to the results
MC-303089 – Level 3 operators cannot use client-side operator features

Get the Snapshot

Snapshots are available for Minecraft: Java Edition. To install the Snapshot, open up the Minecraft Launcher and enable snapshots in the “Installations” tab.

Testing versions can corrupt your world, so please backup and/or run them in a different folder from your main worlds.

Cross-platform server jar:

Report bugs here:

Want to give feedback?