{"title":"Minecraft Snapshot 25w16a","version":"25w16a","type":"snapshot","image":{"title":"25w16a 540x540.jpg","url":"/v2/images/25w16a540x540.jpg"},"body":"<p>In this week’s snapshot leads are getting new mechanics making it possible to leash mobs together or leash them to entities like boats! Now you can travel the desert with your own camel caravan or airlift your treasures in a boat with chest attached to your happy ghast. Moving villagers have never been easier! As you are soaring through the skies you will see that the clouds render infinitely.<h1>Changes</h1><ul><li>Changed leash mechanics<li>Changed Elytra so that while gliding, using a firework will only be used as a boost even if placed on a block<li>Clouds now exist all the way to the horizon<li>Reverted the fix for <a href=https://bugs.mojang.com/browse/MC-101556 rel=\"noopener noreferrer\"target=_blank>MC-101556</a>: Nether Portal teleport range is too large (equivalent to a full block)</ul><blockquote><p><strong>Developer's Note</strong>: <em>After consideration, we have decided to revert this change as it came in quite late in the snapshot cycle and unintentionally broke some functionality that our community were relying on. We'd like to revisit this at some point when we have time to deal with the issues that showed up due to this change</em></blockquote><h2>Leash changes</h2><ul><li>Leashes are now rendered twice as thick, to match bedrock<li>Leashes can now be used to leash two mobs together<ul><li>Sneak-interact on any mob while holding a bunch of leashed mobs will leash these mobs to the interacted entity<li>You now cannot leash anything to itself</ul><li>If the re-leashing an entity would result in immediate leash snapping due to distance, the re-leashing would not happen<li>Leashes can be snipped from an entity when interacting them with Shears<ul><li>This applies to its own leash connection as well as all entities attached to it<li>Dispensers can now snip leashes from entities in front of them when they are equipped with Shears</ul><li>Improved leash mechanics, with reworked leash physics, allowing for more stable leash connection, especially when leashed entities are not on ground<ul><li>When dragged on the leash, leashed objects will now orient themselves towards the leasher<li>Using a firework rocket when flying with leashed entities will now break the leash connections</ul><li>When leashing an already leashed mob, the current leash will now snap and a player will re-leash the object to yourself<ul><li>You cannot steal leashed entities from other players</ul><li>Interactions with a Leash Knot and Fence Blocks have changed:<ul><li>When interacting with a Leash Knot or a Fence Block, 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 Block<li>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<li>If there is nothing left attached to the Leash Knot, it disappears<li>Sneak-interact can only result in attaching of the player mobs to the fence<li>Interacting with Shears or punching the Leash Knot will result in all current connections broken</ul><li>Boats and large mobs that can be leashed, but cannot fit in the boat (Horses, Donkey, Mule, Camel and Sniffer) can now be leashed in a special 4-leash configuration to the Happy Ghast<ul><li>Happy Ghast will also present a custom layer when its leashing something using a quad connection<li>Leashed in quad connection are now rendered without slack</ul><li>Leash snapping distance has been changed from 10 to 12 blocks<ul><li>The distance between centers of entities bounding boxes, rather than their feet is used to determine the distance between two leashed entities<li>Happy Ghast leash is now longer - with free roaming distance of 10 blocks and leash snapping at 16 blocks</ul></ul><h1>Technical Changes</h1><ul><li>The Data Pack version is now 73<li>The Resource Pack version is now 57</ul><h1>Data Pack Version 73</h1><h2>Data Components</h2><h3><code>painting/variant</code> Item Component</h3><ul><li>No longer accepts inline variants</ul><h1>Resource Pack Version 57</h1><ul><li>All core shader uniforms are now uniform blocks<li>The cloud texture (<code>clouds.png</code>) can no longer be colored<li>Block Model rotations are no longer limited to multiplies of <code>22.5</code></ul><h2>Block Models</h2><ul><li><code>elements[].rotation.angle</code> value in block models is no longer limited to multiplies of <code>22.5</code> degrees and can now be any angle from <code>-45</code> to <code>+45</code></ul><h2>Shaders &#38 Post-process Effects</h2><blockquote><p><strong>Developer's Note</strong>: <em>Although it is possible in Resource Packs, overriding Core Shaders is considered as unsupported and not an intended Resource Pack feature. These shaders exist as part of the internal implementation of the game, and as such, may change at any time as the game's internals evolve. We understand that overriding Core Shaders is used for very cool Resource Pack features, many of which lack supported alternatives. We would like to provide better, supported alternatives in the future.</em></blockquote><ul><li>All built-in uniforms are now uniform blocks instead of opaque loose uniforms<li>Custom uniforms provided to post-process shaders are now uniform blocks<li>Uniform definitions inside json files are now per-block</ul><h3>Post-process Effect Definitions</h3><ul><li>Entries in the <code>targets</code> map have been expanded to support new properties<ul><li>New optional boolean field: <code>persistent</code> (default: <code>false</code>)<ul><li>If <code>true</code>, this render target will be persistent across frames<li>The contents of the target will be cleared when the screen is resized</ul><li>New optional field: <code>clear_color</code> (default: <code>[0, 0, 0, 0]</code>)<ul><li>Format: integer ARGB value, or float array in order <code>[R, G, B, A]</code><li>When this target is created or cleared, it will be filled with this color</ul></ul><li>The <code>uniforms</code> values is now a list-per-block, instead of a global list<ul><li>e.g. <code>uniforms: { \"UniformBlockName\": [ { \"type\": \"vec2\", \"value\": [...] } ] }</code><ul><li>The order of uniforms in a block <strong>must</strong> match the order in the shader</ul></ul><li><code>name</code> as part of a uniform definition is no longer used<ul><li>We encourage setting it to help keep the json file organised/readable, but the game won't use it</ul><li><code>value</code> as part of a uniform definition replaces the old <code>values</code>, and the type depends on the <code>type</code> field<ul><li>This field is required<li><code>\"type\": \"int\"</code> needs <code>\"value\": 123</code> (a single int)<li><code>\"type\": \"float\"</code> needs <code>\"value\": 123.4</code> (a single float)<li><code>\"type\": \"vec2\"</code> needs <code>\"value\": [1.2, 3.4]</code> (two floats)<li><code>\"type\": \"vec3\"</code> needs <code>\"value\": [1.2, 3.4, 5.6]</code> (three floats)<li><code>\"type\": \"ivec3\"</code> needs <code>\"value\": [1, 2, 3]</code> (three ints)<li><code>\"type\": \"vec4\"</code> needs <code>\"value\": [1.2, 3.4, 5.6, 7.8]</code> (four floats)<li><code>\"type\": \"matrix4x4\"</code> needs <code>\"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]</code> (four rows of four columns of floats)</ul><li>We do not validate that the uniform block is valid for a given shader, giving incorrect information will cause undefined and funky behavior</ul><h3>Post-process Effect Shaders</h3><ul><li>Instead of every uniform being an individual opaque type, they are now grouped in uniform blocks<ul><li>They will be set according to the pass definition in the json file, and may be shared across both vertex and fragment shaders</ul><li>The list of sizes (all <code>vec2 *Size</code> uniforms) are now replaced with a single <code>SamplerInfo</code> uniform block<ul><li>This contains, <em>in order</em>, the size of the output texture followed by the size every input texture<li>The order of textures in the definition file will dictate the order of samplers in this uniform<li>For most post chains this is just <code>OutSize</code> and <code>InSize</code> as before<li>All sizes are <code>vec2</code></ul></ul><h4><code>post/bits.fsh</code></h4><ul><li>Expects a <code>BitsConfig</code> of <code>float Resolution</code> and <code>float MosaicSize</code></ul><h4><code>post/blit.fsh</code></h4><ul><li>Expects a <code>BlitConfig</code> of <code>vec4 ColorModulate</code></ul><h4><code>post/blur.vsh</code> and <code>post/box_blur.fsh</code></h4><ul><li>Expects a <code>BlurConfig</code> of <code>vec2 BlurDir</code> and <code>float Radius</code></ul><h4><code>post/color_convolve.fsh</code></h4><ul><li>Expects a <code>ColorConfig</code> of <code>vec3 RedMatrix</code>, <code>vec3 GreenMatrix</code> and <code>vec3 BlueMatrix</code></ul><h4><code>post/invert.fsh</code></h4><ul><li>Expects a <code>InvertConfig</code> of <code>float InverseAmount</code></ul><h4><code>post/rotscale.vsh</code></h4><ul><li>Expects a <code>RotScaleConfig</code> of <code>vec2 InScale</code>, <code>vec2 InOffset</code> and <code>float InRotation</code></ul><h4><code>post/spiderclip.fsh</code></h4><ul><li>Expects a <code>SpiderConfig</code> of <code>vec4 Scissor</code> and <code>vec4 Vignette</code></ul><h3><code>Globals</code> Uniform Block</h3><ul><li>Available through <code>#moj_import &#60minecraft:globals.glsl></code> for convenience<li>Most shaders are able to receive this uniform block, even if they don't normally use it<li>Contains <code>ScreenSize</code>, <code>GlintAlpha</code>, <code>GameTime</code> and <code>MenuBlurRadius</code> (new)<ul><li><code>MenuBlurRadius</code> is the blur radius of the background when a menu is open</ul></ul><h3><code>Fog</code> Uniform Block</h3><ul><li>Available through <code>#moj_import &#60minecraft:fog.glsl></code> for convenience<li>Most shaders are able to receive this uniform block, even if they don't normally use it<li>Contains <code>FogColor</code>, <code>FogShape</code>, <code>FogStart</code>, <code>FogEnd</code>, <code>FogSkyEnd</code> (new) and <code>FogCloudsEnd</code> (new)<ul><li><code>FogSkyEnd</code> is new and represents where the fog should end when drawing for the sky<li><code>FogCloudsEnd</code> is new and represents where the fog should end when drawing the clouds<li><code>FogEnd</code> is the \"normal\" fog cutoff as before</ul><li><code>FOG_IS_SKY</code> is now available to the <code>position.vsh</code>/<code>position.fsh</code> shaders when they are rendering for the sky</ul><h3><code>Projection</code> Uniform Block</h3><ul><li>Available through <code>#moj_import &#60minecraft:projection.glsl></code> for convenience<li>Most shaders are able to receive this uniform block, even if they don't normally use it<li>Contains <code>ProjMat</code> with no changes</ul><h3><code>DynamicTransforms</code> Uniform Block</h3><ul><li>Available through <code>#moj_import &#60minecraft:dynamictransforms.glsl></code> for convenience<li>Is no longer available to shaders that do not normally use it<li>Contains <code>ModelViewMat</code>, <code>ColorModulator</code>, <code>ModelOffset</code>, <code>TextureMat</code>, <code>LineWidth</code><ul><li>These are very likely to change in the near future<li>The values of some of these are often hard coded and may not make sense for a given shader, ie <code>LineWidth</code> in any non-line based pipeline</ul></ul><h3><code>Lighting</code> Uniform Block</h3><ul><li>Available through <code>#moj_import &#60minecraft:light.glsl></code> for convenience<li>Most shaders are able to receive this uniform block, even if they don't normally use it<ul><li>The values may not make sense if the shader wouldn't normally expect it, however</ul><li>Contains <code>Light0_Direction</code> and <code>Light1_Direction</code></ul><h3><code>CloudInfo</code> Uniform Block</h3><ul><li>Only available to the clouds shaders (<code>rendertype_clouds.vsh</code>/<code>rendertype_clouds.fsh</code>)<ul><li>Contains <code>CloudColor</code>, <code>CloudOffset</code> and <code>CellSize</code> (new)<ul><li><code>CellSize</code> contains the size of an individual cloud cell</ul></ul></ul><h3><code>LightmapInfo</code> Uniform Block</h3><ul><li>Only available to the lightmap shader (<code>lightmap.fsh</code>)<li>Contains <code>AmbientLightFactor</code>, <code>SkyFactor</code>, <code>BlockFactor</code>, <code>UseBrightLightmap</code>, <code>NightVisionFactor</code>, <code>DarknessScale</code>, <code>DarkenWorldFactor</code>, <code>BrightnessFactor</code>, <code>SkyLightColor</code> with no change in behavior</ul><h1>Fixed bugs in 25w16a</h1><ul><li><a href=https://bugs.mojang.com/browse/MC-104231 rel=\"noopener noreferrer\"target=_blank>MC-104231</a> Loading a custom structure doesn't load rails correctly<li><a href=https://bugs.mojang.com/browse/MC-277369 rel=\"noopener noreferrer\"target=_blank>MC-277369</a> The draft report icon isn't initially visible when saving a report as a draft<li><a href=https://bugs.mojang.com/browse/MC-277370 rel=\"noopener noreferrer\"target=_blank>MC-277370</a> The draft report icon doesn't initially disappear when a report is discarded<li><a href=https://bugs.mojang.com/browse/MC-279515 rel=\"noopener noreferrer\"target=_blank>MC-279515</a> The game stalls when running the \"/test clearall\" command with large radiuses<li><a href=https://bugs.mojang.com/browse/MC-280297 rel=\"noopener noreferrer\"target=_blank>MC-280297</a> The volume level between grass and dirt is inconsistent<li><a href=https://bugs.mojang.com/browse/MC-293754 rel=\"noopener noreferrer\"target=_blank>MC-293754</a> Minecraft causes OpenGL errors occasionally<li><a href=https://bugs.mojang.com/browse/MC-295395 rel=\"noopener noreferrer\"target=_blank>MC-295395</a> Entities interact differently with nether portals<li><a href=https://bugs.mojang.com/browse/MC-295677 rel=\"noopener noreferrer\"target=_blank>MC-295677</a> Title screen fades in from black after closing the \"Welcome to Minecraft\" screen<li><a href=https://bugs.mojang.com/browse/MC-295895 rel=\"noopener noreferrer\"target=_blank>MC-295895</a> 1.21.5 breaks minecart behavior when travelling through nether portals<li><a href=https://bugs.mojang.com/browse/MC-295944 rel=\"noopener noreferrer\"target=_blank>MC-295944</a> Reloading a professionless zombie villager causes it to gain random profession clothing<li><a href=https://bugs.mojang.com/browse/MC-296099 rel=\"noopener noreferrer\"target=_blank>MC-296099</a> Nether portal collision is or isn't working depending on the cardinal direction<li><a href=https://bugs.mojang.com/browse/MC-296121 rel=\"noopener noreferrer\"target=_blank>MC-296121</a> ClientboundLevelChunkPacketData buffer size is too big<li><a href=https://bugs.mojang.com/browse/MC-296348 rel=\"noopener noreferrer\"target=_blank>MC-296348</a> NoAI:1b mobs cannot be ridden in 1.21.5+<li><a href=https://bugs.mojang.com/browse/MC-296353 rel=\"noopener noreferrer\"target=_blank>MC-296353</a> Potions, tipped arrows, and dyed leather armor render with missing or incorrect colors in the inventory<li><a href=https://bugs.mojang.com/browse/MC-296355 rel=\"noopener noreferrer\"target=_blank>MC-296355</a> Characters in front of the cursor render one pixel too far to the left<li><a href=https://bugs.mojang.com/browse/MC-296356 rel=\"noopener noreferrer\"target=_blank>MC-296356</a> Hitbox rendering in GUIs is broken<li><a href=https://bugs.mojang.com/browse/MC-296357 rel=\"noopener noreferrer\"target=_blank>MC-296357</a> Happy ghasts produce footstep sounds when flying close above blocks<li><a href=https://bugs.mojang.com/browse/MC-296358 rel=\"noopener noreferrer\"target=_blank>MC-296358</a> A player in Spectator mode on top of a happy ghast makes it stop moving<li><a href=https://bugs.mojang.com/browse/MC-296363 rel=\"noopener noreferrer\"target=_blank>MC-296363</a> Scrolling in the experiments screen does not move the positions where the buttons can be selected<li><a href=https://bugs.mojang.com/browse/MC-296365 rel=\"noopener noreferrer\"target=_blank>MC-296365</a> Block placing sounds are played when the block states of completely unhydrated dried ghasts are changed<li><a href=https://bugs.mojang.com/browse/MC-296366 rel=\"noopener noreferrer\"target=_blank>MC-296366</a> Kicked for flying while flying happy ghast<li><a href=https://bugs.mojang.com/browse/MC-296367 rel=\"noopener noreferrer\"target=_blank>MC-296367</a> The enchantment glint in the inventory appears on all items of the same type<li><a href=https://bugs.mojang.com/browse/MC-296373 rel=\"noopener noreferrer\"target=_blank>MC-296373</a> The side faces of dried ghast tentacles aren’t culled when covered by blocks<li><a href=https://bugs.mojang.com/browse/MC-296376 rel=\"noopener noreferrer\"target=_blank>MC-296376</a> Sounds produced by ghastlings can be heard from too far away<li><a href=https://bugs.mojang.com/browse/MC-296381 rel=\"noopener noreferrer\"target=_blank>MC-296381</a> Dried Ghasts always face north in world generation<li><a href=https://bugs.mojang.com/browse/MC-296382 rel=\"noopener noreferrer\"target=_blank>MC-296382</a> Filled maps are blurry<li><a href=https://bugs.mojang.com/browse/MC-296401 rel=\"noopener noreferrer\"target=_blank>MC-296401</a> Harnesses are not sorted correctly in the Creative Inventory<li><a href=https://bugs.mojang.com/browse/MC-296419 rel=\"noopener noreferrer\"target=_blank>MC-296419</a> Spectators' names in multiplayer tab list render improperly compared to 1.21.5<li><a href=https://bugs.mojang.com/browse/MC-296426 rel=\"noopener noreferrer\"target=_blank>MC-296426</a> Text background lacks opacity over hotbar icons<li><a href=https://bugs.mojang.com/browse/MC-296427 rel=\"noopener noreferrer\"target=_blank>MC-296427</a> Happy ghasts move/spin erratically when leashed to a fence<li><a href=https://bugs.mojang.com/browse/MC-296434 rel=\"noopener noreferrer\"target=_blank>MC-296434</a> Unable to see items when hovering over them inside of a bundle<li><a href=https://bugs.mojang.com/browse/MC-296437 rel=\"noopener noreferrer\"target=_blank>MC-296437</a> Items render behind effect icons and recipe book inside of the inventory<li><a href=https://bugs.mojang.com/browse/MC-296444 rel=\"noopener noreferrer\"target=_blank>MC-296444</a> Blur is applied to resource pack icons<li><a href=https://bugs.mojang.com/browse/MC-296465 rel=\"noopener noreferrer\"target=_blank>MC-296465</a> Highlighting text on a sign causes it to override the sign background<li><a href=https://bugs.mojang.com/browse/MC-296467 rel=\"noopener noreferrer\"target=_blank>MC-296467</a> Item tooltips cause items behind it to not render<li><a href=https://bugs.mojang.com/browse/MC-296470 rel=\"noopener noreferrer\"target=_blank>MC-296470</a> Items render behind text in anvils<li><a href=https://bugs.mojang.com/browse/MC-296471 rel=\"noopener noreferrer\"target=_blank>MC-296471</a> Hud is now hidden while in bed resulting in delayed hud rendering<li><a href=https://bugs.mojang.com/browse/MC-296517 rel=\"noopener noreferrer\"target=_blank>MC-296517</a> The menu panorama turns gray when the switching realm worlds interface is open<li><a href=https://bugs.mojang.com/browse/MC-296518 rel=\"noopener noreferrer\"target=_blank>MC-296518</a> Text inside the middle of the java realms information box completely disappears when selected<li><a href=https://bugs.mojang.com/browse/MC-296524 rel=\"noopener noreferrer\"target=_blank>MC-296524</a> Server and singleplayer world icons are blurry<li><a href=https://bugs.mojang.com/browse/MC-296638 rel=\"noopener noreferrer\"target=_blank>MC-296638</a> Clocks, compasses, and lodestone compasses do not render enchantment glint in certain display contexts when using Fabulous! graphics</ul>","id":"d8375e3375593d819a80ecd4972c0f0393ca1da826f541eb7dbce5e2471fabf2","date":"2025-04-15T12:01:58.000Z","needsTranslation":null}