Java Edition 26.3

Minecraft Wiki article. Categories: Java_Edition_versions, Planned_versions, Testing_needed

📌 Mirrored from Minecraft Wiki

This article is reproduced from Java Edition 26.3 on the Minecraft Wiki. Mirrored from revision 3724939. 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
Other editions with a version "26.3":
 
There is a guide for this update!
 
See Java Edition guides/Third Drop 2026 for a guide to all of the new features introduced in Third Drop 2026.

26.3, the release of the third game drop of 2026, is an upcoming game drop for Java Edition set to release in the third quarter of 2026, which adds the dappled forest biome including the new poplars, red shrubs, shelf mushrooms, it also adds wool stairs and slabs, concrete stairs and slabs, straw beds, cushions, and a new structure called the abandoned camp.

Additions

26.3 block and item additionsInvicon Poplar Log.png: Inventory sprite for Poplar Log in Minecraft as shown in-game linking to Poplar Log with description: Poplar LogInvicon Stripped Poplar Log.png: Inventory sprite for Stripped Poplar Log in Minecraft as shown in-game linking to Stripped Poplar Log with description: Stripped Poplar LogInvicon Poplar Wood.png: Inventory sprite for Poplar Wood in Minecraft as shown in-game linking to Poplar Wood with description: Poplar WoodInvicon Stripped Poplar Wood.png: Inventory sprite for Stripped Poplar Wood in Minecraft as shown in-game linking to Stripped Poplar Wood with description: Stripped Poplar WoodInvicon Poplar Planks.png: Inventory sprite for Poplar Planks in Minecraft as shown in-game linking to Poplar Planks with description: Poplar PlanksInvicon Poplar Stairs.png: Inventory sprite for Poplar Stairs in Minecraft as shown in-game linking to Poplar Stairs with description: Poplar StairsInvicon Poplar Slab.png: Inventory sprite for Poplar Slab in Minecraft as shown in-game linking to Poplar Slab with description: Poplar SlabInvicon Poplar Sign.png: Inventory sprite for Poplar Sign in Minecraft as shown in-game linking to Poplar Sign with description: Poplar SignInvicon Poplar Hanging Sign.png: Inventory sprite for Poplar Hanging Sign in Minecraft as shown in-game linking to Poplar Hanging Sign with description: Poplar Hanging SignInvicon Poplar Button.png: Inventory sprite for Poplar Button in Minecraft as shown in-game linking to Poplar Button with description: Poplar ButtonInvicon Poplar Pressure Plate.png: Inventory sprite for Poplar Pressure Plate in Minecraft as shown in-game linking to Poplar Pressure Plate with description: Poplar Pressure PlateInvicon Poplar Door.png: Inventory sprite for Poplar Door in Minecraft as shown in-game linking to Poplar Door with description: Poplar DoorInvicon Poplar Fence.png: Inventory sprite for Poplar Fence in Minecraft as shown in-game linking to Poplar Fence with description: Poplar FenceInvicon Poplar Fence Gate.png: Inventory sprite for Poplar Fence Gate in Minecraft as shown in-game linking to Poplar Fence Gate with description: Poplar Fence GateInvicon Poplar Trapdoor.png: Inventory sprite for Poplar Trapdoor in Minecraft as shown in-game linking to Poplar Trapdoor with description: Poplar TrapdoorInvicon Poplar Shelf.png: Inventory sprite for Poplar Shelf in Minecraft as shown in-game linking to Poplar Shelf with description: Poplar ShelfInvicon Poplar Boat.png: Inventory sprite for Poplar Boat in Minecraft as shown in-game linking to Poplar Boat with description: Poplar BoatInvicon Poplar Boat with Chest.png: Inventory sprite for Poplar Boat with Chest in Minecraft as shown in-game linking to Poplar Boat with Chest with description: Poplar Boat with ChestInvicon Red Poplar Leaves.png: Inventory sprite for Red Poplar Leaves in Minecraft as shown in-game linking to Red Poplar Leaves with description: Red Poplar LeavesInvicon Orange Poplar Leaves.png: Inventory sprite for Orange Poplar Leaves in Minecraft as shown in-game linking to Orange Poplar Leaves with description: Orange Poplar LeavesInvicon Yellow Poplar Leaves.png: Inventory sprite for Yellow Poplar Leaves in Minecraft as shown in-game linking to Yellow Poplar Leaves with description: Yellow Poplar LeavesInvicon Poplar Sapling.png: Inventory sprite for Poplar Sapling in Minecraft as shown in-game linking to Poplar Sapling with description: Poplar SaplingInvicon Red Shrub.png: Inventory sprite for Red Shrub in Minecraft as shown in-game linking to Red Shrub with description: Red ShrubInvicon Shelf Mushroom.png: Inventory sprite for Shelf Mushroom in Minecraft as shown in-game linking to Shelf Mushroom with description: Shelf MushroomInvicon White Wool Stairs.png: Inventory sprite for White Wool Stairs in Minecraft as shown in-game linking to White Wool Stairs with description: White Wool StairsInvicon White Wool Slab.png: Inventory sprite for White Wool Slab in Minecraft as shown in-game linking to White Wool Slab with description: White Wool SlabInvicon White Cushion.png: Inventory sprite for White Cushion in Minecraft as shown in-game linking to White Cushion with description: White CushionInvicon Light Gray Wool Stairs.png: Inventory sprite for Light Gray Wool Stairs in Minecraft as shown in-game linking to Light Gray Wool Stairs with description: Light Gray Wool StairsInvicon Light Gray Wool Slab.png: Inventory sprite for Light Gray Wool Slab in Minecraft as shown in-game linking to Light Gray Wool Slab with description: Light Gray Wool SlabInvicon Light Gray Cushion.png: Inventory sprite for Light Gray Cushion in Minecraft as shown in-game linking to Light Gray Cushion with description: Light Gray CushionInvicon Gray Wool Stairs.png: Inventory sprite for Gray Wool Stairs in Minecraft as shown in-game linking to Gray Wool Stairs with description: Gray Wool StairsInvicon Gray Wool Slab.png: Inventory sprite for Gray Wool Slab in Minecraft as shown in-game linking to Gray Wool Slab with description: Gray Wool SlabInvicon Gray Cushion.png: Inventory sprite for Gray Cushion in Minecraft as shown in-game linking to Gray Cushion with description: Gray CushionInvicon Black Wool Stairs.png: Inventory sprite for Black Wool Stairs in Minecraft as shown in-game linking to Black Wool Stairs with description: Black Wool StairsInvicon Black Wool Slab.png: Inventory sprite for Black Wool Slab in Minecraft as shown in-game linking to Black Wool Slab with description: Black Wool SlabInvicon Black Cushion.png: Inventory sprite for Black Cushion in Minecraft as shown in-game linking to Black Cushion with description: Black CushionInvicon Brown Wool Stairs.png: Inventory sprite for Brown Wool Stairs in Minecraft as shown in-game linking to Brown Wool Stairs with description: Brown Wool StairsInvicon Brown Wool Slab.png: Inventory sprite for Brown Wool Slab in Minecraft as shown in-game linking to Brown Wool Slab with description: Brown Wool SlabInvicon Brown Cushion.png: Inventory sprite for Brown Cushion in Minecraft as shown in-game linking to Brown Cushion with description: Brown CushionInvicon Red Wool Stairs.png: Inventory sprite for Red Wool Stairs in Minecraft as shown in-game linking to Red Wool Stairs with description: Red Wool StairsInvicon Red Wool Slab.png: Inventory sprite for Red Wool Slab in Minecraft as shown in-game linking to Red Wool Slab with description: Red Wool SlabInvicon Red Cushion.png: Inventory sprite for Red Cushion in Minecraft as shown in-game linking to Red Cushion with description: Red CushionInvicon Orange Wool Stairs.png: Inventory sprite for Orange Wool Stairs in Minecraft as shown in-game linking to Orange Wool Stairs with description: Orange Wool StairsInvicon Orange Wool Slab.png: Inventory sprite for Orange Wool Slab in Minecraft as shown in-game linking to Orange Wool Slab with description: Orange Wool SlabInvicon Orange Cushion.png: Inventory sprite for Orange Cushion in Minecraft as shown in-game linking to Orange Cushion with description: Orange CushionInvicon Yellow Wool Stairs.png: Inventory sprite for Yellow Wool Stairs in Minecraft as shown in-game linking to Yellow Wool Stairs with description: Yellow Wool StairsInvicon Yellow Wool Slab.png: Inventory sprite for Yellow Wool Slab in Minecraft as shown in-game linking to Yellow Wool Slab with description: Yellow Wool SlabInvicon Yellow Cushion.png: Inventory sprite for Yellow Cushion in Minecraft as shown in-game linking to Yellow Cushion with description: Yellow CushionInvicon Lime Wool Stairs.png: Inventory sprite for Lime Wool Stairs in Minecraft as shown in-game linking to Lime Wool Stairs with description: Lime Wool StairsInvicon Lime Wool Slab.png: Inventory sprite for Lime Wool Slab in Minecraft as shown in-game linking to Lime Wool Slab with description: Lime Wool SlabInvicon Lime Cushion.png: Inventory sprite for Lime Cushion in Minecraft as shown in-game linking to Lime Cushion with description: Lime CushionInvicon Green Wool Stairs.png: Inventory sprite for Green Wool Stairs in Minecraft as shown in-game linking to Green Wool Stairs with description: Green Wool StairsInvicon Green Wool Slab.png: Inventory sprite for Green Wool Slab in Minecraft as shown in-game linking to Green Wool Slab with description: Green Wool SlabInvicon Green Cushion.png: Inventory sprite for Green Cushion in Minecraft as shown in-game linking to Green Cushion with description: Green CushionInvicon Cyan Wool Stairs.png: Inventory sprite for Cyan Wool Stairs in Minecraft as shown in-game linking to Cyan Wool Stairs with description: Cyan Wool StairsInvicon Cyan Wool Slab.png: Inventory sprite for Cyan Wool Slab in Minecraft as shown in-game linking to Cyan Wool Slab with description: Cyan Wool SlabInvicon Cyan Cushion.png: Inventory sprite for Cyan Cushion in Minecraft as shown in-game linking to Cyan Cushion with description: Cyan CushionInvicon Light Blue Wool Stairs.png: Inventory sprite for Light Blue Wool Stairs in Minecraft as shown in-game linking to Light Blue Wool Stairs with description: Light Blue Wool StairsInvicon Light Blue Wool Slab.png: Inventory sprite for Light Blue Wool Slab in Minecraft as shown in-game linking to Light Blue Wool Slab with description: Light Blue Wool SlabInvicon Light Blue Cushion.png: Inventory sprite for Light Blue Cushion in Minecraft as shown in-game linking to Light Blue Cushion with description: Light Blue CushionInvicon Blue Wool Stairs.png: Inventory sprite for Blue Wool Stairs in Minecraft as shown in-game linking to Blue Wool Stairs with description: Blue Wool StairsInvicon Blue Wool Slab.png: Inventory sprite for Blue Wool Slab in Minecraft as shown in-game linking to Blue Wool Slab with description: Blue Wool SlabInvicon Blue Cushion.png: Inventory sprite for Blue Cushion in Minecraft as shown in-game linking to Blue Cushion with description: Blue CushionInvicon Purple Wool Stairs.png: Inventory sprite for Purple Wool Stairs in Minecraft as shown in-game linking to Purple Wool Stairs with description: Purple Wool StairsInvicon Purple Wool Slab.png: Inventory sprite for Purple Wool Slab in Minecraft as shown in-game linking to Purple Wool Slab with description: Purple Wool SlabInvicon Purple Cushion.png: Inventory sprite for Purple Cushion in Minecraft as shown in-game linking to Purple Cushion with description: Purple CushionInvicon Magenta Wool Stairs.png: Inventory sprite for Magenta Wool Stairs in Minecraft as shown in-game linking to Magenta Wool Stairs with description: Magenta Wool StairsInvicon Magenta Wool Slab.png: Inventory sprite for Magenta Wool Slab in Minecraft as shown in-game linking to Magenta Wool Slab with description: Magenta Wool SlabInvicon Magenta Cushion.png: Inventory sprite for Magenta Cushion in Minecraft as shown in-game linking to Magenta Cushion with description: Magenta CushionInvicon Pink Wool Stairs.png: Inventory sprite for Pink Wool Stairs in Minecraft as shown in-game linking to Pink Wool Stairs with description: Pink Wool StairsInvicon Pink Wool Slab.png: Inventory sprite for Pink Wool Slab in Minecraft as shown in-game linking to Pink Wool Slab with description: Pink Wool SlabInvicon Pink Cushion.png: Inventory sprite for Pink Cushion in Minecraft as shown in-game linking to Pink Cushion with description: Pink CushionInvicon White Concrete Stairs.png: Inventory sprite for White Concrete Stairs in Minecraft as shown in-game linking to White Concrete Stairs with description: White Concrete StairsInvicon White Concrete Slab.png: Inventory sprite for White Concrete Slab in Minecraft as shown in-game linking to White Concrete Slab with description: White Concrete SlabInvicon Light Gray Concrete Stairs.png: Inventory sprite for Light Gray Concrete Stairs in Minecraft as shown in-game linking to Light Gray Concrete Stairs with description: Light Gray Concrete StairsInvicon Light Gray Concrete Slab.png: Inventory sprite for Light Gray Concrete Slab in Minecraft as shown in-game linking to Light Gray Concrete Slab with description: Light Gray Concrete SlabInvicon Gray Concrete Stairs.png: Inventory sprite for Gray Concrete Stairs in Minecraft as shown in-game linking to Gray Concrete Stairs with description: Gray Concrete StairsInvicon Gray Concrete Slab.png: Inventory sprite for Gray Concrete Slab in Minecraft as shown in-game linking to Gray Concrete Slab with description: Gray Concrete SlabInvicon Black Concrete Stairs.png: Inventory sprite for Black Concrete Stairs in Minecraft as shown in-game linking to Black Concrete Stairs with description: Black Concrete StairsInvicon Black Concrete Slab.png: Inventory sprite for Black Concrete Slab in Minecraft as shown in-game linking to Black Concrete Slab with description: Black Concrete SlabInvicon Brown Concrete Stairs.png: Inventory sprite for Brown Concrete Stairs in Minecraft as shown in-game linking to Brown Concrete Stairs with description: Brown Concrete StairsInvicon Brown Concrete Slab.png: Inventory sprite for Brown Concrete Slab in Minecraft as shown in-game linking to Brown Concrete Slab with description: Brown Concrete SlabInvicon Red Concrete Stairs.png: Inventory sprite for Red Concrete Stairs in Minecraft as shown in-game linking to Red Concrete Stairs with description: Red Concrete StairsInvicon Red Concrete Slab.png: Inventory sprite for Red Concrete Slab in Minecraft as shown in-game linking to Red Concrete Slab with description: Red Concrete SlabInvicon Orange Concrete Stairs.png: Inventory sprite for Orange Concrete Stairs in Minecraft as shown in-game linking to Orange Concrete Stairs with description: Orange Concrete StairsInvicon Orange Concrete Slab.png: Inventory sprite for Orange Concrete Slab in Minecraft as shown in-game linking to Orange Concrete Slab with description: Orange Concrete SlabInvicon Yellow Concrete Stairs.png: Inventory sprite for Yellow Concrete Stairs in Minecraft as shown in-game linking to Yellow Concrete Stairs with description: Yellow Concrete StairsInvicon Yellow Concrete Slab.png: Inventory sprite for Yellow Concrete Slab in Minecraft as shown in-game linking to Yellow Concrete Slab with description: Yellow Concrete SlabInvicon Lime Concrete Stairs.png: Inventory sprite for Lime Concrete Stairs in Minecraft as shown in-game linking to Lime Concrete Stairs with description: Lime Concrete StairsInvicon Lime Concrete Slab.png: Inventory sprite for Lime Concrete Slab in Minecraft as shown in-game linking to Lime Concrete Slab with description: Lime Concrete SlabInvicon Green Concrete Stairs.png: Inventory sprite for Green Concrete Stairs in Minecraft as shown in-game linking to Green Concrete Stairs with description: Green Concrete StairsInvicon Green Concrete Slab.png: Inventory sprite for Green Concrete Slab in Minecraft as shown in-game linking to Green Concrete Slab with description: Green Concrete SlabInvicon Cyan Concrete Stairs.png: Inventory sprite for Cyan Concrete Stairs in Minecraft as shown in-game linking to Cyan Concrete Stairs with description: Cyan Concrete StairsInvicon Cyan Concrete Slab.png: Inventory sprite for Cyan Concrete Slab in Minecraft as shown in-game linking to Cyan Concrete Slab with description: Cyan Concrete SlabInvicon Light Blue Concrete Stairs.png: Inventory sprite for Light Blue Concrete Stairs in Minecraft as shown in-game linking to Light Blue Concrete Stairs with description: Light Blue Concrete StairsInvicon Light Blue Concrete Slab.png: Inventory sprite for Light Blue Concrete Slab in Minecraft as shown in-game linking to Light Blue Concrete Slab with description: Light Blue Concrete SlabInvicon Blue Concrete Stairs.png: Inventory sprite for Blue Concrete Stairs in Minecraft as shown in-game linking to Blue Concrete Stairs with description: Blue Concrete StairsInvicon Blue Concrete Slab.png: Inventory sprite for Blue Concrete Slab in Minecraft as shown in-game linking to Blue Concrete Slab with description: Blue Concrete SlabInvicon Purple Concrete Stairs.png: Inventory sprite for Purple Concrete Stairs in Minecraft as shown in-game linking to Purple Concrete Stairs with description: Purple Concrete StairsInvicon Purple Concrete Slab.png: Inventory sprite for Purple Concrete Slab in Minecraft as shown in-game linking to Purple Concrete Slab with description: Purple Concrete SlabInvicon Magenta Concrete Stairs.png: Inventory sprite for Magenta Concrete Stairs in Minecraft as shown in-game linking to Magenta Concrete Stairs with description: Magenta Concrete StairsInvicon Magenta Concrete Slab.png: Inventory sprite for Magenta Concrete Slab in Minecraft as shown in-game linking to Magenta Concrete Slab with description: Magenta Concrete SlabInvicon Pink Concrete Stairs.png: Inventory sprite for Pink Concrete Stairs in Minecraft as shown in-game linking to Pink Concrete Stairs with description: Pink Concrete StairsInvicon Pink Concrete Slab.png: Inventory sprite for Pink Concrete Slab in Minecraft as shown in-game linking to Pink Concrete Slab with description: Pink Concrete SlabInvicon Straw Bed.png: Inventory sprite for Straw Bed in Minecraft as shown in-game linking to Straw Bed with description: Straw BedInvicon Buried Ancient City Map.png: Inventory sprite for Buried Ancient City Map in Minecraft as shown in-game linking to Buried Ancient City Map with description: Buried Ancient City MapInvicon Buried Mineshaft Map.png: Inventory sprite for Buried Mineshaft Map in Minecraft as shown in-game linking to Buried Mineshaft Map with description: Buried Mineshaft MapInvicon Desert Pyramid Map.png: Inventory sprite for Desert Pyramid Map in Minecraft as shown in-game linking to Desert Pyramid Map with description: Desert Pyramid MapInvicon Warm Ocean Ruins Map.png: Inventory sprite for Warm Ocean Ruins Map in Minecraft as shown in-game linking to Warm Ocean Ruins Map with description: Warm Ocean Ruins MapInvicon Bamboo Camp Map.png: Inventory sprite for Bamboo Camp Map in Minecraft as shown in-game linking to Bamboo Camp Map with description: Bamboo Camp MapInvicon Birch Forest Camp Map.png: Inventory sprite for Birch Forest Camp Map in Minecraft as shown in-game linking to Birch Forest Camp Map with description: Birch Forest Camp MapInvicon Cherry Grove Camp Map.png: Inventory sprite for Cherry Grove Camp Map in Minecraft as shown in-game linking to Cherry Grove Camp Map with description: Cherry Grove Camp MapInvicon Dappled Forest Camp Map.png: Inventory sprite for Dappled Forest Camp Map in Minecraft as shown in-game linking to Dappled Forest Camp Map with description: Dappled Forest Camp MapInvicon Flower Forest Camp Map.png: Inventory sprite for Flower Forest Camp Map in Minecraft as shown in-game linking to Flower Forest Camp Map with description: Flower Forest Camp MapInvicon Pale Garden Camp Map.png: Inventory sprite for Pale Garden Camp Map in Minecraft as shown in-game linking to Pale Garden Camp Map with description: Pale Garden Camp MapInvicon Swamp Camp Map.png: Inventory sprite for Swamp Camp Map in Minecraft as shown in-game linking to Swamp Camp Map with description: Swamp Camp MapInvicon Windswept Forest Camp Map.png: Inventory sprite for Windswept Forest Camp Map in Minecraft as shown in-game linking to Windswept Forest Camp Map with description: Windswept Forest Camp Map

