Java Edition 25w09a
Minecraft 25w09a


| Edition | |||||||
|---|---|---|---|---|---|---|---|
| Release date |
February 26, 2025 | ||||||
| Type | |||||||
| Snapshot for | |||||||
| Downloads | |||||||
| Obfuscation maps | |||||||
| Protocol version |
dec: 1073742060 | ||||||
| Data version |
4317 | ||||||
| Resource pack format |
53 | ||||||
| Data pack format |
69 | ||||||
| Minimum Java version | |||||||
| |||||||
{
"title": "Minecraft 25w09a",
"images": [
"25w09a.jpg",
"Java Edition 25w09a.png"
],
"rows": [
{
"field": "''(link to Java Edition article, displayed as Java Edition)''",
"label": "(link to Edition article, displayed as Edition)"
},
{
"field": "February 26, 2025",
"label": "Release date"
},
{
"field": "(link to Snapshot article, displayed as Snapshot)",
"label": "(link to Version types article, displayed as Type)"
},
{
"field": "(link to Java Edition 1.21.5 article, displayed as 1.21.5)",
"label": "Snapshot for"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/393baee4824f5329086d75c808d32a3e17dc7a8e/client.jar Client] ([https://piston-meta.mojang.com/v1/packages/c5f008cb23e91680ad24c67f66ddb612d7bcd513/25w09a.json .json])<br />[https://piston-data.mojang.com/v1/objects/baab122c7652b302621f7befd5be40abef9b9b7c/server.jar Server]",
"label": "(link to Tutorial:Installing a snapshot#Manual version installation article, displayed as Downloads)"
},
{
"field": "[https://piston-data.mojang.com/v1/objects/349aaa08ec8620847cb98d98d0b90f92173dfaf1/client.txt Client]<br />[https://piston-data.mojang.com/v1/objects/75e486a6ab66c511244448ccbd80534d169c9bea/server.txt Server]",
"label": "(link to Obfuscation map article, displayed as Obfuscation maps)"
},
{
"field": " <span style=\"font-size:smaller\"><abbr title=\"decimal\">dec</abbr>: </span>1073742060<br /> <span style=\"font-size:smaller\"><abbr title=\"hexadecimal\">hex</abbr>: </span>400000EC",
"label": "(link to Protocol version article, displayed as Protocol version)"
},
{
"field": "4317",
"label": "(link to Data version article, displayed as Data version)"
},
{
"field": "53",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of resource pack formats article, displayed as Resource pack format)</span>"
},
{
"field": "69",
"label": "<span style=\"white-space: normal;\">(link to Pack format#List of data pack formats article, displayed as Data pack format)</span>"
},
{
"field": "<span class=\"plainlinks\">[https://en.wikipedia.org/wiki/Java_version_history#Java_SE_21 Java SE 21]</span>",
"label": "<span style=\"white-space: normal;\">Minimum Java version</span>"
}
],
"invimages": [],
"footer": "<table style=\"margin: auto; word-break: break-word;\">\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\" >[[Java Edition 1.21.4|<span style=\"margin-right:-0.35em\">◄</span>◄ 1.21.4]]</td>\n<td style=\"padding: 0.4em\">'''[[Java Edition 1.21.5|1.21.5]]'''</td>\n<td style=\"padding: 0.4em\" ></td>\n</tr>\n<tr style=\"background: inherit;\">\n<td style=\"padding: 0.4em\">\n[[Java Edition 25w08a|◄ 25w08a]]\n</td>\n<td style=\"padding: 0.4em\">''' 25w09a'''</td>\n<td style=\"padding: 0.4em\">\n[[Java Edition 25w09b| 25w09b ►]]\n</td>\n</tr>\n</table>"
}
25w09a is the eighth snapshot for Java Edition 1.21.5, released on February 26, 2025, which adds fallen trees for parity with Bedrock Edition, updates firefly bushes to generate in more biomes and fixes bugs.[1]
Additions
World generation
- Fallen trees are a new decorative variant of trees.
- Fallen trees come in four different wood type variants:
- Birch fallen trees can come in a shorter version or a longer version.
- Some fallen trees can be decorated with mushroom or vines.
- Fallen trees can be found in all biomes where their standing tree variant grow, except the following:
Meadow
Bamboo Jungle
River
Grove
Flower Forest
- Has fallen birch trees but not fallen oak trees.
Changes
Blocks
- Can now be placed on farmland.
- The Firefly Bush can now generate near water in mangrove swamps and all types of badlands (very rarely), like other biomes with water.
- Leaf Litter is now replaceable by other blocks.
Short Dry Grass and Tall Dry Grass
- Are now randomly offset within the block they are on.
Command format
/data
- Can now create and modify heterogeneous lists transparently.
- Can no longer traverse paths with an empty key (e.g.
/data get ... foo..bar)
General
campfire- The
CookingTimesandCookingTotalTimesfields will no longer be preserved when removed.
- The
chiseled_bookshelf- The
last_interacted_slotfield now defaults to-1if not specified.
- The
hopper- The
TransferCooldownfield now default to-1if not specified.
- The
jigsaw- The
name,target, andpoolfields now default tominecraft:emptyif not specified. - The
final_statefield now defaults tominecraft:airif not specified.
- The
sculk_shrieker- The
warning_levelfield now defaults to0if not specified.
- The
structure_block- The
ignoreEntitiesand showboundingbox fields now default totrueif not specified. - The
posYfield now defaults to 1 if not specified.
- The
- The pack format version is now
69. - New command line argument
--renderDebugLabelsis available for the client.- Adds debug labels to relevant OpenGL objects, making debugging rendering easier for developers.
- The
FallFlyingfield will no longer be preserved if removed.- The
HealthandAirfields now default to their respective maximum value if not specified.
- The
area_effect_cloud- The
Durationfield now defaults to-1if not specified. - If the
Durationfield is-1, the Area Effect Cloud will never run out. - This means that an Area Effect Cloud summoned with no duration specified will no longer immediately disappear.
- The
creeper- The
Fusefield now defaults to30if not specified. - The
ExplosionRadiusfield now defaults to3if not specified.
- The
dolphin- The
Moistnessfield now defaults to2400if not specified.
- The
ender_dragon- The
DragonDeathTimefield now defaults to0if not specified.
- The
falling_block- The
BlockStatefield can now beair(will despawn immediately) - if otherwise not specified or invalid, defaults tosand. - The
HurtEntitiesfield now defaults tofalseif not specified (ortrueifBlockStateisanvil). - The
FallHurtAmountfield now defaults to0if not specified. - The
FallHurtMaxfield now defaults to40if not specified. - The
DropItemfield now defaults totrueif not specified. - The
TileEntityDatafield will no longer be preserved if removed.
- The
firework_rocket- The
ShotAtAnglefield now defaults to false if not specified.
- The
fox- The
Trustedfield now defaults to empty if not specified (and will no longer be merged with the previous state if modified by/data).
- The
ghast- The
ExplosionPowerfield now defaults to1if not specified.
- The
goat- The
HasLeftHornandHasRightHornfields now default to true if not specified.
- The
interaction- The
widthandheightfields now default to1if not specified.
- The
item- The
Healthfield now defaults to5if not specified. - The
PickupDelayfield now defaults to0if not specified. - The
Agefield now defaults to0if not specified. - The
OwnerandThrowerfields will no longer be preserved when removed.
- The
item_frameandglow_item_frame- The
ItemDropChancefield now defaults to1.0if not specified
- The
primed_tnt- The
fusefield now defaults to80if not specified. - The
explosion_powerfield now defaults to4if not specified.
- The
shulker- The
Colorfield now defaults to16(no color) if not specified.
- The
skeleton- The
StrayConversionTimefield will no longer be preserved when removed.
- The
spectral_arrow- The Duration field now defaults to
200if not specified.
- The Duration field now defaults to
snow_golem- The Pumpkin field now defaults to
trueif not specified.
- The Pumpkin field now defaults to
tnt_minecart- The
fusefield now defaults to80if not specified. - The
explosion_powerfield now defaults to4if not specified. - The
explosion_speed_factorfield now defaults to1if not specified.
- The
trader_llama- The
DespawnDelayfield now defaults to47999.
- The
villager- The
FoodLevelandXpfields now default to0if not specified. - The
ConversionTimefield will no longer be preserved when removed.
- The
wandering_trader- The
DespawnDelayfield now defaults to0if not specified.
- The
zombie- The
DrownedConversionTimefield will no longer be preserved when removed.
- The
zombie_villager- The
Xpfield now defaults to0if not specified. - The
ConversionTimefield will no longer be preserved when removed.
- The
arrow,spectral_arrow,trident- The
damagefield now defaults to2if not specified.
- The
dragon_fireball,wind_charge,breeze_wind_charge,wither_skull,small_fireball, andlarge_fireball- The
acceleration_powerfield now defaults to0.1if not specified.
- The
small_fireballandlarge_fireball- The
ExplosionPowerfield now defaults to1if not specified.
- The
block_display,item_display, andtext_display- The
interpolation_duration,teleport_duration, andstart_interpolationfields now default to0if not specified. - The
view_rangefield now defaults to1if not specified. - The
shadow_radiusfield now defaults to0if not specified. - The
shadow_strengthfield now defaults to1if not specified. - The
widthandheightfields now default to0if not specified.
- The
- Any interface with NBT data within the game (SNBT representation,
/data) now supports heterogeneous lists, i.e. ones where elements are not of the same type- Inserting or replacing into a list of a different type with
/datawill no longer give an error. - Inserting into an array type (e.g.
[I;1,2,3]) is still type-restricted. - This means that the 'wrapper' objects previously used to represent heterogeneous lists will no longer be observable by in-game means.
- Inserting or replacing into a list of a different type with
- The NBT file format is unchanged.
- Heterogeneous lists are transformed before storage to bypass NBT constraints.
- Example transform:
['a', {'b':3}]is stored as[{'':'a'},{'b':3}].
- Example transform:
- Existing external tools will still be able to read NBT files as before, but heterogeneous lists will be displayed in the transformed form.
- Heterogeneous lists are transformed before storage to bypass NBT constraints.
- No data produced by the game has changed: objects such as Text Components were already producing heterogeneous lists in this form.
- Note: these wrapper objects may never be observed in-game, they are only relevant to developers working with the NBT file or network format directly.
SNBT format
- The text format for describing object-like data in commands (like NBT, text components, predicates, etc.) has been extended.
- Number Format
- Either whole or fraction parts of a float number can be omitted
- Examples:
.1and1.are valid now
- Examples:
- Float numbers now use E notation
- Example: both
1.2e3and1.2E3,1.2E+3,12000e-1are now a valid way to represent1200.0
- Example: both
- Integer numbers can now be prefixed with
0xto represent hexadecimal numbers and0bto represent binary numbers- Example:
0xbad(equal to2989),0xCAFE(equal to51966),0b101(equal to5)
- Example:
- Integer numbers now can't start with
0- Normally (e.g. in Java) it would mean number is in base-8, but this usage is not implemented, to avoid accidental misuse
- Numbers can now contain
_character between sequences of digits (but not at the start or the end of sequence)- Example:
0b10_01,0xAB_CD,1_2.3_4__5f,1_2e3_4
- Example:
NaN,Infor hexadecimal float representation are NOT supported- Type suffixes have been extended:
- Integer type suffixes (
borB- byte,sorS- short,iorI- integer,lorL) can now be prefixed withs(signed) oruunsigned - New suffixes only affect valid range when parsing - values are still stored as signed
- Example:
240ubis equal to-16sb, while240sbdoes not parse
- Example:
- When a suffix is used without
uors, it defaults to signed for decimal numbers and unsigned for binary and hexadecimal numbers - Note: since
bis also a valid hexadecimal digit, byte sized hexadecimal values can only be written with a signed suffix, like0x11ubor0x11sb
- Integer type suffixes (
- Either whole or fraction parts of a float number can be omitted
- Strings
- Quoted strings can now use escape sequences beyond ', " and \:
- Unicode escapes:
\x- two digit escape, like\x42\u- four digit escape, like\u2603\U- eight digit escape, like\U00002603\N{<name>}- named Unicode character, like\N{Snowman}
- Built-in escape sequences:
\b- backspace, Unicode\x08\s- space, Unicode\x20\t- horizontal tab, Unicode\x09\n- linefeed, Unicode\u0a\f- form feed, Unicode\u0c\r- carriage return, Unicode\u0d
- Unicode escapes:
- Unquoted strings now can't start with
0-9,.,+,-to avoid accidental collision with numbers
- Quoted strings can now use escape sequences beyond ', " and \:
- Number Arrays
- Values in arrays (
[B;],[I;],[L;]) without a suffix are now assumed to have suffix matching the type of the array- Example:
[B;1,2]is equivalent to[B; 1b, 2b]
- Example:
- Arrays can now also accept types smaller than the array type
- Example:
[I;1b,2s,3]is valid and equivalent to[I;1i,2i,3i]
- Example:
- Values in arrays (
- Lists
- Lists now accept trailing commas
- Example:
[1,2,]is valid and equivalent to[1,2] - Only one trailing comma is allowed, and it must come after a valid element - both
[,]and[1,,]are invalid
- Example:
- Lists now accept trailing commas
- Compounds
- Compounds (maps) now accept trailing commas
- Example:
{a:b,} - Only one trailing comma is allowed, and it must come after a valid key-value pair - both
{,}and{a:b,,}are invalid
- Example:
- Compounds (maps) now accept trailing commas
- Added
farmlandto#dry_vegetation_may_place_onblock tag. - Added
leaf_litterto#replaceableblock tag. - Added
cactus_flowerto#wall_post_overrideblock tag.
Fixes
From released versions before 1.21
- MC-168262 – Dead bushes cannot be placed on farmland.
- MC-236100 – End crystal beam appears to be black.
From 1.21.2
- MC-276861 – The player can sometimes teleport through blocked end portals when moving very fast.
From the 1.21.5 development versions
- MC-279229 – SNBT text components prevent
\nand\tfrom working. - MC-279236 – Flying into water with an elytra puts the player into an erroneous state.
- MC-279250 – SNBT text components prevent unicode escapes from working.
- MC-279252 – Changing a single line of a sign with
/datais no longer possible in some situations. - MC-279278 – Strafing twice in rapid succession while walking forward causes player to sprint.
- MC-279928 – Beacon beam clips into beacon block when far enough away.
- MC-279932 – Beacon beam disappears and reappears when approaching it.
- MC-279942 – Beacon beam can render over fog when outside render distance.
- MC-279947 – Snout of the new cow model is offset vertically by 0.1 pixels.
- MC-280022 – Players can be lit by lava while stepping onto solid blocks next to it.
- MC-280033 – Beacon beams render beyond client render distance.
- MC-280121 – Leaf litter can be placed on walls and fences.
- MC-280123 – Short dry grass and tall dry grass aren't randomly offset, unlike similar blocks.
- MC-280155 – Random ticks can cause entity build-up in lazy chunks.
- MC-280170 – Goats can no longer ram armor stands unless the game rule
mobGriefingis set tofalse. - MC-280211 – End crystal beams cause OpenGL errors with glDebugVerbosity set to 3.
Video
Videos made by Slicedlime:
References
- ↑ "Minecraft Snapshot 25w09a" – Minecraft.net, February 26, 2025.