Datapack Codex

Java Edition 26.3 Snapshot 2

Minecraft Wiki article. Categories: Java_Edition_versions, Java_Edition_26.3_snapshots, Java_Edition_snapshots_released_in_2026, Java_Edition_snapshots, Pages_with_YouTube_videos

📌 Mirrored from Minecraft Wiki

This article is reproduced from Java Edition 26.3 Snapshot 2 on the Minecraft Wiki. Mirrored from revision 3709037. It is licensed CC BY-NC-SA 3.0 by the Minecraft Wiki contributors — not under the Codex’s CC BY-SA 4.0, and it may not be used commercially. Edits belong upstream, not here.

Minecraft 26.3 Snapshot 2
26.3-snapshot-2.jpg: Infobox image for Minecraft version 'Minecraft 26.3 Snapshot 2'
Java Edition 26.3 Snapshot 2.png: Infobox image for Minecraft version 'Minecraft 26.3 Snapshot 2'

26.3 Snapshot 2 (known as 26.3-snapshot-2 in the launcher) is the second snapshot for Java Edition 26.3, released on June 30, 2026, which replaces the approach of the "Improved Transparency" option with a new algorithm and fixes bugs.[1]

Additions

General

Block predicates

  • Added minecraft:height_range
    • Checks the height of the position against a given range.
    • Format:
      • min_inclusive: Vertical Anchor describing the minimum height required.
      • max_inclusive: Vertical Anchor describing the maximum height required.

Data component format

  • Added minecraft:block_transformer
    • This component allows items to transform a block into another block on player interaction.
    • 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_state_provider, 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.
      • sound - optional field, sound event to play on interaction, e.g. minecraft:item.axe.strip.
        • If not present, defaults to play no sound event.
      • particle - optional field, particles to play on interaction.
        • If not present, defaults to none
          • none
          • scrape
          • wax_on
          • wax_off
      • disallowed_faces - optional field, list of directions specifying which faces on the clicked block that cannot be interacted with.
        • If a disallowed face is interacted with, the next rule in the list will be attempted.
        • If not present, defaults to an empty list.
        • Values:
          • up
          • down
          • north
          • south
          • east
          • west
      • loot - optional loot table, the loot table to use for dropping items on a successful transformation, e.g. minecraft:till/rooted_dirt.
        • If not present, defaults to using no loot table.
      • drop_strategy - optional field, configures from where in the block any loot should drop.
        • If not present, defaults to from_middle
        • Values:
          • from_middle - from the middle of the block.
          • clicked_face - from the face interacted with.
      • transform_type - optional field, configures how nearby blocks should be affected by the transformation.
        • If not present, defaults to single_block
        • Values:
          • 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.
      • consume_on_use - optional Boolean, determines if the item should be consumed or not.
        • Only applies to stackable items
        • If not present, defaults to true
      • item_damage_per_use - optional Integer, determines how much damage the item takes with each use.
        • Only applies to non-stackable items.
        • If not present, defaults to 1.
    • Interactions related to the block (rather than the item) have higher priority. See Interactable blocks § Mechanics of use on block for more details.
    • Used, by default, in axes[2], hoes[3], and shovels[4].
    • Armor stand, block items (included powder snow bucket), bone meal, brush, debug stick, end crystal, ender eye, fire charge, firework rocket, flint and steel, all hanging entity items (painting, (glow) item frame), honeycomb, lead, all minecarts, all potions, and all spawn eggs has hardcoded effects when interacting with blocks, whereas this data component has no effect whatsoever.
      • Compass, map, and shears has hardcoded effects when interacting with an item, but attempts to transform the blocks according to this component if that fails.

Features

  • Added the minecraft:copy_properties_provider block state provider
    • Copies common Block State properties from the Block at the evaluated position to the resulting state. Format: object with fields:
      • source_block_state_provider[note 1]: Block State Provider, provides the Block State which the copied properties are copied on top of.
        • Only properties common between both the source and the target blocks will be copied.
  • Added minecraft:overlay feature type
    • Places a set of features in the same location.
      • Note that as opposed to the minecraft:sequence feature type, all features are placed regardless of individual placement success.
    • Format:
      • features: Placed Feature ID, non-empty list of Placed Feature IDs or hash-prefixed Placed Feature Tag for the features to place
  • Added minecraft:projected_random_patchy_square feature type
    • Generates a square where each block is randomly placed or not placed with its probability based on the distance from the center of the square, with the center more likely to generate than the edges. Each placed block can be projected downwards if the appropriate conditions are met.
    • Format:
      • block: Block state provider for which block to place
      • project_through: Block Predicate for which blocks are considered "empty" and should be projected through
      • size: Int provider between 1 and 16 that determines the size of the square as measured from the center to the edge
      • max_projection_height: Non-negative integer representing the maximum change in y level from the original height to the placement height for a block in the square