Blocks

Concrete stairs and slabs

Poplar wood set:

Red shrub

  • A bush-like plant block found in small patches in the dappled forest.
  • Using bone meal on a red shrub attempts to grow another shrub on a neighboring block.
  • Can be used in the composter.

Shelf mushroom

  • A mushroom variant found on poplar trees and fallen poplar trees.
  • Comes in two sizes.
    • A small shelf mushroom can be grown into a large shelf mushroom with bone meal.
    • A large shelf mushroom drops two shelf mushroom items when broken.
  • Is bouncy when fallen on by entities, similar to a bed.
    • Shelf mushroom makes a bouncing sound when a living entity bounces on it.
  • Can be used to make mushroom stew and suspicious stew.
  • Can be sold by a wandering trader.
  • Can be used in the composter.

Straw bed

  • A new type of bed which can be used to sleep through the night without resetting the player's spawn point.
  • Can only be used once and is destroyed after use.
  • Cannot be used in the Nether or the End and will be destroyed upon attempt to use, without dropping as an item.
  • Won't be used by villagers, unlike other beds.
  • Generates naturally in abandoned camps.
  • 4 straw beds are crafted with 3 hay bales.
  • Can stack up to 16.
Ingredients Crafting recipe
Hay Bale

Wool stairs and slabs

  • Comes in sixteen colors.
  • Crafted using wool.
  • Can be used to dampen sounds, like wool and carpets.
  • They are also not usable in other ways like wool.

Items

New explorer maps

Non-mob entities

Cushion

  • A new entity that players can interact with to sit on.
  • Has 16 variants, crafted with its respective variant of wool slab.
  • Can stack up to 16.
