Happy Snapshot Tues… Thursday? Yes, you read that right! As we’ve entered peak vacation season here in Sweden, snapshots might not come out on their usual schedule.
In today’s snapshot we have switched the library used for window management, input and platform integration from GLFW to SDL3.
We have also added new item components for custom furnace fuels, as well as several technical changes for signs, world generation and loot tables.
Happy mining!
Known Issues
Exclusive fullscreen mode on Windows may cause the game to crash in certain situations, especially when using multiple monitors
Entering Exclusive fullscreen mode crashes the game on Wayland
New Features
Players in spectator mode can now interact with portals to teleport
Changes
Minor Tweaks to Blocks, Items and Entities
Armadillos no longer try to roll up when submerged in liquids
UI
Removed the Raw Input mouse settingMouse input now always uses relative mouse mode while playing in-game
Mouse input now always uses relative mouse mode while playing in-game
Key bindings now use physical keys instead of keyboard-layout-specific key codes
Borderless Fullscreen is now the default fullscreen mode
Switching between Borderless and Exclusive Fullscreen no longer requires restarting the game
Exclusive fullscreen mode on macOS is no longer supported
The minimum window size is now 320 by 240 pixels
On macOS, holding a key while entering text now displays the native accent and candidate popup
On Linux systems, the game will now use and prefer Wayland natively if available
Debug Overlay
The debug overlay now supports a separate GUI scale than the rest of the gameThis is customizable through the Debug Options screen, F3 + F6The default scale is “Auto”, which tries to stay at a higher resolution than normalAnother option is “Unchanged”, which matches your regular GUI scaleThe rest of the options work the same as in the normal “GUI Scale”, controlling the scale directly
This is customizable through the Debug Options screen, F3 + F6
The default scale is “Auto”, which tries to stay at a higher resolution than normal
Another option is “Unchanged”, which matches your regular GUI scale
The rest of the options work the same as in the normal “GUI Scale”, controlling the scale directly
Added a “player_speed” debug entry that displays the speed of the player in blocks per tick.
The debug overlay now shows the display refresh rate
Creative Inventory
Reordered mineral item and block ordering to have non-tiered ingredients up first, then tiered ingredients that craft into equipment lastIngredientsNon-tiered mineralsUnrefined tiered mineralsRefined tiered mineralsNuggetsIngots
Building BlocksNon-tiered mineral blocks and variantsRefined tiered mineral blocks and variantsCopper block family Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content
IngredientsNon-tiered mineralsUnrefined tiered mineralsRefined tiered mineralsNuggetsIngots
Non-tiered minerals
Unrefined tiered minerals
Refined tiered mineralsNuggetsIngots
Nuggets
Ingots
Building BlocksNon-tiered mineral blocks and variantsRefined tiered mineral blocks and variantsCopper block family
Non-tiered mineral blocks and variants
Refined tiered mineral blocks and variants
Copper block family
Copper Blocks continue to be pushed to the end of the order in Building Blocks since they have a large list of content
Improved ordering of Natural Blocks tab so that all inner ordering of group content sequentially progresses from Overworld -> Nether -> End to stay consistent with other tabs
Technical Changes
The Data Pack version is now 111.0
The Resource Pack version is now 92.0
Loot table types that have a dedicated registry now support registry element and tag referencesThis means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag IDAffected types:minecraft:advancementminecraft:item_modifierminecraft:loot_tableminecraft:number_providerminecraft:predicateminecraft:recipeminecraft:slot_source Existing reference types for predicates, item modifiers and slot sources are now obsolete and have been removed
This means that the majority of fields of such types that previously accepted single elements will now accept either a namespaced ID or an inline value, while fields that previously accepted lists can now accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID
Affected types:minecraft:advancementminecraft:item_modifierminecraft:loot_tableminecraft:number_providerminecraft:predicateminecraft:recipeminecraft:slot_source
minecraft:advancement
minecraft:item_modifier
minecraft:loot_table
minecraft:number_provider
minecraft:predicate
minecraft:recipe
minecraft:slot_source
Existing reference types for predicates, item modifiers and slot sources are now obsolete and have been removed
Windowing and Input Backend
Minecraft now uses SDL3 instead of GLFW for window management, input and platform integration
Keyboard input now uses SDL scancodes for physical key positions and SDL keycodes for layout-dependent text editing shortcuts
Data Pack Version 111.0
Signs no longer automatically execute click events in custom text
Commands
Changes to spreadplayers
Whether a block is safe to spread a player to is now controlled by the #entities_can_teleport_to block tag
Environment Attributes
Added minecraft:gameplay/natural_mob_spawns
Defines mob spawns in an Environment Attribute Source
During worldgen placement, only Dimensions and Biomes will apply this Environment Attribute
Format: object with fields:spawns_by_category - map of spawn category to weighted list of spawn dataSpawn data format: object with fields:type - entity type, the entity to spawncount - int provider, amount to spawn
spawn_costs - map of entity type to object with fields:energy_budget - float, energy change allowed per spawncharge - float, how much existing mobs will attract or repulse other charged mobs
spawns_by_category - map of spawn category to weighted list of spawn dataSpawn data format: object with fields:type - entity type, the entity to spawncount - int provider, amount to spawn
Spawn data format: object with fields:type - entity type, the entity to spawncount - int provider, amount to spawn
type - entity type, the entity to spawn
count - int provider, amount to spawn
spawn_costs - map of entity type to object with fields:energy_budget - float, energy change allowed per spawncharge - float, how much existing mobs will attract or repulse other charged mobs
energy_budget - float, energy change allowed per spawn
charge - float, how much existing mobs will attract or repulse other charged mobs
Available attribute modifiers:overlayFor each mob category, overrides the lower layer’s spawn settings with the higher layer’s, unless the category is not includedMerges each layer’s spawn costs together, overriding the lower layer’s spawn costs with the higher layer’s if both define the same entity type
overlayFor each mob category, overrides the lower layer’s spawn settings with the higher layer’s, unless the category is not includedMerges each layer’s spawn costs together, overriding the lower layer’s spawn costs with the higher layer’s if both define the same entity type
For each mob category, overrides the lower layer’s spawn settings with the higher layer’s, unless the category is not included
Merges each layer’s spawn costs together, overriding the lower layer’s spawn costs with the higher layer’s if both define the same entity type
Default: Empty
Added minecraft:gameplay/creature_world_gen_spawn_probability
Sets the probability to run an iteration in which mobs defined to spawn in the creature mob category will spawn during world generation
Only Dimensions and Biomes will apply this Environment Attribute
Format: float with range [0,1)
Default: 0.1
Changed minecraft:visual/ambient_particles
Now supports interpolation between Timeline keyframes (probabilities will be crossfaded)
Introduced support for new modifier: appendUnlike override which totally replaces the particle list, this modifier concatenates all elements with the layers below
Unlike override which totally replaces the particle list, this modifier concatenates all elements with the layers below
Data Components
Added minecraft:cooking_fuel
Describes an item that can be used as fuel for a Furnace, Smoker or Blast Furnace
Format: object with fieldsburn_time - namespaced ID pointing to an element of minecraft:number_provider registry representing the time, in ticks, for which this fuel will burnspeed_multiplier - namespaced ID pointing to an element of minecraft:number_provider registry representing the speed of the cooking/smelting
burn_time - namespaced ID pointing to an element of minecraft:number_provider registry representing the time, in ticks, for which this fuel will burn
speed_multiplier - namespaced ID pointing to an element of minecraft:number_provider registry representing the speed of the cooking/smelting