Loot table

  • Added till/rooted_dirt loot table for drops when rooted dirt is tilled with a hoe.

Tags

  • Added #cannot_place_basalt_pillar_on block tag.
  • Added #turns_into_dirt_path block tag.
    • Contains all blocks that turn into dirt path blocks when a shovel is used for pathmaking.
  • Added #turns_into_farmland block tag.
    • Contains all blocks that turn into farmland blocks when a hoe is used for tilling.
  • Added #dowses_campfires item tag.
    • Contains items that can dowse a lit campfire block.

Changes

Blocks

Carpets

  • Can be crafted once again.

Poplar door

  • Item texture changed from to add hinges like other door variants.

Shelf mushroom

  • Both inventory item and placed block texture has been updated.
  • When placed on the player's head via commands, the shelf mushroom will now look like a duck bill instead of just being placed on top of the player's head.

Items

Shield

  • When using a shield together with a hoe or a shovel, raising the shield will take precedence over tilling and pathmaking.
    • Crouching will allow tilling and pathmaking.

Mobs

General

  • Persistent mobs' random walk/swim behaviors will now deactivate when players are not nearby, in the same way as non-persistent mobs.

Drowned

  • Drowned with tridents will now use a melee attack if the player is within 3 blocks of them to match Bedrock Edition.
    • This attack deals a base attack damage of 11.

Wandering Trader

General

Data pack

  • The pack format version is now 109.0.
  • The definition field from the blocks.json data generation report has been removed

Features

  • Changed the minecraft:random_neighbor_spread feature type
    • Renamed from minecraft:glowstone_blob.
      • Now exposes more control over the feature.
      • Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
    • Format changes:
      • Added field block: Block state provider for which block to place.
      • Added field accepted_neighbors: Block ID, list of block IDs or hash-prefixed block tag for which blocks count as a valid neighbor.
      • Added field can_replace: Block predicate for which blocks to replace.
      • Added field attempts: Int provider between 1 and 3000 for how many placements attempts to make.
      • Added field xy_offset[note 2]: Int provider between -16 and 16 for what offsets to try along the x and z axes.
      • Added field y_offset: Int provider between -16 and 16 for what offsets to try along the y axis.
  • Changed the minecraft:single_block_pillar feature type
    • Renamed from minecraft:basalt_pillar.
      • Now exposes more control over the feature functionality.
    • Format changes:
      • Added field block: Block state provider for which block to place.
      • Added field can_replace: Block predicate for which blocks to replace.
      • Added field direction: Vertical direction of the pillar - one of up and down.
      • Added field chance_to_continue: Optional probability between 0 and 1 (default: 1) that the pillar continues another block (assuming can_replace matches)
      • Added field cap_feature: Optional placed feature placed at the end of the pillar.
  • Changed the minecraft:stepped_column_cluster feature type
    • Renamed from minecraft:basalt_columns.
      • Now exposes more control over the feature functionality.
    • Format changes:
      • Added the field block: Block state provider for which block to place.
      • Added the field can_replace: Block predicate for which blocks can be replaced by the column.
      • Added the field continue_through: Block predicate for which pre-existing blocks to accept as part of a column.
      • Added the field cannot_place_on: Block ID, list of block IDs or hash-prefixed block tag ID representing which blocks are avoided when starting placement.
      • Renamed the field reach to column_reach
      • Added the field column_count: int provider (between 1 and 150) - the number of columns to generate.
      • Added the field cluster_reach: int provider (between 0 and 13) - the size of the square to attempt to generate columns in.
        • The effective reach is also limited by height.

Noise settings

  • Spawn Target
    • The spawn_target field has been updated to allow use of any density function, instead of just a subset of those defined within the noise_router field.
    • The suitability of a candidate spawn position is determined by evaluating, in some arbitrary n-dimensional space, the squared Euclidean distance to a set of target hypercubes.
    • For example, one axis might be temperature and the second erosion - and suitability determined by distance to the square between temperature=0.1, erosion=0.2 and temperature=0.3, erosion=0.5. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.
    • Format: list of target hypercubes
      • 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.