Ingredients Crafting recipe
Matching Wool Slab
Invicon White Wool Slab.png: Inventory sprite for White Wool Slab in Minecraft as shown in-game linking to White Wool Slab with description: White Wool SlabInvicon Light Gray Wool Slab.png: Inventory sprite for Light Gray Wool Slab in Minecraft as shown in-game linking to Light Gray Wool Slab with description: Light Gray Wool SlabInvicon Gray Wool Slab.png: Inventory sprite for Gray Wool Slab in Minecraft as shown in-game linking to Gray Wool Slab with description: Gray Wool SlabInvicon Black Wool Slab.png: Inventory sprite for Black Wool Slab in Minecraft as shown in-game linking to Black Wool Slab with description: Black Wool SlabInvicon Brown Wool Slab.png: Inventory sprite for Brown Wool Slab in Minecraft as shown in-game linking to Brown Wool Slab with description: Brown Wool SlabInvicon Red Wool Slab.png: Inventory sprite for Red Wool Slab in Minecraft as shown in-game linking to Red Wool Slab with description: Red Wool SlabInvicon Orange Wool Slab.png: Inventory sprite for Orange Wool Slab in Minecraft as shown in-game linking to Orange Wool Slab with description: Orange Wool SlabInvicon Yellow Wool Slab.png: Inventory sprite for Yellow Wool Slab in Minecraft as shown in-game linking to Yellow Wool Slab with description: Yellow Wool SlabInvicon Lime Wool Slab.png: Inventory sprite for Lime Wool Slab in Minecraft as shown in-game linking to Lime Wool Slab with description: Lime Wool SlabInvicon Green Wool Slab.png: Inventory sprite for Green Wool Slab in Minecraft as shown in-game linking to Green Wool Slab with description: Green Wool SlabInvicon Cyan Wool Slab.png: Inventory sprite for Cyan Wool Slab in Minecraft as shown in-game linking to Cyan Wool Slab with description: Cyan Wool SlabInvicon Light Blue Wool Slab.png: Inventory sprite for Light Blue Wool Slab in Minecraft as shown in-game linking to Light Blue Wool Slab with description: Light Blue Wool SlabInvicon Blue Wool Slab.png: Inventory sprite for Blue Wool Slab in Minecraft as shown in-game linking to Blue Wool Slab with description: Blue Wool SlabInvicon Purple Wool Slab.png: Inventory sprite for Purple Wool Slab in Minecraft as shown in-game linking to Purple Wool Slab with description: Purple Wool SlabInvicon Magenta Wool Slab.png: Inventory sprite for Magenta Wool Slab in Minecraft as shown in-game linking to Magenta Wool Slab with description: Magenta Wool SlabInvicon Pink Wool Slab.png: Inventory sprite for Pink Wool Slab in Minecraft as shown in-game linking to Pink Wool Slab with description: Pink Wool SlabInvicon White Wool Slab.png: Inventory sprite for White Wool Slab in Minecraft as shown in-game linking to White Wool Slab with description: White Wool SlabInvicon Light Gray Wool Slab.png: Inventory sprite for Light Gray Wool Slab in Minecraft as shown in-game linking to Light Gray Wool Slab with description: Light Gray Wool SlabInvicon Gray Wool Slab.png: Inventory sprite for Gray Wool Slab in Minecraft as shown in-game linking to Gray Wool Slab with description: Gray Wool SlabInvicon Black Wool Slab.png: Inventory sprite for Black Wool Slab in Minecraft as shown in-game linking to Black Wool Slab with description: Black Wool SlabInvicon Brown Wool Slab.png: Inventory sprite for Brown Wool Slab in Minecraft as shown in-game linking to Brown Wool Slab with description: Brown Wool SlabInvicon Red Wool Slab.png: Inventory sprite for Red Wool Slab in Minecraft as shown in-game linking to Red Wool Slab with description: Red Wool SlabInvicon Orange Wool Slab.png: Inventory sprite for Orange Wool Slab in Minecraft as shown in-game linking to Orange Wool Slab with description: Orange Wool SlabInvicon Yellow Wool Slab.png: Inventory sprite for Yellow Wool Slab in Minecraft as shown in-game linking to Yellow Wool Slab with description: Yellow Wool SlabInvicon Lime Wool Slab.png: Inventory sprite for Lime Wool Slab in Minecraft as shown in-game linking to Lime Wool Slab with description: Lime Wool SlabInvicon Green Wool Slab.png: Inventory sprite for Green Wool Slab in Minecraft as shown in-game linking to Green Wool Slab with description: Green Wool SlabInvicon Cyan Wool Slab.png: Inventory sprite for Cyan Wool Slab in Minecraft as shown in-game linking to Cyan Wool Slab with description: Cyan Wool SlabInvicon Light Blue Wool Slab.png: Inventory sprite for Light Blue Wool Slab in Minecraft as shown in-game linking to Light Blue Wool Slab with description: Light Blue Wool SlabInvicon Blue Wool Slab.png: Inventory sprite for Blue Wool Slab in Minecraft as shown in-game linking to Blue Wool Slab with description: Blue Wool SlabInvicon Purple Wool Slab.png: Inventory sprite for Purple Wool Slab in Minecraft as shown in-game linking to Purple Wool Slab with description: Purple Wool SlabInvicon Magenta Wool Slab.png: Inventory sprite for Magenta Wool Slab in Minecraft as shown in-game linking to Magenta Wool Slab with description: Magenta Wool SlabInvicon Pink Wool Slab.png: Inventory sprite for Pink Wool Slab in Minecraft as shown in-game linking to Pink Wool Slab with description: Pink Wool SlabInvicon White Wool Slab.png: Inventory sprite for White Wool Slab in Minecraft as shown in-game linking to White Wool Slab with description: White Wool SlabInvicon Light Gray Wool Slab.png: Inventory sprite for Light Gray Wool Slab in Minecraft as shown in-game linking to Light Gray Wool Slab with description: Light Gray Wool SlabInvicon Gray Wool Slab.png: Inventory sprite for Gray Wool Slab in Minecraft as shown in-game linking to Gray Wool Slab with description: Gray Wool SlabInvicon Black Wool Slab.png: Inventory sprite for Black Wool Slab in Minecraft as shown in-game linking to Black Wool Slab with description: Black Wool SlabInvicon Brown Wool Slab.png: Inventory sprite for Brown Wool Slab in Minecraft as shown in-game linking to Brown Wool Slab with description: Brown Wool SlabInvicon Red Wool Slab.png: Inventory sprite for Red Wool Slab in Minecraft as shown in-game linking to Red Wool Slab with description: Red Wool SlabInvicon Orange Wool Slab.png: Inventory sprite for Orange Wool Slab in Minecraft as shown in-game linking to Orange Wool Slab with description: Orange Wool SlabInvicon Yellow Wool Slab.png: Inventory sprite for Yellow Wool Slab in Minecraft as shown in-game linking to Yellow Wool Slab with description: Yellow Wool SlabInvicon Lime Wool Slab.png: Inventory sprite for Lime Wool Slab in Minecraft as shown in-game linking to Lime Wool Slab with description: Lime Wool SlabInvicon Green Wool Slab.png: Inventory sprite for Green Wool Slab in Minecraft as shown in-game linking to Green Wool Slab with description: Green Wool SlabInvicon Cyan Wool Slab.png: Inventory sprite for Cyan Wool Slab in Minecraft as shown in-game linking to Cyan Wool Slab with description: Cyan Wool SlabInvicon Light Blue Wool Slab.png: Inventory sprite for Light Blue Wool Slab in Minecraft as shown in-game linking to Light Blue Wool Slab with description: Light Blue Wool SlabInvicon Blue Wool Slab.png: Inventory sprite for Blue Wool Slab in Minecraft as shown in-game linking to Blue Wool Slab with description: Blue Wool SlabInvicon Purple Wool Slab.png: Inventory sprite for Purple Wool Slab in Minecraft as shown in-game linking to Purple Wool Slab with description: Purple Wool SlabInvicon Magenta Wool Slab.png: Inventory sprite for Magenta Wool Slab in Minecraft as shown in-game linking to Magenta Wool Slab with description: Magenta Wool SlabInvicon Pink Wool Slab.png: Inventory sprite for Pink Wool Slab in Minecraft as shown in-game linking to Pink Wool Slab with description: Pink Wool Slab
Invicon White Cushion.png: Inventory sprite for White Cushion in Minecraft as shown in-game linking to White Cushion with description: White CushionInvicon Light Gray Cushion.png: Inventory sprite for Light Gray Cushion in Minecraft as shown in-game linking to Light Gray Cushion with description: Light Gray CushionInvicon Gray Cushion.png: Inventory sprite for Gray Cushion in Minecraft as shown in-game linking to Gray Cushion with description: Gray CushionInvicon Black Cushion.png: Inventory sprite for Black Cushion in Minecraft as shown in-game linking to Black Cushion with description: Black CushionInvicon Brown Cushion.png: Inventory sprite for Brown Cushion in Minecraft as shown in-game linking to Brown Cushion with description: Brown CushionInvicon Red Cushion.png: Inventory sprite for Red Cushion in Minecraft as shown in-game linking to Red Cushion with description: Red CushionInvicon Orange Cushion.png: Inventory sprite for Orange Cushion in Minecraft as shown in-game linking to Orange Cushion with description: Orange CushionInvicon Yellow Cushion.png: Inventory sprite for Yellow Cushion in Minecraft as shown in-game linking to Yellow Cushion with description: Yellow CushionInvicon Lime Cushion.png: Inventory sprite for Lime Cushion in Minecraft as shown in-game linking to Lime Cushion with description: Lime CushionInvicon Green Cushion.png: Inventory sprite for Green Cushion in Minecraft as shown in-game linking to Green Cushion with description: Green CushionInvicon Cyan Cushion.png: Inventory sprite for Cyan Cushion in Minecraft as shown in-game linking to Cyan Cushion with description: Cyan CushionInvicon Light Blue Cushion.png: Inventory sprite for Light Blue Cushion in Minecraft as shown in-game linking to Light Blue Cushion with description: Light Blue CushionInvicon Blue Cushion.png: Inventory sprite for Blue Cushion in Minecraft as shown in-game linking to Blue Cushion with description: Blue CushionInvicon Purple Cushion.png: Inventory sprite for Purple Cushion in Minecraft as shown in-game linking to Purple Cushion with description: Purple CushionInvicon Magenta Cushion.png: Inventory sprite for Magenta Cushion in Minecraft as shown in-game linking to Magenta Cushion with description: Magenta CushionInvicon Pink Cushion.png: Inventory sprite for Pink Cushion in Minecraft as shown in-game linking to Pink Cushion with description: Pink Cushion
  • Can be placed on any flat surface.
    • Always aligns horizontally to the grid, but vertically sit on top of the supporting surface.
    • Breaks if the supporting block is removed.
  • Cushions are destroyed only when they are fully covered by blocks that cause suffocation.
  • Cannot be moved.
  • Does not have collision and can overlap with other objects except for other cushions.

Invicon Poplar Boat.png: Sprite image for Poplar Boat in Minecraft Poplar boat and Invicon Poplar Boat with Chest.png: Sprite image for Poplar Boat with Chest in Minecraft Poplar boat with chest

  • Boat variants that are crafted using poplar planks.

World generation

Biomes

Dappled forest

Features

Poplar tree

  • A tree that generates in dappled forests.
  • Comes in three different colors of leaves, orange, red, and yellow, randomly chosen at generation.
  • Each variant of the tree has its own variant of falling leaf particles matching the color of the leaves.
  • Poplar leaves drop poplar saplings which will randomly grow into any of the three different variants.
  • Generate with leaf litter around or shelf mushrooms on them.
  • Fallen poplar trees have shelf mushrooms on them.
  • The trunk of the trees are made of poplar logs.
    • Poplar logs can be crafted into a new set of poplar wood blocks.
Structures

Abandoned camp

Command format

/posteffect

  • Allows adding or removing post effects to players.
    • These are post processing 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.
  • Syntax:
    • /posteffect add <player> <posteffect> – adds the post effect to the player, if it does not 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.

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:attack_animation
    • The animation to play when the item is being used to attack something.
    • Format: object with fields:
      • type – swing animation type, one of whack or stab.
      • duration – positive integer, the length of the animation in ticks.
  • Added minecraft:interact_animation
    • The animation to play when the item is being used to interact with something.
    • Format: same as minecraft:attack_animation
  • 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.
      • update_from_neighbors - optional boolean field.
        • Controls if the transformed block should update based on neighboring blocks.
        • Defaults to true
    • 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[1], hoes[2], and shovels[3].
    • 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.
  • Added minecraft:compostable
    • Represents the ability to compost an item and how it adds layers to the composter.
    • Format: object with fields
      • layers – namespaced ID pointing to an element of the minecraft:number_provider registry.
      • layers can additionally be defined by an inline number.
  • Added minecraft:cooking_fuel
    • Describes an item that can be used as fuel for a furnace, smoker or blast furnace.
    • Format: object with fields
      • burn_time – namespaced ID pointing to an element of minecraft:number_provider registry representing the time, in ticks, for which this fuel will burn.
      • speed_multiplier – namespaced ID pointing to an element of minecraft:number_provider registry representing the speed of the cooking/smelting.
      • burn_time and speed_multiplier can additionally be defined by an inline number.
  • Added minecraft:brewing_fuel
    • Describes an item that can be used as fuel for a brewing stand.
    • Format: object with fields
      • uses – namespaced ID pointing to an element of minecraft:number_provider registry representing the number of times this fuel will brew before being consumed.
      • speed_multiplier – namespaced ID pointing to an element of minecraft:number_provider registry representing the speed of the brewing.
      • uses and speed_multiplier can additionally be defined by an inline number.
    • Note: the #brewing_fuel item tag has been removed and will no longer function to register new brewing fuels.
  • Added minecraft:sign_text_front and minecraft:sign_text_back
    • Two identical components that represent text in front and back of a sign.
    • Contents will be displayed in item tooltip.
    • The format is the same as front_text and back_text fields on 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 messages.
        • messages and filtered_messages must have same entry count.
      • color – optional dye color, default: black
      • has_glowing_text – optional boolean, default: false
  • Added minecraft:waxed
    • A marker for blocks with contents that are waxed.
    • No fields
  • Added minecraft:cushion/color
    • Applied to cushion entities when they get placed using an item.
    • Format: one of 16 dye colors
  • Added minecraft:villager_food
    • Represents items that villagers can eat. Villagers will pick up items with this component in addition to items in the #villager_picks_up tag.
    • Format: object with fields
      • nutrition – positive integer, how much hunger the item satiates in the villager once eaten.
  • Added minecraft:mob_visibility
    • Represents the visibility percentage provided by an item with the appropriate minecraft:equippable component, modifying the range at which mobs are able to detect an entity.
    • Format: object with fields
      • targeting_entity – 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 tenfold.
        • While multiple items with this component stack, the maximum vision will still never exceed 10.0.

