Java Edition 25w16a

This page covers a development version that has an issue under certain conditions.
 
This version crashes after the loading screen when run on certain devices using AMD graphics.[1]
Minecraft 25w16a
25w16a.jpg: Infobox image for Minecraft 25w16a the version in Minecraft
Java Edition 25w16a.png: Infobox image for Minecraft 25w16a the version in Minecraft
Edition

Java Edition

Release date

April 15, 2025

Type

Snapshot

Snapshot for

1.21.6

Downloads

Client (.json)
Server

Obfuscation maps

Client
Server

Protocol version

 dec1073742070
 hex400000F6

Data version

4423

Resource pack format

57

Data pack format

73

Minimum Java version

Java SE 21

25w16a is the second snapshot for Java Edition 1.21.6, released on April 15, 2025,[2] which adds more functionality and improvements to leads, technical changes to shaders, and fixes bugs.

Additions

Gameplay

POI

  • Added the test_instance POI.

Changes

Items

Firework Rocket

  • While gliding, using a firework will only be used as a boost even if placed on a block.

Lead

  • Leashed leads are now rendered twice as thick, to match Bedrock Edition.
  • Leads can now be used to leash two mobs together.
    • Sneak-interact on any mob while holding a bunch of leashed mobs will leash these mobs to the interacted entity.
    • It's not possible to leash anything to itself.
  • If the re-leashing an entity would result in immediate leash snapping due to distance, the re-leashing would not happen.
  • Leads can be snipped from an entity when interacting them with shears, which consumes their durability.
    • This applies to its own leash connection as well as all entities attached to it.
    • Dispensers can now snip leashes from entities in front of them when they are equipped with shears; this also consumes their durability.
  • The leash mechanics were improved, with reworked leash physics, allowing for more stable leash connection, especially when leashed entities are not on ground.
    • When dragged on the leash, leashed objects will now orient themselves towards the leasher.
    • Using a firework rocket when flying with leashed entities will now break the leash connections.
  • When leashing an already leashed mob, the current leash will now snap and a player will re-leash the object to the player.
    • It's not possible to steal leashed entities from other players.
  • The interactions with a leash knot and fence blocks have changed:
    • When interacting with a leash knot or a fence, if there are any player-leashed entities in range of the leash knot, they will be re-leashed to the leash knot or a fence.
    • In case of attaching of mobs fails due to distance or there is nothing to attach, the player will now transfer all fence leashed entities to itself.
    • If there is nothing left attached to the leash knot, it disappears.
    • Sneak-interact can only result in attaching of the player mobs to the fence.
    • Interacting with shears or punching the leash knot will result in all current connections broken.
  • Boats, as well as large mobs that can be leashed but cannot fit in a boat (horses, donkeys, mules, camels and sniffers), can now be leashed in a special 4-leash configuration to the happy ghast.
    • Happy ghast will also present a custom layer when it's leashing something using a quad connection.
    • Leashes in quad connection are now rendered without slack.
  • Leash snapping distance has been changed from 10 to 12 blocks.
    • The distance between centers of entities bounding boxes, rather than their feet is used to determine the distance between two leashed entities.
    • Happy ghast leash is now longer - with free roaming distance of 10 blocks and leash snapping at 16 blocks.

General

Block models

  • Block model rotations are no longer limited to multiplies of 22.5.
    • elements[].rotation.angle value in block models is no longer limited to multiplies of 22.5 degrees and can now be any angle from -45 to +45.

Clouds

  • Clouds now exist all the way to the horizon.

Data component format

  • painting/variant
    • No longer accepts inline variants.

Data pack

Resource pack

  • The pack format version is now 57.
  • All core shader uniforms are now uniform blocks.
  • The cloud texture (clouds.png) can no longer be colored.