Resource pack

  • The version is now 90.0.

Server properties

  • The white-list property is now true by default.

Shaders

  • Replaced current "Improved Transparency" approach with a new Order-independent Transparency (OIT) algorithm which is expected to be much better at solving translucency issues.
    • Added new shaders to support order-independent transparency:
      • 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 the texture sampling logic from core/terrain.fsh into 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 order-independent transparency
      • Introduced new defines:
        • OIT - A boolean indicating if OIT is enabled.
        • OIT_DEPTH_BOUNDS - A boolean indicating if the depth bounds pass is being executed.
        • OIT_TRANSMITTANCE - A boolean indicating if the transmittance pass is being executed.
        • OIT_ACCUMULATE - A boolean indicating if the accumulate pass is being executed.
        • OIT_ALPHA_ONLY - A boolean indicating if either the depth bounds or transmittance pass is being executed.
        • OIT_ADDITIVE - A boolean indicating that the OIT algorithm should emulate additive blending for the executing pipeline.
        • OIT_OPAQUE_PARTS_THRESHOLD - A float determining above which alpha threshold a fragment should be considered solid and not go through OIT.
        • WAVELET_RANK - An integer internal to the OIT algorithm.
        • COEFF_COUNT - An integer internal to the OIT algorithm.
        • COEFF_ATTACHMENT_COUNT - An integer internal to the OIT algorithm.
        • B3D_IS_ZERO_TO_ONE - A boolean indicating if the current rendering backend uses the depth range of [0, 1], it is available globally to all shaders independently of the OIT setting.
        • 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
          • core/terrain.fsh
          • core/terrain.vsh
          • core/text.fsh
          • core/text_background.fsh
          • core/world_border.fsh
          • core/world_border.vsh
    • Removed the old transparency post chain:
      • post_effect/transparency.json
      • shaders/post/transparency.fsh
  • There's a new debug keybind for toggling this functionality on and off, by default set to F3 + X.

Tags

  • Block Tags
    • Removed #nether_carver_replaceables, and #overworld_carver_replaceables tags.
    • Added poplar_sapling to #saplings tag.
    • Added #wool_slabs, and #wool_stairs to #shears_major_breaking_speed tag.
    • Added #bamboo_sapling, and #cobweb to #washed_away_by_fluids tag.
  • Item Tags
    • Added poplar_sapling to #saplings tag.

Textures

  • Particles
    • Added new Particle textures:
      • shelf_mushroom_particle.png

World generation

  • Cave air is no longer generated in Nether caves.
  • Carvers
    • The worldgen/configured_carver registry has been renamed to worldgen/carver
    • Updated minecraft:cave carver type
      • All fields previously under the config field have been inlined to the top-level.
      • Added the 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 tunnel.
        • If not specified, defaults to 1.0
      • Added the thickness field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnels.
      • Added optional weird_thickness_bias field - Boolean
        • If true, thickness will be multiplied by, with a 10% chance: random(0,1)*random(0,3)+1
        • If not specified, defaults to false
      • Removed the replaceable field, carvers will replace any block (excluding features).
      • Removed the lava_level field, fluids are now always selected by the aquifer or sea_level configuration in the dimension.
      • Removed the debug_settings field.
    • Updated minecraft:canyon carver type
      • All fields previously under the config field have been inlined to the top-level.
      • Renamed and moved yScale to shape.y_scale
      • Removed the replaceable field, carvers will replace any block (excluding features).
      • Removed the lava_level field, fluids are now always selected by the aquifer or sea_level configuration in the dimension.
      • Removed the debug_settings field.
    • Removed minecraft:nether_cave carver type
      • Replaced by the minecraft:cave carver type
  • Int Providers
    • Added minecraft:very_biased_to_bottom Int provider type
      • Picks a random value in the provided range, with a quadratic bias towards the minimum value.
      • Format: object with fields:
        • min_inclusive - Integer, the minimum selected value (inclusive).
        • max_inclusive - Integer, the maximum selected value (inclusive).
  • Placement Modifiers
    • Changed minecraft:offset placement modifier
      • Renamed from random_offset.
      • Format:
        • Removed the fields xz_spread and y_spread.
        • Added the fields x, y, z: Integer providers between -16 and 16 specifiying the axis-specific offset.
  • Vertical Anchors
    • Added a new option for vertical Anchors: relative_to_sea_level
      • Specifies an offset to the sea level of the dimension.