Entity data

  • Added invulnerable_time tag which makes a mob temporarily invulnerable for a specific number of ticks.

Environment attribute

  • Added minecraft:gameplay/straw_bed_rule
    • Same format as minecraft:gameplay/bed_rule, but used for the straw bed
  • Added minecraft:gameplay/natural_mob_spawns
    • 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 data
        • Spawn data format: object with fields:
          • type – entity type, the entity to spawn.
          • count – int provider, amount to spawn.
      • spawn_costs – map of entity type to object with fields:
        • energy_budget – float, energy change allowed per spawn.
        • charge – float, how much existing mobs will attract or repulse other charged mobs.
    • Available attribute modifiers:
      • 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.
    • Default: empty
  • Added minecraft:gameplay/creature_world_gen_spawn_probability
    • 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

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:end_podium feature type
    • Places the end podium.
    • Two feature instances are now used to place the podium from in-game events:
      • end_podium_active
      • end_podium_inactive
    • Fields:
      • active: boolean field controlling if the portal is active.
  • 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

Key codes

  • Added new key codes for the following keys:
ID Displayed name Physical key or button Translation key
key.keyboard.keypad.plus.minus Keypad ± Numpad ± key.keyboard.keypad.plus.minus
key.keyboard.keypad.left.parenthesis Keypad ( Numpad ( key.keyboard.keypad.left.parenthesis
key.keyboard.keypad.right.parenthesis Keypad ) Numpad ) key.keyboard.keypad.right.parenthesis
key.keyboard.keypad.period Keypad . Numpad .[4] key.keyboard.keypad.period
key.keyboard.keypad.comma Keypad , Cannot be assigned[5] key.keyboard.keypad.comma
key.keyboard.application Menu ≣ Menu[6] key.keyboard.application
key.keyboard.mute Mute 🔇︎ Mute key.keyboard.mute
key.keyboard.volume.down Volume Down 🔉︎ Volume Down key.keyboard.volume.down
key.keyboard.volume.up Volume Up 🔊︎ Volume Up key.keyboard.volume.up
key.keyboard.media.play.pause Play/Pause Play/Pause key.keyboard.media.play.pause
key.keyboard.stop Stop Stop key.keyboard.stop
key.keyboard.cut Cut Cut key.keyboard.cut
key.keyboard.copy Copy Copy key.keyboard.copy
key.keyboard.paste Paste Paste key.keyboard.paste
key.keyboard.undo Undo ⎌ Undo key.keyboard.undo
key.keyboard.again Again Redo[7] key.keyboard.again
key.keyboard.new New 📄 New key.keyboard.new
key.keyboard.save Save 💾 Save key.keyboard.save
key.keyboard.help Help Help key.keyboard.help
key.keyboard.find Find Find key.keyboard.find
  • key.keyboard.left.alt, key.keyboard.right.alt, key.keyboard.left.win, and key.keyboard.right.win now have different display names depending on the user's operating system.
  • The following keycodes, which existed before but could only be set by file editing and would still not result in physical buttons being recognised, are now accessible via macOS (9-32) and Linux (9-48) systems, and can have controls bound to them properly:
ID Displayed name Description
key.mouse.9 Button 9  Ninth Mouse Button
key.mouse.10 Button 10  Tenth Mouse Button
key.mouse.11 Button 11  Eleventh Mouse Button
key.mouse.12 Button 12  Twelfth Mouse Button
key.mouse.13 Button 13  Thirteenth Mouse Button
key.mouse.14 Button 14  Fourteenth Mouse Button
key.mouse.15 Button 15  Fifteenth Mouse Button
key.mouse.16 Button 16  Sixteenth Mouse Button
key.mouse.17 Button 17  Seventeenth Mouse Button
key.mouse.18 Button 18  Eighteenth Mouse Button
key.mouse.19 Button 19  Nineteenth Mouse Button
key.mouse.20 Button 20  Twentieth Mouse Button
key.mouse.21 Button 21  Twenty-First Mouse Button
key.mouse.22 Button 22  Twenty-Second Mouse Button
key.mouse.23 Button 23  Twenty-Third Mouse Button
key.mouse.24 Button 24  Twenty-Fourth Mouse Button
key.mouse.25 Button 25  Twenty-Fifth Mouse Button
key.mouse.26 Button 26  Twenty-Sixth Mouse Button
key.mouse.27 Button 27  Twenty-Seventh Mouse Button
key.mouse.28 Button 28  Twenty-Eighth Mouse Button
key.mouse.29 Button 29  Twenty-Ninth Mouse Button
key.mouse.30 Button 30  Thirtieth Mouse Button
key.mouse.31 Button 31  Thirty-First Mouse Button
key.mouse.32 Button 32  Thirty-Second Mouse Button
key.mouse.33 Button 33  Thirty-Third Mouse Button
key.mouse.34 Button 34  Thirty-Fourth Mouse Button
key.mouse.35 Button 35  Thirty-Fifth Mouse Button
key.mouse.36 Button 36  Thirty-Sixth Mouse Button
key.mouse.37 Button 37  Thirty-Seventh Mouse Button
key.mouse.38 Button 38  Thirty-Eighth Mouse Button
key.mouse.39 Button 39  Thirty-Ninth Mouse Button
key.mouse.40 Button 40  Fortieth Mouse Button
key.mouse.41 Button 41  Forty-First Mouse Button
key.mouse.42 Button 42  Forty-Second Mouse Button
key.mouse.43 Button 43  Forty-Third Mouse Button
key.mouse.44 Button 44  Forty-Fourth Mouse Button
key.mouse.45 Button 45  Forty-Fifth Mouse Button
key.mouse.46 Button 46  Forty-Sixth Mouse Button
key.mouse.47 Button 47  Forty-Seventh Mouse Button
key.mouse.48 Button 48  Forty-Eighth Mouse Button

Languages

  • Added support for the Gothic language.

Loot functions

  • Added minecraft:command_slot_source loot table 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).

Loot table

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

Number providers

  • Added a minecraft:number_provider registry
  • Added vanilla number providers:
    • minecraft:compostable/low
      • Returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 30% chance of returning 1
    • minecraft:compostable/low_medium
      • Returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 50% chance of returning 1
    • minecraft:compostable/medium
      • Returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 65% chance of returning 1
    • minecraft:compostable/medium_high
      • Returns 1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 85% chance of returning 1
    • minecraft:compostable/always_add_one
      • Always returns 1
  • Added minecraft:number_dispatcher 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 them.
        • Fields:
          • condition – a minecraft:predicate
          • number_provider – a minecraft:number_provider which is executed if the condition is fulfilled.
      • default – an optional minecraft:number_provider
        • Defaults to a constant 0 if omitted.
  • Added minecraft:conditional type
    • Returns the value from on_true if its condition or on_false if not.
    • Fields:
      • conditions – a minecraft:predicate
      • on_true – a minecraft:number_provider which is executed if its condition is fulfilled.
      • on_false – an optional minecraft:number_provider
        • Defaults to a constant 0 if omitted.
  • Added minecraft:weighted_list
    • Returns a value from a distribution of weighted number providers.
    • Fields:
      • distribution – a list of objects with the following fields.
        • Fields:
          • data – a minecraft:number_provider
          • weight – a positive integer

Options

  • Added Quit Shortcuts option.
    • Can be accessed in the Controls section.
    • Allows keyboard shortcuts that close the game, such as ⌥ Alt + F4 on Windows and ⌘ Command + Q on macOS.
    • Disabled by default.[needs testing]

Particles

  • Added minecraft:red_poplar_leaves
    • Falls from red poplar leaves blocks.
    • Has no fields.
  • Added minecraft:orange_poplar_leaves
    • Falls from orange poplar leaves blocks.
    • Has no fields.
  • Added minecraft:yellow_poplar_leaves
    • Falls from yellow poplar leaves blocks.
    • Has no fields.

Realms

  • Realms owners can now create invite codes to their Realm.
    • Up to 5 invite codes are allowed.
    • They can be configured to be either active or inactive.
    • Expiration of the invite code can be configured.
  • Players can now join Realms by entering an invite code in the new "Join Realm" screen.

Statistics

  • Added Times Slept in a Straw Bed statistic.

Tags

  • Damage Type Tags
    • Added #no_wolf_retaliation for all damage types that should not cause tamed wolves to attack their source in order to defend their owner.
  • Item Tags
    • Added #clonable_maps
      • Contains filled maps plus all explorer maps items and buried treasure maps, used as the input to the map_cloning recipe.
    • Added #concrete_slabs
      • Contains all concrete slab items.
    • Added #concrete_stairs
      • Contains all concrete stair items.
    • Added #cushions
    • Added #douses_campfires
      • Contains items that can douse a lit campfire block.
    • Added #extendable_maps
      • Contains maps that can be zoomed out with paper, either in a crafting table or at a cartography table.
    • Added #mushrooms
      • Contains all mushroom items.
    • Added #ores
      • Collection tag containing all types of ores.
    • Added #poplar_logs
      • Contains all poplar log items.
    • Added #wool_slabs
      • Contains all wool slabs items.
    • Added #wool_stairs
      • Contains all wool stairs items.

Changes

Blocks

Decorated pot

  • Items (bricks and pottery sherds) dropped from breaking a decorated pot side will now preserve data.
  • Decorated pot can now have empty sides which causes it to not drop anything when broken unless it has an item in it.
    • In survival mode, this is accessible via naturally generated undecorated pots and by crafting using the decorated_pot_simple recipe from the recipe book.
    • It is also accessible via the Creative inventory or through commands where at least one side is not defined in sherds.
    • Previously, empty sides were treated as brick.

Hay bale

  • Updated sides texture from so that the two red twines appear symmetrically distant from the top/bottom edges; the twines now line up with the straw bed texture too.

Signs

  • Signs no longer automatically execute click events in custom text.

Items

Explorer maps

  • Updated existing explorer maps' inventory icon textures:
All texture changes
Structure Before After
Buried Treasure
Desert Village
Plains Village
Savanna Village
Snowy Village
Taiga Village
Jungle Pyramid
Swamp Hut
Ocean Monument
Woodland Mansion
Trial Chambers
  • All explorer maps are now unique items; previously they used the same item ID as filled maps.
    • These items cannot be obtained from the Creative inventory.
    • Existing explorer maps in old worlds are converted to the matching new item on load.
    • Explorer maps can still be cloned in a crafting table, and the copies keep their own item type.
  • Explorer maps and buried treasure maps can no longer be zoomed out, neither in a crafting table nor in a cartography table.
    • Buried treasure maps could previously be zoomed out in both.
    • Explorer maps could previously be zoomed out in a cartography table.
    • Only maps in the #minecraft:extendable_maps tag can be zoomed out.