Shaders

  • All built-in uniforms are now uniform blocks instead of opaque loose uniforms.
  • Custom uniforms provided to post-process shaders are now uniform blocks.
  • Uniform definitions inside JSON files are now per-block.
  • Post-process effect definitions
    • Entries in the targets map have been expanded to support new properties.
      • New optional boolean field: persistent
        • Default: false
        • If true, this render target will be persistent across frames.
        • The contents of the target will be cleared when the screen is resized.
      • New optional field: clear_color
        • Default: [0, 0, 0, 0]
        • Format: integer ARGB value, or float array in order [R, G, B, A]
        • When this target is created or cleared, it will be filled with this color.
    • The uniforms values is now a list-per-block, instead of a global list.
      • e.g. uniforms: { "UniformBlockName": [ { "type": "vec2", "value": [...] } ] }
        • The order of uniforms in a block must match the order in the shader.
    • name as part of a uniform definition is no longer used.
    • value as part of a uniform definition replaces the old values, and the type depends on the type field.
      • This field is required.
      • "type": "int" needs "value": 123 (a single int).
      • "type": "float" needs "value": 123.4 (a single float).
      • "type": "vec2" needs "value": [1.2, 3.4] (two floats).
      • "type": "vec3" needs "value": [1.2, 3.4, 5.6] (three floats).
      • "type": "ivec3" needs "value": [1, 2, 3] (three ints).
      • "type": "vec4" needs "value": [1.2, 3.4, 5.6, 7.8] (four floats).
      • "type": "matrix4x4" needs "value": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0] (four rows of four columns of floats).
  • Post-process effect shaders
    • Instead of every uniform being an individual opaque type, they are now grouped in uniform blocks.
      • They will be set according to the pass definition in the JSON file, and may be shared across both vertex and fragment shaders.
    • The list of sizes (all vec2 *Size uniforms) are now replaced with a single SamplerInfo uniform block.
      • This contains, in order, the size of the output texture followed by the size every input texture.
      • The order of textures in the definition file will dictate the order of samplers in this uniform.
      • For most post chains this is just OutSize and InSize as before.
      • All sizes are vec2
  • post/bits.fsh
    • Expects a BitsConfig of float Resolution and float MosaicSize.
  • post/blit.fsh
    • Expects a BlitConfig of vec4 ColorModulate.
  • post/blur.vsh and post/box_blur.fsh
    • Expects a BlurConfig of vec2 BlurDir and float Radius.
  • post/color_convolve.fsh
    • Expects a ColorConfig of vec3 RedMatrix, vec3 GreenMatrix and vec3 BlueMatrix.
  • post/invert.fsh
    • Expects a InvertConfig of float InverseAmount.
  • post/rotscale.vsh
    • Expects a RotScaleConfig of vec2 InScale, vec2 InOffset and float InRotation.
  • post/spiderclip.fsh
    • Expects a SpiderConfig of vec4 Scissor and vec4 Vignette.
  • Globals uniform block
    • Available through #moj_import <minecraft:globals.glsl>
    • Most shaders are able to receive this uniform block, even if they don't normally use it.
    • Contains ScreenSize, GlintAlpha, GameTime and MenuBlurRadius.
      • MenuBlurRadius is the blur radius of the background when a menu is open.
  • Fog uniform block
    • Available through #moj_import <minecraft:fog.glsl>
    • Most shaders are able to receive this uniform block, even if they don't normally use it.
    • Contains FogColor, FogShape, FogStart, FogEnd, FogSkyEnd and FogCloudsEnd.
      • FogSkyEnd is new and represents where the fog should end when drawing for the sky.
      • FogCloudsEnd is new and represents where the fog should end when drawing the clouds.
      • FogEnd is the "normal" fog cutoff as before.
    • FOG_IS_SKY is now available to the position.vsh/position.fsh shaders when they are rendering for the sky.
  • Projection uniform block
    • Available through #moj_import <minecraft:projection.glsl>
    • Most shaders are able to receive this uniform block, even if they don't normally use it.
    • Contains ProjMat with no changes.
  • DynamicTransforms uniform block
    • Available through #moj_import <minecraft:dynamictransforms.glsl>
    • Is no longer available to shaders that do not normally use it.
    • Contains ModelViewMat, ColorModulator, ModelOffset, TextureMat, LineWidth.
  • Lighting uniform block
    • Available through #moj_import <minecraft:light.glsl>
    • Most shaders are able to receive this uniform block, even if they don't normally use it.
      • The values may not make sense if the shader wouldn't normally expect it, however.
    • Contains Light0_Direction and Light1_Direction.
  • CloudInfo uniform block
    • Only available to the clouds shaders (rendertype_clouds.vsh/rendertype_clouds.fsh).
      • Contains CloudColor, CloudOffset and CellSize (new).
        • CellSize contains the size of an individual cloud cell.
  • LightmapInfo uniform block
    • Only available to the lightmap shader (lightmap.fsh).
    • Contains AmbientLightFactor, SkyFactor, BlockFactor, UseBrightLightmap, NightVisionFactor, DarknessScale, DarkenWorldFactor, BrightnessFactor, SkyLightColor with no change in behavior.

