We're back in action with another Snapshot! In this week's release we're making it possible to access game rules from the in-game pause screen, through the new world options button. On the data pack side of things, we're introducing a new concept of world clocks, which is an expansion of the work we did on timelines last year. For more information about world clocks and more, browse the full changelog below.
Happy mining!
Changes
- Additional tweaks to JVM configuration
Minor Tweaks to Blocks, Items and Entities
- The Tripwire texture is now rendered as alpha cutout instead of transparent
UI
Debug Screen
- A
day_countdebug entry has been split fromlocal_difficulty
Game Rules
- The Game Rules screen is now accessible in-game through a new World Options screen in the pause menu
- A search bar has been added to the top of the Game Rules screen, both in-game and in the world creation menu
World Options
The difficulty button in the pause menu has been replaced with a button leading to a new screen - World Options.
- The World Options screen contains the difficulty button as well as a button for changing Game Rules
- The Game Rules screen is available for all operators and otherwise disabled
Technical Changes
- The Data Pack version is now 97
- The Resource Pack version is now 78
Data Pack Version 97
- Added new block tags
- Added new fluid tags
- Changed format of
timecommand to work with World Clocks and Timelines - Updated
time_checkcondition to specify a World Clock
World Clocks
World Clocks contain an internal time that increases every tick. They can be defined in data packs under the world_clock registry (i.e. found under data/<namespace>/world_clock/<id>.json)
- World Clocks can be paused or resumed, and the time of the clock can be changed or queried from the
timecommand - Format: object with no fields
Timelines
- Added a
clockfield: a World Clock ID, specifies which World Clock the timeline is tied to- This field is required, but to match previous behavior the
minecraft:overworldclock can be used
- This field is required, but to match previous behavior the
- Added an optional
time_markersfield, an optional map between namespaced Time Marker IDs and either an int or a Time Marker object,- Format:
- Non-negative int, the tick that the time marker marks
- Or object with fields:
ticks: int between0andperiod_ticks, the tick that the time marker marksshow_in_commands: optional boolean, specifies whether the Time Marker will show up in command suggestions- Default:
false
- Default:
- Format:
Time Markers
Time Markers assign a particular name to a specific (optionally repeating) point in time for a specific World Clock. Time Markers replace the previously predetermined names that could be used by /time set, for example day or night.
Time Markers will exist within the context of a specific World Clock. This means that even though the different Time Markers are defined by different Timelines, only one Time Marker can exist with a particular id for a particular World Clock. It also means that two World Clocks can have a Time Marker with the same name.
Built-in uses of Time Markers
Some Time Markers are used to drive Vanilla game behavior. Usually, they are configured to not show up in /time commands.
minecraft:wake_up_from_sleep- the time to advance the dimension's default clock to when players in that dimension wake up after sleepingminecraft:roll_village_siege- the time of the dimension's default clock at which the random chance for a Zombie Village siege to occur should be evaluated
Commands
Changes to swing
- Both arguments can now be omitted and will fall back to the following defaults:
- The entity selector will be
@sif omitted - Which hand to swing will be
mainhandif omitted
- The entity selector will be
Changes to time
- The
timecommand is now based on World Clocks- A clock can be optionally specified as an input for the time command with
time of <clock> ... - If the clock is not specified (
/time ...as before), the default clock for the dimension is used
- A clock can be optionally specified as an input for the time command with
- The return value (e.g. from
/execute store) from thesetandaddsubcommands is now the total elapsed ticks of the clock instead of the current time of day
Syntax:
time [of <clock>] set <time>- sets the total elapsed ticks of the clocktime [of <clock>] set <timemarker>- advances the clock forward to the next occurrence of the time marker- For the
minecraft:overworldclock, the available time markers are:day,noon,night, andmidnight
- For the
time [of <clock>] add <time>- adds ticks to the clock, can be a negative or a positive numbertime [of <clock>] pause- pauses the clocktime [of <clock>] resume- resumes the clocktime [of <clock>] query <timeline>- displays and returns the current number of ticks within the timeline's periodtime [of <clock>] query <timeline> repetitions- displays and returns the number of times the timeline's period has repeatedtime [of <clock>] query time- displays and returns the total elapsed ticks of the clocktime query gametime- as before, the total elapsed ticks within the world (unaffected by changes made to clocks using/time)
Game Test Environments
Replaced time_of_day with clock_time
- Added a new required field
clock: World Clock ID, the clock within which to set time (from the existingtimefield)
Predicates
minecraft:time_check Loot Predicate
- Added
clockfield: a World Clock ID, specifies which World Clock the time check should be done for
Recipes
resultfield should now be more consistent across all recipe types that contain it- It will now accept short form (e.g.
"minecraft:foo", which is equivalent to{"id":"minecraft:foo", "count": 1}) - For recipe types
smelting,blasting,smokingandcampfire_cookingthis field now also acceptscountfield
- It will now accept short form (e.g.
World Generation
Dimension Types
- Added field:
default_clock: optional World Clock ID- Specifies the default clock that will be used for the
timecommand.- If not specified, the
timecommand will require an explicit clock argument
- If not specified, the
- Also specifies the clock to which
minecraft:wake_up_from_sleepandminecraft:roll_village_siegetime markers apply- If not specified, those time markers will never apply in that dimension
- Specifies the default clock that will be used for the
Tags
Block Tags
- Added the following tags which determine which blocks a category of vegetation can be placed on and survive
#supports_vegetationwhich provides support to the following blocks:- Bush
- Short Grass
- Tall Grass
- Fern
- Large Fern
- Pitcher Plant
- Sunflower
- Lilac
- Rose Bush
- Peony
- Eyeblossom
- Firefly Bush
- Pink Petals
- Wildflowers
- Dandelion
- Torchflower
- Poppy
- Blue Orchid
- Allium
- Azure Bluet
- Red Tulip
- Orange Tulip
- White Tulip
- Pink Tulip
- Oxeye Daisy
- Cornflower
- Sweet Berry Bush
- Oak Sapling
- Spruce Sapling
- Birch Sapling
- Jungle Sapling
- Acacia Sapling
- Cherry Sapling
- Dark Oak Sapling
- Pale Oak Sapling
#supports_cropswhich provides support to the following crops at all growth stages:- Wheat
- Carrot
- Potato
- Beetroot
- Torchflower Crop
- Pitcher Plant Crop
#supports_stem_crops#supports_pumpkin_stem#supports_melon_stem#supports_sugar_cane#supports_sugar_cane_adjacently- Which blocks satisfy adjacency support requirements for Sugar Cane
#supports_cactus#supports_chorus_plant#supports_chorus_flower#supports_nether_sprouts#supports_azalea#supports_warped_fungus#supports_crimson_fungus#supports_mangrove_propagule#supports_hanging_mangrove_propagule#supports_nether_wart#supports_warped_roots#supports_crimson_roots#supports_wither_rose#supports_cocoa#supports_lily_pad#supports_frogspawn- Empty by default
#support_override_cactus_flower- Cactus Flowers can be placed on blocks in this tag even if they do not have a sturdy top face
- Added the following tags which determine which blocks are not able to support specific categories of vegetation
#cannot_support_seagrass#cannot_support_kelp
- Renamed the following tags for consistency:
#dry_vegetation_may_place_on->#supports_dry_vegetation#bamboo_plantable_on->#supports_bamboo#small_dripleaf_placeable->#supports_small_dripleaf#big_dripleaf_placeable->#supports_big_dripleaf#mushroom_grow_block->#overrides_mushroom_light_requirement- Mushrooms cannot survive without a light level below 13 if not in the above tag
#snow_layer_can_survive_on->#support_override_snow_layer- Snow layers can be placed on blocks in this tag even if they do not have a top full face
#snow_layer_cannot_survive_on->#cannot_support_snow_layer
- Added
#grows_cropswhich defines which blocks beneath allow the following crops to grow:- Wheat
- Carrot
- Potato
- Beetroot
- Torchflower Crop
- Pitcher Plant Crop
- Pumpkin Stem
- Melon Stem
- Added the following tags to define which blocks can start particular types of Bubble Columns
#enables_bubble_column_drag_down- Magma Block by default
#enables_bubble_column_push_up- Soul Sand by default
Fluid Tags
- Added tags to determine which fluids can support the following blocks:
#supports_lily_pad#supports_frogspawn
- Added
#supports_sugar_cane_adjacently- Which fluids satisfy adjacency support requirements for Sugar Cane
- Added
#bubble_columns_can_occupyfluid tag to define which fluids a bubble column can occupy withwateras default
Resource Pack Version 78
- The Tripwire texture is now rendered as alpha cutout instead of transparent
Fixed bugs in 26.1 Snapshot 3
- MC-297536 Z-fighting occurs on the debug crosshair
- MC-299992 Unexpected behavior when giving or testing for an item with certain components manually specified as their default values
- MC-305105 The spear in an entity's main hand gets animated when their off hand arm is swung using /swing
- MC-305156 Dialog elements are not displayed until the UI is refreshed
- MC-305251 Breezes are aggressive toward every mob
- MC-305261 The enchant_with_levels and enchant_randomly functions can crash the game
- MC-305292 Copper chests use the Christmas present texture
- MC-305459 Villagers spawned from spawn eggs use the biome at the world origin (0, 0, 0) for their variant
- MC-305540 Wandering traders sell pumpkins instead of kelp for 3 emeralds
- MC-305577 Piglins no longer flee from greater numbers of hoglins