Map and Empty Map

  • Updated inventory icon textures from .

Map decorations

  • The map icons for players on maps and explorer maps has been updated to always show the direction the player is facing.
All texture changes
Name Before After
Player Locator
Player Off Map
Player Off Limits

Pottery sherds

  • Pottery sherds are now data-driven.

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.

Suspicious stew and mushroom stew

  • Can now be crafted with 2 of any mushroom.

Mobs

General

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

Armadillos

  • No longer try to roll up when submerged in liquids.

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.

Sulfur cubes

  • Changed the sounds of the "regular" sulfur cube archetype.

Wandering trader

Non-mob entities

Paintings

  • Paintings with custom names now also show those names when the player looks at them in the world.

Command format

General

/execute

  • 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.
    • Syntax:
      • /execute execute if unless slots block <pos> <slot source>
      • /execute execute if unless slots entity <targets> <slot source>
  • The items condition sub-command now takes a slot source as argument instead of a slot.
    • The slot source will be evaluated with the minecraft:command_slot_source loot type.
    • Syntax:
      • /execute execute if unless items block <pos> <slot source> <item predicate>
      • /execute execute if unless items entity <targets> <slot source> <item predicate>

/give

  • When the amount of items passed to the give command is above limit, the command will now signal an error instead of just printing an error message and returning 0.

/item

  • Now takes a slot source as 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:
      • One by one in the order they are provided by the slot source, the contents of each destination slot are replaced with the corresponding source item.
      • When there are more destination slots than there are source items, the remaining slots are ignored.
        • Example: replace [12345] with (ABC) -> [ABC45]
      • When there are fewer destination slots than there are source items, the remaining items are ignored.
        • Example: replace [123] with (ABCDE) -> [ABC]
    • String notation slot ranges in the form <slot_type> or <slot_type>.<slot_number> are still permitted.
      • 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 range.
        • Example: hotbar.4 is the same as {type:"minecraft:slot_range",slots:"hotbar.4"}
  • The entity argument in the from entity item source can now be a selector targeting multiple entities.
    • When more than a single entity is targeted, the slots sourced from each are concatenated.
  • Added new fill and override sub-commands, each with syntax identical to /item replace.
    • /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 filled.
        • Example: fill [12345] with (ABC) -> [ABCAB]
    • /item override
      • 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 cleared.
        • Example: override [12345] with (ABC) -> [ABC__] (where _ represents an empty slot).

/place

  • The feature sub-command now allows in-line definition of the feature.

/publish

  • The gamemode argument has been removed.
    • Instead, 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.

/spreadplayers

  • Whether a block is safe to spread a player to is now controlled by the #entities_can_teleport_to block tag.

/swing

  • 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: whack, stab
    • If omitted, defaults to whack
  • Added a new argument to set the duration of the swing animation, if provided.
    • Format: positive time value (by default in ticks).
    • If omitted, defaults to 6t.

/team

  • The result of /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).

/tellraw

  • The nbt component in a raw chat message will only be resolved up to 64k times.

/tick

  • The following subcommands will now signal an error instead of just printing an error message and returning 0:

Gameplay

Advancements

  • Visiting the dappled forest is now required for the "Adventuring Time" advancement.

Creative inventory

  • Rearranged mineral items and blocks in the inventory.
  • They are now sorted to have non-tiered ingredients first, followed by tiered ingredients that craft into equipment last.
  • Affects the ingredients and building blocks tabs.
    • Ingredients
      • Non-tiered minerals
      • Unrefined tiered minerals
      • Refined tiered minerals
        • Nuggets
        • Ingots
    • Building Blocks
      • Non-tiered mineral blocks and variants
      • Refined tiered mineral blocks and variants
      • Copper block family
    • Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content.
  • Improved ordering of Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld -> Nether -> End to stay consistent with other tabs.

Spectator

  • Players in Spectator mode can now interact with portals to teleport.

Trading

  • New villager trades, unlocked from a villager leveling up their profession, will now update even if the player has the trading UI open.

General

Advancement definition

  • Rewards
    • 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.
  • Triggers
    • Multiple fields that accepted a list of loot conditions (AKA predicates) are now stricter:
      • A list of predicates is no longer accepted as a shorthand for a minecraft:all_of condition containing that list.
      • Additionally, the condition field of predicates has been renamed to type and is now mandatory (previously it defaulted to minecraft:entity_properties).
    • Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a minecraft:predicate
    • The player field, available on all triggers except minecraft:impossible, now accepts an inline value or a namespaced ID of a minecraft:predicate type.
      • To avoid duplication, this field is not mentioned in entries below.
  • Changed minecraft:any_block_use trigger
    • The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:bee_nest_destroyed
    • 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. However, it still only actually triggers for block types using the BeehiveBlock class (i.e. a bee nest or beehive).
    • Added field state that matches block state properties (same format as minecraft:enter_block).
  • Changed minecraft:bred_animals trigger
    • child, parent, and partner fields now accept an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:brewed_potion trigger
    • The potion field now accepts minecraft:potion_contents data component predicate.
  • Changed minecraft:channeled_lightning trigger
    • Entries in the victims field can no longer be an entity predicate nor a list of predicates; the entries can now be either inline values or namespaced IDs of a minecraft:predicate type.
  • Changed minecraft:cured_zombie_villager trigger
    • villager and zombie fields now accept an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:default_block_use trigger
    • The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:effects_changed trigger
    • The source field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:enter_block
    • 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.
  • Changed minecraft:fall_after_explosion trigger
    • The cause field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:fishing_rod_hooked trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:placed_block trigger
    • The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:item_used_on_block trigger
    • The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:allay_drop_item_on_block trigger
    • The location field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:player_killed_entity trigger
    • 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.
  • Changed minecraft:entity_killed_player trigger
    • 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.
  • Changed minecraft:kill_mob_near_sculk_catalyst trigger
    • 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.
  • Changed minecraft:lightning_strike trigger
    • bystander and lightning fields now accept an inline value or a namespaced ID of a minecraft:predicate type
  • Changed minecraft:player_generates_container_loot trigger
    • 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 type.
      • If a tag or a list is used, trigger will run when any listed loot table is generated.
  • Changed minecraft:thrown_item_picked_up_by_player trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:thrown_item_picked_up_by_entity trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:player_hurt_entity trigger
    • 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.
  • Changed minecraft:entity_hurt_player trigger
    • 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.
  • Changed minecraft:player_interacted_with_entity trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:player_sheared_equipment trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:crafter_recipe_crafted trigger
    • 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 type.
      • If a tag or a list is used, trigger will run when any listed recipe is used.
  • Changed minecraft:recipe_crafted trigger
    • 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 type.
      • If a tag or a list is used, trigger will run when any listed recipe is used.
  • Changed minecraft:recipe_unlocked trigger
    • 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 type.
      • If a tag or a list is used, trigger will run when any listed recipe is unlocked
  • Changed minecraft:slide_down_block
    • 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.
  • Changed minecraft:summoned_entity trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:tame_animal trigger
    • The entity field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:target_hit trigger
    • The projectile field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:villager_trade trigger
    • The villager field now accepts an inline value or a namespaced ID of a minecraft:predicate type.

Block entity data

  • minecraft:sign and minecraft:hanging_sign
    • 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.
      • 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.
    • Changed the rules for opening the sign edit screen after a block is placed:
      • 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).
    • Signs will now accept and return the minecraft:sign_text_front, minecraft:sign_text_back and minecraft:waxed components.
  • minecraft:brewing_stand
    • The following fields are now stored as integers rather than shorts:
      • 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.
    • The following new fields have been added:
      • Added the total_brew_time integer field, this is the total amount of time the current brewing process will take.
      • Added the total_fuel integer field, this represents the amount of fuel that was added in the last refuel.
      • Added the speed_multiplier float field, this will be used to speed up or slow down the next brewing process.
  • minecraft:furnace, minecraft:smoker and minecraft:blast_furnace
    • The following fields are now stored as integers rather than shorts:
      • 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.
    • The following new fields have been added:
      • Added the speed_multiplier float field, this will be used to speed up or slow down the next cooking process.

Block entity format

  • minecraft:decorated_pot
    • Field sherds no longer stores a list of 4 item IDs. Instead, the new format is an object with 4 optional item stack fields named:
      • back
      • left
      • right
      • front

Block states

  • The following block state fields have been renamed.
    • Name is now id
    • Properties is now properties
  • The default block state of a block can now be referred to in a compact form directly by the block ID.

Controls

  • Up to 48 mouse buttons are now supported for controls rebinding.
    • Previously, only up to mouse button 8 could have controls bound to it.
    • This change presumably only affects macOS and Linux systems.
  • KEY_KPPLUSMINUS, KEY_KPLEFTPAREN and KEY_KPRIGHTPAREN now appear to be supported, at least on Linux.
    • The names are a bit wrong though.[9][10]
  • Renamed some key code display names:
    • key.keyboard.left.win: "Left Win" → "Left Meta"
    • key.keyboard.right.win: "Right Win" → "Right Meta"

Data component format

  • minecraft:pot_decorations
    • Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
      • back
      • left
      • right
      • front
  • minecraft:trim_material
    • The format of inline material definitions has been updated
    • Trim Materials
      • The format of elements in the trim_material registry has been updated:
        • asset_name has been replaced with palette_id - Palette Texture ID to be used for this material.
        • override_armor_assets has been removed, overrides are now defined in the Resource Pack Equipment Asset.
  • Removed minecraft:swing_animation
    • This has been replaced by minecraft:attack_animation and minecraft:interact_animation.
      • The none swing animation type has been removed.
      • Existing items in the world will be migrated to using the default whack.
      • Setting 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.
  • Removed minecraft:map_color
    • 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.

Data pack

  • The pack format version is now 116.0.
  • The definition field from the blocks.json data generation report has been removed
  • Codec for element lists/tags now allows mixing inline values and references.
    • For example, item modifiers like [{type:set_count, ...}, "minecraft:some_modifier"] are now allowed.

Debug screen

  • The debug overlay now supports a separate GUI scale than 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 the regular GUI scale.
    • The rest of the options work the same as in the normal "GUI Scale", controlling the scale directly.
  • Added a "player_speed" debug entry that displays the speed of the player in blocks per tick.
  • The debug overlay now shows the display refresh rate.

Density functions

  • Density function and noises are no longer evaluated with double-precision floating point values, but instead with single-precision.
    • This affects all intermediate steps, not just the final result.

Environment attribute

  • minecraft:gameplay/bed_rule
    • Field explodes has been renamed to destroy_on_use
    • Added destroy_on_leave – optional boolean; if set to true, the bed will be destroyed when leaving it.
      • If omitted, defaults to false
  • minecraft:visual/ambient_particles
    • Now supports interpolation between Timeline keyframes (probabilities will be crossfaded).
    • Introduced support for new modifier: append
      • Unlike override which totally replaces the particle list, this modifier concatenates all elements with the layers below.

Equipment assets

  • The trim_palette_replacements field has been replaced with trim_overrides. This can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset, not just swap specific palettes.
    • 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).
          • Note: this is not the palette ID, as trim_palette_replacements used to be.
        • At least one of material or pattern must be specified.
        • If both are specified, both must match for the entry to be used.
      • texture – optional trim pattern asset ID, a replacement texture to use if this entry matches.
        • Textures are specified in the same format as asset_id
        • If not specified, the default texture for the pattern will be used.
      • palette – optional palette ID, a replacement palette to use if this entry matches.
        • If not specified, no palette remapping will be applied to the texture.
      • The first matching entry will always be selected.
      • At least one of texture or palette must be defined.