Fixes

48 issues fixed

From released versions before 26.3

  • MC-161885 – Many transparent things do not render behind slimes.
  • MC-161898 – Transparent particles make other particles invisible.
  • MC-161926 – The block breaking animation is more transparent when mining ice or stained glass.
  • MC-168653 – Mobs, particles, clouds, water and transparent blocks don't render behind the transparent parts of shulker bullets.
  • 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-210584 – Semi-transparent textures on an item that doesn't have it by default doesn't render water behind it.
  • MC-223559 – Transparent blocks, particles, and clouds are not rendered behind semi-transparent marker armor stands.
  • MC-229405 – The inside of boats blocks the rendering of most translucent objects with the "Improved Transparency" option enabled.
  • MC-252369 – Data packs can fail to load due to a feature cycle when one does not exist.
  • MC-259812 – Block and item displays, beds, clouds, signs, shulker boxes, and semi-transparent blocks and entities don't render behind text displays.
  • MC-265743 – Entities, block entities, clouds and semi-transparent blocks are always rendered in front of text displays with see_through enabled.
  • MC-271069 – Item entities appear to fly towards the player when picked up by a dolphin that isn't being rendered.
  • MC-275111 – Two animals in a boat look sideways instead of at the player when lured.
  • MC-295678 – Translucent blocks above water flicker when crossing chunk borders.
  • MC-296006 – Entities do not face the player correctly whilst in a boat.
  • MC-298659 – Translucent blocks and some entities render above text displays with see_through enabled.
  • MC-303626 – Block hitboxes, particles, semi-transparent blocks and non-block items render behind entity hitboxes with the "Improved Transparency" option enabled.
  • MC-305422 – Players can sometimes get kicked due to a waypoint packet the client fails to handle.
  • 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 if "Improved Transparency" is 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 "Improved Transparency" enabled.
  • MC-307285 – Translucent blocks don't render behind sulfur cubes.
  • MC-307345 – The smoke particles produced by potent sulfur do not render behind stained glass.
  • MC-307902 – Partially transparent blocks inside sulfur cubes don't render correctly.
  • MC-308798 – Dolphins take much longer to pick up items.
  • MC-309081 – Decorated pots and chorus flowers can be destroyed by projectiles in Adventure mode.

From the previous development version

  • MC-309022 – Shelf mushrooms generate facing the wrong direction.
  • MC-309027 – The success message of /teleport with coordinates specified reports that it affected 0 entities.
  • MC-309043 – Carpets can no longer be crafted.
  • MC-309056 – Poplar saplings are not destroyed by water.
  • MC-309067 – Wool slabs and stairs cannot be used as fuel.
  • MC-309075 – Using bone meal on a shelf mushroom a player is standing on causes them to pass through it.
  • MC-309082 – Wandering traders do not sell poplar logs.
  • MC-309084 – Shelf mushrooms' model sticks out of the slot in the hotbar.
  • MC-309105 – Wool stairs and slabs are not broken faster when using shears.
  • MC-309117 – Grass in dappled forests and poplar leaves appear green on maps.
  • MC-309123 – The block breaking particles of shelf mushrooms are not displayed correctly.
  • MC-309133 – The front texture of poplar signs is inconsistent with the front textures of other signs.
  • MC-309136 – The collision box of shelf mushrooms is too large.
  • MC-309173 – The item model of shelf mushrooms displays the large shelf mushroom block model, even though the item places small ones.
  • MC-309184 – Specifying multiple features of type no_op in a data pack prevents the world from loading.
  • MC-309205 – Poplar saplings cannot be used as fuel.
  • MC-309206 – Cobwebs are not destroyed by water.
  • MC-309275 – The texture of the top halves of poplar doors has three miscolored pixels.
  • MC-309302 – Poplar saplings are not in #sapling.
  • MC-309330 – The item texture of poplar doors doesn't have any hinges unlike the item textures of other doors.

Videos

Videos made by slicedlime:

Notes

  1. ↑ Named block_state_provider in the official changelog.
  2. ↑ Named xz_offset in the official changelog.

References

Sources