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.
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.
Provides 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.
Sources
Environment Attribute values can be provided by the following Environment Attribute sources (in order of low to high priority):
Dimensions
Biomes
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.
Modifiers
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 , 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.
Interpolation
Interpolation describes the combination of values within a source.
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
sky_color is one attribute that will transition smoothly based on position.
For example, in the following scenario:
The plains biome provides sky_color = #ff0000 (red)
The desert biome provides sky_color = #ffff00 (yellow)
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:
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.
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.
Modifiers on ARGB Color Values
override
Argument format: ARGB Color
add β component-wise additive color blending.
Argument format: RGB Color
subtract β component-wise subtractive color blending.
Argument format: RGB Color
multiply β component-wise multiplicative color blending.
Argument format: RGB or ARGB Color
If specified, the alpha component is multiplied independently just like the other color channels.
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).
Value type: RGB color
Default value: #000000
Modifiers: Color Modifiers
Interpolated: yes
Resolved at the camera's position.
Replaces Biome effects.fog_color field.
Note: the final value is also affected by the time of day, weather, and potion effects.
minecraft:visual/fog_start_distance
The distance in blocks from the camera at which fog starts to have an effect (when the camera is not submerged in another substance). If negative, the fog will start out with density as if it had started that many blocks behind the camera. Note: the final value is also modified by weather.
Value type: float
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera's position.
minecraft:visual/fog_end_distance
The distance in blocks from the camera at which fog reaches its maximum density (when the camera is not submerged in another substance).
Value type: non-negative float
Default value: 1024.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera's position.
Note: the final value is also modified by weather.
minecraft:visual/water_fog_color
The color of fog when submerged in water.
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.
Note: the final value is also affected by the time of day, weather, and potion effects.
minecraft:visual/water_fog_start_distance
The distance in blocks from the camera at which underwater fog starts to have an effect. If negative, the fog will start out with density as if it had started that many blocks behind the camera.
Value type: float
Default value: -8.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera's position
minecraft:visual/water_fog_end_distance
The distance in blocks from the camera at which underwater fog reaches its maximum density.
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.
Note: the final value is also modified by how long the player has been underwater.
minecraft:visual/sky_fog_end_distance
The distance in blocks from the camera at which the fog that affects the sky reaches its maximum density (when the camera is not submerged in another substance).
Value type: non-negative float
Default value: 512.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera's position.
Note: this value is restricted by the Render Distance option.
minecraft:visual/cloud_fog_end_distance
The distance in blocks from the camera at which the fog that affects clouds reaches its maximum density (when the camera is not submerged in another substance).
Value type: non-negative float
Default value: 2048.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera's position.
Note: this value is restricted by the Cloud Distance option.
minecraft:visual/sky_color
The color of the sky. This color is only visible for the overworld sky.
Value type: RGB color
Default value: #000000
Modifiers: Color Modifiers
Interpolated: yes
Resolved at the camera's position.
Replaces Biome effects.sky_color field.
Note: the final value is also affected by the time of day and weather.
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:visual/cloud_color
The color of the clouds. If fully transparent, clouds are entirely disabled and happy ghasts will not regenerate health faster when at cloud height.
Value type: ARGB color
Default value: #00000000
Modifiers: ARGB Color 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.
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: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/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_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/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: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.
Default: false
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: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/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 β bed 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.
Default: false
error_message: optional Text Component, the message to show if the player is unable to sleep or set their spawn.
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.
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/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/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:
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 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}
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.
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.
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.
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.
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]
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.
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.
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_huskzombie_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.
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.
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.
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-271938 β Mace smash attack can push players in creative mode that are flying.
MC-271941 β Music discs can sometimes spawn inside jukeboxes when ejected from them.
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.
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.
MC-295949 β Flying through vines with an elytra cancels the flight.
MC-296952 β 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-298405 β Text components in the "label" of input controls in dialogs don't support "hover_event".
MC-298767 β Piercing arrows phase through mobs that are in the same block.
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-299136 β Hyper Potions (Ian Tsuchiura) is not mentioned in the credits and splash texts.
MC-299196 β Waypoints fade out when an advancement is granted.
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-301424 β entity_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 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 (β―+β―, β―+β―) 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 β―+β―.
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.