Features

  • 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 the following feature types:
    • minecraft:coral_mushroom
    • minecraft:kelp
    • minecraft:nether_forest_vegetation
    • minecraft:seagrass
    • minecraft:sea_pickle
    • minecraft:twisting_vines
    • minecraft:weeping_vines
    • minecraft:desert_well
      • The desert well feature now uses the type minecraft:template.[11]
  • Removed the extra_rare_growths and catalyst_chance fields from minecraft:sculk_patch.
    • Changed minecraft:template
      • Added the field processors – namespaced ID or inline definition of a structure processor list to apply to the template.
  • minecraft:tree feature type
    • Added shelf_mushroom tree decorator type.
      • 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.
    • Added poplar_foliage_placer foliage placer type
      • Places leaves blocks for poplar trees in a rhombus shape in one of two possible directions
      • Format: object with fields:
        • 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.
    • Added poplar_trunk_placer trunk placer type
      • Places log blocks for poplar trees in a straight shape with branches by the start of the foliage.
      • Format:
        • 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.
  • 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.
  • minecraft:coral_claw and minecraft:coral_tree
    • Added the field feature – a placed feature that is used to place at every desired block position.

Game window and input backend

  • The minimum window size is now 320×240 pixels.
  • 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.

GUI

  • The sub-headings and categories in different tabs of options now use a boldface, underlined and centered format.

Instrument definition

  • The format of elements in the instrument registry have been updated:
    • Added the durability_damage field - optional non-negative integer, amount of durability to consume on each use.
    • Updated the use_duration field - can now be 0 for no cooldown.

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.
  • Removed shade from block model elements
    • shade_direction_override: "up" to get the previous shade: false behavior.
  • Tint source
    • Removed minecraft:map_color
      • The minecraft:map_color component it read no longer exists.

level.dat

  • level.dat now contains a version_history list with prior data versions of the file.

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.
      • Functionality of old condition list format can be achieved by explicitly using minecraft:all_of loot condition type.
    • The function field (describing function type) has been renamed to type.
  • Changed minecraft:sequence
    • 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 optional condition field which accepts an inline value or a namespaced ID of a minecraft:predicate type.
    • 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 type.
      • This format is now consistenly available for all fields of loot function type, 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.
  • Changed minecraft:modify_contents
    • The modifier field now accepts an inline value or a namespaced ID of a minecraft:item_modifier type.
  • Changed minecraft:set_attributes
    • Number providers in amount sub-fields of modifiers list now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:exploration_map
    • The map_color field has now 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.
  • Changed minecraft:enchanted_count_increase
    • The count field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:enchant_with_levels
    • The levels field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_custom_model_data
    • Elements in floats and colors lists can now be an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_enchantments
    • Values in enchantments map can now be an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_count
    • The count field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:limit_count
    • The min and max fields inside limit structure now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_damage
    • The count field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_ominous_bottle_amplifier
    • The amplifier field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_random_dyes
    • The number_of_dyes field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_stew_effect
    • The duration field in elements of effects list now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:set_loot_table
    • The name field has been renamed to tag
  • Changed minecraft:exploration_map
    • 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.
  • Removed minecraft:reference
    • This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions.

Loot tables

  • 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 and bonus_rolls fields now accept an inline value or a namespaced ID of a minecraft:number_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:number_provider
      • minecraft:predicate
      • minecraft:recipe
      • minecraft:slot_source
    • Existing reference types for predicates, item modifiers and slot sources are now obsolete and have been removed
  • Loot table types
    • Added the minecraft:container_process loot table type
      • 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.
    • Changed minecraft:advancement_location
      • Block entities are now available in context and can be matched by conditions like minecraft:match_block
    • Changed minecraft:block_interact
      • origin is now available in context, as the center of the block being interacted with.
  • Loot pool entries
    • 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 list as a short form of minecraft:sequence) or a namespaced ID of a minecraft:item_modifier type.
      • This field is now present on all loot entries, including previously omitted minecraft:alternatives, minecraft:sequence and minecraft:group.
    • Changed minecraft:tag loot pool entry
      • 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.
    • Changed minecraft:loot_table loot pool entry
      • 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 minecraft:tag pool entry:
        • If true, each entry inside tag will be added to outer pool, with weights equal to weight of this entry.
        • If false, this pool entry will operate as a single entry in outer pool. If this entry gets selected, it will return all items from all referenced loot tables.

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

Noise settings

  • The surface_rule field has been renamed to material_rule
    • Format: inline Material Rule or Material Rule ID reference.
  • The final_density field no longer has the beardifier density function implicitly added to the final result.
  • The aquifers_enabled field has been replaced by an optional aquifers object:
    • 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.
  • The ore_veins_enabled field has been replaced by an optional list of ore_veins objects:
    • If not present, no ore veins will be generated
    • 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 block.
        • If 0 or lower, no block will be replaced
      • richness - Density Function, the probability between 0 and 1 for ore_block or raw_ore_block to be placed (as opposed to filler_block).
        • If 0 or lower, all blocks will be filler_block.
        • If 1 or greater, no blocks will be filler_block.
      • filler_gap - Density Function, acts as an override to richness: if positive, filler_block will always be placed.
  • The following fields from noise_router have been moved:
    • barrier, fluid_level_floodedness, fluid_level_spread, lava - moved into aquifers field.
    • vein_toggle, vein_ridged, vein_gap - moved into ore_veins field.
  • 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.

Number providers

  • The type field always needs to be specified explicitly when using an inline number provider (it was previously defaulting to minecraft:uniform).
  • Added vanilla number providers
    • minecraft:cooking/time_bamboo
      • Returns the burn time in ticks for bamboo and scaffolding.
    • minecraft:cooking/time_blaze_rod
      • Returns the burn time in ticks for blaze rods.
    • minecraft:cooking/time_boats
      • Returns the burn time in ticks for boats.
    • minecraft:cooking/time_coal
      • Returns the burn time in ticks for coal.
    • minecraft:cooking/time_coal_block
      • Returns the burn time in ticks for coal blocks.
    • minecraft:cooking/time_dried_kelp_block
      • Returns the burn time in ticks for dried kelp blocks.
    • minecraft:cooking/time_dry_plants
      • Returns the burn time in ticks for various dry plants.
    • minecraft:cooking/time_hanging_signs
      • Returns the burn time in ticks for hanging signs.
    • minecraft:cooking/time_lava_bucket
      • Returns the burn time in ticks for lava buckets.
    • minecraft:cooking/time_roots
      • Returns the burn time in ticks for mangrove roots.
    • minecraft:cooking/time_wood_blocks
      • Returns the burn time in ticks for wood blocks.
    • minecraft:cooking/time_wood_items_extra_small
      • Returns the burn time in ticks for very small wood items such as buttons.
    • minecraft:cooking/time_wood_items_large
      • Returns the burn time in ticks for large wood items such as doors.
    • minecraft:cooking/time_wood_items_small
      • Returns the burn time in ticks for small wood items such as bows.
    • minecraft:cooking/time_wood_slabs
      • Returns the burn time in ticks for wood slabs.
    • minecraft:cooking/time_wool
      • Returns the burn time in ticks for most wool blocks.
    • minecraft:cooking/time_wool_carpets
      • Returns the burn time in ticks for wool carpets.
    • minecraft:cooking/time_wool_slabs
      • Returns the burn time in ticks for wool slabs and cushions.
    • minecraft:cooking/speed_default
      • Returns the default speed multiplier for cooking fuel.
    • minecraft:brewing/speed_default
      • Returns the default speed multiplier for brewing fuel.
    • minecraft:brewing/uses_default
      • Returns the default number of brews provided by brewing fuel.
  • Changed minecraft:number_dispatcher
    • Fields:
      • cases - a list of cases in the order that the dispatcher will try to execute them.
        • Fields:
          • condition - an inline value or a namespaced ID of a minecraft:predicate type.
          • number_provider - an inline value or a namespaced ID of a minecraft:number_provider type which is executed if the condition is fulfilled.
      • default - an optional inline value or a namespaced ID of a minecraft:number_provider type.
        • Defaults to a constant 0 if omitted.
  • Changed minecraft:conditional_value
    • Fields:
      • conditions - an inline value or a namespaced ID of a minecraft:predicate type.
      • on_true - an inline value or a namespaced ID of a minecraft:number_provider type which is executed if its condition is fulfilled.
      • on_false - an optional inline value or a namespaced ID of a minecraft:number_provider type.
        • Defaults to a constant 0 if omitted.
  • Changed minecraft:weighted_list
    • Fields:
      • distribution - a list of objects with the following fields.
        • Fields:
          • data - an inline value or a namespaced ID of a minecraft:number_provider type.
          • weight - a positive integer
  • Changed minecraft:uniform
    • The min and max fields now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:binomial
    • The n and p fields now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:sum
    • The summands 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:number_provider type.

Options

New World Options UI
  • The World Options button has been moved to the Game Menu where the Open to LAN button used to be, replacing it.
    • The "Game Mode" button has been renamed to "Default Game Mode"
    • The World Options screen is divided into two sections: "General" and "Multiplayer".
    • The "General" section contains the same options as the previous World Options screen.
      • The Lock World screen has been changed.
      • The "General" section has a new addition, Personal Game Mode: the player's active game mode in the current world (equivalent to the /gamemode command, or F3 + F4)
    • The "Multiplayer" section contains four options:
      • LAN: changes the multiplayer scope of the world.
      • Command Access: Controls whether players that join a world can use commands or not.
      • Port: the port number to use when opening the world to LAN.
      • Force Game Mode: controls whether other players game mode is forced to match the default game mode of the world or not.
  • The Online button used to access the Online Options screen will now always be shown in the Options menu.

Particles

Predicate

  • The condition field (describing predicate type) has been renamed to type.
  • Changed minecraft:all_of
    • 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 type minecraft:all_of needs to be used explicitly.
  • Changed minecraft:any_of
    • 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.
  • Changed minecraft:inverted
    • The term field now accepts an inline value or a namespaced ID of a minecraft:predicate type.
  • Changed minecraft:random_chance
    • The chance field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:value_check
    • The value field now accepts an inline value or a namespaced ID of a minecraft:number_provider type.
    • The min and max fields inside range structure now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:time_check
    • The min and max fields inside value structure now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:entity_scores
    • The min and max fields inside values of scores map now accept an inline value or a namespaced ID of a minecraft:number_provider type.
  • Changed minecraft:damage_source_properties
    • 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.
  • Removed minecraft:reference
    • This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions.
  • Added vanilla predicates
    • New entries added to previously empty-in-vanilla predicate registry:
      • minecraft:tool/can_silk_touch
      • minecraft:tool/can_shear
      • minecraft:block/fast_cooking
  • Potion predicates
    • The minecraft:potion_contents data component predicate has been changed to allow matching on specific potion effects.
    • The previous predicate format used a list of potion types, the new format allows for more refined matching.
    • The following fields can be used in any combination, all are optional:
      • potions – A list of potion types or a potion tag to match.
      • effects – A collection predicate of mob_effects predicates to match.
        • The 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 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.
          • size – Require the mob effects list to have a specific size, or with min and max will match a range of sizes.
    • The mob_effects predicate format is a mapping of effect types to properties of that effect. All fields are optional, only provided fields will be used for matching:
    {
        "minecraft:<effect type>": {
          "duration": "<integer bounds representing a duration in ticks>",
          "amplifier": "<integer bounds>",
          "ambient": true/false,
          "visible": true/false
        }
    }
  • Example of matching on several different effects and criteria:
      "effects": {
        "minecraft:jump_boost": {
          "duration": 3600,
          "amplifier": 5,
          "ambient": true,
          "visible": true
        },
        "minecraft:speed": {
          "duration": {
            "min": 360,
            "max": 3600
          },
          "amplifier": {
            "min": 2
          }
        },
        "minecraft:resistance": {}
      }
  • Added minecraft:match_block condition type
    • Matches block state and optionally block entity data and components (if present).
    • Fields (same as elements of minecraft:can_place_on components):
      • 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 match.
        • match will fail if this field is present, but block entity is not available in context.
      • components – optional map of exact components to match.
        • match will fail if this field is present, but block entity is not available in context.
      • predicates – optional map of component predicates to match.
        • match will fail if this field is present, but block entity is not available in context.
  • Removed minecraft:block_state_property condition type
    • This has been fully replaced by minecraft:match_block

Realms

  • Added support for Realms to use additional server regions in Canada, Mexico, South Africa, and Arizona, USA if they become available in the future.

