Java Edition 25w09a

Jump to navigation Jump to search
This page covers a development version that has an issue under certain conditions.
 
The game crashes when a Breeze or Warden is rendered in any way.
Minecraft 25w09a
25w09a.jpg: Infobox image for Minecraft 25w09a the version in Minecraft
Java Edition 25w09a.png: Infobox image for Minecraft 25w09a the version in Minecraft
Edition

Java Edition

Release date

February 26, 2025

Type

Snapshot

Snapshot for

1.21.5

Downloads

Client (.json)
Server

Obfuscation maps

Client
Server

Protocol version

 dec1073742060
 hex400000EC

Data version

4317

Resource pack format

53

Data pack format

69

Minimum Java version

Java SE 21

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[edit | edit source]

World generation[edit | edit source]

Fallen tree

  • 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:

Changes[edit | edit source]

Blocks[edit | edit source]

Dead Bush

Firefly Bush

  • 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

  • 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[edit | edit source]

/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[edit | edit source]

Block entity format

  • campfire
    • The CookingTimes and CookingTotalTimes fields will no longer be preserved when removed.
  • chiseled_bookshelf
    • The last_interacted_slot field now defaults to -1 if not specified.
  • hopper
    • The TransferCooldown field now default to -1 if not specified.
  • jigsaw
    • The name, target, and pool fields now default to minecraft:empty if not specified.
    • The final_state field now defaults to minecraft:air if not specified.
  • sculk_shrieker
    • The warning_level field now defaults to 0 if not specified.
  • structure_block
    • The ignoreEntities and showboundingbox fields now default to true if not specified.
    • The posY field now defaults to 1 if not specified.

Data pack

  • The pack format version is now 69.
  • New command line argument --renderDebugLabels is available for the client.
    • Adds debug labels to relevant OpenGL objects, making debugging rendering easier for developers.

Entity format

  • The FallFlying field will no longer be preserved if removed.
    • The Health and Air fields now default to their respective maximum value if not specified.
  • area_effect_cloud
    • The Duration field now defaults to -1 if not specified.
    • If the Duration field 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.
  • creeper
    • The Fuse field now defaults to 30 if not specified.
    • The ExplosionRadius field now defaults to 3 if not specified.
  • dolphin
    • The Moistness field now defaults to 2400 if not specified.
  • ender_dragon
    • The DragonDeathTime field now defaults to 0 if not specified.
  • falling_block
    • The BlockState field can now be air (will despawn immediately) - if otherwise not specified or invalid, defaults to sand.
    • The HurtEntities field now defaults to false if not specified (or true if BlockState is anvil).
    • The FallHurtAmount field now defaults to 0 if not specified.
    • The FallHurtMax field now defaults to 40 if not specified.
    • The DropItem field now defaults to true if not specified.
    • The TileEntityData field will no longer be preserved if removed.
  • firework_rocket
    • The ShotAtAngle field now defaults to false if not specified.
  • fox
    • The Trusted field now defaults to empty if not specified (and will no longer be merged with the previous state if modified by /data).
  • ghast
    • The ExplosionPower field now defaults to 1 if not specified.
  • goat
    • The HasLeftHorn and HasRightHorn fields now default to true if not specified.
  • interaction
    • The width and height fields now default to 1 if not specified.
  • item
    • The Health field now defaults to 5 if not specified.
    • The PickupDelay field now defaults to 0 if not specified.
    • The Age field now defaults to 0 if not specified.
    • The Owner and Thrower fields will no longer be preserved when removed.
  • item_frame and glow_item_frame
    • The ItemDropChance field now defaults to 1.0 if not specified
  • primed_tnt
    • The fuse field now defaults to 80 if not specified.
    • The explosion_power field now defaults to 4 if not specified.
  • shulker
    • The Color field now defaults to 16 (no color) if not specified.
  • skeleton
    • The StrayConversionTime field will no longer be preserved when removed.
  • spectral_arrow
    • The Duration field now defaults to 200 if not specified.
  • snow_golem
    • The Pumpkin field now defaults to true if not specified.
  • tnt_minecart
    • The fuse field now defaults to 80 if not specified.
    • The explosion_power field now defaults to 4 if not specified.
    • The explosion_speed_factor field now defaults to 1 if not specified.
  • trader_llama
    • The DespawnDelay field now defaults to 47999.
  • villager
    • The FoodLevel and Xp fields now default to 0 if not specified.
    • The ConversionTime field will no longer be preserved when removed.
  • wandering_trader
    • The DespawnDelay field now defaults to 0 if not specified.
  • zombie
    • The DrownedConversionTime field will no longer be preserved when removed.
  • zombie_villager
    • The Xp field now defaults to 0 if not specified.
    • The ConversionTime field will no longer be preserved when removed.
  • arrow, spectral_arrow, trident
    • The damage field now defaults to 2 if not specified.
  • dragon_fireball, wind_charge, breeze_wind_charge, wither_skull, small_fireball, and large_fireball
    • The acceleration_power field now defaults to 0.1 if not specified.
  • small_fireball and large_fireball
    • The ExplosionPower field now defaults to 1 if not specified.
  • block_display, item_display, and text_display
    • The interpolation_duration, teleport_duration, and start_interpolation fields now default to 0 if not specified.
    • The view_range field now defaults to 1 if not specified.
    • The shadow_radius field now defaults to 0 if not specified.
    • The shadow_strength field now defaults to 1 if not specified.
    • The width and height fields now default to 0 if not specified.

NBT format

  • 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 /data will 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.
  • 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}].
    • Existing external tools will still be able to read NBT files as before, but heterogeneous lists will be displayed in the transformed form.
  • 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: .1 and 1. are valid now
    • Float numbers now use E notation
      • Example: both 1.2e3 and 1.2E3, 1.2E+3, 12000e-1 are now a valid way to represent 1200.0
    • Integer numbers can now be prefixed with 0x to represent hexadecimal numbers and 0b to represent binary numbers
      • Example: 0xbad (equal to 2989), 0xCAFE (equal to 51966), 0b101 (equal to 5)
    • 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
    • NaN, Inf or hexadecimal float representation are NOT supported
    • Type suffixes have been extended:
      • Integer type suffixes (b or B - byte, s or S - short, i or I - integer, l or L) can now be prefixed with s (signed) or u unsigned
      • New suffixes only affect valid range when parsing - values are still stored as signed
        • Example: 240ub is equal to -16sb, while 240sb does not parse
      • When a suffix is used without u or s, it defaults to signed for decimal numbers and unsigned for binary and hexadecimal numbers
      • Note: since b is also a valid hexadecimal digit, byte sized hexadecimal values can only be written with a signed suffix, like 0x11ub or 0x11sb
  • 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
    • Unquoted strings now can't start with 0-9, ., +, - to avoid accidental collision with numbers
  • 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]
    • 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]
  • 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
  • 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

Tags

  • Added farmland to #dry_vegetation_may_place_on block tag.
  • Added leaf_litter to #replaceable block tag.
  • Added cactus_flower to #wall_post_override block tag.

Fixes[edit | edit source]

19 issues fixed

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 \n and \t from 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 /data is 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 mobGriefing is set to false.
  • MC-280211 – End crystal beams cause OpenGL errors with glDebugVerbosity set to 3.

Video[edit | edit source]

Videos made by Slicedlime:

References[edit | edit source]

Navigation[edit | edit source]