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?