Recipes

  • The recipes for smokers and blast furnaces now use the same cooking time in their data definition as their furnace counterparts.
    • The cooking time speedup is now done through the minecraft:cooking/speed_default number provider used by the furnace fuel components.
  • Potion brewing recipes
    • Potion brewing recipes are now data-driven. New recipes can be added via data packs, and vanilla recipes may be modified.
    • Brewing recipes use the minecraft:brewing type.
    • The main contents are:
      • 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.
    • Example of a vanilla recipe:
{
  "type": "minecraft:brewing",
  "input": {
    "item": "minecraft:potion",
    "potion_contents": {
      "potion": "minecraft:water"
    }
  },
  "output": {
    "components": {
      "minecraft:potion_contents": {
        "potion": "minecraft:awkward"
      }
    },
    "id": "minecraft:potion"
  },
  "reagent": {
    "item": "minecraft:nether_wart"
  }
}
  • Any items may be used in any of the 3 slots, e.g.:
{
  "type": "minecraft:brewing",
  "input": { "item": "minecraft:bucket" },
  "output": { "id": "minecraft:sulfur_cube_bucket" },
  "reagent": { "item": "minecraft:potent_sulfur" }
}

Rendering

  • Terrain blocks are now rendered with MultiDrawIndirect on supported devices.

Resource pack

  • The version is now 96.0.

Servers

  • Some log lines that server software might look out for have been removed.
    • The Minecraft Server Management Protocol can be used instead.

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
      • core/oit_depth_bounds_cull.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_ALWAYS_WRITE_DEPTH - A boolean indicating that the OIT algorithm should always write depth for the executing pipeline during the depth bounds stag.
        • 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.
        • 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_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.
        • 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
          • 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
    • 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.
    • There's a new debug keybind for toggling this functionality on and off, by default set to F3 + X.
  • 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.
  • Removed core shaders
    • 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.
  • Always-on Post Effect Support
    • 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.
  • Shader compilation changes
    • 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, name is now ignored.
    • Introduced new define RENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE – a boolean indicating if gl_InstanceIndex follows Vulkan or OpenGL (gl_InstanceID) semantics.

Slot sources

  • Slot sources can now be defined as files inside a datapack, within the slot_source folder.
    • Can be used in commands which take slot sources as arguments.
    • Can be used in inline slot sources using the minecraft:reference type.
  • minecraft:contents is no longer restricted to only selecting non-empty slots.
  • Added minecraft:reference
    • Uses the referenced slot source.
    • Fields:
      • name - the namespaced id of the slot source.
  • Changed minecraft:slot_range
    • 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 optional.
      • Defaults to the container source type when absent.
  • Changed minecraft:group
    • 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.
    • Inline format of minecraft:group (previously only a list of inline slot source) 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 type.
      • This format is now available consistently available for all fields of slot source.
  • Changed minecraft:filtered
    • The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type.
  • Changed minecraft:contents
    • The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type.
  • Changed minecraft:limit_slots
    • The slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source type.
  • Removed minecraft:reference
    • This slot source has become obsolete, as any field that takes slot source now accepts (among other fields) a namespaced ID of a minecraft:slot_source type.

Sounds

  • Added new sound events:
    • block.poplar_leaves.ambient
    • 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
    • block.shelf_mushroom.break
    • block.shelf_mushroom.fall
    • block.shelf_mushroom.place
    • block.shelf_mushroom.step
    • block.shelf_mushroom.bounce
    • 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
    • entity.cushion.break
    • entity.cushion.place
    • entity.cushion.get_up
    • entity.cushion.sit

Tags

  • Biome Tags
    • Added dappled_forest to #is_forest, #is_overworld, #spawns_cold_variant_farm_animals, and #has_structure/trial_chambers tags.
  • Block Tags
    • Added red_shrub to #replaceable, and #replaceable_by_mushrooms tags.
    • Added red_poplar_leaves, orange_poplar_leaves, and yellow_poplar_leaves to #leaves tag.
    • Added potted_poplar_sapling to #flower_pots tag.
    • Added #poplar_logs to #logs_that_burn tag.
    • Added poplar_log to #overworld_natural_logs tag.
    • Added poplar_planks to #planks tag.
    • Added poplar_sign to #standing_signs tag.
    • Added poplar_hanging_sign to #ceiling_hanging_signs tag.
    • Added poplar_wall_sign to #wall_signs tag.
    • Added poplar_wall_hanging_sign to #wall_hanging_signs tag.
    • Added poplar_button to #wooden_buttons tag.
    • Added poplar_door to #wooden_doors tag.
    • Added poplar_fence to #wooden_fences tag.
    • Added poplar_fence_gate to #fence_gates tag.
    • Added poplar_pressure_plate to #wooden_pressure_plates tag.
    • Added poplar_sapling to #saplings tag.
    • Added poplar_shelf to #wooden_shelves tag.
    • Added poplar_slab to #wooden_slabs tag.
    • Added poplar_stairs to #wooden_stair tag.
    • Added poplar_trapdoor to #wooden_trapdoors tag.
    • Added #wool_slabs, and #concrete_slabs to #slabs tag.
    • Added #wool_stairs, and #concrete_stairs to #stairs tag.
    • Added #wool_slabs, and #wool_stairs to #dampens_vibrations, and #shears_major_breaking_speed tags.
    • Added 32 values to #mineable/pickaxe tag:
    • Renamed tag #convertable_to_mud to #convertible_to_mud.
    • Removed #nether_carver_replaceables, and #overworld_carver_replaceables tags.
    • Removed tuff from #deepslate_ore_replaceables tags.
  • Entity Tags
    • Added poplar_boat to #boat tag.
  • Item Tags
    • Added red_poplar_leaves, orange_poplar_leaves, and yellow_poplar_leaves to #leaves tag.
    • Added #poplar_logs to #logs_that_burn tag.
    • Added poplar_planks to #planks tag.
    • Added poplar_sign to #signs tag.
    • Added poplar_hanging_sign to #hanging_signs tag.
    • Added poplar_button to #wooden_buttons tag.
    • Added poplar_door to #wooden_doors tag.
    • Added poplar_fence to #wooden_fences tag.
    • Added poplar_fence_gate to #fence_gates tag.
    • Added poplar_pressure_plate to #wooden_pressure_plates tag.
    • Added poplar_sapling to #saplings tag.
    • Added poplar_shelf to #wooden_shelves tag.
    • Added poplar_slab to #wooden_slabs tag.
    • Added poplar_stairs to #wooden_stair tag.
    • Added poplar_trapdoor to #wooden_trapdoors tag.
    • Added poplar_boat to #boats tag.
    • Added poplar_chest_boat to #chest_boats tag.
    • Added #wool_slabs, and #concrete_slabs to #slabs tag.
    • Added #wool_stairs, and #concrete_stairs to #stairs tag.
    • Added #wool_slabs, and #wool_stairs to #dampens_vibrations tag.
    • Removed #brewing_fuel tag.
      • The brewing_fuel item component is now used to identify brewing fuels.
    • Eighteen tags no longer have the function of adding an item like fuel item, due to cooking_fuel components.
    • The tag #non_flammable_wood no longer prevents an item from being classified as fuel item.

Textures

  • 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
    • Entity armor trim material textures are no longer generated into the minecraft:trims atlas with paletted_permutations, but rather generated on-demand
      • 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
    • Item armor trim material textures are still generated with paletted_permutations as before
    • 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
    • A new optional trim_palette_replacements field controls which trim material palettes should be replaced for this equipment asset (formerly controlled by override_armor_assets in the trim material)
      • Format: map from original Palette ID to a replacement Palette ID
  • Block Sprites
    • Added new Block textures:
      • block/orange_poplar_leaves.png
      • block/red_poplar_leaves.png
      • block/yellow_poplar_leaves.png
      • block/poplar_door_bottom.png
      • block/poplar_door_top.png
      • block/poplar_log_top.png
      • block/poplar_log.png
      • block/poplar_planks.png
      • block/poplar_trapdoor.png
      • block/stripped_poplar_log.png
      • block/stripped_poplar_log_top.png
      • block/poplar_log.png
      • block/shelf_mushroom_stage0.png
      • block/shelf_mushroom_stage1.png
      • block/poplar_hanging_sign.png
      • block/poplar_sign.png
      • block/poplar_sapling.png
      • block/poplar_shelf.png
      • block/red_shrub.png
      • block/straw_bed.png
      • block/straw_bed_particle.png
  • Item Sprites
    • Added new Item textures:
      • item/poplar_door.png
      • item/poplar_hanging_sign.png
      • item/poplar_sign.png
      • item/poplar_boat.png
      • item/poplar_chest_boat.png
    • Removed item/filled_map_markings.png
  • Map sprites
    • Added new explorer map textures:
      • abandoned_campsite_map.png
      • ancient_city_map.png
      • desert_pyramid_map.png
      • mineshaft_map.png
      • warm_ocean_ruins_map.png
    • Updated the following map and explorer map textures:
      • buried_treasure_map.png
      • filled_map.png
      • map.png
      • desert_village_map.png
      • plains_village_map.png
      • snowy_village_map.png
      • snowy_village_map.png
      • taiga_village_map.png
      • savanna_village_map.png
      • trial_chamber_map.png
      • woodland_mansion_map.png
      • ocean_monument_map.png
    • Added new map decorations textures:
      • abandoned_camp.png
      • ancient_city.png
      • desert_pyramid.png
      • mineshaft.png
      • warm_ocean_ruins.png
    • The following map decoration icons have been updated in order to show player rotation on the map:
      • /player.png
      • /player_off_limits.png
      • /player_off_map.png
  • UI Sprites
    • Added new UI textures:
      • gui/hanging_signs/poplar.png
      • gui/signs/poplar.png
  • Entity Textures
    • Added new Entity textures:
      • entity/boat/poplar.png
      • entity/chest_boat/poplar.png
  • 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

UI

  • Removed the Raw Input mouse setting.
    • Mouse input now always uses relative mouse mode while playing in-game.
  • Key bindings now use physical keys instead of keyboard-layout-specific key codes.
  • Borderless Fullscreen is now the default fullscreen mode.
  • Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game.
  • Exclusive fullscreen mode on macOS is no longer supported.
  • The minimum window size is now 320 by 240 pixels.
  • On macOS, holding a key while entering text now displays the native accent and candidate popup.
  • On Linux systems, the game will now use and prefer Wayland natively if available.

Villager trade definition

  • The given_item_modifiers field has been renamed to given_item_modifier
    • Note: unlike other fields of type minecraft:item_modifier this field does not support namespaced element or tag IDs.

