Added Red Poplar Leaves, Orange Poplar Leaves, and Yellow Poplar Leaves blocks
Added Poplar wood set
Added Shelf Mushrooms
Added Red Shrubs
Added Abandoned Camp structures
Added new Explorer Maps
Added Cushions
Added Straw Beds
Added Wool Stairs and Wool Slabs for all Wool blocks
Added Concrete Stairs and Concrete Slabs for all Concrete blocks
Players in spectator mode can now interact with portals to teleport
Improvements to Realms, including the ability to create and manage Invite Codes
Added Gothic language support
Dappled Forest Biome
A new type of forest biome which can be found near cold biomes
Poplar Trees and fallen Poplar Trees generate here
Shelf Mushrooms can be found here, placed on Poplar Trees and fallen Poplar Trees
Red Shrubs generate here
The following passive and neutral mobs spawn in the Dappled Forest, using their cold variants where applicable:
Sheep
Chicken
Cow
Pig
Rabbit
Fox
Poplar Trees
A new type of tree which comes in three color variations:
Red Poplar Leaves
Orange Poplar Leaves
Yellow Poplar Leaves
Shelf Mushroom
A new type of mushroom that generates on Poplar Trees and fallen Poplar Trees
Can be found in two sizes, small and large
A small Shelf Mushroom can be grown into a large Shelf Mushroom by using Bone Meal
A large Shelf Mushroom drops two Shelf Mushroom items when broken
Can be used like other mushrooms to make Stews
Can be found in trades with the Wandering Trader
Shelf Mushrooms have a slight bounciness when stepped on, similar to Beds
The Shelf Mushroom makes a bouncing sound when a living entity bounces on it
Red Shrub
A new type of decorative plant block that can be found in small patches in the Dappled Forest
Can be used in the Composter
Using Bone Meal on a Red Shrub grows a Red Shrub in a random adjacent space if possible
Abandoned Camp Structure
A new kind of structure which can be found in the following biomes:
Meadow
Cherry Grove
Forest
Birch Forest
Old Growth Birch Forest
Flower Forest
Windswept Forest
Dappled Forest
Taiga
Snowy Taiga
Old Growth Spruce Taiga
Old Growth Pine Taiga
Sparse Jungle
Bamboo Jungle
Swamp
Savanna
Wooded Badlands
Pale Garden
Cushion
The Cushion is an item that the player can place in the world and interact with to sit on
Can be crafted in 16 colored variants
Cushions are crafted by using 3 Wool Slabs of the same color
A Cushion can be placed on any flat surface
Cushions always align horizontally to the grid, but vertically sit on top of the supporting surface
Cushions cannot be moved by pistons
Cushions break if the supporting block is removed
Cushions do not have collision and can overlap with other objects (except other Cushions)
Straw Bed
The Straw Bed is a new type of bed which can be used to sleep through the night without setting your spawn point
It can only be used once and will be destroyed after use
It cannot be used in the Nether or the End and will be destroyed if you try to sleep on it there
It is crafted by using 3 Hay Bales and will give you 4 Straw Beds
There's a new statistic in the Statistics window for the amount of times you've slept in a Straw Bed
Wool Stairs and Wool Slabs
Each colored Wool block now has a new Stair and Slab variant
Wool Stairs and Wool Slabs can be used like other Wool blocks to dampen vibrations
Concrete Stairs and Concrete Slabs
Each colored Concrete block now has a new Stair and Slab variant
Concrete Slabs and Stairs can also be crafted using a Stone Cutter
Abandoned Camp Explorer Maps
New Explorer Maps have been added to the Abandoned Camps
Added maps showing the location of other Abandoned Camps in the following biomes:
Bamboo Jungle
Cherry Grove
Birch Forest
Dappled Forest
Flower Forest
Pale Garden
Swamp
Windswept Forest
Ancient City
Trial Chambers
Mineshaft
Desert Pyramid
Jungle Pyramid
Warm Ocean Ruins
Woodland Mansion
Realms
Realm owners can now create and manage Invite Codes
Each Realm can have up to five Invite Codes
Invite Codes can be configured to be active/inactive and deleted
The expiration of an Invite Code can also be configured
Accessible from the "Add Realm" button
Automatically shown when entering Realms if a trial is available
Changes
The Main Menu now has an updated background panorama showing the new Dappled Forest biome with an Abandoned Camp
Removed fallen leaf particles from Spruce Trees
Suspicious Stews can now be crafted with 2 of any mushroom
Mushroom Stew can now be crafted with 2 of any mushroom
The player icon on maps has been updated to always show the direction the player is facing
New Villager trades, unlocked from a Villager leveling up their profession, will now update even if the player is in the process of trading with them
Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs
Replaced the current "Improved Transparency" approach with a new order-independent transparency algorithm which is expected to be much better at solving translucency issues
Added a rebindable debug key combination "F3 + X" to toggle "Improved Transparency"
When using a Shield together with a Hoe or a Shovel, raising the Shield will take precedence over tilling and path making
Changed the Adventure Mode icon in the Game Mode Switcher to the Buried Treasure Map
Improvements to performance when trying to locate structures
Improvements to chunk generation performance
Explorer Maps
Explorer Maps are now their own items instead of renamed Filled Maps, and each has its own icon:
Ocean Monument Map
Woodland Mansion Map
Buried Trial Chambers Map
Jungle Pyramid Map
Swamp Hut Map
Desert Village Map
Plains Village Map
Savanna Village Map
Snowy Village Map
Taiga Village Map
Buried Treasure Map
Buried Ancient City Map
Buried Mineshaft Map
Desert Pyramid Map
Abandoned Camp Map
Warm Ocean Ruins Map
Ocean Monument Explorer Map → Ocean Monument Map
Swamp Hut Explorer Map → Swamp Hut Map
Trial Chambers Explorer Map → Buried Trial Chambers Map
Woodland Mansion Explorer Map → Woodland Mansion Map
Jungle Pyramid Explorer Map → Jungle Pyramid Map
Buried Treasure Maps could previously be zoomed out at both
Explorer Maps could previously be zoomed out at a Cartography Table
Only maps in the #minecraft:extendable_maps tag can be zoomed out
Order-independent Transparency (OIT)
Generally, translucent surfaces need to be rendered back-to-front to avoid visual issues
In order to do so, the translucent geometry has to be sorted before rendering
This is very expensive and even with perfect sorting of individual triangles, intersecting triangles are not possible to render correctly
It did this by rendering different types of translucent objects (entities, particles, water, etc.) to different textures that were later combined to create the final image
This allowed us to fix some of the issues with some performance impact
However, it introduced some other less noticeable issues
This makes it possible to render translucent objects in any order without sorting
It fixes all existing major translucency-related visual issues (such as certain objects disappearing when viewed through translucent objects)
However, the algorithm is an approximation, and so it introduces some new minor visual artifacts (such as the color of clouds being somewhat incorrect when viewed through multiple layers of translucent surfaces)
Minor Tweaks to Blocks, Items, and Entities
Endermen will now take damage from projectiles if they're riding something
Teleporting randomly after eating a Chorus Fruit now shows particles into the direction of the teleportation
Endermen and Shulkers no longer teleport onto Bedrock
Armadillos no longer try to roll up when submerged in liquids
Data set on a Spawn Egg will now transfer to a Mob Spawner when a player with operator permissions uses the Egg on the Spawner
Sherds dropped from breaking a Decorated Pot will now preserve data, for example custom names
Enchantments now apply to items being damaged from protecting an undead mob from the sun
Teleporting with an Ender Pearl now resets the momentum of the player being teleported
UI
Removed the Raw Input mouse settingMouse input now always uses relative mouse mode while playing in-game
On by default
Off by default
The debug overlay now supports a separate GUI scale from the rest of the game
This is customizable through the Debug Options screen, F3 + F6
The default scale is "Auto", which tries to stay at a higher resolution than normal
Another option is "Unchanged", which matches your regular GUI scale
The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly
The World Options button has been moved to where the Open to Lan button used to be, accessible from the pause menuThe World Options screen is divided into two sections: "General" and "Multiplayer"
The "General" section contains the following options:
Default Game Mode: the default game mode of the world (equivalent to the /defaultgamemode command)
Personal Game Mode: your active game mode in the current world (equivalent to the /gamemode command, or F3 + F4)
Allow Commands: Controls whether you can use commands in this world or not
Difficulty: Controls the difficulty of the world (equivalent to the /difficulty command)
Edit Game Rules: Opens the Game Rules screen, which allows you to view and edit the game rules of the world
Restrictions: View your restrictions in the world
LAN: changes the multiplayer scope of the world
Port: the port number to use when opening the world to LAN
Command Access: controls whether players that join your world can use commands or not
Force Game Mode: controls whether other players' game mode is forced to match the default game mode of the world or not
Accessibility
Subtitles now point to the most recent sound in range
Creative Inventory
Reordered mineral item and block ordering to have non-tiered ingredients up first, then tiered ingredients that craft into equipment last
Ingredients
Non-tiered minerals
Unrefined tiered minerals
Refined tiered minerals
Nuggets
Ingots
Non-tiered mineral blocks and variants
Refined tiered mineral blocks and variants
Copper block family
Technical Changes
The Data Pack version is now 121.0
The Resource Pack version is now 97.1
Some log lines that server software might look out for have been removed
The Minecraft Server Management Protocol can be used instead
If you are missing access to specific events, please create a feature request on the Feedback site
Windowing and Input Backend
Minecraft now uses SDL3 instead of GLFW for window management, input, and platform integration
Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts
Server Properties
The white-list property is now true by default
Minecraft Server Management Protocol 3.1.0
Added notifications indicating when the server performs a full world upgrade on startup
minecraft:notification/world/upgrade_started
minecraft:notification/world/upgrade_progress
minecraft:notification/world/upgrade_finished
minecraft:notification/world/upgrade_failed
Data Pack Versions 108.0 through 121.0
Commands like /give, /unpublish, and /tick should now properly signal errors
Pottery sherds are now data-driven
Entries stored in the minecraft:pot_decorations component and minecraft:decorated_pot block entity are now full item stacks
Signs no longer automatically execute click events in custom text
Potion recipes are now data-driven
The minecraft:number_provider and minecraft:number_provider_type registries have been split into separate registries for integer calculations (minecraft:context_int_provider, minecraft:context_int_provider_type) and float calculations (minecraft:context_float_provider, minecraft:context_float_provider_type)
Loot table types that have a dedicated registry now support registry element and tag references
This means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID
Affected types:
minecraft:advancement
minecraft:item_modifier
minecraft:loot_table
minecraft:context_int_provider
minecraft:context_float_provider
minecraft:predicate
minecraft:recipe
minecraft:slot_source
For example, item modifiers like [{type:set_count, ...}, "minecraft:some_modifier"] are now allowed
Name is now id
Properties is now properties
Commands
Allows adding or removing "post effects" to players
These are postprocessing shaders that are applied to the player's screen, after the game has finished normal rendering
Post effects exist on the client (in resource packs), not the server – the server cannot know if one will actually apply
Post effects themselves were already part of the resource pack format, but only a few hardcoded ones were available to use
/posteffect add <player> <posteffect> - adds the post effect to the player, if it doesn't already exist
/posteffect clear <player> - removes all post effects from the player, if any exist
/posteffect list <target> - lists all post effects applied to the player, if any exist
/posteffect remove <player> <posteffect> - removes the post effect from the player, if it exists
The gamemode argument has been removedInstead, the default game mode of the world should be set using the defaultgamemode command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the gamemode command
Evaluates minecraft:context_int_provider and minecraft:context_float_provider values in various contexts
In all contexts, origin is set to the current command context position, while this entity is set to @s
If the evaluation fails (for example due to division by zero), this command will fail
/compute <target> integer <int_provider> OR
/compute <target> float <float_provider> [<scale>], where:
<target> - one of:
default - runs the provider in the minecraft:command_compute_default context, where only common arguments (position and this entity) are available
block <pos> - runs the provider in the minecraft:command_compute_position context, where block state and block position are set based on the block at position <pos>
entity <entity selector> - runs the provider in the minecraft:command_compute_entity context, where target_entity is set to the selector result
The final result will be multiplied by <scale> and rounded towards negative infinity
Added new source to /data modify ... append|insert|merge|prepend|set called compute
It evaluates a minecraft:context_int_provider or minecraft:context_float_provider value and then provides the result either as an integer or a float tag
Example: /data modify storage foo bar set compute entity @n[type=minecraft:armor_stand] integer {type:score,target:{type:context,target:target_entity},score:baz}
compute <target> (integer <int_provider> | float <float_provider>), where the syntax of target, int_provider, float_provider is the same as in the /compute functionNote: unlike /compute, there is no scale, since the result is directly stored as a float, instead of being returned from the command as an integer
When the amount of items passed to the give command is above the limit, the command will now signal an error instead of just printing an error message and returning 0
Environment Attributes
Defines mob spawns in an Environment Attribute Source
During worldgen placement, only Dimensions and Biomes will apply this Environment Attribute
Format: object with fields:
spawns_by_category - map of spawn category to weighted list of spawn dataSpawn data format: object with fields:
type - entity type, the entity to spawn
count - int provider, amount to spawn
energy_budget - float, energy change allowed per spawn
charge - float, how much existing mobs will attract or repulse other charged mobs
overlay
For each mob category, overrides the lower layer's spawn settings with the higher layer's, unless the category is not included
Merges each layer's spawn costs together, overriding the lower layer's spawn costs with the higher layer's if both define the same entity type
Sets the probability to run an iteration in which mobs defined to spawn in the creature mob category will spawn during world generation
Only Dimensions and Biomes will apply this Environment Attribute
Format: float with range [0,1)
Default: 0.1
Field explodes has been renamed to destroy_on_use
Added destroy_on_leave - optional boolean, if true, the Bed will be destroyed when leaving itIf omitted, defaults to false
Same format as minecraft:gameplay/bed_rule, but used for the Straw Bed
Now supports interpolation between Timeline keyframes (probabilities will be crossfaded)
Introduced support for new modifier: appendUnlike override which totally replaces the particle list, this modifier concatenates all elements with the layers below
Data Components
Describes the pottery pattern stored on a stack
Format:namespaced ID pointing to an element of the minecraft:decorated_pot_pattern registry
Describes an item that can be used as fuel for a Furnace, Smoker, or Blast Furnace
Format: object with fields
burn_time - inline integer number, or a namespaced ID pointing to an element of the minecraft:context_int_provider registry representing the time in ticks for which this fuel will burn
speed_multiplier - inline float number, or a namespaced ID pointing to an element of the minecraft:context_float_provider registry representing the speed of the cooking/smelting
If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground
If the fuel has run out, the remainder item will remain in the fuel slot
Describes an item that can be used as fuel for a Brewing Stand
Format: object with fields
uses - inline integer number, or a namespaced ID pointing to an element of the minecraft:context_int_provider registry representing the number of times this fuel will brew before being consumed
speed_multiplier - inline float number, or a namespaced ID pointing to an element of the minecraft:context_float_provider registry representing the speed of the brewing
If there is fuel remaining in the fuel slot, the remainder item will be dropped on the ground
If the fuel has run out, the remainder item will remain in the fuel slot
This behavior matches items placed in the input and reagent slots of the brewing stand
back
left
right
front
The format of inline material definitions has been updated as described below
Allows an item to transform blocks into other blocks on player interaction
Format:a namespaced ID of a minecraft:block_transformer registry type
Two identical components that represent text on the front and back of a sign
Contents will be displayed in the item's tooltip
The format is the same as the front_text and back_text fields on the minecraft:sign and minecraft:hanging_sign block entities, i.e.
messages - a list of text components
filtered_messages - an optional list of text components, if omitted, it will be set to the same value as messagesmessages and filtered_messages must have the same entry count
A marker for blocks with contents that are waxed
No fields
Applied to Cushion entities when they get placed using an item
Format: one of 16 dye colors
Represents the ability to compost an item and how it adds layers to the composter
Format: object with fieldslayers - inline integer number, or namespaced ID pointing to an element of the minecraft:context_int_provider registry
Trim Materials
asset_name has been replaced with palette - Palette Texture ID to be used for this material
override_armor_assets has been removedOverrides are now defined in the Resource Pack Equipment Asset
Instruments
Added durability_damage field - optional non-negative integer, amount of durability to consume on each use
Updated use_duration field - can now be 0 for no cooldown
Entity Data
Added invulnerable_time tag which makes an entity temporarily invulnerable for a specific number of ticks
Block Entity Data
back
left
right
front
By default, commands and other click events contained in Sign text are no longer executed when the block is clicked
Additionally, text components on newly placed Signs are no longer resolved by default
A new boolean field called allow_op_features (defaults to false) has been added to restore previous behavior
Placed Signs and items with the minecraft:block_entity_data component containing Sign data stored in worlds saved before this version will have allow_op_features set to true
Any newly created Sign will need to have that field set explicitly
Previously, the screen would open unless minecraft:block_entity_data was applied successfully
Now, the screen will open only if it could be opened normally by clicking the block (i.e. it's not waxed and only has editable text on the front side)
Changed the BrewTime field from a short to an integer, this is the amount of time that the current brewing process has taken so far
Changed the Fuel field from a byte to an integer, this is the amount of fuel remaining
total_brew_time - integer, the total amount of time the current brewing process will take
total_fuel - integer, represents the amount of fuel that was added in the last refuel
speed_multiplier - float, used to speed up or slow down the next brewing process
Changed the cooking_time_spent field from a short to an integer, this is the amount of time that the current cooking process has taken so far
Changed the cooking_total_time field from a short to an integer, this is the total amount of time the current cooking process will take
Changed the lit_time_remaining field from a short to an integer, this is the amount of burn time remaining
Changed the lit_total_time field from a short to an integer, this is the total amount of burn time that was added in the last refuel
speed_multiplier - float, used to speed up or slow down the next brewing process
Advancements
Visible root advancements (i.e. ones that have a display field, but no parent field) must always declare a background field in the display structure
Only root advancements can have a background field in the display structure
The loot sub-field in the rewards field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:loot_table type
Multiple fields that accepted a list of loot conditions are now stricter:
The previous functionality of a list of conditions being equivalent to a single minecraft:all_of condition has been removed
Additionally, the type field is now mandatory (previously it defaulted to minecraft:entity_properties)
To avoid duplication, this field is not mentioned in entries below
The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block type
Added field state that matches block state properties (same format as minecraft:enter_block)
The child, parent, and partner fields now accept an inline value or a namespaced ID of a minecraft:predicate type
The potion field now accepts a minecraft:potion_contents data component predicate
The villager and zombie fields now accept an inline value or a namespaced ID of a minecraft:predicate type
The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The source field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block type
The cause field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The killing_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The killing_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
Slot Sources
Slot sources can now be defined as files inside a Data Pack, within the slot_source folderCan be used in commands which take slot sources as arguments
The terms field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:slot_source type
The inline format of minecraft:group (previously only a list of inline slot sources) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:slot_source typeThis format is now consistently available for all fields of a slot source (but not for stand-alone files)
The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type
The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type
The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type
The source field has a new valid type container, which sources slots from a container or inventory provided through loot context
The source field is now optionalDefaults to the container source type when absent
Loot Tables
Added till/rooted_dirt loot table for drops when Rooted Dirt is tilled with a hoe
Multiple block loot tables now reference predicates for checking if a tool has Silk Touch and is Shears instead of inlining a copy of those checks
The rolls field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
The bonus_rolls field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider type
Currently used to evaluate slot sources with the /item and /execute commands
It takes the following parameters:
container, the container or inventory being evaluated
origin, the position at which the command was executed
this_entity, the @s entity of the command being executed (optional)
Currently used for the /compute default command
It takes the following parameters:
origin, the position at which the command was executed
this entity, the @s entity of the command being executed (optional)
Currently used for the /compute block command
It takes the following parameters:
Everything included in minecraft:command_compute_default
block_entity, the block entity of the block at the position given in a command
block_state, the current state of the block at the position given in a command
Currently used for the /compute entity command
It takes the following parameters:
Everything included in minecraft:command_compute_default
target_entity, the entity selected by the selector given in a command
Currently used to evaluate cooking and brewing fuel values
It takes the following parameters:
container, the container or inventory being evaluated
block_entity, the block entity being fueled
block_state, the current state of the block being fueled
origin, the location of the block being fueled
Block entities are now available in context and can be matched by conditions like minecraft:match_block
origin is now available in context, as the center of the block being interacted with
The conditions field in loot pool entries has been renamed to condition and now accepts an inline value or a namespaced ID of a minecraft:predicate type
The functions field in loot pool entries has been renamed to modifier and now accepts an inline value (including a list as a short form of minecraft:sequence) or a namespaced ID of a minecraft:item_modifier typeThis field is now present on all loot entries, including previously omitted minecraft:alternatives, minecraft:sequence, and minecraft:group
The name field has been renamed to items and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:item type
Loot Functions
The conditions field is now available in all loot functions and has been renamed to condition
It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions
The functionality of the old condition list format can be achieved by explicitly using the minecraft:all_of loot condition type
The functions field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:item_modifier type
Added an optional condition field which accepts an inline value or a namespaced ID of a minecraft:predicate type
The inline format of minecraft:sequence (previously only a list of inline functions) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:item_modifier typeThis format is now consistently available for all fields of a loot function type (but not for stand-alone files), which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:item_modifier type
The modifier field now accepts an inline value or a namespaced ID of a minecraft:item_modifier type
Number providers in the amount sub-fields of the modifiers list now accept an inline value or a namespaced ID of a minecraft:context_float_provider type
The count field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider type
The levels field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
Elements in the floats list can now be an inline value or a namespaced ID of a minecraft:context_float_provider type
Elements in the colors list can now be an inline value or a namespaced ID of a minecraft:context_int_provider type
Values in the enchantments map can now be an inline value or a namespaced ID of a minecraft:context_int_provider type
The count field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
The min and max fields inside the limit structure now accept an inline value or a namespaced ID of a minecraft:context_int_provider type
The limit field no longer accepts a single number
The damage field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider type
The amplifier field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
The number_of_dyes field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
The duration field in the elements of the effects list now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type
Removed unused field type
Predicates
The condition field (describing the predicate type) has been renamed to type
The terms field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:predicate type
Note: values of this type can no longer be shortened to a single list, a full object with the type minecraft:all_of needs to be used explicitly
The terms field now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:predicate type
The term field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The chance field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider type
This condition has been split into integer and float variants
Checks a value against some range
value - an inline value or a namespaced ID of a minecraft:context_int_provider type
test - one of:
an inline value (including a single integer) or a namespaced ID of a minecraft:context_int_provider typeWill test if the result of value is equal to the provided test value
min - an optional inline value (including a single integer) or a namespaced ID of a minecraft:context_int_provider type
max - an optional inline value (including a single integer) or a namespaced ID of a minecraft:context_int_provider type
Will test if the result of value is between min and max (inclusive)
Checks value against some range
value - an inline value or a namespaced ID of a minecraft:context_float_provider type
test - one of:
an inline value (including a single float) or a namespaced ID of a minecraft:context_float_provider typeWill test if the result of value is equal to the provided test value
min - an optional inline value (including a single float) or a namespaced ID of a minecraft:context_float_provider type
max - an optional inline value (including a single float) or a namespaced ID of a minecraft:context_float_provider type
Will test if the result of value is between min and max (inclusive)
The min and max fields inside the value structure now accept an inline value or a namespaced ID of a minecraft:context_int_provider type
The value field itself now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type (previously only integers were allowed)
The min and max fields inside the values of the scores map now accept an inline value or a namespaced ID of a minecraft:context_int_provider type
The scores field itself now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type (previously only integers were allowed)
The predicate.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
Number Providers
The minecraft:number_provider type has been split into two separate types: minecraft:context_int_provider (integer number providers) and minecraft:context_float_provider (float number providers)
Note: those new types should not be confused with the already existing minecraft:int_provider_type and minecraft:float_provider_type, which are context-free providers, used mostly for world generation
Integer Number Providers
Added the minecraft:context_int_provider registry
All calculations are performed using 32-bit integers
The result of calculations that provide invalid values (like division by zero) is undefined
Fields:
type - a namespaced ID from minecraft:context_int_provider_type registry
<type-specific fields>
minecraft:compostable/lowreturns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 30% chance of returning 1
returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 50% chance of returning 1
returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 65% chance of returning 1
returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has an 85% chance of returning 1
always returns 1
Returns the burn time in ticks for Bamboo and Scaffolding
Returns the burn time in ticks for Blaze Rods
Returns the burn time in ticks for Boats
Returns the burn time in ticks for Coal
Returns the burn time in ticks for Coal Blocks
Returns the burn time in ticks for Dried Kelp Blocks
Returns the burn time in ticks for various dry plants
Returns the burn time in ticks for Hanging Signs
Returns the burn time in ticks for Lava Buckets
Returns the burn time in ticks for Mangrove Roots
Returns the burn time in ticks for wood blocks
Returns the burn time in ticks for very small wood items such as Buttons
Returns the burn time in ticks for large wood items such as Doors
Returns the burn time in ticks for small wood items such as Bows
Returns the burn time in ticks for wood slabs
Returns the burn time in ticks for most Wool blocks
Returns the burn time in ticks for Wool Carpets
Returns the burn time in ticks for Wool Slabs and Cushions
Returns the burn time reduction factor for cooking fuel when used in a normal furnace
Returns the burn time reduction factor for cooking fuel when used in a block matching the block/fast_cooking predicate
Returns the default number of brews provided by brewing fuel
Returns the absolute value of input
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:input - an inline value or a namespaced ID of a minecraft:context_int_provider type
Evaluates multiple integer providers and returns the arithmetic mean of all results
Division rounds towards 0
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_int_provider typeRequires at least one value
Float Number Providers
Added a minecraft:context_float_provider registry
All calculations are performed using single-precision floating-point numbers ("floats")
The result of calculations that produce NaN and Infinity is undefined
Format:
type - a namespaced ID from minecraft:context_float_provider_type registry
<type-specific fields>
minecraft:cooking/speed_defaultReturns the default speed multiplier for cooking fuel
Returns the speed multiplier for cooking fuel when used in a normal Furnace
Returns the speed multiplier for cooking fuel when used in a block matching the block/fast_cooking predicate
Returns the default speed multiplier for brewing fuel
Returns the absolute value of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Evaluates multiple float providers and returns the arithmetic mean of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Returns the ceiling (i.e. rounded towards positive infinity) value of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns the value from on_true if its condition is fulfilled or on_false if not
Fields:
condition - an inline value or a namespaced ID of a minecraft:predicate type
on_true - an inline value or a namespaced ID of a minecraft:context_float_provider type which is executed if its condition is fulfilled
on_false - an optional inline value or a namespaced ID of a minecraft:context_float_provider typeDefaults to a constant 0.0 if omitted
Returns a constant value
Fields:value - a float
Returns the cosine of input
Fields:input - argument in radians, an inline value, or a namespaced ID of a minecraft:context_float_provider type
Returns left minus right
Fields:
left - an inline value or a namespaced ID of a minecraft:context_float_provider type
right - an inline value or a namespaced ID of a minecraft:context_float_provider type
Fields:amount: A Level-Based Value giving a value based on the level of the Enchantment
Fetches and provides the value of an Environment Attribute (minecraft:environment_attribute)
Fieldsattribute - the Environment Attribute ID to fetch (must be representable as a float)
Returns the floored (i.e. rounded towards negative infinity) value of input
Recipes
input - a potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents Data Component Predicate
reagent - a potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents Data Component Predicate
output - item stack, the resulting item
Block Transformers
Added a minecraft:block_transformer registry containing rules for transforming a block into another block
Format: list of objects with fields:
block_state_provider - Block State Provider, used to provide the state for the transformed block
If the Block State Provider returns no result (as by rule_based, for example), the next rule in the list will be attempted
The set of Block State Providers are the same as the Block State Providers used in World Generation
If not present, defaults to play no Sound Event
One of:
none
scrape
wax_on
wax_off
One of:
up
down
north
south
east
west
If not present, defaults to using no Loot Table
One of:
from_middle - from the middle of the Block
clicked_face - from the face interacted with
If not present, defaults to true
One of:
single_block - only affects the Block interacted with
copper_chest - if input and output blocks are both copper chests of any weathering state, waxed or unwaxed, this transformation will affect both sides of a double chest
Only applies to stackable items
If not present, defaults to true
Only applies to non-stackable items
If not present, defaults to 0
minecraft:shovel - default value for shovels
minecraft:axe - default value for axes
minecraft:hoe - default value for hoes
World Generation
Cave Air is no longer generated in Nether caves
Removed the spawners, spawn_costs, and creature_spawn_probability fieldsThese values have been moved to the new Environment Attributes
The worldgen/configured_feature registry has moved to worldgen/feature and configuration is now done inline in the root object rather than separated into a config field
Removed feature types:
minecraft:coral_mushroom
minecraft:kelp
minecraft:seagrass
minecraft:sea_pickle
minecraft:nether_forest_vegetation
minecraft:twisting_vines
minecraft:weeping_vines
minecraft:desert_well
Added field feature, a Placed Feature that is used to place at every desired block position
Renamed field reach to column_reach
Added fields:
block- Block state provider, which block to place
can_replace - Block predicate, which blocks can be replaced by the column
continue_through - Block predicate, which pre-existing blocks to accept as part of a column
cannot_place_on - Block ID, list of Block IDs, or hash-prefixed Block Tag ID, which blocks are avoided when starting placement
column_count - int provider (between 1 and 150), the number of columns to generate
cluster_reach - int provider (between 0 and 13), the size of the square to attempt to generate columns inThe effective reach is also limited by height
Added fields:
block - Block state provider, which block to place
can_replace - Block predicate, which blocks to replace
direction - one of up and down, vertical direction of the pillar
chance_to_continue - optional float between 0 and 1, probability that the pillar continues another block (assuming can_replace matches)If omitted, defaults to 1
Added fields:
block - Block state provider, which block to place
accepted_neighbors - Block ID, list of Block IDs, or hash-prefixed Block Tag, which blocks count as a valid neighbor
can_replace - Block predicate, which blocks to replace
attempts - int provider (between 1 and 3000), how many placement attempts to make
xz_offset - int provider (between -16 and 16), what offsets to try along the x and z axes
y_offset - int provider (between -16 and 16), what offsets to try along the y-axis
Removed extra_rare_growths and catalyst_chance fields
Format: object with fields:features - Placed Feature ID, non-empty list of Placed Feature IDs, or hash-prefixed Placed Feature Tag, the features to place
Format: object with fields:
block - Block state provider, which block to place
project_through - Block Predicate, which blocks are considered "empty" and should be projected through
Int Providers
Format: object with fields:
min_inclusive - integer, the minimum selected value (inclusive)
max_inclusive - integer, the maximum selected value (inclusive)
Villager Trades
The given_item_modifiers field has been renamed to given_item_modifierNote: unlike other fields of type minecraft:item_modifier, this field does not support namespaced elements or tag IDs
Tags
Added #poplar_logs - all Poplar log blocks
Added #wool_stairs - all Wool Stairs blocks
Added #wool_slabs - all Wool Slabs blocks
Added #cushion_uses_collision_shape - Blocks where Cushion placement raycasts against collision shape instead of interaction shape
Added #wool_stairs and #wool_slabs to #dampens_vibrations
Added #ores - collection tag containing all types of ores
Added #skulls - collection tag containing all head and skull blocks
Added #blocks_motion - collection tag containing all blocks that are considered to block motion in some way
Added #blocks_motion_no_leaves - collection tag containing all blocks that are considered to block motion in some way, but excluding leaf blocks
Added #entities_can_teleport_to - blocks that entities are allowed to teleport to
Added #blocks_dolphin_jump - blocks that Dolphins cannot move through when jumping out of water
Added #ice_melts_when_destroyed_above - blocks that causes ice to melt into water if the ice is destroyed when placed above them
Added #blocks_motion_in_heightmap - blocks that are taken into account for the motion_blocking heightmap
Added #blocks_motion_in_heightmap_no_leaves - blocks that are taken into account for the motion_blocking_no_leaves heightmap
Added #blocks_lava_fire_spread - blocks that block the creation of fire by lava
Added #blocks_fluid_flow - blocks that block fluid flow
Added #washed_away_by_fluids - blocks that break when a fluid flows through them
Added #required_for_poplar_leaf_ambience - blocks which can satisfy requirement for Poplar leaves to make ambient sound
Added #turns_into_dirt_path - blocks that turn into Dirt Path blocks when a Shovel is used for path making
Added #sculk_growth_inhibitors - blocks which keep Sculk from spreading when more than 2 are in the 8x2x8 area around it
Added #uncarvable - blocks that Carvers can never carve
Added #cats_can_sit_on - blocks which Cats can randomly sit on
Added #cats_can_lie_on - blocks which Cats can randomly lie on
Added #speeds_up_zombie_villager_curing - blocks which can increase Zombie Villager curing time if placed nearby
Added #villagers_can_sleep_on_bed - Bed blocks which Villagers can sleep on
Added #villager_babies_can_jump_on_bed - Bed blocks which Villager kids can jump on
Added #height_specific_ore_replaceables - blocks which Ore Features will turn into Stone Ores if found above y-level 0 and into Deepslate Ores if found below y-level 8
Added #concrete_stairs - all Concrete Stairs blocks
Added #concrete_slabs - all Concrete Slabs blocks
Added #dangerous_for_teleportation - collection tag defining blocks that are dangerous to teleport on
Particles
Falls from Red Poplar Leaves blocks
Has no fields
Falls from Orange Poplar Leaves blocks
Has no fields
Falls from Yellow Poplar Leaves blocks
Has no fields
Resource Pack Versions 89.0 through 97.1
Palette Textures
All armor trim palette textures have been moved from textures/trim/color_palettes/ to textures/palettes/trim/The base armor trim palette texture has instead been moved to textures/palettes/trim_base.png
The base palette ID is now specified in a new palette mcmeta section field
This section has a single field: base_palette - the base Palette Texture ID to remap from
Palette Texture locations in the palette_key and permutations fields have been replaced by Palette Texture IDs - i.e. <namespace>:<path> now resolves to <namespace>:textures/palettes/<path>.png
Equipment Assets
Format: list of override entries with fields:
when - object with fields, the material and/or pattern to match
material - optional Trim Material ID, the material to match (if specified)
pattern - optional Trim Pattern ID, the pattern to match (if specified)
At least one of material or pattern must be specified
If both are specified, both must match for the entry to be used
Textures are specified in the same format as asset_id
If not specified, the default texture for the pattern will be used
If not specified, no palette remapping will be applied to the texture
Block Sprites
Added new Block textures:
block/orange_poplar_leaves.png
block/poplar_door_bottom.png
block/poplar_door_top.png
block/poplar_log.png
block/poplar_log_top.png
block/poplar_planks.png
block/poplar_sapling.png
block/poplar_shelf.png
block/poplar_sign.png
block/poplar_trapdoor.png
block/red_poplar_leaves.png
block/red_shrub.png
block/shelf_mushroom_stage0.png
block/shelf_mushroom_stage1.png
block/straw_bed.png
block/stripped_poplar_log.png
block/stripped_poplar_log_top.png
block/poplar_hanging_sign.png
block/yellow_poplar_leaves.png
Item Sprites
Added new Item textures:
item/abandoned_camp_map.png
item/black_cushion.png
item/blue_cushion.png
item/brown_cushion.png
item/buried_ancient_city_map.png
item/buried_mineshaft_map.png
item/buried_treasure_map.png
item/buried_trial_chambers_map.png
item/cyan_cushion.png
item/desert_pyramid_map.png
item/desert_village_map.png
item/gray_cushion.png
item/green_cushion.png
item/jungle_pyramid_map.png
item/light_blue_cushion.png
item/light_gray_cushion.png
item/lime_cushion.png
item/magenta_cushion.png
item/ocean_monument_map.png
item/orange_cushion.png
item/pink_cushion.png
item/plains_village_map.png
item/poplar_boat.png
item/poplar_chest_boat.png
item/poplar_door.png
item/poplar_hanging_sign.png
item/poplar_sign.png
item/purple_cushion.png
item/red_cushion.png
item/savanna_village_map.png
item/snowy_village_map.png
item/swamp_hut_map.png
item/taiga_village_map.png
item/warm_ocean_ruins_map.png
item/white_cushion.png
item/woodland_mansion_map.png
item/yellow_cushion.png
item/filled_map_markings.png
item/light.png
UI Sprites
Added new UI textures:
gui/hanging_signs/poplar.png
gui/signs/poplar.png
gui/realms/friends.png
gui/realms/minigames.png
gui/realms/private_server.png
gui/sprites/widget/realms_button.png
gui/sprites/widget/realms_button_disabled.png
gui/sprites/widget/realms_button_highlighted.png
Entity Textures
Added new Entity textures:
entity/boat/poplar.png
entity/chest_boat/poplar.png
entity/cushion/black_cushion.png
entity/cushion/blue_cushion.png
entity/cushion/brown_cushion.png
entity/cushion/cyan_cushion.png
entity/cushion/gray_cushion.png
entity/cushion/green_cushion.png
entity/cushion/light_blue_cushion.png
entity/cushion/light_gray_cushion.png
entity/cushion/lime_cushion.png
entity/cushion/magenta_cushion.png
entity/cushion/orange_cushion.png
entity/cushion/pink_cushion.png
entity/cushion/purple_cushion.png
entity/cushion/red_cushion.png
entity/cushion/white_cushion.png
entity/cushion/yellow_cushion.png
Map Sprites
Added new Map textures:
abandoned_camp.png
ancient_city.png
desert_pyramid.png
mineshaft.png
warm_ocean_ruins.png
player.png
player_off_limits.png
player_off_map.png
Block Crumbling Overlay Textures
Added new block crumbling overlay textures that replace the existing ones for translucent blocks rendered with OIT:
block/destroy_oit_stage_0.png
block/destroy_oit_stage_1.png
block/destroy_oit_stage_2.png
block/destroy_oit_stage_3.png
block/destroy_oit_stage_4.png
block/destroy_oit_stage_5.png
block/destroy_oit_stage_6.png
block/destroy_oit_stage_7.png
block/destroy_oit_stage_8.png
block/destroy_oit_stage_9.png
Sounds
Added new sound events:
block.shelf_mushroom.break
block.shelf_mushroom.fall
block.shelf_mushroom.place
block.shelf_mushroom.step
block.shelf_mushroom.bounce
block.poplar_leaves.ambient
block.straw_bed.break
block.straw_bed.break_leave
block.straw_bed.step
block.straw_bed.place
block.straw_bed.hit
block.straw_bed.fall
block.poplar_leaves.break
block.poplar_leaves.fall
block.poplar_leaves.place
block.poplar_leaves.step
block.poplar_leaves.hit
block.red_shrub.break
block.red_shrub.place
entity.cushion.break
entity.cushion.place
entity.cushion.get_up
entity.cushion.sit
Particles
Added new Particle textures:
orange_poplar_1.png
orange_poplar_2.png
orange_poplar_3.png
orange_poplar_4.png
red_poplar_1.png
red_poplar_2.png
red_poplar_3.png
red_poplar_4.png
yellow_poplar_1.png
yellow_poplar_2.png
yellow_poplar_3.png
yellow_poplar_4.png
shelf_mushroom_particle.png
straw_bed_particle.png
Item Models
Added optional shade_direction_override to block model elements
Accepted values are cardinal directions (down, up, north, south, west, east)
When set, this overrides directional shading for the element regardless of face orientation
Use shade_direction_override: "up" to get the previous shade: false behavior
Removed minecraft:map_colorThe minecraft:map_color component it read no longer exists
Shaders & Post-process Effects
terrain.vsh and terrain.fsh shaders are refactored to support multi-draw
Some of the members in Globals and DynamicTransforms are shuffled to use less memory for those uniform blocks
Added new shaders to support order-independent transparency:
core/blit_depth.fsh
Introduced new defines:
OIT - If present, indicates that OIT is enabled
OIT_DEPTH_BOUNDS - If present, indicates that the depth bounds pass is being executed
OIT_TRANSMITTANCE - If present, indicates that the transmittance pass is being executed
OIT_ACCUMULATE - If present, indicates that the accumulate pass is being executed
OIT_ALPHA_ONLY - If present, indicates that either the depth bounds or transmittance pass is being executed
OIT_ADDITIVE - If present, indicates that the OIT algorithm should emulate additive blending for the executing pipeline
OIT_WAVELET_RANK - An integer internal to the OIT algorithm
OIT_COEFF_COUNT - An integer internal to the OIT algorithm
OIT_COEFF_ATTACHMENT_COUNT - An integer internal to the OIT algorithm
RENDERPEARL_DEPTH_IS_ZERO_TO_ONE - If present, indicates that the current rendering backend uses the depth range of [0, 1], it is available globally to all shaders independently of the OIT setting
RENDERPEARL_EXPLICIT_DEPTH_INVARIANCE - If present, indicates that an OIT shader should explicitly output a depth value because a device it is running on can produce a slightly different implicit value
Affected shaders:
core/block.fsh
core/block.vsh
core/clouds.fsh
core/clouds.vsh
core/entity.fsh
core/entity.vsh
core/item.fsh
core/item.vsh
core/particle.fsh
core/position_color.fsh
core/rendertype_beacon_beam.fsh
core/rendertype_clouds.fsh
core/rendertype_crumbling.fsh
core/rendertype_entity_shadow.fsh
core/rendertype_lightning.fsh
core/rendertype_lines.fsh
core/rendertype_world_border.fsh
Fixed bugs in 26.3
MC-4 - Item drops sometimes appear at the wrong location
MC-2157 - Particles emitted from dragon eggs when teleporting do not point in the correct direction
MC-5269 - Updating a server's address in the multiplayer menu does not update its status
MC-40597 - The interaction of the game's built-in fullscreen mode and macOS fullscreen can glitch the game window
MC-44654 - Some entities' positions are not updated on the client when teleported
MC-46421 - You cannot use Nether portals, End portals, and End gateways while in Spectator mode
MC-51859 - The line spacing of text within all hover tooltips is larger between the first and second lines
MC-58061 - Endermen can teleport onto signs
MC-59810 - Cannot break blocks while sprinting on macOS
MC-73162 - Breaking an entity that instantly breaks sometimes destroys the block behind it in Creative mode
MC-90148 - When a player gets out of a boat, the other passenger's head remains rotated sideways
MC-91006 - Some entities lose their name when placed or broken
MC-96365 - Boats and rafts retain their rotational momentum after exiting and entering them
MC-102732 - Arrows can visually bounce off of entities when barely missing them
MC-102836 - Endermen can teleport to some dangerous places
MC-102881 - Shulkers do not emit any particles when teleporting
MC-106416 - Endermen and entities eating chorus fruit can teleport outside the world border and into powder snow
MC-110989 - /spreadplayers considers signs to be valid blocks to be spread onto
MC-112580 - Structure blocks' GUI does not pause the game in singleplayer
MC-112744 - The Team NBT tag only exists for living entities
MC-113006 - Items reeled in with fishing rods do not move smoothly but appear to teleport
MC-116286 - /spreadplayers can spread entities on structure void
MC-121278 - Key combinations are mapped to the US keyboard layout even if using another layout
MC-121367 - The game doesn't use borderless fullscreen
MC-121375 - The Command (⌘) key on macOS is displayed as "Win" in the Key Binds screen
MC-122477 - Opening the chat sometimes appends the character the used key types to the message on Linux
MC-122717 - Success messages for some commands include unaffected entities, unlike the command result
MC-122731 - Camera movement stutters when turning in a boat
MC-127939 - Several keys are displayed as "scancode.number" in the Key Binds menu
MC-133407 - Key binds switch when upgrading from before 1.13 if not using a QWERTY keyboard
MC-148541 - /spreadplayers can spread players to seagrass near the surface of the water
Get the Release
Minecraft server jar
Minecraft issue tracker!
For any feedback and suggestions, head over to the Feedback site. If you're feeling chatty, join us over at the official Minecraft Discord.
The nbt component in a raw chat message will only be resolved up to 64k times
The following subcommands will now signal an error instead of just printing an error message and returning 0:
tick step
tick step stop
tick sprint stop
The result of the team join and team leave subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed)
Now takes a slot source as an argument in place of anywhere a slot was previously used
It will be evaluated with the minecraft:command_slot_source loot type
Can be a slot source in either inline or reference form
Can be a slot source targeting multiple slots
The replace sub-command has new semantics:
The contents of each destination slot are replaced with the corresponding source item one by one in the order they are provided by the slot source
When there are more destination slots than there are source items, the remaining slots are ignoredExample: replace [12345] with (ABC) → [ABC45]
Example: replace [123] with (ABCDE) → [ABC]
Can be a single slot, such as armor.chest
Can be multiple slots, such as container.*
Acts as shorthand for a minecraft:slot_range slot source using that slot rangeExample: hotbar.4 is the same as {type:"minecraft:slot_range",slots:"hotbar.4"}
When more than a single entity is targeted, the slots sourced from each are concatenated
/item fill
Fills each destination slot with a source item
When there are more destination slots than there are source items, the items repeat until every slot is filledExample: fill [12345] with (ABC) → [ABCAB]
Overrides the contents of each destination slot with the corresponding source item
When there are more destination slots than there are source items, the remaining slots are clearedExample: override [12345] with (ABC) → [ABC__] (where _ represents an empty slot)
Added new slots condition sub-command
Counts the number of slots from the slot source that are present on the targeted block or entity
The slot source will be evaluated with the minecraft:command_slot_source loot type
The feature sub-command now allows inline definition of the Feature
Whether a block is safe to spread a player to is now controlled by the #entities_can_teleport_to block tag
When used on a player, the player's attack strength will no longer be reset
Added a new optional argument to set the swing animation to play
Allowed values: none, whack, stab
If omitted, defaults to whack
Format: positive time value (by default in ticks)
If omitted, defaults to 6t
Format: object with fieldsnutrition - positive integer, how much hunger the item satiates in the Villager once eaten
Format: object with fields
targeting_entity_types - an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to match
visibility - float (between 0.0 and 10.0), with 0.0 reducing the range at which mobs detects the entity to 2 blocks while 10.0 increases the detection range tenfoldWhile multiple items with this component stack, the maximum vision will still never exceed 10.0
The animation to play when the item is being used to attack something
Format: object with fields:
type - swing animation type, one of none, whack, stab
duration - non-negative integer, the length of the animation in ticks
The animation to play when the item is being used to interact with something
Format: Same as minecraft:attack_animation
Added a new optional field to the teleport_randomly consume effect:directional_particles - boolean, whether to show a particle trail into the direction of the teleportationIf not present, defaults to true
This has been replaced by minecraft:attack_animation and minecraft:interact_animationSetting both of these new components to the same value will be functionally identical to the old component, except for:
The /swing command - animation type now specified by the command
Items being dropped by entities
Maps are no longer drawn as a tinted overlay, so there is nothing left for the color to apply to
Existing maps have the component stripped on load
See the Resource Pack section for the matching removal of the minecraft:map_color tint source
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The killing_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
The bystander and lightning fields now accept an inline value or a namespaced ID of a minecraft:predicate type
The loot_table field has been renamed to loot_tables and now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:loot_table typeIf a tag or a list is used, the trigger will run when any listed loot table is generated
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The damage.type.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
The damage.type.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The recipe_id field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeIf a tag or a list is used, the trigger will run when any listed recipe is used
The recipe_id field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeIf a tag or a list is used, the trigger will run when any listed recipe is used
The recipe field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeIf a tag or a list is used, the trigger will run when any listed recipe is unlocked
The block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The projectile field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The villager field now accepts an inline value or a namespaced ID of a minecraft:predicate type
The value field now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:loot_table type
Added expand field, working the same as in the minecraft:tag pool entry:
if true, each entry inside the tag will be added to the outer pool, with weights equal to the weight of this entry
if false, this pool entry will operate as a single entry in the outer poolIf this entry gets selected, it will return all items from all referenced loot tables
The name field has been renamed to loot_table_id
The destination field is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:structure type
The map_color field has been removed
The function no longer changes the type of the item it is applied to - it now only adds map data to the existing item
Previously it required a minecraft:map and produced a minecraft:filled_map
The item to produce is now chosen by the loot entry or villager trade itself, so a data pack that produced exploration maps has to change its item from minecraft:map to minecraft:filled_map (or one of the explorer map items)
If no matching structure is found, the item is left without a minecraft:map_id - use minecraft:filtered with minecraft:discard_item to drop those, as the vanilla loot tables and villager trades now do
This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions
This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions
minecraft:tool/can_silk_touch
minecraft:tool/can_shear
minecraft:block/fast_cooking
blocks - optional block id, list of namespaced block IDs, or hash-prefixed block tag to match
state - optional map of block state property keys to values to match
nbt - optional block entity NBT to matchThe match will fail if this field is present but no block entity is available in the context
The match will fail if this field is present but no block entity is available in the context
The match will fail if this field is present but no block entity is available in the context
This has been fully replaced by minecraft:match_block
potions - a list of potion types or a potion tag to match
effects - a Collection Predicate of mob_effects predicates to matchThe Collection Predicate format is as follows:
contains - a list of mob_effects predicates to match
count - a list of options for matching a specific number of mob effect predicates, which follow the same format as the minecraft:effects entity sub-predicate
test - the mob_effects predicate to match
count - the number of matches required, or with min and max will match a range of counts
Makes n random coin flips with the probability of succeeding equal to p, then returns the number of successes
Fields:
n - the number of coin flips, an inline value or a namespaced ID of a minecraft:context_int_provider type
p - the probability of a single coin flip succeeding ([0.0, 1.0]), an inline value, or a namespaced ID of a minecraft:context_float_provider type
Returns the value from on_true if its condition is fulfilled or on_false if not
Fields:
condition - an inline value or a namespaced ID of a minecraft:predicate type
on_true - an inline value or a namespaced ID of a minecraft:context_int_provider type which is executed if its condition is fulfilled
on_false - an optional inline value or a namespaced ID of a minecraft:context_int_provider typeDefaults to a constant 0 if omitted
Returns a constant value
Fields:value - an integer
Returns left minus right
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:
left - an inline value or a namespaced ID of a minecraft:context_int_provider type
right - an inline value or a namespaced ID of a minecraft:context_int_provider type
Evaluates a float provider and converts it to an integer value
Noninteger values will be truncated (i.e. rounded towards zero)
Values that don't fit inside a 32-bit integer (including NaN) are treated as errors and will cancel the calculation
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Evaluates multiple integer providers and returns the largest of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_int_provider typeRequires at least one value
Evaluates multiple integer providers and returns the smallest of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_int_provider typeRequires at least one value
Returns the modulus of left by right
Uses truncated integer division (rounds towards zero)
Division by zero is treated as an error and will cancel the calculation
Fields:
left - an inline value or a namespaced ID of a minecraft:context_int_provider type
right - an inline value or a namespaced ID of a minecraft:context_int_provider type
Returns the modulus of left by right
Uses floored integer division (rounds towards negative infinity)
Division by zero is treated as an error and will cancel the calculation
Fields:
left - an inline value or a namespaced ID of a minecraft:context_int_provider type
right - an inline value or a namespaced ID of a minecraft:context_int_provider type
Fetches and provides the value of an Environment Attribute (minecraft:environment_attribute)
Fieldsattribute - the Environment Attribute ID to fetch (must be representable as an int)
Returns the negation of input
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:input - an inline value or a namespaced ID of a minecraft:context_int_provider type
Returns the first case which fulfills its condition or the default if none do
Fields:
cases - a list of cases in the order that the dispatcher will try to execute themFields:
condition - an inline value or a namespaced ID of a minecraft:predicate type
value - an inline value or a namespaced ID of a minecraft:context_int_provider type which is executed if the condition is fulfilled
Defaults to a constant 0 if omitted
Returns base to the power of exponent
If the exponent is negative, the calculation will be canceled
If both the base and the exponent are zero, the calculation will be canceled
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:
base - an inline value or a namespaced ID of a minecraft:context_int_provider type
exponent - an inline value or a namespaced ID of a minecraft:context_int_provider type
Evaluates multiple integer providers and returns the product of all results
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_int_provider typeRequires at least one value
Returns left divided by right
Uses truncated integer division (rounds towards zero)
Division by zero is treated as an error and will cancel the calculation
Fields:
left - an inline value or a namespaced ID of a minecraft:context_int_provider type
right - an inline value or a namespaced ID of a minecraft:context_int_provider type
Returns left divided by right
Uses floored integer division (rounds towards negative infinity)
Division by zero is treated as an error and will cancel the calculation
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:
left - an inline value or a namespaced ID of a minecraft:context_int_provider type
right - an inline value or a namespaced ID of a minecraft:context_int_provider type
Returns a score of the selected target
If the score is not present, the provider returns the value of fallback
Fields:
score - objective name
target - score holder (same format as in the number provider version)
fallback - an optional inline value or a namespaced ID of a minecraft:context_int_provider typeDefaults to a constant 0 if omitted
Returns an integer value from a command storage
If the value is not present, is not a number, or the path returned multiple values, the provider returns the value of fallback
The conversion of numeric NBT values that are not an integer is undefined
Fields:
storage - a namespaced ID of a command storage
path - an NBT path
fallback - an optional inline value or a namespaced ID of a minecraft:context_int_provider typeDefaults to a constant 0 if omitted
Evaluates multiple integer providers and returns the sum of all results
If the final result does not fit inside a 32-bit integer, the calculation will be canceled
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_int_provider typeRequires at least one value
Picks a random integer from a closed range
Fields:
min - minimum value (inclusive), an inline value, or a namespaced ID of a minecraft:context_int_provider type
max - maximum value (inclusive), an inline value, or a namespaced ID of a minecraft:context_int_provider type
Returns a value from a distribution of weighted number providers
Fields:distribution - a list of objects with the following fieldsFields:
data - an inline value or a namespaced ID of a minecraft:context_int_provider type
weight - a positive integer
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Evaluates an integer provider and converts it to a float value
Fields:input - an inline value or a namespaced ID of a minecraft:context_int_provider type
Evaluates multiple float providers and returns the square root of the sum of squares
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Evaluates multiple float providers and returns the largest of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Evaluates multiple float providers and returns the smallest of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Returns the modulus of left by right
Fields:
left - an inline value or a namespaced ID of a minecraft:context_float_provider type
right - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns the negation of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns the first case which fulfills its condition or default if none do
Fields:
cases - a list of cases in the order that the dispatcher will try to execute themFields:
condition - an inline value or a namespaced ID of a minecraft:predicate type
value - an inline value or a namespaced ID of a minecraft:context_float_provider type which is executed if the condition is fulfilled
Defaults to a constant 0.0 if omitted
Returns base to the power of exponent
Fields:
base - an inline value or a namespaced ID of a minecraft:context_float_provider type
exponent - an inline value or a namespaced ID of a minecraft:context_float_provider type
Evaluates multiple float providers and returns the product of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Returns left divided by right
Fields:
left - an inline value or a namespaced ID of a minecraft:context_float_provider type
right - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns the rounded (towards the nearest integer, with ties rounding towards positive infinity) value of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns the sine of input
Fields:input - argument in radians, an inline value, or a namespaced ID of a minecraft:context_float_provider type
Returns the square root of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Returns a float value from a command storage
If the value is not present, is not a number, or the path returned multiple values, the provider returns the value of fallback
The conversion of numeric NBT values that are not a float is undefined
Fields:
storage - a namespaced ID of a command storage
path - an NBT path
fallback - an optional inline value or a namespaced ID of a minecraft:context_float_provider typeDefaults to a constant 0.0 if omitted
Evaluates multiple float providers and returns the sum of all results
Fields:inputs - an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:context_float_provider typeRequires at least one value
Returns the truncated (rounded towards zero) value of input
Fields:input - an inline value or a namespaced ID of a minecraft:context_float_provider type
Picks a random number from a range
Fields:
min - minimum value, an inline value, or a namespaced ID of a minecraft:context_float_provider type
max - maximum value, an inline value, or a namespaced ID of a minecraft:context_float_provider type
Returns a value from a distribution of weighted number providers
Fields:distribution - a list of objects with the following fieldsFields:
data - an inline value or a namespaced ID of a minecraft:context_float_provider type
weight - a positive integer
size - int provider (between 1 and 16), determines the size of the square as measured from the center to the edge
max_projection_height - non-negative integer, the maximum change in y level from the original height to the placement height for a block in the square
Places the End Podium
Two feature instances are now used to place the podium from in-game events:
end_podium_active
end_podium_inactive
active - boolean, whether the portal is active
Added field processors: Namespaced ID or inline definition of a structure processor list to apply to the template
Places Shelf Mushrooms on logs with the specified probability
Format: object with fields:probability - float (between 0 and 1), the probability that any Shelf Mushrooms will be placed for a given feature
Places Leaf blocks for Poplar trees in a rhombus shape in one of two possible directions
Format: Common fields for all foliage placers plus:
height - int provider (between 5 and 16), the height of the foliage
side_hole_chance - float (between 0.0 and 1.0), the chance for blocks to be randomly removed at the edge of the foliage
Places Log blocks for Poplar trees in a straight shape with branches by the start of the foliage
Format: Common fields for all trunk placers plus:
trunk_height_above_branches - int provider (between 0 and 8), the height of the trunk above the branches
branch_amount - int provider (between 1 and 4), the amount of branches to create by the foliage
Added fields:
xz_size - int provider (between 1 and 16), the size of the cuboid along x and z axes
y_size - int provider (between 1 and 16), the size of the cuboid along the y-axis
include_interior - optional boolean, whether to place interior blocks of the cuboidIf omitted, defaults to true
Setting this to false generates a somewhat "rounded" cuboid
If omitted, defaults to true
Format: object with fields:chance - float (between 0 and 1), the chance that the feature gets placed
Format: object with fields:placements - non-empty list of Placement Modifiers to pick from
Format changes:
Removed fields xz_spread and y_spread
Added fields x, y, z - integer providers (between -16 and 16), the axis-specific offset
minecraft:dual_noise_provider renamed to minecraft:dual_noise
minecraft:noise_provider renamed to minecraft:noise
minecraft:noise_threshold_provider renamed to minecraft:noise_threshold
minecraft:randomized_int_state_provider renamed to minecraft:randomized_int
minecraft:rule_based_state_provider renamed to minecraft:rule_based
minecraft:simple_state_provider renamed to minecraft:simple
minecraft:weighted_state_provider renamed to minecraft:weighted
Format: object with fields:source - Block State Provider, the Block State which the copied properties are copied on top ofOnly properties common between both the source and the target blocks will be copied
Format: object with fields:blocks: Block ID, list of Block IDs, or hash-prefixed Block Tag, the set of blocks to randomly pick from
Format changes:
Changed field state - now a Block State Provider
Added field direction - optional direction, the direction to setIf omitted, a random direction is chosen
If a rule yields no result, the following rules will be evaluated
If no rule or fallback yields a result, will now also yield no result
The surface_rule field has been renamed to material_ruleFormat: inline Material Rule or Material Rule ID reference
This Density Function is no longer implicitly interpolated across the entire chunk
If not present, no aquifers will be generated
Fields:
barrier - Density Function, moved from noise_router.barrier
fluid_level_floodedness - Density Function, moved from noise_router.fluid_level_floodedness
fluid_level_spread - Density Function, moved from noise_router.fluid_level_spread
lava - Density Function, moved from noise_router.lava
surface_level - Density Function, duplicated from noise_router.preliminary_surface_level
exclusion - Density Function, any aquifer cell where this value is positive will have no fluid
barrier, fluid_level_floodedness, fluid_level_spread, lava - moved into aquifers field
vein_toggle, vein_ridged, vein_gap - moved into the minecraft:ore_vein Material Rule
Fields:
label - string, label to identify this Density Function
function - Density Function, the Density Function to compute and show at the player position
Target format: map between Density Function ID and a range on that axis:Range is specified as one of:
Float, an exact target value
Array of 2 floats, a range of target values in form [min, max]
An object with fields:
min - float, the minimum value of the target range
max - float, the maximum value of the target range
Material Rules can now be specified either inline (as previously), or as an ID reference to an element in the worldgen/material_rule registry
Material Conditions can also now be specified as an ID reference to an element in the worldgen/material_condition registry
Material Conditions can also now be specified as an ID reference to an element in the worldgen/material_condition registry
Format: object with fields:
ore_block - Block State, the ore block to place
raw_ore_block - Block State, the raw ore block to place
filler_block - Block State, the filler block to place
raw_ore_chance - float between 0 and 1, the probability for a raw_ore_block to be placed instead of an ore_block
density - Density Function, the probability between 0 and 1 for the ore vein to replace a blockIf 0 or lower, no block will be replaced
If 0 or lower, all blocks will be filler_block
If 1 or greater, no blocks will be filler_block
Produces output values (approximately) fitting a normal distribution
Unless otherwise specified, fits the output amplitude to [-1; 1]Due to the normal distribution, in practice this means that 99.7% of all samples will fit in that range - but values may still be encountered outside of this range
i.e. between each octave, the amplitude is halved and the frequency doubled
If not specified, defaults to 1.0
If true, base_amplitude is the expected amplitude of the output (i.e. 99.7% of all samples in [-base_amplitude; base_amplitude])
If false, base_amplitude is the amplitude of the first octave
If "legacy", inherits the same normalization behavior as expressed by the previous formatThis would generally fit to a range smaller than expected
The number of elements in this list must match octave_count
As described above, this scaling factor bypasses normalization and will affect the output amplitude
This field is no longer required - if not specified, defaults to all 1.0
Density Functions and noises are no longer evaluated with double-precision floating point values, but instead with single-precisionThis affects all intermediate steps, not just the final result
argument has been renamed to value
shift_x - optional Density Function, a domain warp to apply on xIf not specified, no warping will be applied (equivalent to 0)
If not specified, no warping will be applied (equivalent to 0)
If not specified, no warping will be applied (equivalent to 0)
Replaced by minecraft:noise
argument1 has been renamed to left
argument2 has been renamed to right
argument has been renamed to input
argument has been renamed to noise
Format: object with fields:
left - Density Function, the left-hand side of the operation
right - Density Function, the right-hand side of the operation
Format: object with fields:
left - Density Function, the left-hand side of the operation
right - Density Function, the right-hand side of the operation
No changes to the format
Format: object with fields:input - Density Function, the function to negate
Format: object with fields:
alpha - Density Function, the interpolation factor (0=first, 1=second)Any value outside of [0; 1] will extrapolate
floor rounds towards negative infinity
round rounds towards the nearest integer (ties round up)
ceil rounds towards positive infinity
truncate rounds towards 0
input - Density Function, the input to round
multiple - Density Function, the output will be rounded to an integer multiple of this valueIf not specified, defaults to constant 1 (i.e. rounding to integer)
Format: object with fields:
base - Density Function, the base value
exponent - Density Function, the exponent
Format: object with fields:input - Density Function, the value for which to compute the square root
Format: object with fields:input - Density Function, the value for which to compute the natural logarithm
If the input is positive, returns 1
If the input is 0, returns 0
If the input is negative, returns -1
input - Density Function, the value of which to compute the sign
Format: object with fields:
point - array of 3 integers in form [x, y, z], the point to compute distance to
metric - one of:
euclidean - i.e. sqrt(dx^2 + dy^2 + dz^2)
euclidean_squared - i.e. dx^2 + dy^2 + dz^2
manhattan - i.e. abs(dx) + abs(dy) + abs(dz)
chebyshev - i.e. max(abs(dx), abs(dy), abs(dz))
Format: object with fields:
axis - x, y, or z, the axis over which to define this gradient
tiling - one of:
clamp_to_edge - outside the gradient boundaries, the value at the nearest boundary will be used
repeat - the gradient will be repeated outside its boundaries
mirrored_repeat - the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions
Must not be equal to from_coordinate
Format: object with fields:
axis - x, y, or z, the axis to remove
coordinate - int, the fixed coordinate to be passed to the input function
input - Density Function, the input function
Added fields:
cell_size_xz - positive int, size in blocks of the interpolation grid cells on the XZ axes
cell_size_y - positive int, size in blocks of the interpolation grid cells on the Y axis
No format change
May be replaced with minecraft:cache
minecraft:slice may be used to always pick Y=0, as formerly handled by minecraft:flat_cache
Can now connect to Jigsaw blocks with any target name, instead of just minecraft:bottom
Places a single instance of the structure at the dimension originThe dimension origin is defined as the spawn_target for noise settings based dimensions, otherwise Chunk (0, 0)
Format: object with fields:
min_inclusive - Vertical Anchor, the minimum height required
max_inclusive - Vertical Anchor, the maximum height required
Format: object with fields:
min - list of 3 integers in range -16 to 16, the lower corner of the volume as an offset from the test position
max - list of 3 integers in range -16 to 16, the upper corner of the volume as an offset from the test position
match - Block Predicate to test on each position
Added a new option for Vertical Anchors:relative_to_sea_level - specifies an offset to the sea level of the dimension
Checks the y-level of a block, returning true only if it's higher than or equal to min_inclusive and lower than or equal to max_inclusive
Format: object with fields:
min_inclusive - int, the minimum y value of allowed blocks (inclusive)
max_inclusive - int, the maximum y value of allowed blocks (inclusive)
Checks a list of Rule Tests for whether all of them return true for the same block
Format: object with fields:rules - list of Rule Tests, the rules to test the block against
Checks a list of Rule Tests for whether any of them returns true for the same block
Format: object with fields:rules - list of Rule Tests, the rules to test the block against
Checks a Rule Test for whether it returns false for a given block
Format: object with fields:rule - Rule Test, the rule to test the block against
The worldgen/configured_carver registry has been renamed to worldgen/carver
All fields previously under the config field have been inlined to the top-level
Added count field - non-negative Int Provider, the number of Cave tunnels to create from a seed chunk
Renamed yScale to room_vertical_radius_multiplier
Added optional start_vertical_radius_multiplier field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnelIf not specified, defaults to 1.0
If true, thickness will be multiplied by, with a 10% chance: random(0, 1) * random(0, 3) + 1
If not specified, defaults to false
All fields previously under the config field have been inlined to the top-level
Renamed and moved yScale to shape.y_scale
Removed replaceable field, carvers will replace any block (excluding features)
Removed lava_level field, fluids are now always selected by the aquifer or sea_level configuration in the dimension
Removed debug_settings field
Replaced by minecraft:cave
Added #cat_does_not_teleport_to - blocks that Cats do not teleport to
Added #enderman_does_not_teleport_to - blocks that Endermen do not teleport to
Added #shulker_does_not_teleport_to - blocks that Shulkers do not teleport to
Added #consumable_does_not_teleport_to - blocks that entities do not teleport to when they consume food that teleports randomly when eaten
Added #nether_portal_frame - blocks that can be used to create a Nether Portal
Added #conduit_effect_block - blocks that can be used to build a Conduit
Removed #overworld_carver_replaceables and #nether_carver_replaceables
Added #poplar_logs - all Poplar log items
Added #wool_stairs - all Wool Stairs items
Added #wool_slabs - all Wool Slabs items
Added #mushrooms - all Mushroom items
Added #ores - collection tag containing all types of ores
Added #douses_campfires - items that can douse a lit Campfire block
Added #concrete_stairs - all Concrete Stairs items
Added #concrete_slabs - all Concrete Slabs items
Added #cloneable_maps - Filled Map plus all Explorer Map items and Buried Treasure Maps, used as the input to the map_cloning recipe
Added #extendable_maps - maps that can be zoomed out with paper, either in a Crafting Table or at a Cartography Table
Added #brewing_potion_inputs - items that can be placed in a Brewing Stand potion slot, regardless of whether they are brewing recipe inputs
Added #furnace_fuel_bottom_takeable - items that can be taken out of furnace by a hopper attached to the bottom face
Removed #brewing_fuel - the brewing_fuel item component is now used to identify brewing fuels
Added tags for biomes which will generate the respective Abandoned Camp variant:
#has_structure/abandoned_camp_bamboo_jungle
Added #cannot_be_dismounted_by_item_usage - entities which cannot be dismounted by items
Added #no_wolf_retaliation - damage types that should not cause tamed Wolves to attack their source in order to defend their owner
Added #douses_fire - Potions that douse Fire blocks when they hit something
Added #hurts_water_sensitive_entities - Potions that will hurt entities which are sensitive to water (e.g. Endermen)
Added #extinguishes_entities - Potions that can extinguish entities
Added #rehydrates_axolotls - Potions that will cause Axolotls to rehydrate
Added #abandoned_camp - all variants of Abandoned Camps
Renamed #on_woodland_explorer_maps to #on_woodland_mansion_maps
Renamed #on_ocean_explorer_maps to #on_ocean_monument_maps
Renamed #on_jungle_explorer_maps to #on_jungle_pyramid_maps
Renamed #on_swamp_explorer_maps to #on_swamp_hut_maps
Renamed #on_trial_explorer_map to #on_buried_trial_chambers_map
Added #axolotl_try_find_liquid - all fluids Axolotls are trying to find
Added #dolphin_try_find_liquid - all fluids Dolphins are trying to find
Added #frog_try_find_land_near_liquid - all fluids Frogs are trying to find land near to
Added #entity_floatable - all fluids that make entities float
core/terrain.fsh
core/terrain.vsh
core/text.fsh
core/world_border.fsh
core/world_border.vsh
post_effect/transparency.json
shaders/post/transparency.fsh
core/integrate_depth.fsh was added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffer
core/text_background.fsh and core/text_background.vsh were removed and text background in Text Display Entities is now rendered using the text shaders
Shaders are now compiled by ShaderC when using OpenGL as well, identically to when using Vulkan
Shader includes are now handled by ShaderC using #include instead of #moj_import
Shader inputs and outputs must have a location specified in shader source
Vertex input names must still match expected names
Vertex outputs are matched to fragment inputs solely by location, the name is now ignored
A resource pack can now define a minecraft:end_of_frame post effect
It will be applied before other post effects, including the ones enabled by the new posteffect command
This post effect is always on as long as the resource pack is loaded, and cannot be controlled by the posteffect command
As usual with resource pack resources, in case of multiple packs defining this effect, the one from the last resource pack in the list will apply
MC-149058 - Using hotkeys to move items into the anvil UI appends the character the used key types to the new item name
MC-151857 - The success message of /give when affecting multiple players uses the wrong string
MC-154881 - Dropping an item from your hotbar at the same time as switching to another hotbar slot desyncs the second item
MC-159283 - Terrain generation fails in progressively shrinking rings centered around the End's center
MC-161885 - Many transparent things do not render behind slimes
MC-161898 - Transparent particles make other particles behind them invisible
MC-161926 - The block breaking animation is more transparent when mining ice or stained glass
MC-162159 - Riding boats above bubble columns causes players to teleport up 2 blocks
MC-168446 - Single dark oak and pale oak saplings accept bone meal despite not being able to grow
MC-168653 - Mobs, particles, clouds, water and transparent blocks don't render behind the transparent parts of shulker bullets
MC-174958 - /gamerule succeeds even when the value is not changed
MC-175180 - The Silent NBT tag still doesn't make some entities fully silent
MC-183446 - Endermen still avoid projectiles when riding minecarts or boats
MC-187669 - The world border is too dark with the "Improved Transparency" option enabled
MC-189953 - The Super key on macOS is displayed as "Win" in the Key Binds screen
MC-190203 - Transparent and specially rendered blocks, entities, clouds, water and particles don't render behind wind charges, and charged creeper, wither and breeze armor
MC-202197 - Entities' name tag background is rendered behind transparent things
MC-206356 - The motion of falling blocks is visually slow
MC-206540 - Increased input delay when riding an entity
MC-210117 - Sculk sensors don't detect ice and snow melting
MC-210584 - Water does not render behind items modified to use semi-transparent textures
MC-210734 - Translucent blocks and other entities render over invisible spiders' eyes regardless of positions
MC-212671 - Loot table entries of type tag with expand set to true do not apply loot functions to the items
MC-214113 - Endermen and shulkers can teleport onto the Nether roof
MC-218015 - Translucent blocks and other entities render over invisible endermen's eyes regardless of positions
MC-218156 - Shipwrecks and ocean ruins can generate with empty buried treasure maps
MC-223321 - You can destroy turtle eggs by standing or jumping on them in spawn protection
MC-223323 - You can trample farmland in spawn protection
MC-223559 - Transparent blocks, particles, and clouds are not rendered behind semi-transparent marker armor stands
MC-224528 - Two splash texts use curly single quotes (’) instead of apostrophes (')
MC-227008 - Endermen constantly try to teleport when riding a vehicle under daylight
MC-228273 - Goats do not move correctly after they are tempted during a long jump
MC-229405 - The inside of boats blocks the rendering of most translucent objects with the "Improved Transparency" option enabled
MC-229831 - Enchanting tables' GUI has three pixels in the top right corner that shouldn't be there
MC-233888 - Pressing the Space or Enter keys to interact with elements results in the pressed key being executed again
MC-236497 - The head rotations of passengers in boats are not correctly displayed for other players
MC-237053 - Block breaking particles cannot be seen by other players
MC-237165 - Block breaking sounds cannot be heard by other players
MC-237679 - The head rotations of passengers in boats are constantly forced to turn in certain directions if the rider were to dismount the boat while moving left or right
MC-239401 - items/light.png never appears in-game; is pointlessly referenced by other game assets
MC-245030 - The "Bee buzzes" closed caption only appears when a bee buzzes for the first time
MC-247034 - Particles produced from entities growing cannot be seen by other players
MC-248600 - Particles produced from moving in powder snow cannot be seen by other players
MC-248666 - Particles produced from dragon eggs teleporting cannot be seen by other players
MC-249200 - Several entities constantly deviate visually from their actual positions on the client when teleported
MC-252369 - Data packs can fail to load due to a feature cycle when one does not exist
MC-252934 - Placing structures with paintings, item frames, or glow item frames logs Block-attached entity at invalid position: [BlockPosition]
MC-254353 - A packet to remove the score is always broadcast when a score is reset
MC-254370 - The entity_scores predicate type cannot check all possible scores
MC-254547 - Villagers do not level up when exiting the world immediately after filling their experience bar
MC-254661 - /schedule clear requires a namespace in its function argument
MC-256073 - Miscolored pixel in tab_inventory.png
MC-256096 - Some entities on a team can harm teammates that walk into them when friendly fire is disabled
MC-256097 - Some entities on a team can harm their teammates when they explode when friendly fire is disabled
MC-258347 - Endermen no longer create an extra trail of particles when teleporting
MC-258579 - The player's head does not rotate with a delay from the camera in third person view while riding a vehicle
MC-259512 - Horizontal camera rotation lags when riding
MC-259583 - Brewing with a single bottle of dragon's breath does not return a glass bottle afterward
MC-259812 - Block and item displays, beds, clouds, signs, shulker boxes, and semi-transparent blocks and entities don't render behind text displays
MC-260780 - Shulker bullets always push fireballs south
MC-263100 - Cave biomes interfere with relief on exploration maps
MC-263708 - The Key Binds screen renders keypad keys the same as regular keys
MC-264003 - Boats carrying players sometimes stop abruptly when sliding along ice
MC-265423 - When villagers acquire enough experience to level up more than once, they only gain a single level
MC-265584 - TNT dispensed in bubble columns with soul sand right under visually moves through blocks above
MC-265743 - Entities, block entities, clouds and semi-transparent blocks are always rendered in front of text displays with see_through enabled
MC-266231 - Mouse buttons above 8 can't be set as key binds
MC-266429 - Holding Shift on macOS causes the hotbar scroll direction to reverse when scrolling with the mouse
MC-267902 - The failure message of /random when the specified range is too large states an incorrect maximum for the range
MC-268145 - cache_once density functions don't work
MC-268155 - Rendering gaps in the world under specific conditions
MC-268521 - The game window doesn't have a minimal width and height
MC-269968 - Can't scroll with the mouse while holding Shift on macOS (except in the hotbar)
MC-270706 - Trying to brew an uncraftable potion into a splash or lingering potion consumes the reagent but keeps the potion exactly as is
MC-270970 - The player's camera shakes when attempting to step up blocks with a boat above them
MC-271069 - Item entities appear to fly towards the player when picked up by a dolphin that isn't being rendered
MC-271297 - /fillbiome doesn't fail when no changes are made
MC-271723 - Translucent blocks and other entities render over invisible phantoms' eyes regardless of positions
MC-271724 - Translucent blocks and other entities render over invisible breezes' eyes regardless of positions
MC-272801 - Particles and translucent objects do not render when behind the ender dragon's death animation
MC-273327 - The #convertable_to_mud block tag misspells "convertible" as "convertable"
MC-273708 - Endermen taking environmental damage attempt to teleport when riding an entity
MC-274924 - Angry endermen suffocating while in boats or minecarts can attack their target from really far away
MC-275111 - Two animals in a boat look sideways instead of at the player when lured
MC-275532 - The abbreviation "fps" is inconsistently capitalized across strings
MC-276079 - Sending a swing packet to the client causes it to send one back to the server
MC-276692 - Lingering potions which land on the target's head do not grant their effects to the target
MC-277772 - Stained glass renders incorrectly through item models in stained glass with the "Improved Transparency" option enabled
MC-277906 - Ender pearls land incorrectly at high speeds
MC-278336 - The player model still flickers at very high speeds
MC-278557 - Exiting a spinning boat and then inserting a mob makes its head spin forever
MC-278771 - The incorrect command context is used when providing suggestions for redirected commands
MC-279185 - The selectWorld.load_folder_access string is missing an article before the word "folder"
MC-279285 - Experience orbs that have been stuck inside blocks rapidly accelerate toward the ground if they've been disturbed by a player's presence
MC-279395 - Trees can generate floating over ruined portals
MC-279561 - Resin brick walls without a center post are not solid
MC-279586 - Closed captions continue to fade when their sound plays again from farther away, causing visual delays in the overlay
MC-279819 - The mining speed factor of Mining Fatigue is inconsistent at level 3
MC-280250 - Projectiles sometimes desync when thrown or shot while moving
MC-293615 - Tooltip formatting of "[item] x [number]" is inconsistent across different types of items
MC-293755 - The ender dragon's neck and tail disconnect from its body when it turns
MC-295678 - Translucent blocks above water flicker when crossing chunk borders
MC-295756 - Pistons desync on the client, causing players to be moved differently compared to other entities
MC-296006 - Entities do not face the player correctly while in a boat
MC-296368 - The entity.happy_ghast.riding sound event displays no closed caption
MC-296773 - Taken screenshots are rendered as a black image on Intel graphics of Gen7 and Gen7.5 architecture
MC-297741 - Gravity-affected blocks in upwards bubble columns can visually clip through solid blocks above them
MC-298066 - Directly entering a bed from a mount places the player in the wrong place
MC-298431 - Boats are launched by slime blocks inconsistently
MC-298659 - Translucent blocks and some entities render above text displays with see_through enabled
MC-298762 - Phantoms deflect arrows shot from bows or crossbows
MC-299019 - Using a bed while riding a rideable mob causes the player to sleep either on the ground, or on top of the mob
MC-299460 - Saddled pigs in boats carried by happy ghasts can cause a desync when unequipping a carrot on a stick
MC-299582 - Special crafting recipes cannot be given or taken with /recipe and do not respect the limited_crafting game rule
MC-300000 - Players desync when teleporting all users riding a happy ghast
MC-300831 - /test locate always fails
MC-301804 - Test blocks' GUI does not pause the game in singleplayer
MC-302221 - Moving entities deflect arrows
MC-302271 - Sniffers stop sniffing after relog
MC-302537 - /give succeeds when trying to give more than 100 stacks of an item despite the failure message and no items being given
MC-302661 - Interacting with something while holding spears plays the spear jab animation
MC-302687 - Throwing items out of your inventory while holding spears plays the spear jab animation
MC-302705 - Having a spear in the main hand affects the hand animation speed for items held in the off hand
MC-303360 - Flat-cached shifted noise density functions are recalculated for every Y level
MC-303493 - The apply_impulse entity effect does not apply components of the impulse that would cause the affected entity to hit a solid block when used with a tick or location_changed advancement trigger
MC-303626 - Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled
MC-303789 - Looking directly up with an apply_impulse enchantment entity effect will limit the impulse's effect on the X and Z axes to only apply on one of the two horizontal axes
MC-304195 - The arm overlay textures of parched have unused pixels not used by the model
MC-304213 - Zombies, husks and drowned hold out the incorrect arm when holding spears
MC-304594 - Spears can dismount interaction entities from their vehicles
MC-304719 - The InhabitedTime NBT tag for some chunks can be set to impossibly high values when a world is opened
MC-304920 - Spears in third person look wrong when the left hand is the main hand
MC-305214 - Arrows deflecting off of entities get offset
MC-305422 - Players can sometimes get kicked due to a waypoint packet the client fails to handle
MC-305535 - Elytra are activated after only single tapping the "Jump" key when the player is in lava
MC-305707 - /time reports success when no changes are made
MC-306012 - Armadillos can escape fenced areas when at the edge of the simulation distance
MC-306127 - Block outlines are no longer visible behind translucent items
MC-306156 - Breezes, slimes and players between translucent blocks or fluids appear behind them with the "Improved Transparency" option enabled
MC-306231 - Boats are filled with water when viewed through translucent blocks with the "Improved Transparency" option enabled
MC-306318 - Translucent items render through the head of players with a translucent item equipped on their head with the "Improved Transparency" option enabled
MC-306619 - Cannot jump while sneaking while using a Chinese input method
MC-306778 - The fog color no longer transitions smoothly when the weather changes at night while under the Night Vision effect
MC-306891 - Sneaking and then opening the chat forces the IME to switch to the corresponding CJK mode
MC-307122 - The hanging roots drop from hoeing rooted dirt appears to be hardcoded
MC-307206 - Std140Builder incorrectly pads vec3s and ivec3s
MC-307918 - Sculk patches can cause errors in the log during world generation
MC-307933 - Deepslate ores can generate on the surface by replacing tuff around sulfur springs
MC-307938 - Low performance with the Vulkan rendering backend on AMD GPUs
MC-307996 - The game cannot use hardware acceleration on devices lacking the fillModeNonSolid Vulkan feature
MC-308008 - The success message of /tag reports that it affected more entities than it did
MC-308009 - The success message of /scoreboard players enable reports that it affected more players than it did
MC-308011 - The success message of /recipe reports that it affected more players than it did
MC-308012 - The success message of /enchant reports that it affected more entities than it did
MC-308013 - The success message of /effect reports that it affected more entities than it did
MC-308014 - The success message of /clear reports that it affected more players than it did
MC-308125 - Scroll wheel tilting/sideways scrolling appears to move the selected hotbar slot the wrong way
MC-308127 - The "Friends Screen" key bind overrides debug hotkeys using the same key
MC-308222 - World generation heightmaps do not persist properly through chunk saving and loading
MC-308254 - Dying to a sulfur cube with a magma block doesn't increment the player's killed_by:sulfur_cube statistic
MC-308314 - Custom player heads do not render their texture properly when inside a sulfur cube
MC-308344 - Validation error when compiling shaders containing in/out array or matrix variables with the Vulkan rendering backend
MC-308405 - /unpublish succeeds when the game is not published despite the failure message
MC-308406 - Item models are shown incorrectly in the smithing table menu's armor stand
MC-308460 - Some of the stems in wildflowers and pink petals render brighter
MC-308469 - Hitting the ender dragon's head hitbox no longer causes the ender dragon to take more damage
MC-308490 - The "regular" sulfur cube archetype produces stone sounds, despite no longer using stone blocks
MC-308593 - Animated blocks (notably water and lava) render incorrectly on some graphics
MC-308647 - The resource packs screen can cache font glyphs incorrectly after toggling the "Font Settings" option
MC-308694 - Using /defaultgamemode changes everyone's game mode to the one set in "Settings for Other Players" in LAN worlds
MC-308699 - Switching the host's game mode causes new LAN players to ignore the forced game mode
MC-308749 - Exiting and rejoining the same LAN session resets your game mode
MC-308752 - Frame presentation stutters heavily with the OpenGL rendering backend on Intel Arc if a GUI is opened in borderless fullscreen mode
MC-308765 - Ender pearls don't cancel the player's velocity
MC-308789 - Pointed dripstone and sulfur spikes can be destroyed by tridents in Adventure mode
MC-308798 - Dolphins take much longer to pick up items
MC-308804 - The input method does not switch to the corresponding CJK mode in the Create New World screen
MC-308809 - Full-width spaces take up more space on signs now
MC-308830 - Placing beds does not send block updates to the foot half's neighboring blocks
MC-308836 - Obfuscated text no longer keeps a consistent width
MC-308849 - Creakings can take knockback
MC-308851 - The chat_restriction.disabled_by_profile.action string is improperly capitalized
MC-308866 - Unable to change online settings when in a world
MC-308914 - End portals or End gateways held by glowing endermen do not glow
MC-308915 - End portals and End gateways do not glow when inside glowing minecarts
MC-308916 - Glowing TNT that renders as an End portal or End gateway does not glow
MC-308917 - Items with the end_cube special model type do not show a glowing outline where expected
MC-308961 - When changing the game mode using debug hotkeys while in the World Options screen, the "Game Mode" button does not update
MC-309081 - Decorated pots and chorus flowers can be destroyed by projectiles in Adventure mode
MC-309262 - Falling blocks disappear for a split second when landing
MC-309298 - Sending chat messages while having the "Chat Delay" option set to a nonzero value can sometimes kick you from the game
MC-309479 - The game crashes during the loading screen with the message "Failed to wait for frame completion" on some systems
MC-309501 - Dropped shelves rotate off-center
MC-309565 - Block outlines are rendered behind translucent elements if the "High Contrast Block Outlines" option is enabled
MC-309872 - The system freezes when pressing the Windows key with the "Exclusive Fullscreen" option enabled
MC-309875 - New translations for the tooltip of the "Improved Transparency" option are wrongly backported
MC-309891 - The chat_restriction.disabled_by_launcher string lacks a period, unlike similar strings
MC-309893 - The gamerule.minecraft.fire_spread_radius_around_player.description string lacks a period, unlike similar strings
MC-309897 - The gui.report_to_server string is improperly capitalized
MC-309898 - The editGamerule.inGame.discardChanges.title string is improperly capitalized
MC-309901 - The structure_block.position.x string is improperly capitalized
MC-309902 - Some strings contain stray spaces adjacent to line breaks
MC-309903 - The "Isn't It Iron Pick" advancement name is missing a question mark
MC-309907 - The word "whoosh" is misspelled as "woosh" in the subtitles.block.bubble_column.upwards_inside string
MC-309908 - The subtitles.entity.copper_golem.no_item_get string is missing an article before the word "item"
MC-309911 - The words "blocks" and "seconds" in the commands.worldborder.set.grow string are always pluralized
MC-309914 - The commands.op.failed string has awkward and inconsistent adverb placement, unlike similar strings
MC-309915 - The commands.kick.owner.failed string is missing articles before the words "server" and "LAN"
MC-309916 - Some /stopwatch strings incorrectly capitalize the word "Stopwatch" mid-sentence, which is inconsistent with other commands
MC-309918 - The commands.perf.started string is missing a hyphen between the words "10" and "second" and an article before the word "10"
MC-309919 - The mco.errorMessage.6002 string is improperly capitalized
MC-309920 - The mco.configure.world.close.question.line1 string is improperly capitalized
MC-309921 - The mco.snapshot.subscription.info string uses the "to" preposition instead of "with"
MC-309922 - The advMode.trackOutput string is improperly capitalized
MC-309923 - The gamerule.minecraft.entity_drops.description string is improperly capitalized
MC-309924 - The argument.enum.invalid string surrounds the placeholder with double quotes instead of single quotes, unlike every other command
MC-309925 - The mount.onboard string is improperly capitalized
MC-309926 - The selectWorld.edit.backupSize string is improperly capitalized
MC-309927 - The gui.friends.error.unauthorized string lacks a period, unlike similar strings
MC-309928 - The multiplayer.confirm_command.signature_required string lacks a period
MC-309937 - The argument.pos.outofbounds string ends with a period, unlike similar strings
MC-309938 - The quickplay.error.invalid_identifier string is missing an article before the word "world"
MC-309940 - The datapackFailure.safeMode.failed.title string ends with a period, unlike similar title strings
MC-310041 - Under specific conditions, chunk loading frequently fails
MC-310057 - Pressing the "Advancements" key bind while its menu was opened from the pause menu closes both menus
MC-310062 - Armadillos stop following players holding spider eyes after relog
MC-310076 - Mobs sometimes stop just far enough away from the player to be unable to attack them
MC-310182 - Some descriptive tooltip strings lack a period, unlike similar strings
MC-310184 - The commands.bossbar.set.max.unchanged string abbreviates "maximum" to "max", unlike similar strings
MC-310186 - The options.languageWarning string lacks a period, unlike similar strings
MC-310187 - The commands.bossbar.get.visible.visible string uses "shown" instead of "visible", unlike similar strings
MC-310188 - Some /tag list success strings always pluralize the word "tags"
MC-310232 - Resizing the game window in the Realms players menu misplaces UI elements
MC-310233 - Some strings that contain percentages have spaces before the percentage sign, unlike similar strings
MC-310236 - Some strings use an ampersand instead of the word "and", unlike similar strings
MC-310289 - Entity collisions fully above an entity's hitbox are ignored when stepping up blocks
MC-310300 - Other windows cannot be displayed on top of the game window even with the "Exclusive Fullscreen" option disabled
MC-310337 - The game log outputs the incorrect minimum format version requiring the pack_format field in pack.mcmeta
MC-310372 - Tripwires depowering breaks cross-chunk block tick processing order
MC-310476 - Projectiles only collide outright with the world border when underwater
MC-310595 - The Option key on macOS is displayed as "Alt" in the Key Binds screen
MC-310676 - The savanna_lamp_post_01 village structure contains a trailing closing square bracket in the jigsaw block's NBT
MC-310684 - Camels stop following players holding cacti after relog
MC-310787 - Villagers do not level up until the trading window is closed for several seconds
MC-310939 - Interacting with camels with two passengers is preferred over using items
MC-310962 - The trading UI opens and immediately closes when interacting with a villager whose trades were altered with commands
MC-311094 - Villager discounts do not apply until the trading window is closed and reopened
MC-311113 - The game does not hand off focus when clicking links on Wayland
MC-311186 - The water overlay and fog does not render when the player's head is inside a block underwater
MC-311235 - Upgrading a world from before 26.1 can cause data from other worlds to get saved inside it
MC-311245 - Ruined portals can generate replacing End portal frames
MC-311271 - Some loot context parameters are missing from the generic loot context type
MC-311272 - The game crashes when referenced loot context parameters are not provided by certain loot tables
MC-311323 - Locating a structure creates an empty region file for every candidate chunk in ungenerated terrain
MC-311414 - Players can teleport arbitrary distances by using a desynced carrot on a stick on a pig
MC-311419 - Breaking a falling block with another one on top causes the top block to briefly become invisible when landing, revealing unlit block particles
MC-311453 - Particles from feeding flowers to brown mooshrooms cannot be seen by other players
MC-311454 - Particles from water evaporating in the Nether are not properly displayed
MC-311579 - The player can see through blocks when inside snow layers
MC-311593 - Spears' charging animation jitters from another player's perspective when swapping to a spear and charging it in the same tick
MC-311722 - Pressing Windows+↓ in fullscreen mode incorrectly restores the game window to a borderless windowed state