Minecraft 26.3 Snapshot 4
Release: 6 hours ago
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 setting
- 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 game
- 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
- This is customizable through the Debug Options screen,
- 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 last
- Ingredients
- Non-tiered minerals
- Unrefined tiered minerals
- Refined tiered minerals
- Nuggets
- Ingots
- Building Blocks
- 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
- Ingredients
- 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 references
- 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
- Existing
referencetypes 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_toblock 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 data- Spawn data format: object with fields:
type- entity type, the entity to spawncount- int provider, amount to spawn
- Spawn data format: object with fields:
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
- Available attribute modifiers:
overlay- 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
creaturemob 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:
append- Unlike
overridewhich totally replaces the particle list, this modifier concatenates all elements with the layers below
- Unlike
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 fields
burn_time- namespaced ID pointing to an element ofminecraft:number_providerregistry representing the time, in ticks, for which this fuel will burnspeed_multiplier- namespaced ID pointing to an element ofminecraft:number_providerregistry representing the speed of the cooking/smelting
Added minecraft:brewing_fuel
- Describes an item that can be used as fuel for a Brewing Stand
- Format: object with fields
uses- namespaced ID pointing to an element ofminecraft:number_providerregistry representing the number of times this fuel will brew before being consumedspeed_multiplier- namespaced ID pointing to an element ofminecraft:number_providerregistry representing the speed of the brewing
- Note: the
#brewing_fuelitem tag has been removed and will no longer function to register new brewing fuels
Added minecraft:sign_text_front and minecraft:sign_text_back
- Two identical components that represent text in front and back of a sign
- Contents will be displayed in item tooltip
- The format is the same as
front_textandback_textfields onminecraft:signandminecraft:hanging_signblock entities, i.e.messages- a list of text componentsfiltered_messages- an optional list of text components, if omitted, it will be set to the same value asmessagesmessagesandfiltered_messagesmust have same entry count
color- optional dye color, default:blackhas_glowing_text- optional boolean, default:false
Added minecraft:waxed
- A marker for blocks with contents that are waxed
- No fields
Added minecraft:cushion/color
- Applied to Cushion entities when they get placed using an item
- Format: one of 16 dye colors
Added minecraft:villager_food
Represents items that Villagers can eat. Villagers will pick up items with this component in addition to items in the #villager_picks_up tag.
- Format: object with fields
nutrition- positive integer, how much hunger the item satiates in the Villager once eaten
Added minecraft:mob_visibility
Represents the visibility percentage provided by an item with the appropriate minecraft:equippable component, modifying the range at which mobs are able to detect an entity
- Format: object with fields
targeting_entity- an entity ID, a list of namespaced entity IDs, or a hash-prefixed entity tag to matchvisibility- float (between 0.0 and 10.0), with 0.0 reducing the range at which mobs detects the entity to 2 blocks while 10.0 increases the detection range tenfold- While multiple items with this component stack, the maximum vision will still never exceed 10.0
Block Entity Data
Changed minecraft:sign and minecraft:hanging_sign
- By default, commands and other click events contained in Sign text are no longer executed when the block is clicked
- Additionally, text components on newly placed Signs are no longer resolved by default
- New boolean field called
allow_op_features(defaults tofalse) has been added to restore previous behavior - Placed Signs and items with the
minecraft:block_entity_datacomponent containing Sign data stored in worlds saved before this version will haveallow_op_featuresset totrue - Any newly created Sign will need to have that field set explicitly
- Changed the rules for opening the Sign edit screen after a block is placed:
- Previously, the screen would open unless
minecraft:block_entity_datawas applied successfully - Now, the screen will open only if it could be opened normally by clicking the block (i.e. it's not waxed and only has editable text on the front side)
- Previously, the screen would open unless
- Signs will now accept and return the
minecraft:sign_text_front,minecraft:sign_text_backandminecraft:waxedcomponents
Changed minecraft:brewing_stand
The following fields are now stored as integers rather than shorts:
- Changed the
BrewTimefield from a short to an integer, this is the amount of time that the current brewing process has taken so far - Changed the
Fuelfield from a byte to an integer, this is the amount of fuel remaining
The following new fields have been added:
- Added the
total_brew_timeinteger field, this is the total amount of time the current brewing process will take - Added the
total_fuelinteger field, this represents the amount of fuel that was added in the last refuel - Added the
speed_multiplierfloat field, this will be used to speed up or slow down the next brewing process
Changed minecraft:furnace, minecraft:smoker and minecraft:blast_furnace
The following fields are now stored as integers rather than shorts:
- Changed the
cooking_time_spentfield from a short to an integer, this is the amount of time that the current cooking process has taken so far - Changed the
cooking_total_timefield from a short to an integer, this is the total amount of time the current cooking process will take - Changed the
lit_time_remainingfield from a short to an integer, this is the amount of burn time remaining - Changed the
lit_total_timefield from a short to an integer, this is the total amount of burn time that was added in the last refuel
The following new fields have been added:
- Added the
speed_multiplierfloat field, this will be used to speed up or slow down the next brewing process
Advancements
Rewards
- The
lootsub-field in therewardsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:loot_tabletype
Triggers
- Multiple fields that accepted a list of loot conditions are now stricter:
- Previous functionality of a list of conditions was equivalent to a single
minecraft:all_ofcondition has been removed - Additionally,
typefield is mandatory (previously it defaulted tominecraft:entity_properties)
- Previous functionality of a list of conditions was equivalent to a single
- Some fields that previously accepted only inline loot conditions now also accept a namespaced ID of a
minecraft:predicate - The
playerfield, available on all triggers exceptminecraft:impossible, now accepts an inline value or a namespaced ID of aminecraft:predicatetype- To avoid duplication, this field is not mentioned in entries below
Changed minecraft:any_block_use trigger
- The
locationfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:bee_nest_destroyed
- The
blockfield has been renamed toblocksand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:blocktype - Added field
statethat matches block state properties (same format asminecraft:enter_block)
Changed minecraft:bred_animals trigger
child,parent, andpartnerfields now accept an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:brewed_potion trigger
- The
potionfield now acceptsminecraft:potion_contentsdata component predicate
Changed minecraft:cured_zombie_villager trigger
villagerandzombiefields now accept an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:default_block_use trigger
- The
locationfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:effects_changed trigger
- The
sourcefield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:enter_block
- The
blockfield has been renamed toblocksand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:blocktype
Changed minecraft:fall_after_explosion trigger
- The
causefield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:fishing_rod_hooked trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:placed_block trigger
- The
locationfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:item_used_on_block trigger
- The
locationfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:allay_drop_item_on_block trigger
- The
locationfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:player_killed_entity trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype - The
killing_blow.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Changed minecraft:entity_killed_player trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype - The
killing_blow.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Changed minecraft:kill_mob_near_sculk_catalyst trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype - The
killing_blow.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Changed minecraft:lightning_strike trigger
bystanderandlightningfields now accept an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:player_generates_container_loot trigger
- The
loot_tablefield has been renamed toloot_tablesand now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:loot_tabletype- If a tag or a list is used, trigger will run when any listed loot table is generated
Changed minecraft:thrown_item_picked_up_by_player trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:thrown_item_picked_up_by_entity trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:player_hurt_entity trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype - The
damage.type.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Changed minecraft:entity_hurt_player trigger
- The
damage.type.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Changed minecraft:player_interacted_with_entity trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:player_sheared_equipment trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:crafter_recipe_crafted trigger
- The
recipe_idfield has been renamed torecipesand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:recipetype- If a tag or a list is used, trigger will run when any listed recipe is used
Changed minecraft:recipe_crafted trigger
- The
recipe_idfield has been renamed torecipesand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:recipetype- If a tag or a list is used, trigger will run when any listed recipe is used
Changed minecraft:recipe_unlocked trigger
- The
recipefield has been renamed torecipesand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:recipetype- If a tag or a list is used, trigger will run when any listed recipe is unlocked
Changed minecraft:slide_down_block
- The
blockfield has been renamed toblocksand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:blocktype
Changed minecraft:summoned_entity trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:tame_animal trigger
- The
entityfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:target_hit trigger
- The
projectilefield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:villager_trade trigger
- The
villagerfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Slot Sources
Changed minecraft:group
- The
termsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:slot_sourcetype - Inline format of
minecraft:group(previously only a list of inline slot source) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:slot_sourcetype- This format is now available consistenly available for all fields of slot source
Changed minecraft:filtered
- The
slot_sourcefield now accepts an inline value or a namespaced ID of aminecraft:slot_sourcetype
Changed minecraft:contents
- The
slot_sourcefield now accepts an inline value or a namespaced ID of aminecraft:slot_sourcetype
Changed minecraft:limit_slots
- The
slot_sourcefield now accepts an inline value or a namespaced ID of aminecraft:slot_sourcetype
Removed minecraft:reference
- This slot source has become obsolete, as any field that takes slot source now accepts (among other fields) a namespaced ID of a
minecraft:slot_sourcetype
Loot Tables
- The
rollsandbonus_rollsfields now accept an inline value or a namespaced ID of aminecraft:number_providertype
Loot Table Types
Added minecraft:container_process loot table type
- Currently used to evaluate cooking and brewing fuel values
- It takes the following parameters:
container, the container or inventory being evaluatedblock_entity, the block entity being fueledblock_state, the current state of the block being fueledorigin, the location of the block being fueled
Changed minecraft:advancement_location
- Block entities are now available in context and can be matched by conditions like
minecraft:match_block
Loot Pool Entries
- The
conditionsfield in loot pool entries has been renamed toconditionand now accepts an inline value or a namespaced ID of aminecraft:predicatetype - The
functionsfield in loot pool entries has been renamed tomodifierand now accepts an inline value (including list as a short form ofminecraft:sequence) or a namespaced ID of aminecraft:item_modifiertype- This field is now present on all loot entries, including previously omitted
minecraft:alternatives,minecraft:sequenceandminecraft:group
- This field is now present on all loot entries, including previously omitted
Changed minecraft:tag loot pool entry
- The
namefield has been renamed toitemsand now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:itemtype
Changed minecraft:loot_table loot pool entry
- The
valuefield now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:loot_tabletype - Added
expandfield, working the same as inminecraft:tagpool entry:- if
true, each entry inside tag will be added to outer pool, with weights equal to weight of this entry - if
false, this pool entry will operate as a single entry in outer pool. If this entry gets selected, it will return all items from all referenced loot tables
- if
Loot Functions
- The
conditionsfield is now available in all loot functions and has been renamed tocondition- It now also accepts an inline value or a namespaced ID, but no longer an inline list of conditions
- Functionality of old condition list format can be achieved by explicitly using
minecraft:all_ofloot condition type
- The
functionfield (describing function type) has been renamed totype
Changed minecraft:sequence
- The
functionsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:item_modifiertype - Added optional
conditionfield which accepts an inline value or a namespaced ID of aminecraft:predicatetype - Inline format of
minecraft:sequence(previously only a list of inline functions) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:item_modifiertype- This format is now consistenly available for all fields of loot function type, which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a
minecraft:item_modifiertype
- This format is now consistenly available for all fields of loot function type, which means that every such field can accept an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a
Changed minecraft:modify_contents
- The
modifierfield now accepts an inline value or a namespaced ID of aminecraft:item_modifiertype
Changed minecraft:set_attributes
- Number providers in
amountsub-fields ofmodifierslist now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:enchanted_count_increase
- The
countfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:enchant_with_levels
- The
levelsfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_custom_model_data
- Elements in
floatsandcolorslists can now be an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_enchantments
- Values in
enchantmentsmap can now be an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_count
- The
countfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:limit_count
- The
minandmaxfields insidelimitstructure now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_damage
- The
countfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_ominous_bottle_amplifier
- The
amplifierfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_random_dyes
- The
number_of_dyesfield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_stew_effect
- The
durationfield in elements ofeffectslist now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:set_loot_table
- The
namefield has been renamed totag
Changed minecraft:exploration_map
- The
destinationfield is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:structuretype
Removed minecraft:reference
- This function has become obsolete, as any field that takes a function now accepts (among other things) a namespaced ID to other functions
Predicates
- The
conditionfield (describing predicate type) has been renamed totype
Changed minecraft:all_of
- The
termsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:predicatetype - Note: values of this type can no longer be shortened to a single list, a full object with type
minecraft:all_ofneeds to be used explicitly
Changed minecraft:any_of
- The
termsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:predicatetype
Changed minecraft:inverted
- The
termfield now accepts an inline value or a namespaced ID of aminecraft:predicatetype
Changed minecraft:random_chance
- The
chancefield now accepts an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:value_check
- The
valuefield now accepts an inline value or a namespaced ID of aminecraft:number_providertype - The
minandmaxfields insiderangestructure now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:time_check
- The
minandmaxfields insidevaluestructure now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:entity_scores
- The
minandmaxfields inside values ofscoresmap now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:damage_source_properties
- The
predicate.tags.idfield now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of aminecraft:damage_typetype
Removed minecraft:reference
- This condition has become obsolete, as any field that takes a loot condition now accepts (among other things) a namespaced ID to other conditions
Added vanilla predicates
minecraft:block/fast_cooking
Added minecraft:match_block condition type
Matches block state and optionally block entity data and components (if present)
Fields (same as elements of minecraft:can_place_on components):
blocks- optional block id, list of namespaced block IDs, or hash-prefixed block tag to matchstate: optional map of block state property keys to values to matchnbt: optional block entity NBT to match- match will fail if this field is present, but block entity is not available in context
components- optional map of exact components to match- match will fail if this field is present, but block entity is not available in context
predicates- optional map of component predicates to match- match will fail if this field is present, but block entity is not available in context
Removed minecraft:block_state_property condition type
- This has been fully replaced by
minecraft:match_block
Number Providers
- The
typefield always needs to be specified explicitly when using an inline number provider (it was previously defaulting tominecraft:uniform)
Added vanilla number providers
minecraft:cooking/time_bamboo- Returns the burn time in ticks for bamboo and scaffolding
minecraft:cooking/time_blaze_rod- Returns the burn time in ticks for blaze rods
minecraft:cooking/time_boats- Returns the burn time in ticks for boats
minecraft:cooking/time_coal- Returns the burn time in ticks for coal
minecraft:cooking/time_coal_block- Returns the burn time in ticks for coal blocks
minecraft:cooking/time_dried_kelp_block- Returns the burn time in ticks for dried kelp blocks
minecraft:cooking/time_dry_plants- Returns the burn time in ticks for various dry plants
minecraft:cooking/time_hanging_signs- Returns the burn time in ticks for hanging signs
minecraft:cooking/time_lava_bucket- Returns the burn time in tickss for lava buckets
minecraft:cooking/time_roots- Returns the burn time in ticks for mangrove roots
minecraft:cooking/time_wood_blocks- Returns the burn time in ticks for wood blocks
minecraft:cooking/time_wood_items_extra_small- Returns the burn time in ticks for very small wood items such as buttons
minecraft:cooking/time_wood_items_large- Returns the burn time in ticks for large wood items such as doors
minecraft:cooking/time_wood_items_small- Returns the burn time in ticks for small wood items such as bows
minecraft:cooking/time_wood_slabs- Returns the burn time in ticks for wood slabs
minecraft:cooking/time_wool- Returns the burn time in ticks for most wool blocks
minecraft:cooking/time_wool_carpets- Returns the burn time in ticks for wool carpets
minecraft:cooking/time_wool_slabs- Returns the burn time in ticks for wool slabs and cushions
minecraft:cooking/speed_default- Returns the default speed multiplier for cooking fuel
minecraft:brewing/speed_default- Returns the default speed multiplier for brewing fuel
minecraft:brewing/uses_default- Returns the default number of brews provided by brewing fuel
Changed minecraft:number_dispatcher
- Fields:
cases- a list of cases in the order that the dispatcher will try to execute them- Fields:
condition- an inline value or a namespaced ID of aminecraft:predicatetypenumber_provider- an inline value or a namespaced ID of aminecraft:number_providertype which is executed if the condition is fulfilled
- Fields:
default- an optional inline value or a namespaced ID of aminecraft:number_providertype- Defaults to a constant
0if omitted
- Defaults to a constant
Changed minecraft:conditional_value
- Fields:
conditions- an inline value or a namespaced ID of aminecraft:predicatetypeon_true- an inline value or a namespaced ID of aminecraft:number_providertype which is executed if its condition is fulfilledon_false- an optional inline value or a namespaced ID of aminecraft:number_providertype- Defaults to a constant
0if omitted
- Defaults to a constant
Changed minecraft:weighted_list
- Fields:
distribution- a list of objects with the following fields- Fields:
data- an inline value or a namespaced ID of aminecraft:number_providertypeweight- a positive integer
- Fields:
Changed minecraft:uniform
- The
minandmaxfields now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:binomial
- The
nandpfields now accept an inline value or a namespaced ID of aminecraft:number_providertype
Changed minecraft:sum
- The
summandsfield now accepts an inline value, a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of aminecraft:number_providertype
Recipes
Smoker and Blast Furnace Recipes
The recipes for Smokers and Blast Furnaces now use the same cooking time in their data definition as their Furnace counterparts.
The cooking time speedup is now done through the minecraft:cooking/speed_default Number Provider used by the furnace fuel components.
World Generation
Biomes
- Removed the
spawners,spawn_costs, andcreature_spawn_probabilityfields- These values have been moved to the new Environment Attributes
Features
- Removed feature types:
minecraft:nether_forest_vegetationminecraft:twisting_vinesminecraft:weeping_vines
Noise Settings
- The
final_densityfield no longer has thebeardifierDensity Function implicitly added to the final result - The
aquifers_enabledfield has been replaced by an optionalaquifersobject:- If not present, no aquifers will be generated
- Fields:
barrier- Density Function, moved fromnoise_router.barrierfluid_level_floodedness- Density Function, moved fromnoise_router.fluid_level_floodednessfluid_level_spread- Density Function, moved fromnoise_router.fluid_level_spreadlava- Density Function, moved fromnoise_router.lavasurface_level- Density Function, duplicated fromnoise_router.preliminary_surface_levelexclusion- Density Function, any aquifer cell where this value is positive will have no fluid
- The
ore_veins_enabledfield has been replaced by an optional list ofore_veinsobjects:- If not present, no ore veins will be generated
- Fields:
ore_block- Block State, the ore block to placeraw_ore_block- Block State, the raw ore block to placefiller_block- Block State, the filler block to placeraw_ore_chance- float between 0 and 1, the probability for araw_ore_blockto be placed instead of anore_blockdensity- Density Function, the probability between 0 and 1 for the ore vein to replace a block- If
0or lower, no block will be replaced
- If
richness- Density Function, the probability between 0 and 1 forore_blockorraw_ore_blockto be placed (as opposed tofiller_block)- If
0or lower, all blocks will befiller_block - If
1or greater, no blocks will befiller_block
- If
filler_gap- Density Function, acts as an override torichness: if positive,filler_blockwill always be placed
- The following fields from
noise_routerhave been moved:barrier,fluid_level_floodedness,fluid_level_spread,lava- moved intoaquifersfieldvein_toggle,vein_ridged,vein_gap- moved intoore_veinsfield
Density Functions
Updated constant
argumenthas been renamed tovalue
Updated add, mul, min, and max
argument1has been renamed toleftargument2has been renamed toright
Updated abs, square, cube, half_negative, quarter_negative, squeeze, interpolated, flat_cache, cache_2d, cache_once, cache_all_in_cell, and blend_density Density Functions
argumenthas been renamed toinput
Updated shift_a, shift_b, and shift
argumenthas been renamed tonoise
Added sub
Performs subtraction between two arguments. Format: object with fields:
left- Density Function, the left-hand side of the operationright- Density Function, the right-hand side of the operation
Added div
Performs division between two arguments. Format: object with fields:
left- Density Function, the left-hand side of the operationright- Density Function, the right-hand side of the operation
Updated reciprocal
- Renamed from
invert
Added negate
Negates the input. Format: object with fields:
input- Density Function, the function to negate
Added lerp
Performs (unclamped) linear interpolation between two arguments based on an alpha. Format: object with fields:
alpha- Density Function, the interpolation factor (0=first,1=second)- Any value outside of
[0; 1]will extrapolate
- Any value outside of
first- Density Function, the value atalpha=0second- Density Function, the value atalpha=1
Added floor, round, ceil, and truncate
Rounds the input value to an integer multiple of a given function in a type-dependent direction:
floor: rounds towards negative infinityround: rounds towards the nearest integer (ties round up)ceil: rounds towards positive infinitytruncate: rounds towards 0
Format: object with fields:
input- Density Function, the input to roundmultiple- Density Function, the output will be rounded to an integer multiple of this value- If not specified, defaults to constant
1(i.e. rounding to integer)
- If not specified, defaults to constant
Added beardifier
Outputs the structure bearding density. Generally summed together with the base terrain density to produce ground below, carve air around, or bury structures.
Format: no fields
Villager Trades
- The
given_item_modifiersfield has been renamed togiven_item_modifier- Note: unlike other fields of type
minecraft:item_modifierthis field does not support namespaced element or tag IDs
- Note: unlike other fields of type
Tags
Block Tags
- Added
#cushion_uses_collision_shape- Blocks where Cushion placement raycasts against collision shape instead of interaction shape- Default entries: all blocks in
#cauldrons, plushopperandcomposter
- Default entries: all blocks in
Item Tags
- Removed
#brewing_fuel- thebrewing_fuelitem component is now used to identify brewing fuels
Resource Pack Version 92.0
Shaders & Post-process Effects
- Added new shaders to support order-independent transparency:
core/oit_depth_bounds_cull.fsh
- Updated core shaders to support order-independent transparency
- Introduced new defines:
OIT_ALWAYS_WRITE_DEPTH- A boolean indicating that the OIT algorithm should always write depth for the executing pipeline during the depth bounds stage
- Introduced new defines:
New Core Shaders
core/integrate_depth.fshwas added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffer