For nearly a month, fans have gone without any news about what’s coming to Minecraft next. Mojang Studios has finally broken the silence by releasing Minecraft Snapshot 25w02a. This is the first Java Edition snapshot of 2025 and brings a host of exciting new features for the next game update.Minecraft Snapshot 25w02a introduces two new types of pigs called the Cold Pig and the Warm Pig, found in cold and warm biomes, respectively. The default pig is now called the Temperate Pig and appears in Overworld biomes where the other two don’t spawn.In addition to the pigs, Mojang has added a beautiful falling leaves particle effect to all leaf blocks, alongside fresh leaf litter blocks, which can be found in all forest biomes. Without further ado, let’s dive into all the features and changes in Minecraft Snapshot 25w02a.Minecraft snapshot 25w02a patch notes: All you need to knowNew FeaturesAdded new falling leaves particles to Leave blocks without particlesAdded cold and warm variants for the PigAdded Wildflowers blockAdded Leaf Litter blockLeaves block particlesAll Leaves blocks now have chance of spawning falling leaf particlesThese blocks are affected by this change:Oak LeavesJungle LeavesAcacia LeavesDark Oak LeavesSpruce LeavesMangrove LeavesBirch LeavesAzalea LeavesFlowering Azalea LeavesPig VariantsPig variants are here (Image via Mojang)New Pig variants have been added, the variant is determined by the biome they spawn inTemperate Pig - The Pig we are all familiar withSpawns by default where the cold and warm Pig variants do not spawnCold Pig - A variant that spawns in the following biomes:Old Growth Pine TaigaOld Growth Spruce TaigaTaigaSnowy TaigaWindswept HillsWindswept Gravelly HillsWindswept ForestWarm Pig - A variant that spawns in the following biomes:SavannaSavanna PlateauWindswept SavannaJungleSparse JungleBamboo JungleEroded BadlandsWooded BadlandsBadlandsWhen bred by a player, a baby Pig variant will not be chosen by the current biome, but instead randomly selected from one of the parents' variantsWildflowersWildflowers are a new type of flower which grow in Birch Forests, Old Growth Birch Forests and MeadowsWildflowers can have different amounts of flowers in one block spaceUp to four Wildflowers can be placed in the same block spacePlacing a Wildflower into an already placed Wildflowers block increases the amount of flowersUsing Bone Meal on Wildflowers will produce more WildflowersWildflowers can be placed in four orientationsWildflowers can be crafted into Yellow DyeLeaf LitterMinecraft Leaf Litter (Image via Mojang Studios)Leaf Litter is a new type of decorative block which can be found in the Forests, Dark Forests and Wooded BadlandsLeaf Litter can have different amounts of leaves in one block spaceUp to four Leaf Litter pieces can be placed in the same block spacePlacing a Leaf Litter into an already placed Leaf Litter block increases the amount of leavesLeaf Litter can be placed in four orientationsLeaf Litter can be created by smelting any type of Leaves blockLeaf Litter can be used as fuel for smeltingLeaf Litter has unique block soundsChangesLodestones have a new crafting recipe and can now be found in Ruined PortalsAdded new break, place, step, fall and hit sounds for Iron Blocks, Iron Bars, Iron Trapdoors, Iron Doors and Heavy Weighted Pressure PlatesZombified Piglins now need to be killed by a Player to drop the Player-specific lootThis makes them consistent with all other mobs in the gameChunks loaded by a portal will now be re-loaded again automatically when the world is reopenedFarm animals can now spawn in BadlandsShort Grass now generates slightly sparser in MeadowsThe volume of the narrator is now affected by the game's configured volume in the 'Voice' categoryUploading a world to Realms will now enable Command Blocks by defaultIt is now possible to upload Hardcore singleplayer worlds to RealmsBubble columns produce less particles and sounds when entities that are unaffected by them are inside themIf the game detects that the last startup did not complete normally, the fullscreen option will now be resetGarden Awakens ChangesPale Garden update is getting better (Image via Mojang)Minecraft has made some much needed changes to Pale Garden features:Pale Garden biome now occupies more space that was previously taken by Dark ForestWoodland Mansions can now generate in Pale Garden biomePale Oak Leaves and Pale Oak Saplings have an updated map colorCreakings can now be named using Name TagsNamed Creaking will persist through the dayHowever, it will still be torn down if stuck with a player or if it is too far from its HeartNamed Creakings are still resistant to all damage, and can communicate with their Hearts via particlesCreaking Hearts correctly placed between Logs have a new dormant texture during the dayDormant Creaking Hearts cannot spawn new Creakings and ResinTransition between the awake and dormant states for Creaking Hearts and transition of Eye Blossoms is now based on the fixed day timeAll these behaviors are no longer affected by weather or dimension brightnessLodestone ChangesThe Lodestone is now crafted from 1 Iron Ingot surrounded by 8 Chiseled Stone BricksLodestones can now be found as loot at Ruined Portals in the Overworld or NetherTechnical Changes in Minecraft snapshot 25w02aThe Data Pack version is now 62The Resource Pack version is now 47Data Pack Version 62Changes to commandsUpdated data format of Text Componentsstructure_block in the load mode has now a new option: Strict PlacementIf set to false, the blocks in the placed structure will not trigger block updates, block entity side effects, or shape updatesThe Owner field of tamed animals is no longer restricted to referencing PlayersUpdated data format of equipment drop chances in entity dataAdded data-driven registry for pig variantsAdded pig entity sub-predicate for matching pig variantsCommandsText Components in commands such as /tellraw or /title are now specified with SNBT instead of JSONText Style in the /scoreboard command when specifying the styled number format is also now specified with SNBT instead of JSONThe behavior of setblock and fill commands have changed in how they handle block entity data:If the block entity data is not specified, and the existing block has data, the block entity data will be preservedIf the block entity data is specified, the block entity data will be set to the specified valueTo clear the block entity data explicitly, you must now specify the block entity data as {}The operation is now successful if either the block state changed or the block entity data changedfill, clone, setblock and place template accept a new option: strictIf specified, the command will place blocks as-is without triggering block updates and shape updatesThe replace option in the fill command is no longer terminal, and can be followed with additional optionsNew syntax for commands to use the new strict option, and more flexible use of replace:fill <from> <to> <block> keepfill <from> <to> <block> [replace <filter>]? [strict|destroy|hollow|outline]?clone [from <sourceDimension>]? <begin> <end> [to <targetDimension>]? <destination> [strict]? [[replace|masked|filtered <filter>] [force|move|normal]?]?setblock <pos> <block> [destroy|keep|replace|strict]?place template <template> [<pos> [<rotation> [<mirror> [<integrity> [<seed> [strict]?]?]?]?]?]?Text Component Data FormatText Components are no longer stored as JSON wrapped by a stringThe format itself is the same as before, but inlined directly into the outer structureFor example, the item component minecraft:custom_name="{"text":"Renamed item"}" will become minecraft:custom_name={text:'Renamed item'}This includes Text Components passed as arguments to commands such as /tellraw or /titleFor example, /tellraw @s ""text":"Hello world"" may become /tellraw @s {text:'Hello world'}Note: in the case where Text Components are embedded in NBT, no distinction exists between boolean and integer typesTo pass boolean arguments to translations, you must use the string formFor Text Components with the nbt type and interpret set to true, Text Components will be parsed from the given NBT directly rather than converting to string and parsing as JSONThe format of hover and click events has been updatedHover EventsThe hoverEvent field has been renamed to hover_eventThe legacy value field (which was parsed from a rendered text component) is no longer supportedFor the show_text action:contents field has been renamed to texte.g. {action:'show_text',contents:'Hello world'} becomes {action:'show_text',text:'Hello world'}For the show_item action:The contents field has been inlinede.g. {action:'show_item',contents:{id:'minecraft:stick',count:2}} becomes {action:'show_item',id:'minecraft:stick',count:2}If contents was specified only as an item id, it is replaced with the full format and inlinede.g. {action:'show_item',contents:'minecraft:stick'} becomes {action:'show_item',id:'minecraft:stick'}For the show_entity action:The contents field has been inlinedThe id field has been renamed to uuidThe type field has been renamed to ide.g. {action:'show_entity',contents:{id:[I;0,0,0,0],type:'minecraft:pig'}} becomes {action:'show_entity',uuid:[I;0,0,0,0],id:'minecraft:pig'}Click EventsThe clickEvent field has been renamed to click_eventFor the open_url action:The value field has been renamed to urlThe click event will no longer parse if not a valid URI with either https:// or http:// schemes, instead of simply not workinge.g. {action:'open_url',value:'https://minecraft.net'} becomes {action:'open_url',url:'https://minecraft.net'}For the run_command action:The value field has been renamed to commandThe click event will no longer parse if the command contains disallowed characters, instead of simply not workingIt is no longer required that the specified command field has a / prefixe.g. {action:'run_command',value:'/say Hi'} becomes {action:'run_command',command:'/say Hi'}For the suggest_command action:The value field has been renamed to commandThe click event will no longer parse if the command contains disallowed characters, instead of simply not workinge.g. {action:'suggest_command',value:'/help'} becomes {action:'suggest_command',command:'/help'}For the change_page action:The value field has been renamed to pageThe page value now requires a positive integer instead of a stringe.g. {action:'change_page',value:'1'} becomes {action:'change_page',page:1}The copy_to_clipboard format is unchangedTagsBlock TagsAdded #replaceable_by_mushrooms - exhaustive list of all bocks that can be replaced as a mushroom is placed or growsAdded #sword_instantly_mines - blocks that are instantly mined by SwordsItem TagsAdded #book_cloning_target - item that can be crafted together with a Written Book to clone itBiome TagsAdded #spawns_cold_variant_farm_animals - all biomes where cold variant of farm animals spawnAdded #spawns_warm_variant_farm_animals - all biomes where warm variants of farm animals spawnEntity DataThe ArmorDropChances, HandDropChances, and body_armor_drop_chance fields have been merged into a drop_chances fieldFormat: map between equipment slot type and chance valueValid equipment slots: head, chest, legs, feet, mainhand, offhand, bodyIf not specified or removed, chances will be assumed as default (0.085f)e.g. drop_chances:{chest:0.1,feet:1.0}Drop chances with a default value will no longer be stored, and the drop_chances field is removed entirely if all defaultsArea Effect Clouds have a new field: potion_duration_scale (float)If not specified, defaults to 1.0The duration of the potion effect applied is scaled by this factorArea Effect Clouds created by Lingering Potions will have a scale of 0.25Pig VariantsPig variants can be data-driven by adding entries to data/<namespace>/pig_variant/<id>.jsonThis feature is experimentalFields in file:model - one of: normal, coldtexture - texture id for this variant, resolves to assets/<namespace>/textures/<path>.pngbiome - single entry, list or a tag describing biomes in which this variant natually spawnsIf not specified, this variant will only be selected if no other variant matches the current biomeRecipescrafting_transmuteRecipe TypeThe result field now supports specifying a count and a components patch to apply to the resultThe components patch is applied to the final transmuted itemThe new format is an object with fields:id - item idcount - positive integer (default: 1)components - a component patch object (default: empty)e.g. "result": {"id": "minecraft:stick", "count": 3, "components": {"!minecraft:damage": {}, "minecraft:enchantment_glint_override": {}}}The field can still be defined as before as an inline item id (e.g. "result": "minecraft:stick")Item ComponentsNewweaponcomponentWhen present, the 'Item Used' statistic will be incremented for each attack with the itemThe specified amount of damage can be done to the item with each attackFormat: object with fields:damage_per_attack - non-negative integer (default: 1)The amount to damage the weapon for each attack performedcan_disable_blocking - boolean (default: false)If true, will disable a blocking Shield on successful attacke.g. weapon={damage_per_attack:2}Newpotion_duration_scalecomponentWhen present, for items that have the potion_contents component, the duration of the applied effects will be scaled by this factorThis also applies to custom_effects in the potion_contents component, unlike the previous hardcoded scaling factorIf not specified, defaults to 1.0Format: non-negative floate.g. potion_duration_scale=0.25toolComponentAdded new optional field: can_destroy_blocks_in_creative (bool)If false, players cannot break blocks while holding this tool in Creative ModeIf not specified, defaults to trueResource Pack Version 47Added textures for new falling leaves particlesNew and updated Pig texturesAdded textures for new Wildflowers blockAdded break, place, step, fall and hit sounds for Iron Blocks, Iron Bars, Iron Trapdoors, Iron Doors and Heavy Weighted Pressure PlatesNew and updated Pig texturesAdded new textures for Pig variants:cold_pigwarm_pigChanged the size of pig textureFixed bugs in Minecraft snapshot 25w02aMC-7697 - Tridents or arrows shot through lava sometimes don't catch fireMC-55800 - Successful "/fill air destroy" commands give error message and return 0 for result/successMC-56653 - Zombified Piglins drop XP and rare drops if killed by anything while in angered stateMC-90212 - You cannot hang on to climbable blocks while gliding with elytraMC-93185 - The exit portal in the end generates at highest block at 0 0 which can make it generate incompleteMC-97244 - The "minecraft:enchant.thorns.hit" sound event doesn't play when non-player entities are damaged by the thorns enchantmentMC-113878 - Attribute modifiers description for chest is misleading / "When on body" instead of "When on chest"MC-118053 - Wolves with the Owner of a non-player are spawned sittingMC-118092 - Crafting recipe unlock toast says "New Recipes Unlocked!" even when only one recipe was unlockedMC-118470 - Narrator plays at full volume when volume is offMC-128079 - Statistic for using shears doesn't increase when mining certain blocksMC-135192 - Boats are immediately sunken if there is a string on the surface of the waterMC-141297 - You cannot set lit state of redstone torches using setblock, debug stick and BlockStateTag, to be to opposite of the situation it would be inMC-165421 - Bubble columns have the opposite effect on tridents and wind chargesMC-167125 - Rounding error on fall damageMC-183329 - Nether portal teleport overlay does not show up if the player has the nausea effectMC-183623 - Hardcore worlds in the world menu have a comma after the red exclamation markMC-184681 - Customized worlds still say "Buffet world customization" since 20w21aMC-202226 - /recipe give or take for one recipe says "recipes"MC-220672 - Inconsistent pluralization in customize world preset heading source stringMC-222876 - "Buffet world customization" is incorrectly capitalizedMC-226772 - Shulker box opening / closing subtitle shows "Shulker"MC-241951 - Player momentum on X and Z axis are cancelled separately at low valuesMC-248099 - Mob pathfinding breaks after falling into water accidentally while walkingMC-253721 - Wrong logs when running /op @aMC-260440 - Players can no longer activate swimming mode in water while flying with elytraMC-261385 - Bubble columns act differently at the surface depending on non-air blocksMC-262928 - The "minecraft:entity.player.hurt" sound is no longer played when players receive thorns damage from guardians or elder guardiansMC-262939 - Changing dimensions or respawning with nausea effect active displays nether portal overlayMC-265514 - HRTF stuck on even when directional audio is set to off in update 1.20.2MC-267221 - "value" within "change_page" clickEvent json looks for a string instead of an integerMC-267323 - Items fields with old boolean JSON formatting are cleared upon world updateMC-270220 - Granting all advancements results in prolonged, disruptive and loud audio spamMC-271065 - Diagonal movement is not normalized when crouching or using certain itemsMC-272790 - Shulker boxes and other blocks in the end exit portal when it changes state are not dropped as itemsMC-273338 - Flying boat glitch using string and rising bubble columnsMC-274187 - The sweeping attack from a sword enchanted with Fire Aspect can ignite other players with PVP disabledMC-275994 - Having the pie chart open while the window is unfocused spams the logsMC-277403 - Flaming arrows and tridents still don't extinguish when water is placed in their locationMC-277537 - Pale moss carpets sometimes generate disjointedMC-277780 - Minecraft resaves all maps with every autosave even after the 1st patchMC-277807 - Teleporting the player's mount causes rotation de-sync, previously did notMC-277865 - The animation of boats in bubble columns breaks when over a certain "Time" in level.datMC-277922 - Boats in 1 block high downward bubble column will continue to rock back and forthMC-278040 - Creaking swim pathfinding breaks after being submergedMC-278096 - "Fabulous!" graphics and clouds disabled causes all particles to linger in frame buffer for one frameMC-278164 - Click sound is played twice when you click a setting button and there's a slider under the mouse in the next screenMC-278204 - Blaze fireballs now cause TNT minecarts to explode instantlyMC-278249 - Experience orb positions desync severely and abruptly correct themselvesMC-278375 - Feeding wheat or hay bale to llama or trader llama with maximum Temper causes item stack to be desyncedMC-278376 - Arrows and tridents act weirdly in one block deep bubble columnsMC-278422 - Reloading the world after removing Owner tag from a sitting tamed wolf with /data remove makes the wolf moving and sitting at the same timeMC-278493 - Tamed wolves which are angry at creakings remain angry when said creakings despawnMC-278502 - Weeping and twisting vines disconnectMC-278552 - minecraft:entity.player.big_fall no longer plays the sound when falling from great heightMC-278585 - Players can get stuck when landing on the edge of powder snowMC-278591 - Ender dragon spawn egg is no longer given when using pick block on the ender dragon entityMC-278615 - Reinforcement zombified piglins are angry at you even if you killed the "caller" in one hitMC-278621 - Client/server desync when placing powder snow while landing in itMC-278627 - Players wearing leather boots will take fall damage when landing on the edge of powder snowMC-278634 - Trying to /setblock a 'waterlogged=true' state on (glow_lichen, resin_clump, sculk_vein, etc.) produces an errorMC-278659 - Attacking a natural stationary creaking does not trigger sculk sensorsMC-278683 - Mobs spawned from spawners or /summon never drop their equipmentMC-278708 - Throwing ender pearls while mounted only dismounts you, without teleportingMC-278728 - smithing_transform recipes can't set an item's components back to defaultMC-278733 - Breaking a double resin brick slab block only returns a single slabMC-278734 - Sheep's heads stutter when they look up or downMC-278755 - Teleporting far away while riding an entity softlocks the gameMC-278801 - The closed eyeblossom to gray dye recipe is not grouped with the other gray dye recipeMC-278841 - Powder snow no longer slows down the player falling from a high placeMC-279145 - Shulker bullets are no longer affected by bubble columnsMC-279152 - Shulker bullets can't teleport through nether or end portals, end gatewaysMinecraft Snapshot 25w02a is now available on the official game launcher. You can open the Minecraft Launcher and download the latest snapshot to explore the fresh features and changes.Also read: 5 things Minecraft should add in 2025