Fixes

  • Reverted the fix for MC-101556: Nether Portal teleport range is too large (equivalent to a full block)

45 issues fixed

From released versions before 1.21

  • MC-104231 – Loading a custom structure doesn't load rails correctly.
  • MC-230902 – Black shapes sometimes appear in the end sky at low render distance
  • MC-238931 – Clouds stop rendering before they are hidden by fog
  • MC-256411 – Clouds not fully rendered depending on angle
  • MC-257532 – Clouds don't fill the sky after 1.18 height change

From 1.21.1

  • MC-277369 – The draft report icon isn't initially visible when saving a report as a draft.
  • MC-277370 – The draft report icon doesn't initially disappear when a report is discarded.

From 1.21.5

  • MC-279515 – The game stalls when running the /test clearall command with large radiuses.
  • MC-280297 – The volume level between grass and dirt is inconsistent.
  • MC-293754 – Minecraft causes OpenGL errors occasionally.
  • MC-295395 – Entities interact differently with nether portals.
  • MC-295677 – Title screen fades in from black after closing the "Welcome to Minecraft" screen.
  • MC-295895 – 1.21.5 breaks minecart behavior when travelling through nether portals.
  • MC-295944 – Reloading a professionless zombie villager causes it to gain random profession clothing.
  • MC-296099 – Nether portal collision is or isn't working depending on the cardinal direction.
  • MC-296121ClientboundLevelChunkPacketData buffer size is too big.
  • MC-296348NoAI:1b mobs cannot be ridden in 1.21.5+.

From the previous development version

  • MC-296353 – Potions, tipped arrows, and dyed leather armor render with missing or incorrect colors in the inventory.
  • MC-296355 – Characters in front of the cursor render one pixel too far to the left.
  • MC-296356 – Hitbox rendering in GUIs is broken.
  • MC-296357 – Happy ghasts produce footstep sounds when flying close above blocks.
  • MC-296358 – A player in Spectator mode on top of a happy ghast makes it stop moving.
  • MC-296363 – Scrolling in the experiments screen does not move the positions where the buttons can be selected.
  • MC-296365 – Block placing sounds are played when the block states of completely unhydrated dried ghasts are changed.
  • MC-296366 – Kicked for flying while flying happy ghast.
  • MC-296367 – The enchantment glint in the inventory appears on all items of the same type.
  • MC-296373 – The side faces of dried ghast tentacles aren’t culled when covered by blocks.
  • MC-296376 – Sounds produced by ghastlings can be heard from too far away.
  • MC-296381 – Dried Ghasts always face north in world generation.
  • MC-296382 – Filled maps are blurry.
  • MC-296401 – Harnesses are not sorted correctly in the Creative Inventory.
  • MC-296419 – Spectators' names in multiplayer tab list render improperly compared to 1.21.5.
  • MC-296426 – Text background lacks opacity over hotbar icons.
  • MC-296427 – Happy ghasts move/spin erratically when leashed to a fence.
  • MC-296434 – Unable to see items when hovering over them inside of a bundle.
  • MC-296437 – Items render behind effect icons and recipe book inside of the inventory.
  • MC-296444 – Blur is applied to resource pack icons.
  • MC-296465 – Highlighting text on a sign causes it to override the sign background.
  • MC-296467 – Item tooltips cause items behind it to not render.
  • MC-296470 – Items render behind text in anvils.
  • MC-296471 – Hud is now hidden while in bed resulting in delayed hud rendering.
  • MC-296517 – The menu panorama turns gray when the switching realm worlds interface is open.
  • MC-296518 – Text inside the middle of the java realms information box completely disappears when selected.
  • MC-296524 – Server and singleplayer world icons are blurry.
  • MC-296638 – Clocks, compasses, and lodestone compasses do not render enchantment glint in certain display contexts when using Fabulous! graphics.

Videos

Videos made by Slicedlime:

References

  1. MC-296750 — The game crashes during startup on Linux systems with AMD graphics — resolved as "Fixed".
  2. "Minecraft Snapshot 25w16a"Minecraft.net, April 15, 2025.

Navigation