It's yet another Tuesday, and it seems that we've officially run out of quippy snapshot intros until the next delivery. Anyway, here's Snapshot 6, bringing some tweaks and improvements to the Abandoned Camp, a new World Options UI, as well as changing up how terrain is rendered.
Happy camping!
Changes
- Added a new Abandoned Camp campsite variant for each biome
- Minor tweaks to Abandoned Camp structures
UI
- Fixed an issue where Realm owners could not select automatic region preference as their Realm region
- Added a "Quit Shortcuts" option in Controls settings, which controls whether keyboard shortcuts can close the game (Alt + F4 on Windows/Linux, Cmd + Q and Cmd + W on macOS)
- Off by default
World Options
- The World Options button has been moved to where the Open to Lan button used to be, accessible from the pause menu
- The World Options screen is divided into two sections: "General" and "Multiplayer"
- The "General" section contains the same options as the previous World Options screen
- The "Multiplayer" section contains three options:
- LAN: changes the multiplayer scope of the world
- Command Access: Controls whether players that join your world can use commands or not
- Port: the port number to use when opening the world to LAN
- The World Options screen is divided into two sections: "General" and "Multiplayer"
- The Online button used to access the Online Options screen will now always be shown in the Options menu
Technical Changes
- The Data Pack version is now 113.0
- The Resource Pack version is now 94.0
- Terrain blocks are now rendered with MultiDrawIndirect on supported devices
Data Pack Version 113.0
Commands
Changes to publish
- The
gamemodeargument has been removed- Instead, the default game mode of the world should be set using the
defaultgamemodecommand or the Game Mode button in the World Options screen, while player-specific game modes should be set using thegamemodecommand
- Instead, the default game mode of the world should be set using the
Data Components
Changed minecraft:cooking_fuel
burn_timeandspeed_multipliercan now additionally be defined by an inline number
Changed minecraft:brewing_fuel
usesandspeed_multipliercan now additionally be defined by an inline number
Changed minecraft:compostable
layerscan now additionally be defined by an inline number
Entity Data
- Added
invulnerable_timetag which makes a mob temporarily invulnerable for a specific number of ticks
Loot Table Types
Changed minecraft:block_interact
originis now available in context, as the center of the block being interacted with
World Generation
Noises
The format of Noises (defined in the worldgen/noise registry, or inline in noise-based Block State Providers) has been updated.
Noises define a fractal Brownian motion (fBm) configuration with the following properties:
-
Produces output values (approximately) fitting a normal distribution
-
Unless otherwise specified, fits the output amplitude to
[-1; 1]- Due to the normal distribution, in practice this means that 99.7% of all samples will fit in that range - but values may still be encountered outside of this range
-
Parameterized by persistence=0.5, lacunarity=2.0
- i.e. between each octave, the amplitude is halved and the frequency doubled
-
Has stable seeding such that an octave can be boosted, muted, or added without affecting the rest of the octaves
-
Renamed
firstOctavetobase_octave -
Added
base_amplitude- non-negative float, a scale factor to apply to the noise output- If not specified, defaults to
1.0
- If not specified, defaults to
-
Added
octave_count- integer between 1 and 32, the number of octaves to sample -
Added
normalize- boolean, or"legacy", controls how the output amplitude should be normalized- If
true,base_amplitudeis the expected amplitude of the output (i.e. 99.7% of all samples in[-base_amplitude; base_amplitude]) - If
false,base_amplitudeis the amplitude of the first octave - If
"legacy", inherits the same normalization behavior as expressed by the previous format- This would generally fit to a range smaller than expected
- If not specified, defaults to
true - Note: normalization is not affected by the
amplitude_modifiersfield - as such, modifying the amplitude of a single octave will not affect the amplitude of others
- If
-
Renamed
amplitudestoamplitude_modifiers- list of floats, a scaling factor to apply to each octave- The number of elements in this list must match
octave_count - As described above, this scaling factor bypasses normalization and will affect the output amplitude
- This field is no longer required - if not specified, defaults to all
1.0
- The number of elements in this list must match
Density Functions
Added pow
Raises the given base value to an exponent.
Format: object with fields:
base- Density Function, the base valueexponent- Density Function, the exponent
Added sqrt
Computes the square root of the given input.
Format: object with fields:
input- Density Function, the value for which to compute the square root
Added log
Computes the natural logarithm of the given input.
Format: object with fields:
input- Density Function, the value for which to compute the natural logarithm
Added sign
Computes the sign of the input:
- If the input is positive, returns
1 - If the input is
0, returns0 - If input is negative, returns
-1
Format: object with fields:
input- Density Function, the value of which to compute the sign
Added distance_to_point
Computes the distance to a fixed point using the specified distance function.
Format: object with fields:
point- array of 3 integers in form[x, y, z], the point to compute distance tometric- one of:euclidean- i.e.sqrt(dx^2 + dy^2 + dz^2)euclidean_squared- i.e.dx^2 + dy^2 + dz^2manhattan- i.e.abs(dx) + abs(dy) + abs(dz)chebyshev- i.e.max(abs(dx), abs(dy), abs(dz))
Updated gradient (renamed from y_clamped_gradient)
Format: object with fields:
axis-x,y, orz, the axis over which to define this gradienttiling- one of:clamp_to_edge- outside the gradient boundaries, the value at the nearest boundary will be usedrepeat- the gradient will be repeated outside its boundariesmirrored_repeat- the gradient will be repeated such that odd repetitions are mirrored, ensuring continuity between repetitions
from_coordinate- int, the coordinate at which the gradient startsto_coordinate- int, the coordinate at which the gradient ends- Must not be equal to
from_coordinate
- Must not be equal to
from_value- float, the value at which the gradient startsto_value- float, the value at which the gradient ends
Added slice
Removes a dimension from the input domain by taking a "slice" along an axis with a specific coordinate. For example, with axis=y and coordinate=0, a slice will be taken along the XZ plane, with all values sampled at y=0.
Format: object with fields:
axis-x,y, orz, the axis to removecoordinate- int, the fixed coordinate to be passed to the input functioninput- Density Function, the input function
Changed end_outer_islands
Renamed from end_islands. No longer computes the density of the main island.
Structure Pool Elements
Changed minecraft:feature_pool_element
- Can now connect to Jigsaw blocks with any target name, instead of just
minecraft:bottom
Resource Pack Version 94.0
Shaders & Post-process Effects
terrain.vshandterrain.fshshaders are refactored to support multi-draw- Some of the members in
GlobalsandDynamicTransformsare shuffled to use less memory for those uniform blocks - Introduced new define:
RENDERPEARL_EXPLICIT_DEPTH_INVARIANCE- If present, indicates that an OIT shader should explicitly output a depth value because a device it is running on can produce a slightly different implicit value
Equipment Assets
The trim_palette_replacements field has been replaced with trim_overrides. This can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset, not just swap specific palettes.
- Format: list of override entries with fields:
when- object with fields, the material and/or pattern to matchmaterial- optional Trim Material ID, the material to match (if specified)pattern- optional Trim Pattern ID, the pattern to match (if specified)- Note: this is not the palette ID, as
trim_palette_replacementsused to be!
- Note: this is not the palette ID, as
- At least one of
materialorpatternmust be specified - If both are specified, both must match for the entry to be used
texture- optional trim pattern asset ID, a replacement texture to use if this entry matches- Textures are specified in the same format as
asset_id - If not specified, the default texture for the pattern will be used
- Textures are specified in the same format as
palette- optional palette ID, a replacement palette to use if this entry matches- If not specified, no palette remapping will be applied to the texture
- The first matching entry will always be selected
- At least one of
textureorpalettemust be defined
Fixed bugs in 26.3 Snapshot 6
- MC-299582 - Special crafting recipes behave differently than other recipe types with /recipe and the
limited_craftinggame rule - MC-304195 - The arm overlay textures of parched have unused pixels not used by the model
- MC-307206 -
Std140Builderincorrectly padsvec3sandivec3s - MC-307996 - The game cannot use hardware acceleration on devices lacking the
fillModeNonSolidVulkan feature - MC-308694 - Using /defaultgamemode changes everyone's game mode to the one set in "Settings for Other Players" in LAN worlds
- MC-308699 - Switching the host's game mode causes new LAN players to ignore the forced game mode
- MC-308749 - Exiting and rejoining the same LAN session resets your game mode
- MC-309720 - The texture of straw beds has missing and extra pixels
- MC-309958 - Off-by-one error in
SynchedEntityData.Builder#define - MC-310088 - The taskbar icon displays the Java logo instead of the game's logo
- MC-310099 - The game freezes if the head part of straw beds has a different facing than the foot part
- MC-310101 - Command+W now closes the game on macOS
- MC-310122 - Traversing the pie chart with keys does not work correctly
- MC-310132 - Armor trim textures can no longer be overridden
- MC-310134 - The "Exclusive Fullscreen" button and "Exclusive Fullscreen Mode" slider are still present and enabled on macOS
- MC-310136 - Player skin rendering is messed up when the "Improved Transparency" setting is enabled
- MC-310143 - IME candidates are invisible in fullscreen mode even when the "Exclusive Fullscreen" option is disabled
- MC-310155 - After entering macOS fullscreen by clicking the "Fullscreen" button in the Video Settings menu, you cannot reveal the menu bar or dock by navigating to the edge of the screen
- MC-310168 - When editing a glowing sign, the glow on the placed sign temporarily disappears
- MC-310195 - Control+Left click no longer counts as a right click on macOS
- MC-310213 - On-screen keyboard handling is inconsistent
- MC-310228 - The game freezes when a player destroys a bed at the exact same moment a villager sleeps in it
- MC-310235 - The game crashes when a piston pushes a water cauldron with the "Improved Transparency" option enabled
- MC-310241 - Brewing recipes show up in the command suggestions for /recipe, but cannot be granted or revoked
- MC-310281 - Using keyboard shortcuts to navigate tabs within UIs doesn't work correctly
- MC-310311 - Item modifiers that reference themselves crash the game when invoked
- MC-310313 - Predicates that reference themselves crash the game when invoked
- MC-310314 - Number providers that reference themselves crash the game when invoked
- MC-310315 - Slot sources that reference themselves crash the game when invoked
- MC-310319 - The game crashes when the
spiderpost effect is applied - MC-310321 - The
creeperpost effect is ineffective - MC-310357 - The OpenGL rendering backend passes 3 to
GL_UNPACK_ALIGNMENT, which is invalid - MC-310359 -
mipLevelis not respected whencopyTextureToTextureis used - MC-310360 -
clearColorTextureandclearDepthTextureclear all mipmaps with the Vulkan rendering backend, unlike with the OpenGL one - MC-310382 - The game crashes when applying a resource pack with a shader that uses
#includewith uppercase characters in the path - MC-310383 - The per-target blend state diverges between the OpenGL and Vulkan rendering backends
- MC-310388 - The
cavesandfloating_islandsnoise settings no longer generate as intended - MC-310455 -
copyTextureToBufferproduces padded rows with the OpenGL rendering backend but tightly-packed rows with the Vulkan one