World generation

  • Cave air is no longer generated in Nether caves.
  • Biomes
    • Removed the spawners, spawn_costs, and creature_spawn_probability fields.
      • These values have been moved to the new environment attributes.
  • Block predicates
    • Added minecraft:volume_match
      • Checks that every block in a volume matches a given Block Predicate.
      • Format:
        • min – list of 3 integers in range -16 to 16 specifying the lower corner of the volume as an offset from the test position.
        • max – list of 3 integers in range -16 to 16 specifying the upper corner of the volume as an offset from the test position.
        • match – block predicate to test on each position.
  • Block state providers
    • Updated minecraft:copy_properties_provider
      • Renamed field source_block_state_provider to source
    • Added minecraft:random_block_provider
      • Returns the default block state for a randomly chosen block.
      • Format:
        • blocks: block ID, list of block IDs or hash-prefixed block tag, specifying the set of blocks to randomly pick from.
    • Changed minecraft:rotated_block_provider
      • Now works on any block with axis or facing properties.
      • Format:
        • Changed the field state: Now a block state provider.
        • Added the field direction: Optional field describing the direction to set.
          • If omitted, a random direction is chosen.
  • 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
  • Density functions
    • Updated constant
      • argument has been renamed to value
    • Updated add, mul, min, and max
      • argument1 has been renamed to left.
      • argument2 has been renamed to right.
    • Updated abs, square, cube, half_negative, quarter_negative, squeeze, interpolated, flat_cache, cache_2d, cache_once, cache_all_in_cell, and blend_density density functions
      • argument has been renamed to input.
    • Updated shift_a, shift_b, and shift
      • argument has been renamed to noise
    • Added sub
      • Performs subtraction between two arguments.
      • Format: object with fields:
        • left - Density Function, the left-hand side of the operation
        • right - Density Function, the right-hand side of the operation
    • Added div
      • Performs division between two arguments.
      • Format: object with fields:
        • left - Density Function, the left-hand side of the operation.
        • right - Density Function, the right-hand side of the operation.
    • Updated reciprocal
      • Renamed from invert
    • Added negate
      • Negates the input.
      • Format: object with fields:
        • input - Density Function, the function to negate.
    • Added lerp
      • Performs (unclamped) linear interpolation between two arguments based on an alpha.
      • Format: object with fields:
        • alpha - Density Function, the interpolation factor (0=first, 1=second)
          • Any value outside of [0; 1] will extrapolate
        • first - Density Function, the value at alpha=0
        • second - Density Function, the value at alpha=1
    • Added floor, round, ceil, and truncate
      • Rounds the input value to an integer multiple of a given function in a type-dependent direction:
        • floor: rounds towards negative infinity.
        • round: rounds towards the nearest integer (ties round up).
        • ceil: rounds towards positive infinity.
        • truncate: rounds towards 0.
      • Format: object with fields:
        • input - Density Function, the input to round.
        • multiple - Density Function, the output will be rounded to an integer multiple of this value.
          • If not specified, defaults to constant 1 (i.e. rounding to integer).
    • Added beardifier
      • Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.
      • Format: no fields
    • Added pow
      • Raises the given base value to an exponent.
      • Format: object with fields:
        • base – density function, the base value.
        • exponent – density function, the exponent.
    • Added sqrt
      • Computes the square root of the given input.
      • Format: object with fields:
        • input – density function, the value for which to compute the square root.
    • Added log
      • Computes the natural logarithm of the given input.
      • Format: object with fields:
        • input – density function, the value for which to compute the natural logarithm.
    • Added sign
      • Computes the sign of the input:
        • If the input is positive, returns 1
        • If the input is 0, returns 0
        • If input is negative, returns -1
      • Format: object with fields:
        • input – density function, the value of which to compute the sign.
    • Added distance_to_point
      • Computes the distance to a fixed point using the specified distance function.
      • 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(dx2+dy2+dz2)
          • euclidean_squared – i.e. dx2+dy2+dz2
          • manhattan – i.e. abs(dx)+abs(dy)+abs(dz)
          • chebyshev – i.e. max(abs(dx),abs(dy),abs(dz))
    • Updated gradient (renamed from y_clamped_gradient)
      • 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.
        • from_coordinate – int, the coordinate at which the gradient starts.
        • to_coordinate – int, the coordinate at which the gradient ends.
          • Must not be equal to from_coordinate
        • from_value – float, the value at which the gradient starts.
        • to_value – float, the value at which the gradient ends.
    • Added slice
      • Removes a dimension from the input domain by taking a "slice" along an axis with a specific coordinate. For example, with axis=y and coordinate=0, a slice will be taken along the XZ plane, with all values sampled at y=0.
      • 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.
    • Changed end_outer_islands
      • Renamed from end_islands. No longer computes the density of the main island.
  • 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).
  • Material Condition Registry
    • A new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_condition/<id>.json.
    • Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
    • The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
      • Material Conditions can also now be specified as an ID reference to an element in the worldgen/material_condition registry.
  • Material Rule Registry
    • A new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_rule/<id>.json.
    • Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
    • The format is identical to that which was formerly written in the surface_rule field within noise settings files, with the following extensions:
      • 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.
  • Noises
    • The format of noises (defined in the worldgen/noise registry, or inline in noise-based block state providers) has been updated.
    • Noises define a fractal brownian motion configuration with the following properties:
      • 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.
      • Parameterized by persistence=0.5, lacunarity=2.0
        • i.e. between each octave, the amplitude is halved and the frequency doubled.
      • Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves.
      • Renamed firstOctave to base_octave.
      • Added base_amplitude – non-negative float, a scale factor to apply to the noise output.
        • If not specified, defaults to 1.0.
      • Added octave_count – integer between 1 and 32, the number of octaves to sample.
      • Added normalize – boolean, or "legacy", controls how the output amplitude should be normalized.
        • 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 format.
          • This would generally fit to a range smaller than expected.
        • If not specified, defaults to true.
        • Note: normalization is not affected by the amplitude_modifiers field – as such, modifying the amplitude of a single octave will not affect the amplitude of others.
      • Renamed amplitudes to amplitude_modifiers – list of floats, a scaling factor to apply to each octave.
        • 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.
  • 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.
    • Added minecraft:cuboid
      • Repeats a feature in a cuboid shape.
      • Added fields:
        • xz_size: int provider between 1 and 16 representing the size of the cuboid along x and z axes.
        • y_size: int provider between 1 and 16 representing the size of the cuboid along the y axis.
        • include_interior: optional boolean (default true) for whether to place interior blocks of the cuboid.
        • include_edges: optional boolean (default true) for whether to place edge blocks of the cuboid.
          • Setting this to false generates a somewhat "rounded" cuboid.
    • Added minecraft:random_chance
      • Gates the feature being placed behind a random chance.
      • Format:
        • chance: float value between 0 and 1 representing the chance that the feature gets placed.
    • Added minecraft:randomly_selected
      • Randomly selects a placement modifier from a list and delegates placement to it.
      • Format:
        • placements – non-empty list of Placement Modifiers to pick from.
  • Rule Tests
    • These are the predicates used by ore features (targets[].target) and rule structure processors (rules[].input_predicate and rules[].location_predicate).
    • Added rule test type minecraft:height_match
      • Checks the y-level of a block, returning true only if it is greater than or equal to min_inclusive and less 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).
    • Added rule test type minecraft:all_of
      • This 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.
    • Added minecraft:any_of
      • This 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.
    • Added minecraft:not
      • This 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.
  • Structure Placements
    • Added minecraft:dimension_origin
    • New structure placement that places a single instance of the structure at the dimension origin.
      • The dimension origin is defined as the spawn_target for noise settings based dimensions, otherwise Chunk (0, 0).
    • No additional fields.
  • Structure pool elements
    • Changed minecraft:feature_pool_element
      • Can now connect to jigsaw blocks with any target name, instead of just minecraft:bottom.
  • Vertical Anchors
    • Added a new option for vertical Anchors: relative_to_sea_level
      • Specifies an offset to the sea level of the dimension.

Misc

This version contains the model for straw_bed_head twice, once in the correct spot of assets/minecraft/models/block/straw_bed_head.json and another misplaced inside of assets/minecraft/textures/block/straw_bed_head.json

Fixes

201 issues fixed

From released versions before 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 Minecraft'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-73162 – Breaking an entity that instantly breaks sometimes destroys the block behind it in Creative mode.
  • MC-91006 – Some entities lose their name when placed/broken.
  • MC-102732 – Arrows can visually bounce off of entities that don't wear a shield.
  • MC-110989 – /spreadplayers considers signs to be a valid block 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 – Keybindings (e.g. ⎈ Control + A) are being mapped to the US keyboard layout even if you're using another layout.
  • 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 – Command success messages for some commands include unaffected entities, unlike the command result.
  • MC-122731 – Camera movement stutters when turning in a boat.
  • MC-133407 – Keybinds switch when upgrading to 1.13 if not using a QWERTY keyboard.
  • MC-148541 – /spreadplayers can spread players to seagrass near the surface of the water.
  • 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-159283 – The End terrain does not generate in multiple rings centered around the world center.
  • 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-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 when the value is not changed.
  • MC-175180 – The Silent NBT tag still doesn't make some entities fully silent.
  • 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 block entities is visually slow.
  • MC-206540 – Increased input delay when riding an entity.
  • MC-210584 – Semi-transparent textures on an item that doesn't have it by default doesn't render water behind it.
  • MC-212671 – Loot table tag entry with "expand": true does not apply functions.
  • MC-218156 – Shipwrecks and ocean ruins can generate with empty buried treasure maps.
  • MC-222818 – You can ignite TNT in Adventure mode.
  • 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-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-236497 – The head rotations of passengers in boats are not correctly displayed for 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-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 item frames, paintings, or cushions logs Block-attached entity at invalid position: [BlockPosition].
  • MC-253023 – Breaking paintings, item frames, glow item frames cannot trigger sculk shriekers.
  • MC-254353 – A packet to remove the score is always broadcast when a score is reset.
  • 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-258579 – The player's head does not rotate smoothly (with delay) 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-263708 – Keybinds menu renders Keypad keys the same as regular keys.
  • MC-264003 – Boats carrying players sometimes stop abruptly when sliding along ice.
  • 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-266429 – Holding shift on macOS causes hotbar scroll direction to reverse (mouse only).
  • MC-267902 – The failure message of /random when the specified range is too large states an incorrect maximum for the range.
  • MC-268521 – The game window doesn't have a minimal width and height.
  • MC-269968 – Can't scroll while holding shift on macOS (except in the hotbar) (mouse only).
  • 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-273327 – The #convertable_to_mud block tag misspells "convertible" as "convertable".
  • 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-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-279395 – Trees can generate floating over ruined portals.
  • MC-279819 – The mining speed factor of Mining Fatigue is inconsistent at level 3.
  • MC-280250 – Projectiles sometimes desync when thrown/shot while moving.
  • MC-293615 – Tooltip formatting of "Items 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-side, causing players to be moved differently compared to other entities.
  • MC-296006 – Entities do not face the player correctly whilst in a boat.
  • MC-297741 – Gravity-affected blocks in upwards bubble columns can clip through solid blocks above them (on the client).
  • 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/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-299582 – Special crafting recipes behave differently than other recipe types with /recipe and the limited_crafting game rule.
  • MC-300000 – Players desync when teleporting all users riding a happy ghast.
  • 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-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-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-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-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-306619 – Cannot jump while sneaking while using a Chinese input method.
  • MC-306628 – TNT minecarts don't delete piercing arrows.
  • MC-307206 – Std140Builder incorrectly pads vec3s and ivec3s.
  • 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-307616 – Typo in a log message in ActiveProfiler: "aprox".
  • MC-307618 – Typo in a log message in SoundEngine: "disapeared".
  • MC-307625 – The glowing effect is not visible on block displays displaying end portals or end gateways.
  • MC-307648 – "non-heap" is misspelled as "non-head" in the system details section of crash reports.
  • MC-307660 – Typo in a log message in GameRenderer: "coudln't".
  • MC-307709 – The texture of upward facing sulfur spikes' merged tip has a single wrong pixel at the very top.
  • MC-307890 – Some textures of geyser plume particles use the wrong color in some spots.
  • MC-307902 – Partially transparent blocks inside sulfur cubes don't render correctly.
  • 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-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-308127 – The "Friends Screen" key bind overrides debug hotkeys using the same key.
  • MC-308222 – Worldgen heightmaps do not persist properly through chunk saving/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-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-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 to replace tall grass doesn't break the other half.
  • 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-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-309298 – Sending chat messages while having the "Chat Delay" option set to a nonzero value can sometimes kick you from the game.
  • MC-309565 – Block outlines are rendered behind translucent elements if the "High Contrast Block Outlines" option is 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 mispelled 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 do not follow players holding spider eyes.
  • MC-310337 – The game log outputs the incorrect minimum format version requiring the pack_format field in pack.mcmeta.
  • 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-310787 – Villagers do not level up until the trading window is closed for several seconds.

Notes

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

References

  1. ↑ Iron axe default data component
  2. ↑ Iron hoe default data component
  3. ↑ Iron shovel default data component
  4. ↑ MC-310826
  5. ↑ MC-310845
  6. ↑ MC-310723
  7. ↑ MC-310863
  8. ↑ a b MC-309259 – Block Tags "#blocks_fluid_flow" and "#washed_away_by_fluids" do not work as expected
  9. ↑ MC-310109
  10. ↑ MC-310110
  11. ↑ worldgen/feature/desert_well.json – misode.mcmeta

Sources