26.3-snapshot-2 is the second snapshot for Java Edition 26.3, released on June 30, 2026[2], which fixes several bugs.
New Content
General
Custom World Generation
- Added the
minecraft:height_rangeblock predicate.- Checks if the position height is within a specified range.
- Format:
min_inclusive: Vertical anchor, specifying the required minimum height.max_inclusive: Vertical anchor, specifying the required maximum height.
- Added a new option
relative_to_sea_levelfor vertical anchors, specifying an offset relative to the sea level of the current dimension. - Added the
minecraft:copy_properties_providerblock state provider.- Copies common block state properties from the block at the evaluation position to the output block state.
- Formatted as an object with the following fields:
source_block_state_provider[Note 1]: Block state provider that provides the block state to which properties should be copied.- Only properties common to both the source and target blocks will be copied.
Data Components
-
Added the
block_transformercomponent.- This component allows items to transform blocks into other blocks upon player interaction.
- Format is as follows:
-
minecraft:block_transformer
: A transformation rule.
block_state_provider: The block state after transformation, using the same format as block state providers used in world generation. If no result is returned, the next transformation rule is attempted.
sound: The sound event played upon player interaction. Defaults to no sound event if not specified.
particle: (Defaults to
none) The particle displayed upon player interaction. Values can benone,scrape,wax_on, orwax_off.disallowed_faces: (Defaults to an empty list) Specifies faces that cannot be interacted with. If interacted with on these faces, the next transformation rule is attempted.
: The direction of the face. Values can be
up,down,north,south,east, orwest.
loot: The loot table used for items dropped upon successful transformation. Defaults to no loot table if not specified.
drop_strategy: (Defaults to
from_middle) Configures where dropped items should spawn from the block. Values can befrom_middle(drop from the center) orclicked_face(drop from the clicked face).transform_type: (Defaults to
single_block) Configures how this transformation affects surrounding blocks. Values can besingle_blockorcopper_chest. When set tosingle_block, it only affects the interacted block; when set tocopper_chest, if the blocks before and after transformation are both copper chests or any of their oxidized/waxed variants, this transformation will affect both parts of a large copper chest.consume_on_use: (Defaults to
true) Determines whether the item should be consumed; only applicable to stackable items.item_damage_per_use: (Value ≥ 0, defaults to 1) Determines how much durability is consumed per use; only applicable to non-stackable items.
Configured Features
- Added the
minecraft:overlayfeature type.- Places a group of features at the same location. Note that unlike
minecraft:sequence, all features will be placed regardless of the success or failure of individual feature placements. - Format:
features: Placed feature ID, a non-empty list containing placed feature IDs, or a placed feature tag with#, specifying the features to be placed.
- Places a group of features at the same location. Note that unlike
- Added the
minecraft:projected_random_patch_squarefeature type.- Generates a square where the placement probability of each block is based on its distance from the center of the square, with blocks at the center being more likely to generate than those at the edges. Each placed block can be projected downwards if corresponding conditions are met.
- Format:
block: Block state provider, specifying the block to be placed.project_through: Block predicate, specifying which blocks should be ignored and passed through during projection.size: Integer provider (1 ≤ value ≤ 16), determining the size of the square, measured from the center to the edge.max_projection_height: Non-negative integer, representing the maximum height variation for each block in the square relative to the original height during placement.
Loot Tables
- Added the
till/rooted_dirtloot table, used to control drops when roots are scraped off rooted dirt using a hoe.
Tags
- Added the
#turns_into_dirt_pathblock tag, containing blocks that can be transformed into dirt paths by a shovel. - Added the
#dowses_campfiresitem tag, containing items that can be used to extinguish campfires.
Changes
Blocks
Wool Slabs and Wool Stairs
- Can now be used as fuel.
- The appropriate mining tool is now shears.
Poplar Saplings
- Can now be used as fuel.
- Are now destroyed by water flow.
Poplar Signs
- Changed block texture.
Poplar Doors
- Changed block and item textures.
Cave Air
- No longer generates in Nether caves.
Shelf Fungi
- Changed collision box, texture files, and UVs.
- Block items now use the model from the initial stage.
- Now renders at the mouth rather than the top of the head when worn by humanoid mobs in the helmet slot.
- Block breaking particles now use a separate texture.
Mobs
Drowned
- Drowned holding tridents will now use melee attacks when within 3 blocks of their target, matching Bedrock Edition.
Wandering Trader
- Now sells Poplar Logs.
General
Data Packs
- Changed the data pack version number to
109.0.
Configured Features
- Renamed feature type
minecraft:basalt_columnstominecraft:stepped_column_clusterand exposed more control over feature functionality.- Added the following fields:
block: Block state provider, specifying the block to be placed.can_replace: Block predicate, specifying which blocks can be replaced by this column.continue_through: Block predicate, specifying which existing blocks can be preserved as part of this column.cannot_place_on: Block ID, a list of block IDs, or a block tag ID with#, specifying blocks to avoid when starting placement.column_count: Integer provider (1 ≤ value ≤ 150), the number of columns to generate.cluster_reach: Integer provider (1 ≤ value ≤ 13), the size of the square area to attempt column generation.- The effective generation range is also limited by
height.
- The effective generation range is also limited by
- Renamed field
reachtocolumn_reach.
- Added the following fields:
- Renamed feature type
minecraft:basalt_pillartominecraft:single_block_pillarand exposed more control over feature functionality.- Added the following fields:
block: Block state provider, specifying the block to be placed.can_replace: Block predicate, specifying which blocks can be replaced.direction: The vertical direction of the column, values can beup(upwards) ordown(downwards).chance_to_continue: (Optional, 0 ≤ value ≤ 1, defaults to 1) The probability of the column connecting to another block (assumingcan_replacematches).cap_feature: (Optional) Placed feature, which will be placed at the end of the column.
- Added the following fields:
- Renamed feature type
minecraft:glowstone_blobtominecraft:random_neighbor_spreadand exposed more control over feature functionality.- Added the following fields:
block: Block state provider, specifying the block to be placed.accepted_neighbors: Block ID, a list of block IDs, or a block tag ID with#, specifying which blocks can be considered valid adjacent blocks.can_replace: Block predicate, specifying which blocks can be replaced.attempts: Integer provider (1 ≤ value ≤ 3000), the number of placement attempts.xy_offset[Note 2]: Integer provider (-16 ≤ value ≤ 16), the attempt offset along the X and Z axes.y_offset: Integer provider (-16 ≤ value ≤ 16), the attempt offset along the Y axis.
- Added the following fields:
Options
- Replaced the implementation of the "Improve Transparency" option with a new Order-Independent Transparency (OIT) algorithm, which is expected to better resolve transparency rendering issues.
Placed Features
- Renamed placement modifier
random_offsettooffset.- Removed
xz_spreadandy_spreadfields. - Added
x,y,zfields: Integer provider (-16 ≤ value ≤ 16), specifying offsets per axis.
- Removed
Resource Packs
- Changed the resource pack version number to
90.0.
Shaders and Post-Processing Pipeline
- Added the following shaders to support the Order-Independent Transparency algorithm:
core/oit_composite.fshinclude/oit.glslinclude/oit_add_transmittance.glslinclude/oit_common.glslinclude/oit_depth_bounds.glslinclude/oit_depth_sample.glslinclude/oit_sample.glsl
- Extracted texture sampling logic from
core/terrain.fshtoinclude/texture_sampling.glsl. - Renamed the following core shaders:
core/rendertype_clouds.vsh->core/clouds.vshcore/rendertype_clouds.fsh->core/clouds.fshcore/rendertype_world_border.vsh->core/world_border.vshcore/rendertype_world_border.fsh->core/world_border.fsh
- Updated core shaders to support the Order-Independent Transparency algorithm.
- Introduced the following new definitions:
OIT: Boolean, indicating whether OIT is enabled.OIT_DEPTH_BOUNDS: Boolean, indicating whether the depth boundary pass is being executed.OIT_TRANSMITTANCE: Boolean, indicating whether the transmittance pass is being executed.OIT_ACCUMULATE: Boolean, indicating whether the accumulation pass is being executed.OIT_ALPHA_ONLY: Boolean, indicating whether the depth boundary or transmittance pass is being executed.OIT_ADDITIVE: Boolean, indicating whether the OIT algorithm should simulate additive blending for the current execution pipeline.OIT_OPAQUE_PARTS_THRESHOLD: Float, used to determine above which alpha threshold a fragment should be considered opaque and not processed via OIT.WAVELET_RANK: Integer internal to the OIT algorithm.COEFF_COUNT: Integer internal to the OIT algorithm.COEFF_ATTACHMENT_COUNT: Integer internal to the OIT algorithm.B3D_IS_ZERO_TO_ONE: Boolean, indicating whether the current rendering backend uses a [0, 1] depth range; this definition is independent of OIT settings and applies globally to all shaders.- Affected shaders:
core/block.fshcore/block.vshcore/clouds.fshcore/clouds.vshcore/entity.fshcore/entity.vshcore/item.fshcore/item.vshcore/particle.fshcore/position_color.fsh- @@MCFUN_KEEP_0011
- Introduced the following new definitions: