Minecraft Java Edition 26.3-snapshot-2 Released
Jul 2, 2026

Minecraft Java Edition 26.3-snapshot-2 Released

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_range block 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_level for vertical anchors, specifying an offset relative to the sea level of the current dimension.
  • Added the minecraft:copy_properties_provider block 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_transformer component.

    • This component allows items to transform blocks into other blocks upon player interaction.
    • Format is as follows:
  • NBT List/JSON Arrayminecraft:block_transformer

    • NBT Compound Tag/JSON Object: A transformation rule.
      • NBT Compound Tag/JSON Objectblock_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.
      • StringNBT Compound Tag/JSON Objectsound: The sound event played upon player interaction. Defaults to no sound event if not specified.
      • Stringparticle: (Defaults to none) The particle displayed upon player interaction. Values can be none, scrape, wax_on, or wax_off.
      • NBT List/JSON Arraydisallowed_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.
        • String: The direction of the face. Values can be up, down, north, south, east, or west.
      • Stringloot: The loot table used for items dropped upon successful transformation. Defaults to no loot table if not specified.
      • Stringdrop_strategy: (Defaults to from_middle) Configures where dropped items should spawn from the block. Values can be from_middle (drop from the center) or clicked_face (drop from the clicked face).
      • Stringtransform_type: (Defaults to single_block) Configures how this transformation affects surrounding blocks. Values can be single_block or copper_chest. When set to single_block, it only affects the interacted block; when set to copper_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.
      • Booleanconsume_on_use: (Defaults to true) Determines whether the item should be consumed; only applicable to stackable items.
      • Integeritem_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:overlay feature 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.
  • Added the minecraft:projected_random_patch_square feature 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_dirt loot table, used to control drops when roots are scraped off rooted dirt using a hoe.

Tags

  • Added the #turns_into_dirt_path block tag, containing blocks that can be transformed into dirt paths by a shovel.
  • Added the #dowses_campfires item 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_columns to minecraft:stepped_column_cluster and 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.
    • Renamed field reach to column_reach.
  • Renamed feature type minecraft:basalt_pillar to minecraft:single_block_pillar and 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 be up (upwards) or down (downwards).
      • chance_to_continue: (Optional, 0 ≤ value ≤ 1, defaults to 1) The probability of the column connecting to another block (assuming can_replace matches).
      • cap_feature: (Optional) Placed feature, which will be placed at the end of the column.
  • Renamed feature type minecraft:glowstone_blob to minecraft:random_neighbor_spread and 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.

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_offset to offset.
    • Removed xz_spread and y_spread fields.
    • Added x, y, z fields: Integer provider (-16 ≤ value ≤ 16), specifying offsets per axis.

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.fsh
    • include/oit.glsl
    • include/oit_add_transmittance.glsl
    • include/oit_common.glsl
    • include/oit_depth_bounds.glsl
    • include/oit_depth_sample.glsl
    • include/oit_sample.glsl
  • Extracted texture sampling logic from core/terrain.fsh to include/texture_sampling.glsl.
  • Renamed the following core shaders:
    • core/rendertype_clouds.vsh -> core/clouds.vsh
    • core/rendertype_clouds.fsh -> core/clouds.fsh
    • core/rendertype_world_border.vsh -> core/world_border.vsh
    • core/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.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
        • @@MCFUN_KEEP_0011

Continue reading

Latest articles

View all