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_end_distance = 96.0
The plains biome modifies water_fog_end_distance with a multiply modifier of 0.85
When in the plains biome, the water_fog_end_distance will be resolved to 96.0*0.85 = 81.6, while in any other Overworld biome, it will resolve to 96.0.
Which kinds of modifiers are 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. Only some Environment Attributes support interpolation. This allows for the smooth transition between two or more values, such as when moving between two biomes.
Between multiple Biomes, interpolation is performed on values from a source after modifiers have been applied. Within a Timeline, interpolation is performed on the modifier arguments before they get applied.
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.
Timelines
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.
Note: 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.
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_end_distance by 85%:
“attributes”: {
“minecraft:visual/water_fog_end_distance”: {
“modifier”: “multiply”,
“argument”: 0.85
}
}
Attribute Track
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)
For example, the following Timeline has a period of 24000, and has an attribute track that modifies only minecraft:gameplay/cat_waking_up_gift_chance. Because the easing is constant, between tick 362 and 23667 the value is 0.0, while between tick 23667 and 362 it is 0.7.
Like other Environment Attribute sources, the specified value is used as the argument to the specified modifier. This is then applied on top of sources with a lower priority. In this case the modifier is maximum, so this timeline will only ever increase the value of cat_waking_up_gift_chance to the value specified in the track.
{
“period_ticks”: 24000,
“tracks”: {
“minecraft:gameplay/cat_waking_up_gift_chance”: {
“ease”: “constant”,
“modifier”: “maximum”,
“keyframes”: [
{ “ticks”: 362, “value”: 0.0 },
{ “ticks”: 23667, “value”: 0.7 }
]
}
}
}
Easing Types
Easing Types control the interpolation between two keyframes by applying a curve. The following built-in Easing Types are provided:
constant – always selects the previous keyframe
linear
in_back
in_bounce
in_circ
in_cubic
in_elastic
in_expo
in_quad
in_quart
in_quint
in_sine
in_out_back
in_out_bounce
in_out_circ
in_out_cubic
in_out_elastic
in_out_expo
in_out_quad
in_out_quart
in_out_quint
in_out_sine
out_back
out_bounce
out_circ
out_cubic
out_elastic
out_expo
out_quad
out_quart
out_quint
out_sine
An Easing Type may also be specified with a Cubic Bézier in the format: { “cubic_bezier”: [ x1, y1, x2, y2 ] }
x1: float between 0 and 1, x-coordinate of the first control point
y1: float, y-coordinate of the first control point
x2: float between 0 and 1, x-coordinate of the second control point
y2: float, y-coordinate of the second control point
Developer’s Note: To play around with and visualize easings, easings.net and cubic-bezier.com are great references!
Common Data Types
In addition to common primitive formats like floats and booleans, 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”
}
}
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
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
alpha_blend
Modifies subject according to: result = lerp(alpha, subject, value)
Argument format: object with fields:
value: float to blend towards
alpha: float between 0 and 1
Modifiers on RGB Color Values
override
Argument format: RGB 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 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
blend_to_gray – 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
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
blend_to_gray – same as for RGB Color
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: RGB Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.fog_color field
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.
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
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). Only visible with the overworld skybox type.
Note: this value is restricted by the Render Distance option.
Value type: non-negative float
Default value: 512.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
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).
Note: this value is restricted by the Cloud Distance option.
Value type: non-negative float
Default value: 2048.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/water_fog_color
The color of fog when submerged in water.
Value type: RGB color
Default value: #050533
Modifiers: RGB Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.water_fog_color field
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.
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. Only visible with the overworld skybox type.
Value type: RGB color
Default value: #000000
Modifiers: RGB Color Modifiers
Interpolated: yes
Resolved at the camera’s position
Replaces Biome effects.sky_color field
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.
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: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
minecraft:visual/sun_angle
The angle in degrees of the sun, clockwise from east to west, with 0 being directly up.
Only visible with the overworld skybox type.
Value type: float, angle in degrees
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/moon_angle
The angle in degrees of the moon, clockwise from east to west, with 0 being directly up. Only visible with the overworld skybox type.
Value type: float, angle in degrees
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/star_angle
The angle in degrees of the stars, clockwise from east to west, with 0 being directly up. Only visible with the overworld skybox type.
Value type: float, angle in degrees
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/moon_phase
The phase of the moon. Only visible with the overworld skybox type.
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
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. Only visible with the overworld skybox type.
Value type: float between 0 and 1
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/sky_light_color
The visual color of sky light. For blocks with a sky light level of 0 (or minecraft:visual/sky_light_factor is 0), this will have no effect. This is the value passed to the lightmap.fsh shader as SkyLightColor.
Value type: RGB Color
Default value: “#ffffff”
Modifiers: RGB Color Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:visual/sky_light_factor
The visual brightness of sky light. minecraft:visual/sky_light_color is multiplied by this value. This is the value passed to the lightmap.fsh shader as SkyFactor.
The corresponding gameplay effect is controlled entirely by minecraft:gameplay/sky_light_level.
Value type: float
Default value: 1.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the camera’s position
minecraft:audio/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: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/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 or equal 11
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: {can_sleep:”when_dark”,can_set_spawn:”always”,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
minecraft:gameplay/sky_light_level
The effective light level of the sky used by mechanics such as mob spawning or Daylight Detectors. For example, a block fully exposed to the sky will be considered to have a light level of exactly this value, while a block deep in a cave will not be affected at all.
The corresponding visual effect is controlled entirely by minecraft:visual/sky_light_factor.
Value type: float
Default value: 15.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved for a whole dimension (cannot be specified on a Biome)
minecraft:gameplay/eyeblossom_open
Controls how Eyeblossoms change states.
Value type: one of:
true – Closed Eyeblossoms will eventually open by random block ticks
false – Open Eyeblossoms will do the opposite
“default” – Open or Closed Eyeblossoms will remain in their current state
Default value: “default”
Modifiers: override
Interpolated: no
Resolved at the Eyeblossom block’s position
minecraft:gameplay/turtle_egg_hatch_chance
The chance that a Turtle Egg block will switch to its next hatching state when randomly ticked.
Value type: float between 0 and 1
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the Turtle Egg block’s position
minecraft:gameplay/creaking_active
While true, Creaking Heart blocks (and their corresponding Creaking) will become active. On the other hand, when false, it will enter its dormant state.
Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the Creaking Heart block’s position
minecraft:gameplay/surface_slime_spawn_chance
An additional chance rolled when a natural Slime spawn attempt occurs in a biome with the #allows_surface_slime_spawns tag.
Value type: float between 0 and 1
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the position of the Slime spawn attempt
minecraft:gameplay/cat_waking_up_gift_chance
The chance that a Cat lying on its owner’s Bed will drop a gift (from the gameplay/cat_morning_gift loot table) when the player wakes up.
Value type: float
Default value: 0.0
Modifiers: Float Modifiers
Interpolated: yes
Resolved at the Cat’s position
minecraft:gameplay/bees_stay_in_hive
When true, Bees will try to navigate to their Hives and will not exit unless the Hive is broken or next to a Fire.
Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at a Bee or Bee Hive block’s position
minecraft:gameplay/monsters_burn
When true, monsters will burn while exposed to the sky and the mob is not in water or in rain.
Value type: boolean
Default value: false
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the monster’s position
minecraft:gameplay/can_pillager_patrol_spawn
When true, Pillager Patrols are able to spawn.
Note: the global skylight level must also be greater than 11.
Value type: boolean
Default value: true
Modifiers: Boolean Modifiers
Interpolated: no
Resolved at the position of the patrol spawn attempt
Replaces the #without_patrol_spawns biome tag
minecraft:gameplay/villager_activity
Controls the default AI activity for adult Villagers.
Not all activities are supported by Villager AI – if an unsupported one is chosen, the Villager will do nothing. The following activities are supported:
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:
Data Components
Added food properties to the following fish bucket items:
minecraft:cod_bucket
minecraft:salmon_bucket
minecraft:pufferfish_bucket
minecraft:tropical_fish_bucket
Added minecraft:zombie_nautilus/variant
Controls the variant of a Zombie Nautilus mob
Format: namespaced id of an entry in the zombie_nautilus_variant registry
Added 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
interact_vibrations: boolean, whether using this item emits minecraft:item_interact_start and minecraft:item_interact_finish game events
speed_multiplier: float (0.0 to 1.0), the speed multiplier applied to the player while using this item
e.g. use_effects={can_sprint:true,speed_multiplier:1.0}
Added 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
Added minecraft:damage_type
Specifies the type of damage this item deals
Format: namespaced ID of the damage type to use
e.g. damage_type=”minecraft:spear”
Added minecraft:attack_range
Enables a custom attack range when using the item.
Overrides the normal entity interaction range for the 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 the item is used by a mob
Default value: 1.0, valid from 0.0 to 2.0
Added 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 time an entity comes in contact with it, with the damage based on the relative speed of the entities
Format: object with fields
contact_cooldown_ticks: integer, the cooldown in ticks after hitting, and losing contact with an entity before being able to hit it again
delay_ticks: integer, the time in ticks required before the weapon is effective
dismount_conditions, knockback_conditions, damage_conditions: indicating the condition to apply dismount, knockback and damage effects respectively. 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
damage_multiplier: float, the multiplier for the final damage from the relative speed
sound: Optional Sound Event to play when the weapon is engaged
hit_sound: Optional Sound Event to play when the weapon hits an entity
e.g. kinetic_weapon={forward_movement:1.0,delay:20,damage_conditions:{max_duration:60},knockback_conditions:{max_duration:40},dismount_conditions:{max_duration:20}}
The damage dealt is calculated as floor(relative_speed * velocity_multiplier) 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 added after this calculation
Added 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
dismounts: boolean, whether the attack dismounts the target
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={dismounts:true}
Added 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)
duration: integer, the duration in ticks
e.g. swing_animation={type:’stab’,duration:20}
Changed minecraft:consumable
The animation field has been updated:
Renamed spear to trident
Added new spear animation
Changed minecraft:intangible_projectile
Items with this component now show information about it in their tooltip
Entity Data
The AngryAt field has been renamed to angry_at
The AngerTime field has been removed
An anger_end_time (long) field has been added, containing the time anger ends in game ticks
Advancements
Added new spear_mobs trigger with fields:
player: optional entity predicate, the player using the kinetic weapon
count: optional integer, the number of mobs hit in a single use of the kinetic weapon
Damage Types
Added a new minecraft:spear damage type
Slot Sources
Added slot sources to allow the location of any inventory slot to be specified within datapacks
Format: object with fields
type: the slot source type
: 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 or . (e.g. armor.chest or container.*)
minecraft:contents Type
Selects all non-empty slots from the inventory component of one or more items
If no item is stored inside that component, the resulting selection will be empty
The location of the item(s) whose inventory component to use is specified by another slot source
If the slot source includes more than one item with that component, the resulting selections will be merged identically as with the minecraft:group type
e.g. Bundle [a, b] + Shulker Box [c, d] -> [a, b, c, d]
Format:
component: the inventory component to target
Allowed values are minecraft:bundle_contents, minecraft:charged_projectiles, and minecraft:container
slot_source: a slot source containing slots with item(s) to target
minecraft:filtered Type
Applies a filter to the selected slots, excluding any non-matching slots from the resulting selection
Format:
item_filter: an item predicate to match against the items in each slot
slot_source: the slot source to filter
minecraft:limit_slots Type
Limits the number of slots provided, with the resulting selection containing at most that number of slots
Any slots bringing the number of slots above that limit will be excluded, in order of inclusion
e.g. [a, b, c, d] -> [a, b, c] if the limit is set to 3
Format:
limit: integer, the maximum number of slots to include in the resulting selection
slot_source: the slot source to limit
Example slot source selecting every slot with more than 16 items from the hotbar and armor slots of an entity:
{
“type”: “minecraft:filtered”,
“item_filter”: {
“count”: {
“min”: 16
}
},
“slot_source”: [
{
“type”: “minecraft:slot_range”,
“source”: “this”,
“slots”: “hotbar.*”
},
{
“type”: “minecraft:slot_range”,
“source”: “this”,
“slots”: “armor.*”
}
]
}
Loot Tables
Added new minecraft:slots loot pool entry
Provides the items contained within the selected slots to the loot table
Format:
slot_source: a slot source describing where the items are located
Supports all standard loot pool entry fields
Loot Functions
minecraft:filtered
Field modifier has been replaced with two fields:
on_pass – function or a list of functions to run when item_filter predicate passes
on_fail – function or a list of functions to run when item_filter predicate fails
minecraft:discard
Replaces any item stack with empty one
No fields
Predicates
Component Predicates
Component predicates (predicates field in block, item and entity predicates) now include predicates for checking the existence of every component type
Those predicates are written as {: {}}
Such predicate check passes as long as the component is present, no matter the actual value
Existing predicates for specific components remain unchanged
Example:
{predicates:{written_book_content:{author:”foo”}} – existing format for matching books
{predicates:{written_book_content:{}} – special case of above that accepted any value, as long as the component existed
{predicates:{instrument:{}} – checks if the minecraft:instrument component exists (was not allowed before)
Entity Predicates
The flags predicate now supports new values:
is_in_water: when an entity is touching water or a bubble column
is_fall_flying: when an entity is gliding with an elytra
Item Predicates
Item predicates in command form ([predicate~{…},component={…}]) have been extended to accept empty predicates for any component type
Similarly to component predicates in data, those empty entries only check for component existence
The existing shorter syntax for checking component existence remains unchanged
That means *[instrument] and *[instrument~{}] are equivalent
Enchantments
Enchantment Effect Components
minecraft:post_piercing_attack: Effects applying after a piercing attack with an item
Only triggers if the player has at least 6 hunger points in their hunger bar
Enchantment Entity Effects
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:apply_exhaustion: applies exhaustion to the targeted entity
amount – Level-Based Value indicating the amount of exhaustion to apply
Effective only on players
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
Enchantment Level-Based Values
Added exponent
Raises the base to the specified power level.
base – Level-Based Value indicating the base of the exponent.
power – Level-Based Value indicating the power of the exponent.
World Generation
Dimension Types
Added new attributes field for dimensions to specify Environment Attributes
Refer to the Environment Attribute Map section for information about the format of this field
Added a new optional timelines field that specifies which Timelines are active in this dimension
Format: a Timeline ID, a list of Timeline IDs, or a Timeline Tag
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 -> minecraft:gameplay/nether_portal_spawns_piglin, minecraft:gameplay/eyeblossom_open, minecraft:gameplay/creaking_active
The effects field has been removed and replaced with the following new fields:
skybox – the skybox rendering type to use, one of:
none (was minecraft:nether effect ID)
overworld (was minecraft:overworld effect ID)
The following Environment Attributes are applied only when the skybox is overworld:
minecraft:visual/sky_color, minecraft:visual/sun_angle,minecraft:visual/sunrise_sunset_color, minecraft:visual/moon_phase, minecraft:visual/moon_angle, minecraft:visual/star_angle, minecraft:visual/star_brightness
end (was minecraft:end effect ID)
Default: overworld
cardinal_light – the direction of cardinal lighting that affects blocks, one of:
default (was minecraft:overworld and minecraft:end effect ID)
nether (was minecraft:nether effect ID)
Default: default
The fixed_time field has been replaced by a has_fixed_time boolean (default: false)
Time-based effects such as the angle of the sun are now specified instead by Environment Attributes
However, the remainder of behaviors formerly affected by fixed_time being present will now instead use the has_fixed_time boolean
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
The following color fields in the effects definition now support colors as a string in the form “#rrggbb”, or a float array in the form [red, green, blue]
water_color
foliage_color
dry_foliage_color
grass_color
grass_color_modifier
Tags
Block Tags
Added #can_glide_through – climbable blocks that can be glided through without stopping
Item Tags
Added #camel_husk_food – all items that can be used to feed a Camel Husk
Added #nautilus_bucket_food – bucketed fish items that can be used to feed a tamed Nautilus and Zombie Nautilus
Added #nautilus_food – all items that can be used to feed a tamed Nautilus and Zombie Nautilus
Added #nautilus_taming_items – items that can be used to tame a Nautilus and a Zombie Nautilus
Added #spears – all Spear weapons
Added #enchantable/lunge – all items that can be enchanted with the lunge enchantment
Added #enchantable/melee_weapon – all primary melee weapons including Swords and Spears
Renamed #enchantable/sword to #enchantable/sweeping
Biome Tags
Added #spawns_coral_variant_zombie_nautilus – biomes where the Coral Variant of the Zombie Nautilus can spawn
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_end_distance Environment Attribute
Removed #without_patrol_spawns – replaced by gameplay/can_pillager_patrol_spawn Environment Attribute
Entity Tags
Added #burn_in_daylight – entities that burn in daylight
Added #can_float_while_ridden – entities that can float on water while being ridden
Added #can_wear_nautilus_armor – entities that can equip Nautilus Armor
Added #nautilus_hostiles – entities that the Nautilus will be hostile towards when untamed
Timeline Tags
Added #in_end – Timelines that are active in the End
Added #in_nether – Timelines that are active in the Nether
Added #in_overworld – Timelines that are active in the Overworld
Added #universal – Timelines that are active in every dimension
Resource Pack Versions 70.0 through 75.0
Unifont has been updated to 17.0.01
Item textures were split out of the blocks atlas into a separate new items atlas that does not have mipmaps
All textures used in an item model have to come from the same (items or blocks) atlas
All textures used in a block model have to come from the blocks atlas
Textures used for still water and lava are now hardcoded to minecraft:block/water_still and minecraft:block/lava_still
To prepare for future work, the game will now print a warning if any defined sprites in any atlases share a name
The block model and state format has been expanded to allow more rotations
Textures for the Leather Horse Armor item and equipment asset have been split into a tinted base layer and an overlay layer
Textures
The texture section of *.mcmeta files has two new fields: mipmap_strategy and alpha_cutoff_bias
mipmap_strategy has 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
Simulates the blocks having a dark interior
This was and stays the strategy for leaves and Mangrove Roots
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
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
alpha_cutoff_bias is a float field for controlling the alpha bias for cutout textures
Technically there is no limit for this value, 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
The 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”
It’s recommended to increment or decrease this value in fine granularity for finding the sweet spot
As an example, 0.1 is used for kelp textures in order to prevent them being fully transparent at distance
Only used for lower mips of cutout textures, does not change the alpha of the first mip level, and has no effect on other textures
Glass, Glass Pane and Redstone dust now support translucent textures
Added gui/container/nautilus used for the Nautilus inventory UI
Item Sprites
Added new item sprites:
item/camel_husk_spawn_egg
item/copper_nautilus_armor
item/diamond_nautilus_armor
item/golden_nautilus_armor
item/iron_nautilus_armor
item/leather_horse_armor_overlay
item/nautilus_spawn_egg
item/netherite_horse_armor
item/netherite_nautilus_armor
item/parched_spawn_egg
item/zombie_nautilus_spawn_egg
Added the following item sprites for the Spear weapon:
When in inventory: item/wooden_spear, item/stone_spear, item/copper_spear, item/iron_spear, item/golden_spear, item/diamond_spear, item/netherite_spear
When in hand: item/wooden_spear_in_hand, item/stone_spear_in_hand, item/copper_spear_in_hand, item/iron_spear_in_hand, item/golden_spear_in_hand, item/diamond_spear_in_hand, item/netherite_spear_in_hand
UI Sprites
Added new UI sprites:
container/slot/nautilus_armor
container/slot/spear – Spear icon used in the Smithing Table screen
container/slot/nautilus_armor_inventory – Nautilus icon used in Nautilus inventory UI
Added new nine-sliced sprites:
container/inventory/effect_background
container/inventory/effect_background_ambient
Removed the following sprites:
container/inventory/effect_background_large
container/inventory/effect_background_small
Celestials Atlas
A new celestials atlas has been introduced, including sprites for objects rendered in the sky such as the Sun and Moon
Includes sprites from :textures/environment/celestial/.png
The following textures have been moved or split:
textures/environment/sun.png -> sun
textures/environment/end_flash.png -> end_flash
textures/environment/moon_phases -> moon/full_moon, moon/waning_gibbous, moon/third_quarter, moon/waning_crescent, moon/new_moon, moon/waxing_crescent, moon/first_quarter, moon/waxing_gibbous
Mob Effect Sprites
Added new mob effect sprite:
Entity Textures
Added new entity textures:
entity/camel/camel_husk.png
entity/equipment/camel_husk_saddle/saddle.png
entity/equipment/horse_body/leather_overlay.png
entity/equipment/horse_body/netherite.png
entity/equipment/nautilus_body/copper.png
entity/equipment/nautilus_body/diamond.png
entity/equipment/nautilus_body/gold.png
entity/equipment/nautilus_body/iron.png
entity/equipment/nautilus_body/netherite.png
entity/equipment/nautilus_saddle/saddle.png
entity/equipment/zombie_nautilus_coral.png
entity/nautilus/nautilus.png
entity/nautilus/nautilus_baby.png
entity/nautilus/zombie_nautilus.png
entity/skeleton/parched.png
entity/skeleton/parched_overlay.png
Sounds
Added new sounds for Spears:
item.spear.hit
item.spear.use
item.spear.attack
Added special sounds for the Wooden Spear:
item.spear_wood.hit
item.spear_wood.use
item.spear_wood.attack
Added new sound events for the Lunge Enchantment:
item.spear.lunge_1
item.spear.lunge_2
item.spear.lunge_3
Added new sound events for the Nautilus:
entity.baby_nautilus.ambient_land
entity.baby_nautilus.ambient
entity.baby_nautilus.death_land
entity.baby_nautilus.death
entity.baby_nautilus.eat
entity.baby_nautilus.hurt_land
entity.baby_nautilus.hurt
entity.baby_nautilus.swim
entity.nautilus.ambient_land
entity.nautilus.ambient
entity.nautilus.dash_land
entity.nautilus.dash_ready_land
entity.nautilus.dash_ready
entity.nautilus.dash
entity.nautilus.death_land
entity.nautilus.death
entity.nautilus.eat
entity.nautilus.hurt_land
entity.nautilus.hurt
entity.nautilus.riding
entity.nautilus.swim
entity.zombie_nautilus.ambient_land
entity.zombie_nautilus.ambient
entity.zombie_nautilus.dash_land
entity.zombie_nautilus.dash_ready_land
entity.zombie_nautilus.dash_ready
entity.zombie_nautilus.dash
entity.zombie_nautilus.death_land
entity.zombie_nautilus.death
entity.zombie_nautilus.eat
entity.zombie_nautilus.hurt_land
entity.zombie_nautilus.hurt
entity.zombie_nautilus.swim
item.nautilus_armor.equip
item.nautilus_armor.unequip
item.nautilus_saddle_equip
item.nautilus_saddle_underwater_equip
Added new sound events for the Zombie Horse:
entity.zombie_horse.angry
entity.zombie_horse.eat
Added new sound events for the Parched:
entity.parched.ambient
entity.parched.death
entity.parched.hurt
entity.parched.step
Added new sound events for the Camel Husk:
entity.camel_husk.ambient
entity.camel_husk.dash
entity.camel_husk.dash_ready
entity.camel_husk.death
entity.camel_husk.eat
entity.camel_husk.hurt
entity.camel_husk.saddle
entity.camel_husk.sit
entity.camel_husk.stand
entity.camel_husk.step
entity.camel_husk.step_sand
Added new sound events for the Parrot:
entity.parrot.imitate.camel_husk
entity.parrot.imitate.parched
entity.parrot.imitate.zombie_horse
entity.parrot.imitate.zombie_nautilus
Item Models
Added new option for all item models: swap_animation_scale
Defaults to 1.0
Indicates how fast the item moves up and down when swapping items in the hotbar
Large speeds can allow items that take more of the screen space to fully duck before swapped into the next item
Added new item model:
spear_in_hand – model for the Spear when in hand
Block Models
Block model elements can now be rotated around multiple axes
The model is first rotated around X, then Y, then Z
New fields:
x – rotation around the X axis in degrees, float, defaults to 0.0
y – rotation around the Y axis in degrees, float, defaults to 0.0
z – rotation around the Z axis in degrees, float, defaults to 0.0
The existing fields axis and angle can still be used
If both field sets are present, the older notation takes precedence
The existing restriction for angle values limiting them to [-45, 45] has been removed
Note: The names of faces are not influenced by rotation. Features that depend on them, like culling, will always use original directions
Block State Model Dispatch
Variants in block state dispatch files (defined in assets/…/blockstates/ can now also be rotated around the Z axis
New optional field z has the same format as existing x and y fields: an integer with allowed values of 0 (default), 90, 180 and 270
The rotation around the Z axis is applied after X and Y
Shaders & Post-process Effects
New shaders have been introduced to perform GPU-based sprite animations
Added animate_sprite* core shaders, which use a new SpriteAnimationInfo uniform
Added block.vsh/fsh which copies terrain.vsh/fsh and handles ad-hoc blocks (e.g. held by entities)
Added ChunkSection uniform, used by terrain.vsh (which replaces DynamicTransforms)
The Globals uniform now has camera coordinates
Sprite Animations
Sprites (textures as part of a larger atlas) are now animated on the GPU rather than per-tick on the CPU
For regular frame-based animations, animate_sprite.vsh and animate_sprite_blit.fsh are used to perform the draw
For interpolated animations, animate_sprite.vsh and animate_sprite_interpolate.fsh are used to perform the draw
The UBO SpriteAnimationInfo contains information on where the sprite should be drawn to, within the greater texture atlas
Fixed bugs in 1.21.11
MC-2791 – The player model in the inventory screen renders in the wrong orientation when it’s not standing up straight
MC-22882 – Ctrl + Q doesn’t work on Mac
MC-53491 – The world border can change in size when the game is paused
MC-54988 – World border “warning” effect is not shown when graphics setting is set to “Fast”
MC-54989 – Sliders can be moved to positions between available values
MC-64087 – Revengeful zombies / Zombie reinforcements will try to attack you in creative mode
MC-73186 – Gaps between the faces of item models and complex block models
MC-80476 – On macOS, the “drop item stack” shortcut conflicts with the “quit Minecraft” shortcut
MC-114265 – Mipmaps are too dark around transparent edges in textures (e.g. side of grass)
MC-146862 – Long effect names cause text to appear outside the effect box
MC-147718 – F1, F3, F3+[char] combos cannot be rebound
MC-149630 – Some particles have very thin, vertical lines that flash in and out around the particles
MC-154651 – Boats and rafts can break off paintings and item frames
MC-159275 – Map player markers on maps of the nether don’t rotate when doDaylightCycle is disabled
MC-162573 – A white outline is rendered on composters’ edges when viewed from far away
MC-171688 – Invisibility status of LivingEntity is not updated when ActiveEffects are modified directly
MC-179383 – Leaves not culled with graphics set to Fast
MC-188602 – In non-natural custom dimensions, if “bed_works” is set to true, beds cannot be used to skip the night or set the spawn point
MC-189837 – Nether fog is dark after rejoining a world that is thunder storming in the Overworld
MC-195505 – Short grass is unaffected by mipmap levels
MC-199467 – Certain entity animations stop after they’ve existed in world for too long
MC-234358 – Moiré patterns / aliasing on certain objects when viewed from a distance
MC-237158 – Magma blocks can generate on the ceilings of caves below aquifers
MC-238715 – The “minecraft:block.chest.locked” sound cannot be heard by other players when attempting to open locked blocks
MC-241321 – Darkness vignette effect is not shown when graphics setting is set to “Fast”
MC-245854 – Fast graphics description is slightly misleading
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-259368 – Z-fighting occurs on trimmed armor items
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-274828 – Horse armor item and entity model tint affects the entirety of the textures
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-277768 – Mipmapping no longer affects items
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 – F4 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-300979 – The movement and duration messages in the demo introduction screen now have a text shadow
MC-301127 – Music stops and restarts when trying to connect to a server when the music frequency is set to constant
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-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-301754 – The hand animation plays when right-clicking shelves with nothing in your hand
MC-301756 – The “This is a Snapshot Realm…” box outline is rendered above the delete realm interface
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-301988 – Buttons in the telemetry screen are not aligned properly in some languages
MC-302030 – Setting commandBlocksEnabled to false prevents command blocks from being edited
MC-302071 – Single and double copper chests have inconsistent side textures
MC-302111 – Elements within the resource pack and data pack menus are not selected in order when using the TAB key
MC-302184 – Copper golems in cave/void air never turn into statues
MC-302209 – Debug renderers stop working when changing dimensions
MC-302246 – Sprite object component does not render in server list depending on component tree
MC-302254 – Cursor changes do not work for command suggestions
MC-302288 – All shelves have the oak tan map color
MC-302325 – When the player toggles a debug renderer using its hotkey (F3+B, F3+G) while in the debug options screen, the corresponding entry is not updated
MC-302338 – The narrator button in the Accessibility Settings menu doesn’t update upon pressing Ctrl+B
MC-302362 – Clicking on “Singleplayer” or “Multiplayer” in the main menu then immediately clicking on a world or server joins it even when not clicking the play button
MC-302409 – Lightning that strikes waxed lightning rods do not deoxidize nearby unwaxed copper blocks
MC-302469 – Creepers at the player’s exact position with an explosion radius of 0 set the player’s velocity to NaN
MC-302477 – Loot tables stopped supporting SNBT as entity data
MC-302482 – Resource and data pack names can overlap selection boxes when the scroll bar is present
MC-302493 – The mouse cursor doesn’t change to the hand shape when hovering over the close button in the “Add Realm” screen
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
Get the Release
To install the Release, open up the Minecraft Launcher and click play! Make sure your Launcher is set to the “Latest Release” option.
Cross-platform server jar:
As we are preparing to remove obfuscation from Java Edition, you can also get a non-obfuscated experimental version of this snapshot using the Minecraft Launcher:
Download this zip file
Unpack the folder into your “versions” folder of your local Minecraft application data folder
Start (or restart) the Launcher
Create a new launch installation and select the “unobfuscated 1.21.11_unobfuscated” version
Start the game and the remaining files will be downloaded
An unobfuscated server jar can be found here:
Report bugs here:
Want to give feedback?