
Wilderness Bound is out now in Minecraft Java Edition! Pack your supplies and set off on an expedition into the dappled forest where the trails end and adventure begins. Seek out abandoned camps, build outposts among the poplar trees, sleep under the stars on straw beds, and share campfire stories atop cushions. Just remember that the wilderness rewards the prepared - and maps are lighter than regrets!
Happy camping!


#minecraft:extendable_maps tag can be zoomed out
Developer's Note: Special thanks to Rubén Osorio López, Jozufozu, and the Minecraft modding community in general for sharing the information that helped us to deliver this.
F3 + F6/defaultgamemode command)/gamemode command, or F3 + F4)/difficulty command)definition field from the blocks.json data generation report has been removedlevel.dat now contains a version_history list with prior data versions of the filewhite-list property is now true by defaultminecraft:notification/world/upgrade_startedminecraft:notification/world/upgrade_progressminecraft:notification/world/upgrade_finishedminecraft:notification/world/upgrade_failed/give, /unpublish, and /tick should now properly signal errorsminecraft:pot_decorations component and minecraft:decorated_pot block entity are now full item stacksminecraft:number_provider and minecraft:number_provider_type registries have been split into separate registries for integer calculations (minecraft:context_int_provider, minecraft:context_int_provider_type) and float calculations (minecraft:context_float_provider, minecraft:context_float_provider_type)minecraft:advancementminecraft:item_modifierminecraft:loot_tableminecraft:context_int_providerminecraft:context_float_providerminecraft:predicateminecraft:recipeminecraft:slot_sourcereference types for predicates, item modifiers, and slot sources are now obsolete and have been removed[{type:set_count, ...}, "minecraft:some_modifier"] are now allowedName is now idProperties is now properties
posteffect#Developer's Note: This now makes custom shaders fully available to use from resource packs, but please be aware that shaders are still subject to be changed at-will, and the features involved (the command, post effects, or shaders) may be redesigned in the future.
Syntax:
/posteffect add <player> <posteffect> - adds the post effect to the player, if it doesn't already exist/posteffect clear <player> - removes all post effects from the player, if any exist/posteffect list <target> - lists all post effects applied to the player, if any exist/posteffect remove <player> <posteffect> - removes the post effect from the player, if it existspublish#gamemode argument has been removeddefaultgamemode command or the Game Mode button in the World Options screen, while player-specific game modes should be set using the gamemode commandcompute#minecraft:context_int_provider and minecraft:context_float_provider values in various contextsorigin is set to the current command context position, while this entity is set to @sSyntax:
/compute <target> integer <int_provider> OR/compute <target> float <float_provider> [<scale>], where:<target> - one of:default - runs the provider in the minecraft:command_compute_default context, where only common arguments (position and this entity) are availableblock <pos> - runs the provider in the minecraft:command_compute_position context, where block state and block position are set based on the block at position <pos>entity <entity selector> - runs the provider in the minecraft:command_compute_entity context, where target_entity is set to the selector result<int_provider> - either an element of the minecraft:context_int_provider registry or an inline value<float_provider> - either an element of the minecraft:context_float_provider registry or an inline value<scale> - optional scale value, defaults to 1.0<scale> and rounded towards negative infinitydata#/data modify ... append|insert|merge|prepend|set called computeminecraft:context_int_provider or minecraft:context_float_provider value and then provides the result either as an integer or a float tag/data modify storage foo bar set compute entity @n[type=minecraft:armor_stand] integer {type:score,target:{type:context,target:target_entity},score:baz}Syntax:
compute <target> (integer <int_provider> | float <float_provider>), where the syntax of target, int_provider, float_provider is the same as in the /compute function/compute, there is no scale, since the result is directly stored as a float, instead of being returned from the command as an integergive#give command is above the limit, the command will now signal an error instead of just printing an error message and returning 0tellraw#nbt component in a raw chat message will only be resolved up to 64k timestick#0:tick steptick step stoptick sprint stopteam#team join and team leave subcommands now reflects the exact count of entities that have joined or left (i.e. excluding entities for which teams have not changed)item#minecraft:command_slot_source loot typereplace sub-command has new semantics:replace [12345] with (ABC) → [ABC45]replace [123] with (ABCDE) → [ABC]<slot_type> or <slot_type>.<slot_number> are still permittedarmor.chestcontainer.*minecraft:slot_range slot source using that slot rangehotbar.4 is the same as {type:"minecraft:slot_range",slots:"hotbar.4"}from entity item source can now be a selector targeting multiple entitiesfill and override sub-commands, each with syntax identical to /item replace/item fillfill [12345] with (ABC) → [ABCAB]/item overrideoverride [12345] with (ABC) → [ABC__] (where _ represents an empty slot)execute#slots condition sub-commandminecraft:command_slot_source loot type/execute if|unless slots block <pos> <slot source>/execute if|unless slots entity <targets> <slot source>items condition sub-command now takes a slot source as argument instead of a slotminecraft:command_slot_source loot type/execute if|unless items block <pos> <slot source> <item predicate>/execute if|unless items entity <targets> <slot source> <item predicate>place#feature sub-command now allows inline definition of the Featurespreadplayers##entities_can_teleport_to block tagswing#none, whack, stabwhack6tminecraft:gameplay/natural_mob_spawns#spawns_by_category - map of spawn category to weighted list of spawn datatype - entity type, the entity to spawncount - int provider, amount to spawnspawn_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 mobsoverlayminecraft:gameplay/creature_world_gen_spawn_probability#creature mob category will spawn during world generation[0,1)0.1minecraft:gameplay/bed_rule#explodes has been renamed to destroy_on_usedestroy_on_leave - optional boolean, if true, the Bed will be destroyed when leaving itfalseminecraft:gameplay/straw_bed_rule#minecraft:gameplay/bed_rule, but used for the Straw Bedminecraft:visual/ambient_particles#appendoverride which totally replaces the particle list, this modifier concatenates all elements with the layers below
minecraft:provides_pottery_pattern#minecraft:decorated_pot_pattern registryminecraft:cooking_fuel#burn_time - inline integer number, or a namespaced ID pointing to an element of the minecraft:context_int_provider registry representing the time in ticks for which this fuel will burnspeed_multiplier - inline float number, or a namespaced ID pointing to an element of the minecraft:context_float_provider registry representing the speed of the cooking/smeltingminecraft:brewing_fuel#uses - inline integer number, or a namespaced ID pointing to an element of the minecraft:context_int_provider registry representing the number of times this fuel will brew before being consumedspeed_multiplier - inline float number, or a namespaced ID pointing to an element of the minecraft:context_float_provider registry representing the speed of the brewing#brewing_fuel item tag has been removed and will no longer function to register new brewing fuelsminecraft:pot_decorations#Instead of taking a list of 4 item IDs, this component now takes an object with 4 optional item stack fields named:
backleftrightfrontminecraft:trim_material#minecraft:block_transformer#minecraft:block_transformer registry typeminecraft:sign_text_front and minecraft:sign_text_back#front_text and back_text fields on the minecraft:sign and minecraft:hanging_sign block 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 as messagesmessages and filtered_messages must have the same entry countcolor - optional dye color, default: blackhas_glowing_text - optional boolean, default: falseminecraft:waxed#minecraft:cushion/color#minecraft:compostable#layers - inline integer number, or namespaced ID pointing to an element of the minecraft:context_int_provider registryminecraft: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.
nutrition - positive integer, how much hunger the item satiates in the Villager once eatenminecraft: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.
targeting_entity_types - 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 tenfoldminecraft:attack_animation#type - swing animation type, one of none, whack, stabduration - non-negative integer, the length of the animation in ticksminecraft:interact_animation#minecraft:attack_animationminecraft:consumable#teleport_randomly consume effect:directional_particles - boolean, whether to show a particle trail into the direction of the teleportationtrueminecraft:swing_animation#minecraft:attack_animation and minecraft:interact_animation/swing command - animation type now specified by the commandminecraft:map_color#minecraft:map_color tint sourceThe format of elements in the trim_material registry has been updated:
asset_name has been replaced with palette - Palette Texture ID to be used for this materialoverride_armor_assets has been removedThe format of elements in the instrument registry have been updated:
durability_damage field - optional non-negative integer, amount of durability to consume on each useuse_duration field - can now be 0 for no cooldowninvulnerable_time tag which makes an entity temporarily invulnerable for a specific number of ticks
minecraft:decorated_pot#The sherds field no longer stores a list of 4 item IDs. Instead, the new format is an object with 4 optional item stack fields named:
backleftrightfrontminecraft:sign and minecraft:hanging_sign#allow_op_features (defaults to false) has been added to restore previous behaviorminecraft:block_entity_data component containing Sign data stored in worlds saved before this version will have allow_op_features set to trueminecraft:block_entity_data was applied successfullyminecraft:sign_text_front, minecraft:sign_text_back, and minecraft:waxed componentsminecraft:brewing_stand#The following fields are now stored as integers rather than shorts:
BrewTime field from a short to an integer, this is the amount of time that the current brewing process has taken so farFuel field from a byte to an integer, this is the amount of fuel remainingThe following new fields have been added:
total_brew_time - integer, the total amount of time the current brewing process will taketotal_fuel - integer, represents the amount of fuel that was added in the last refuelspeed_multiplier - float, used to speed up or slow down the next brewing processminecraft:furnace, minecraft:smoker, and minecraft:blast_furnace#The following fields are now stored as integers rather than shorts:
cooking_time_spent field from a short to an integer, this is the amount of time that the current cooking process has taken so farcooking_total_time field from a short to an integer, this is the total amount of time the current cooking process will takelit_time_remaining field from a short to an integer, this is the amount of burn time remaininglit_total_time field from a short to an integer, this is the total amount of burn time that was added in the last refuelThe following new fields have been added:
speed_multiplier - float, used to speed up or slow down the next brewing processdisplay field, but no parent field) must always declare a background field in the display structurebackground field in the display structureloot sub-field in the rewards field 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 a minecraft:loot_table typeminecraft:all_of condition has been removedtype field is now mandatory (previously it defaulted to minecraft:entity_properties)minecraft:predicateplayer field, available on all triggers except minecraft:impossible, now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:any_block_use#location field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:bee_nest_destroyed#block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block typestate that matches block state properties (same format as minecraft:enter_block)minecraft:bred_animals#child, parent, and partner fields now accept an inline value or a namespaced ID of a minecraft:predicate typeminecraft:brewed_potion#potion field now accepts a minecraft:potion_contents data component predicateminecraft:cured_zombie_villager#villager and zombie fields now accept an inline value or a namespaced ID of a minecraft:predicate typeminecraft:default_block_use#location field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:effects_changed#source field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:enter_block#block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block typeminecraft:fall_after_explosion#cause field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:fishing_rod_hooked#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:placed_block#location field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:item_used_on_block#location field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:allay_drop_item_on_block#location field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:player_killed_entity#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typekilling_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:entity_killed_player#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typekilling_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:kill_mob_near_sculk_catalyst#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typekilling_blow.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:lightning_strike#bystander and lightning fields now accept an inline value or a namespaced ID of a minecraft:predicate typeminecraft:player_generates_container_loot#loot_table field has been renamed to loot_tables and now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:loot_table typeminecraft:thrown_item_picked_up_by_player#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:thrown_item_picked_up_by_entity#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:player_hurt_entity#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typedamage.type.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:entity_hurt_player#damage.type.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:player_interacted_with_entity#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:player_sheared_equipment#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:crafter_recipe_crafted#recipe_id field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeminecraft:recipe_crafted#recipe_id field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeminecraft:recipe_unlocked#recipe field has been renamed to recipes and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:recipe typeminecraft:slide_down_block#block field has been renamed to blocks and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:block typeminecraft:summoned_entity#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:tame_animal#entity field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:target_hit#projectile field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:villager_trade#villager field now accepts an inline value or a namespaced ID of a minecraft:predicate typeslot_source folderminecraft:contents is no longer restricted to only selecting non-empty slotsminecraft:group#terms field 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 a minecraft:slot_source typeminecraft:group (previously only a list of inline slot sources) can now also accept a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:slot_source typeminecraft:filtered#slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source typeminecraft:contents#slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source typeminecraft:limit_slots#slot_source field now accepts an inline value or a namespaced ID of a minecraft:slot_source typeminecraft:slot_range#source field has a new valid type container, which sources slots from a container or inventory provided through loot contextsource field is now optionalcontainer source type when absenttill/rooted_dirt loot table for drops when Rooted Dirt is tilled with a hoerolls field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typebonus_rolls field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:command_slot_source#/item and /execute commandscontainer, the container or inventory being evaluatedorigin, the position at which the command was executedthis_entity, the @s entity of the command being executed (optional)minecraft:command_compute_default#/compute default commandorigin, the position at which the command was executedthis entity, the @s entity of the command being executed (optional)minecraft:command_compute_position#/compute block commandminecraft:command_compute_defaultblock_entity, the block entity of the block at the position given in a commandblock_state, the current state of the block at the position given in a commandminecraft:command_compute_entity#/compute entity commandminecraft:command_compute_defaulttarget_entity, the entity selected by the selector given in a commandminecraft:container_process#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 fueledminecraft:advancement_location#minecraft:match_blockminecraft:block_interact#origin is now available in context, as the center of the block being interacted withconditions field in loot pool entries has been renamed to condition and now accepts an inline value or a namespaced ID of a minecraft:predicate typefunctions field in loot pool entries has been renamed to modifier and now accepts an inline value (including a list as a short form of minecraft:sequence) or a namespaced ID of a minecraft:item_modifier typeminecraft:alternatives, minecraft:sequence, and minecraft:groupminecraft:tag#name field has been renamed to items and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:item typeminecraft:loot_table#value field now accepts a single namespaced ID, a list of namespaced IDs, a list of inline values, or a hash-prefixed tag ID of a minecraft:loot_table typeexpand field, working the same as in the minecraft:tag pool entry:true, each entry inside the tag will be added to the outer pool, with weights equal to the weight of this entryfalse, this pool entry will operate as a single entry in the outer poolconditions field is now available in all loot functions and has been renamed to conditionminecraft:all_of loot condition typefunction field (describing the function type) has been renamed to typeminecraft:sequence#functions field 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 a minecraft:item_modifier typecondition field which accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft: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 a minecraft:item_modifier typeminecraft:item_modifier typeminecraft:modify_contents#modifier field now accepts an inline value or a namespaced ID of a minecraft:item_modifier typeminecraft:set_attributes#amount sub-fields of the modifiers list now accept an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:enchanted_count_increase#count field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:enchant_with_levels#levels field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_custom_model_data#floats list can now be an inline value or a namespaced ID of a minecraft:context_float_provider typecolors list can now be an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_enchantments#enchantments map can now be an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_count#count field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:limit_count#min and max fields inside the limit structure now accept an inline value or a namespaced ID of a minecraft:context_int_provider typelimit field no longer accepts a single numberminecraft:set_damage#damage field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:set_ominous_bottle_amplifier#amplifier field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_random_dyes#number_of_dyes field now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_stew_effect#duration field in the elements of the effects list now accepts an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:set_loot_table#typename field has been renamed to loot_table_idminecraft:exploration_map#destination field is no longer optional and now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:structure typemap_color field has been removedminecraft:map and produced a minecraft:filled_mapminecraft:map to minecraft:filled_map (or one of the explorer map items)minecraft:map_id - use minecraft:filtered with minecraft:discard_item to drop those, as the vanilla loot tables and villager trades now dominecraft:reference#condition field (describing the predicate type) has been renamed to typeminecraft:all_of#terms field 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 a minecraft:predicate typeminecraft:all_of needs to be used explicitlyminecraft:any_of#terms field 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 a minecraft:predicate typeminecraft:inverted#term field now accepts an inline value or a namespaced ID of a minecraft:predicate typeminecraft:random_chance#chance field now accepts an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:value_check#minecraft:int_value_check#Fields:
value - an inline value or a namespaced ID of a minecraft:context_int_provider typetest - one of:minecraft:context_int_provider typevalue is equal to the provided test valuemin - an optional inline value (including a single integer) or a namespaced ID of a minecraft:context_int_provider typemax - an optional inline value (including a single integer) or a namespaced ID of a minecraft:context_int_provider typevalue is between min and max (inclusive)minecraft:float_value_check#Fields:
value - an inline value or a namespaced ID of a minecraft:context_float_provider typetest - one of:minecraft:context_float_provider typevalue is equal to the provided test valuemin - an optional inline value (including a single float) or a namespaced ID of a minecraft:context_float_provider typemax - an optional inline value (including a single float) or a namespaced ID of a minecraft:context_float_provider typevalue is between min and max (inclusive)minecraft:time_check#min and max fields inside the value structure now accept an inline value or a namespaced ID of a minecraft:context_int_provider typevalue field itself now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type (previously only integers were allowed)minecraft:entity_scores#min and max fields inside the values of the scores map now accept an inline value or a namespaced ID of a minecraft:context_int_provider typescores field itself now accepts an inline value or a namespaced ID of a minecraft:context_int_provider type (previously only integers were allowed)minecraft:damage_source_properties#predicate.tags.id field now accepts a single namespaced ID, a list of namespaced IDs, or a hash-prefixed tag ID of a minecraft:damage_type typeminecraft:reference#New entries added to the previously empty minecraft:predicate:
minecraft:tool/can_silk_touchminecraft:tool/can_shearminecraft:block/fast_cookingminecraft:match_block Condition Type#Matches block state and optionally block entity data and components (if present)
Fields (same as the elements of the minecraft:can_place_on component):
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 matchcomponents - optional map of exact components to matchpredicates - optional map of component predicates to matchminecraft:block_state_property Condition Type#minecraft:match_blockThe minecraft:potion_contents Data Component Predicate has been changed to allow matching on specific potion effects.
The previous predicate format used a list of potion types, the new format allows for more refined matching.
The following fields can be used in any combination, all are optional:
potions - a list of potion types or a potion tag to matcheffects - a Collection Predicate of mob_effects predicates to matchcontains - a list of mob_effects predicates to matchcount - a list of options for matching a specific number of mob effect predicates, which follow the same format as the minecraft:effects entity sub-predicatetest - the mob_effects predicate to matchcount - the number of matches required, or with min and max will match a range of countssize - require the mob effects list to have a specific size, or with min and max will match a range of sizesThe mob_effects predicate format is a mapping of effect types to properties of that effect. All fields are optional, only the provided fields will be used for matching:
{
"minecraft: <effect type>": {
"duration": <integer bounds representing a duration in ticks>,
"amplifier": <integer bounds>,
"ambient: true/false,
"visible": true/false
}
)
Here is an example of matching on several different effects and criteria:
"effects": {
"minecraft:jump_boost": {
"duration": 3600,
"amplifier": 5,
"ambient: true,
"visible": true
},
"minecraft:speed": {
"duration": {
"min": 360,
"max": "3600
},
"amplifier: {
"min": 2
}
},
"minecraft:resistance": {}
}
All criteria are optional.
minecraft:number_provider type has been split into two separate types: minecraft:context_int_provider (integer number providers) and minecraft:context_float_provider (float number providers)minecraft:int_provider_type and minecraft:float_provider_type, which are context-free providers, used mostly for world generationminecraft:context_int_provider registrytype - a namespaced ID from minecraft:context_int_provider_type registry<type-specific fields>minecraft:compostable/low1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 30% chance of returning 1minecraft:compostable/low_medium1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 50% chance of returning 1minecraft:compostable/medium1 if the minecraft:block_state context parameter is an empty composter, otherwise has a 65% chance of returning 1minecraft:compostable/medium_high1 if the minecraft:block_state context parameter is an empty composter, otherwise has an 85% chance of returning 1minecraft:compostable/always_add_one1minecraft:cooking/time_bamboominecraft:cooking/time_blaze_rodminecraft:cooking/time_boatsminecraft:cooking/time_coalminecraft:cooking/time_coal_blockminecraft:cooking/time_dried_kelp_blockminecraft:cooking/time_dry_plantsminecraft:cooking/time_hanging_signsminecraft:cooking/time_lava_bucketminecraft:cooking/time_rootsminecraft:cooking/time_wood_blocksminecraft:cooking/time_wood_items_extra_smallminecraft:cooking/time_wood_items_largeminecraft:cooking/time_wood_items_smallminecraft:cooking/time_wood_slabsminecraft:cooking/time_woolminecraft:cooking/time_wool_carpetsminecraft:cooking/time_wool_slabsminecraft:cooking/normal_burn_time_reduction_factorminecraft:cooking/fast_burn_time_reduction_factorblock/fast_cooking predicateminecraft:brewing/uses_defaultminecraft:abs#inputinput - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:avg#0inputs - 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:context_int_provider typeminecraft:binomial#n random coin flips with the probability of succeeding equal to p, then returns the number of successesn - the number of coin flips, an inline value or a namespaced ID of a minecraft:context_int_provider typep - the probability of a single coin flip succeeding ([0.0, 1.0]), an inline value, or a namespaced ID of a minecraft:context_float_provider typeminecraft:conditional#on_true if its condition is fulfilled or on_false if notcondition - an inline value or a namespaced ID of a minecraft:predicate typeon_true - an inline value or a namespaced ID of a minecraft:context_int_provider type which is executed if its condition is fulfilledon_false - an optional inline value or a namespaced ID of a minecraft:context_int_provider type0 if omittedminecraft:constant#value - an integerfoo: 1 is equivalent to foo: {type:"minecraft:constant",value:1})minecraft:sub#left minus rightleft - an inline value or a namespaced ID of a minecraft:context_int_provider typeright - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:from_float#NaN) are treated as errors and will cancel the calculationinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:max#inputs - 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:context_int_provider typeminecraft:min#inputs - 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:context_int_provider typeminecraft:mod#left by rightleft - an inline value or a namespaced ID of a minecraft:context_int_provider typeright - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:floor_mod#left by rightleft - an inline value or a namespaced ID of a minecraft:context_int_provider typeright - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:environment_attribute#minecraft:environment_attribute)attribute - the Environment Attribute ID to fetch (must be representable as an int)minecraft:negate#inputinput - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:number_dispatcher#default if none docases - a list of cases in the order that the dispatcher will try to execute themcondition - an inline value or a namespaced ID of a minecraft:predicate typevalue - an inline value or a namespaced ID of a minecraft:context_int_provider type which is executed if the condition is fulfilleddefault - an optional inline value or a namespaced ID of a minecraft:context_int_provider type0 if omittedminecraft:pow#base to the power of exponentbase - an inline value or a namespaced ID of a minecraft:context_int_provider typeexponent - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:mul#inputs - 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:context_int_provider typeminecraft:div#left divided by rightleft - an inline value or a namespaced ID of a minecraft:context_int_provider typeright - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:floor_div#left divided by rightleft - an inline value or a namespaced ID of a minecraft:context_int_provider typeright - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:score#fallbackscore - objective nametarget - score holder (same format as in the number provider version)fallback - an optional inline value or a namespaced ID of a minecraft:context_int_provider type0 if omittedminecraft:storage#fallbackstorage - a namespaced ID of a command storagepath - an NBT pathfallback - an optional inline value or a namespaced ID of a minecraft:context_int_provider type0 if omittedminecraft:add#inputs - 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:context_int_provider typeminecraft:uniform#min - minimum value (inclusive), an inline value, or a namespaced ID of a minecraft:context_int_provider typemax - maximum value (inclusive), an inline value, or a namespaced ID of a minecraft:context_int_provider typeminecraft:weighted_list#distribution - a list of objects with the following fieldsdata - an inline value or a namespaced ID of a minecraft:context_int_provider typeweight - a positive integerminecraft:context_float_provider registrytype - a namespaced ID from minecraft:context_float_provider_type registry<type-specific fields>minecraft:cooking/speed_defaultminecraft:cooking/normal_speed_multiplierminecraft:cooking/fast_speed_multiplierblock/fast_cooking predicateminecraft:brewing/speed_defaultminecraft:abs#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:avg#inputs - 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:context_float_provider typeminecraft:ceil#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:conditional#on_true if its condition is fulfilled or on_false if notcondition - an inline value or a namespaced ID of a minecraft:predicate typeon_true - an inline value or a namespaced ID of a minecraft:context_float_provider type which is executed if its condition is fulfilledon_false - an optional inline value or a namespaced ID of a minecraft:context_float_provider type0.0 if omittedminecraft:constant#value - a floatfoo: 1.0 is equivalent to foo: {type:"minecraft:constant",value:1.0})minecraft:cos#inputinput - argument in radians, an inline value, or a namespaced ID of a minecraft:context_float_provider typeminecraft:sub#left minus rightleft - an inline value or a namespaced ID of a minecraft:context_float_provider typeright - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:enchantment_level#minecraft:enchantment_level_based_value_type) parameteramount: A Level-Based Value giving a value based on the level of the Enchantmentminecraft:environment_attribute#minecraft:environment_attribute)attribute - the Environment Attribute ID to fetch (must be representable as a float)minecraft:floor#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:from_int#input - an inline value or a namespaced ID of a minecraft:context_int_provider typeminecraft:length#inputs - 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:context_float_provider typeminecraft:max#inputs - 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:context_float_provider typeminecraft:min#inputs - 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:context_float_provider typeminecraft:mod#left by rightleft - an inline value or a namespaced ID of a minecraft:context_float_provider typeright - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:negate#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:number_dispatcher#default if none docases - a list of cases in the order that the dispatcher will try to execute themcondition - an inline value or a namespaced ID of a minecraft:predicate typevalue - an inline value or a namespaced ID of a minecraft:context_float_provider type which is executed if the condition is fulfilleddefault - an optional inline value or a namespaced ID of a minecraft:context_float_provider type0.0 if omittedminecraft:pow#base to the power of exponentbase - an inline value or a namespaced ID of a minecraft:context_float_provider typeexponent - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:mul#inputs - 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:context_float_provider typeminecraft:div#left divided by rightleft - an inline value or a namespaced ID of a minecraft:context_float_provider typeright - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:round#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:sin#inputinput - argument in radians, an inline value, or a namespaced ID of a minecraft:context_float_provider typeminecraft:sqrt#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:storage#fallbackstorage - a namespaced ID of a command storagepath - an NBT pathfallback - an optional inline value or a namespaced ID of a minecraft:context_float_provider type0.0 if omittedminecraft:add#inputs - 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:context_float_provider typeminecraft:truncate#inputinput - an inline value or a namespaced ID of a minecraft:context_float_provider typeminecraft:uniform#min - minimum value, an inline value, or a namespaced ID of a minecraft:context_float_provider typemax - maximum value, an inline value, or a namespaced ID of a minecraft:context_float_provider typeminecraft:weighted_list#distribution - a list of objects with the following fieldsdata - an inline value or a namespaced ID of a minecraft:context_float_provider typeweight - a positive integer
Potion brewing recipes are now data-driven. New recipes can be added via data packs, and vanilla recipes may be modified. Brewing recipes use the minecraft:brewing type.
The main contents are:
input - a potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents Data Component Predicatereagent - a potion ingredient with a required item field and an optional potion_contents field using a minecraft:potion_contents Data Component Predicateoutput - item stack, the resulting itemHere is an example of a vanilla recipe:
{
"type": "minecraft:brewing",
"input": {
"item": "minecraft:potion",
"potion_contents": {
"potion": "minecraft:water"
}
},
"output": {
"components": {
"minecraft:potion_contents": {
"potion": "minecraft:awkward"
}
},
"id": "minecraft:potion"
},
"reagent": {
"item": "minecraft:nether_wart"
}
}
Any items may be used in any of the 3 slots, for example:
{
"type": "minecraft:brewing",
"input": { "item": "minecraft:bucket" },
"output": { "id": "minecraft:sulfur_cube_bucket" },
"reagent": { "item": "minecraft:potent_sulfur" }
}
The cookingtime field of all cooking recipes is no longer optional.
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.
Custom Smoker and Blast Furnace recipes should be updated accordingly, by setting cookingtime to twice the previous value.
If a custom cooking recipe was previously relying on the default cookingtime value, 200 can be used to maintain the same timing.
minecraft:block_transformer registry containing rules for transforming a block into another blockblock_state_provider - Block State Provider, used to provide the state for the transformed blockrule_based, for example), the next rule in the list will be attemptedsound - optional field, Sound Event to play on interaction, e.g. minecraft:item.axe.stripparticle - optional field, particles to play on interactionnonescrapewax_onwax_offnonedisallowed_faces - optional field, list of directions specifying faces on the clicked Block that cannot be interacted withupdownnorthsoutheastwestloot - optional Loot Table, the Loot Table to use for dropping items on a successful transformation, e.g. minecraft:till/rooted_dirtdrop_strategy - optional field, configures from where in the Block any loot should dropfrom_middle - from the middle of the Blockclicked_face - from the face interacted withfrom_middleupdate_from_neighbors - optional boolean, if the transformed block should update based on neighboring blocks. This allows e.g. fences to connecttransform_type - optional field, configures how nearby blocks should be affected by the transformationsingle_block - only affects the Block interacted withcopper_chest - if input and output blocks are both copper chests of any weathering state, waxed or unwaxed, this transformation will affect both sides of a double chestsingle_blockconsume_on_use - optional boolean, determines if the item should be consumed or nottrueitem_damage_per_use - optional integer, determines how much damage the item takes with each use0minecraft:shovel - default value for shovelsminecraft:axe - default value for axesminecraft:hoe - default value for hoes
spawners, spawn_costs, and creature_spawn_probability fieldsworldgen/configured_feature registry has moved to worldgen/feature and configuration is now done inline in the root object rather than separated into a config fieldminecraft:coral_mushroomminecraft:kelpminecraft:seagrassminecraft:sea_pickleminecraft:nether_forest_vegetationminecraft:twisting_vinesminecraft:weeping_vinesminecraft:desert_wellDeveloper's Note: These feature types are no longer needed, since the features they previously hardcoded are now implemented with other, more configurable functionality.
minecraft:coral_claw and minecraft:coral_tree#feature, a Placed Feature that is used to place at every desired block positionminecraft:stepped_column_cluster (renamed from minecraft:basalt_columns)#Now exposes more control over the feature functionality.
Format changes:
reach to column_reachblock- Block state provider, which block to placecan_replace - Block predicate, which blocks can be replaced by the columncontinue_through - Block predicate, which pre-existing blocks to accept as part of a columncannot_place_on - Block ID, list of Block IDs, or hash-prefixed Block Tag ID, which blocks are avoided when starting placementcolumn_count - int provider (between 1 and 150), the number of columns to generatecluster_reach - int provider (between 0 and 13), the size of the square to attempt to generate columns inheightminecraft:single_block_pillar (renamed from minecraft:basalt_pillar)#Now exposes more control over the feature functionality.
block - Block state provider, which block to placecan_replace - Block predicate, which blocks to replacedirection - one of up and down, vertical direction of the pillarchance_to_continue - optional float between 0 and 1, probability that the pillar continues another block (assuming can_replace matches)1cap_feature - optional Placed Feature, placed at the end of the pillarminecraft:random_neighbor_spread (renamed from minecraft:glowstone_blob)#Now exposes more control over the feature. Places blocks randomly in an area starting at the origin, each block placing so it has exactly one accepted neighbor.
block - Block state provider, which block to placeaccepted_neighbors - Block ID, list of Block IDs, or hash-prefixed Block Tag, which blocks count as a valid neighborcan_replace - Block predicate, which blocks to replaceattempts - int provider (between 1 and 3000), how many placement attempts to makexz_offset - int provider (between -16 and 16), what offsets to try along the x and z axesy_offset - int provider (between -16 and 16), what offsets to try along the y-axisminecraft:sculk_patch#extra_rare_growths and catalyst_chance fieldsminecraft:overlay#Places a set of features in the same location. Note that as opposed to the minecraft:sequence Feature Type, all features are placed regardless of individual placement success.
features - Placed Feature ID, non-empty list of Placed Feature IDs, or hash-prefixed Placed Feature Tag, the features to placeminecraft:projected_random_patchy_square#Generates a square where each block is randomly placed or not placed with its probability based on the distance from the center of the square, with the center more likely to generate than the edges. Each placed block can be projected downwards if the appropriate conditions are met.
block - Block state provider, which block to placeproject_through - Block Predicate, which blocks are considered "empty" and should be projected throughsize - int provider (between 1 and 16), determines the size of the square as measured from the center to the edgemax_projection_height - non-negative integer, the maximum change in y level from the original height to the placement height for a block in the squareminecraft:end_podium#end_podium_activeend_podium_inactiveactive - boolean, whether the portal is activeminecraft:template#processors: Namespaced ID or inline definition of a structure processor list to apply to the templateminecraft:tree#shelf_mushroom Tree Decorator Type#probability - float (between 0 and 1), the probability that any Shelf Mushrooms will be placed for a given featurepoplar_foliage_placer Foliage Placer Type#height - int provider (between 5 and 16), the height of the foliageside_hole_chance - float (between 0.0 and 1.0), the chance for blocks to be randomly removed at the edge of the foliagepoplar_trunk_placer Trunk Placer Type#trunk_height_above_branches - int provider (between 0 and 8), the height of the trunk above the branchesbranch_amount - int provider (between 1 and 4), the amount of branches to create by the foliageminecraft:cuboid#Repeats a feature in a cuboid shape.
xz_size - int provider (between 1 and 16), the size of the cuboid along x and z axesy_size - int provider (between 1 and 16), the size of the cuboid along the y-axisinclude_interior - optional boolean, whether to place interior blocks of the cuboidtrueinclude_edges - optional boolean, whether to place edge blocks of the cuboidfalse generates a somewhat "rounded" cuboidtrueminecraft:random_chance#Gates the feature being placed behind a random chance.
chance - float (between 0 and 1), the chance that the feature gets placedminecraft:randomly_selected#Randomly selects a Placement Modifier from a list and delegates placement to it.
placements - non-empty list of Placement Modifiers to pick fromminecraft:offset (renamed from minecraft:random_offset)#xz_spread and y_spreadx, y, z - integer providers (between -16 and 16), the axis-specific offsetBlock State Providers can now be defined as stand-alone types in the worldgen/block_state_provider registry and referenced by using a namespaced string for a field that expects a Block State Provider.
An inline Block State definition is now an accepted shorthand form for a minecraft:simple block state provider providing that state. The Block State has to be in the form of an object with fields, a shorthand Block ID is not allowed.
The following providers types have been renamed:
minecraft:dual_noise_provider renamed to minecraft:dual_noiseminecraft:noise_provider renamed to minecraft:noiseminecraft:noise_threshold_provider renamed to minecraft:noise_thresholdminecraft:randomized_int_state_provider renamed to minecraft:randomized_intminecraft:rule_based_state_provider renamed to minecraft:rule_basedminecraft:simple_state_provider renamed to minecraft:simpleminecraft:weighted_state_provider renamed to minecraft:weightedminecraft:copy_properties#Copies common Block State properties from the Block at the evaluated position to the resulting state
source - Block State Provider, the Block State which the copied properties are copied on top ofminecraft:random_block#Returns the default block state for a randomly chosen block.
blocks: Block ID, list of Block IDs, or hash-prefixed Block Tag, the set of blocks to randomly pick fromminecraft:rotated#Now works on any block with axis or facing properties.
state - now a Block State Providerdirection - optional direction, the direction to setminecraft:rule_based#fallback yields a result, will now also yield no resultsurface_rule field has been renamed to material_rulefinal_density field no longer has the beardifier Density Function implicitly added to the final resultpreliminary_surface_level to chunk_surface_levelaquifers_enabled field has been replaced by an optional aquifers object:barrier - Density Function, moved from noise_router.barrierfluid_level_floodedness - Density Function, moved from noise_router.fluid_level_floodednessfluid_level_spread - Density Function, moved from noise_router.fluid_level_spreadlava - Density Function, moved from noise_router.lavasurface_level - Density Function, duplicated from noise_router.preliminary_surface_levelexclusion - Density Function, any aquifer cell where this value is positive will have no fluidore_veins_enabled field has been removed, and replaced by the minecraft:ore_vein Material Rulenoise_router have been moved:barrier, fluid_level_floodedness, fluid_level_spread, lava - moved into aquifers fieldvein_toggle, vein_ridged, vein_gap - moved into the minecraft:ore_vein Material Rulenoise.size_horizontal and noise.size_vertical fields, these are now specified in the interpolated density functiondebug_functions field - list of objects with fields, Density Function values to show in the chunk_generation_stats debug entrylabel - string, label to identify this Density Functionfunction - Density Function, the Density Function to compute and show at the player positionThe spawn_target field has been updated to allow use of any Density Function, instead of just a subset of those defined within the noise_router field.
The suitability of a candidate spawn position is determined by evaluating, in some arbitrary n-dimensional space, the squared Euclidean distance to a set of target hypercubes.
For example, one axis might be temperature and the second erosion - and suitability determined by distance to the square between temperature=0.1, erosion=0.2 and temperature=0.3, erosion=0.5. This would prefer any candidate spawn within those ranges equally, while penalizing candidate spawns very far out of that range.
Format: list of target hypercubes
[min, max]min - float, the minimum value of the target rangemax - float, the maximum value of the target rangeA new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_rule/<id>.json.
Elements in this registry define a pipeline for selecting what base block to place in the world at a given position.
The format is identical to that which was formerly written in the surface_rule field within Noise Settings files, with the following extensions:
worldgen/material_rule registryworldgen/material_condition registryA new data-driven registry has been introduced, loaded from data/<namespace>/worldgen/material_condition/<id>.json.
Elements in this registry define a condition that can be referenced within a Material Rule pipeline (e.g. testing biome or surface depth).
The format is identical to that which was formerly written within the condition Material Rule type, with the following extension:
worldgen/material_condition registryminecraft:ore_vein#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 a raw_ore_block to be placed instead of an ore_blockdensity - Density Function, the probability between 0 and 1 for the ore vein to replace a block0 or lower, no block will be replacedrichness - Density Function, the probability between 0 and 1 for ore_block or raw_ore_block to be placed (as opposed to filler_block)0 or lower, all blocks will be filler_block1 or greater, no blocks will be filler_blockfiller_gap - Density Function, acts as an override to richness: if positive, filler_block will always be placedThe 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:
Unless otherwise specified, fits the output amplitude to [-1; 1]
Parameterized by persistence=0.5, lacunarity=2.0
firstOctave to base_octaveAdded base_amplitude - positive float, a scale factor to apply to the noise output
1.0octave_count - integer between 1 and 32, the number of octaves to sampleAdded normalize - boolean, or "legacy", controls how the output amplitude should be normalized
true, base_amplitude is the expected amplitude of the output (i.e. 99.7% of all samples in [-base_amplitude; base_amplitude])false, base_amplitude is the amplitude of the first octave"legacy", inherits the same normalization behavior as expressed by the previous formattrueamplitude_modifiers field - as such, modifying the amplitude of a single octave will not affect the amplitude of othersRenamed amplitudes to amplitude_modifiers - list of floats, a scaling factor to apply to each octave
octave_count1.0Developer's Note: _We are aware that the details of floating point rounding have been used in some Data Packs, and this change may affect specific configurations. We have introduced alternatives for the use-cases that we are aware of, but please do share with us on feedback.minecraft.net or in the feedback Discord if you encounter use-cases that are no longer possible to support.
minecraft:constant#argument has been renamed to valueminecraft:noise#The following fields have been introduced:
shift_x - optional Density Function, a domain warp to apply on x0)shift_y - optional Density Function, a domain warp to apply on y0)shift_z - optional Density Function, a domain warp to apply on z0)minecraft:shifted_noise#minecraft:noiseminecraft:add, minecraft:mul, minecraft:min, and minecraft:max#argument1 has been renamed to leftargument2 has been renamed to rightminecraft:abs, minecraft:square, minecraft:cube, minecraft:half_negative, minecraft:quarter_negative, minecraft:squeeze, minecraft:interpolated, minecraft:flat_cache, minecraft:cache_2d, minecraft:cache_once, minecraft:cache_all_in_cell, and minecraft:blend_density#argument has been renamed to inputminecraft:shift_a, minecraft:shift_b, and minecraft:shift#argument has been renamed to noiseminecraft:sub#Performs subtraction between two arguments.
left - Density Function, the left-hand side of the operationright - Density Function, the right-hand side of the operationminecraft:div#Performs division between two arguments.
left - Density Function, the left-hand side of the operationright - Density Function, the right-hand side of the operationminecraft:reciprocal (renamed from minecraft:invert)#minecraft:negate#Negates the input.
input - Density Function, the function to negateminecraft:lerp#Performs (unclamped) linear interpolation between two arguments based on an alpha.
alpha - Density Function, the interpolation factor (0=first, 1=second)[0; 1] will extrapolatefirst - Density Function, the value at alpha=0second - Density Function, the value at alpha=1minecraft:floor, minecraft:round, minecraft:ceil, and minecraft: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 0Format: object with fields:
input - Density Function, the input to roundmultiple - Density Function, the output will be rounded to an integer multiple of this value1 (i.e. rounding to integer)minecraft:pow#Raises the given base value to an exponent.
base - Density Function, the base valueexponent - Density Function, the exponentminecraft:sqrt#Computes the square root of the given input.
input - Density Function, the value for which to compute the square rootminecraft:log#Computes the natural logarithm of the given input.
input - Density Function, the value for which to compute the natural logarithmminecraft:sign#Computes the sign of the input:
10, returns 0-1Format: object with fields:
input - Density Function, the value of which to compute the signminecraft:distance_to_point#Computes the distance to a fixed point using the specified distance function.
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))minecraft:gradient (renamed from minecraft:y_clamped_gradient)#axis - x, y, or z, 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 repetitionsfrom_coordinate - int, the coordinate at which the gradient startsto_coordinate - int, the coordinate at which the gradient endsfrom_coordinatefrom_value - float, the value at which the gradient startsto_value - float, the value at which the gradient endsminecraft: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.
axis - x, y, or z, the axis to removecoordinate - int, the fixed coordinate to be passed to the input functioninput - Density Function, the input functionminecraft: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
minecraft:end_outer_islands (renamed from minecraft:end_islands)#No longer computes the density of the main island.
minecraft:interpolated#cell_size_xz - positive int, size in blocks of the interpolation grid cells on the XZ axescell_size_y - positive int, size in blocks of the interpolation grid cells on the Y axisminecraft:cache (renamed from minecraft:cache_once)#minecraft:cache_2d, minecraft:cache_all_in_cell, and minecraft:flat_cache#minecraft:cacheminecraft:slice may be used to always pick Y=0, as formerly handled by minecraft:flat_cacheminecraft:feature_pool_element#minecraft:bottomminecraft:dimension_origin#spawn_target for noise settings based dimensions, otherwise Chunk (0, 0)minecraft:height_range#Checks the height of the position against a given range.
min_inclusive - Vertical Anchor, the minimum height requiredmax_inclusive - Vertical Anchor, the maximum height requiredminecraft:volume_match#Checks that every block in a volume matches a given Block Predicate.
min - list of 3 integers in range -16 to 16, the lower corner of the volume as an offset from the test positionmax - list of 3 integers in range -16 to 16, the upper corner of the volume as an offset from the test positionmatch - Block Predicate to test on each positionrelative_to_sea_level - specifies an offset to the sea level of the dimensionThese are the predicates used by ore Features (targets[].target), and rule Structure Processors (rules[].input_predicate and rules[].location_predicate).
minecraft:height_match#true only if it's higher than or equal to min_inclusive and lower than or equal to max_inclusivemin_inclusive - int, the minimum y value of allowed blocks (inclusive)max_inclusive - int, the maximum y value of allowed blocks (inclusive)minecraft:all_of#true for the same blockrules - list of Rule Tests, the rules to test the block againstminecraft:any_of#true for the same blockrules - list of Rule Tests, the rules to test the block againstminecraft:not#false for a given blockrule - Rule Test, the rule to test the block againstworldgen/configured_carver registry has been renamed to worldgen/carverminecraft:cave#config field have been inlined to the top-levelcount field - non-negative Int Provider, the number of Cave tunnels to create from a seed chunkyScale to room_vertical_radius_multiplierstart_vertical_radius_multiplier field - Float Provider, acts as a multiplier for the vertical radius of the first segment in each tunnel1.0thickness field - non-negative Float Provider, acts as a multiplier for the radius of carved tunnelsweird_thickness_bias field - Booleantrue, thickness will be multiplied by, with a 10% chance: random(0, 1) * random(0, 3) + 1falsereplaceable field, carvers will replace any block (excluding features)lava_level field, fluids are now always selected by the aquifer or sea_level configuration in the dimensiondebug_settings fieldminecraft:canyon#config field have been inlined to the top-levelyScale to shape.y_scalereplaceable field, carvers will replace any block (excluding features)lava_level field, fluids are now always selected by the aquifer or sea_level configuration in the dimensiondebug_settings fieldminecraft:nether_cave#minecraft:caveminecraft:very_biased_to_bottom Int Provider Type#Picks a random value in the provided range, with a quadratic bias towards the minimum value.
min_inclusive - integer, the minimum selected value (inclusive)max_inclusive - integer, the maximum selected value (inclusive)given_item_modifiers field has been renamed to given_item_modifierminecraft:item_modifier, this field does not support namespaced elements or tag IDsmax_uses and xp fields now require an inline value of a minecraft:context_int_provider typecount field in the wants and additional_wants structures now require an inline value of a minecraft:context_int_provider typereputation_discount field now requires an inline value of a minecraft:context_float_provider type#poplar_logs - all Poplar log blocks#wool_stairs - all Wool Stairs blocks#wool_slabs - all Wool Slabs blocks#cushion_uses_collision_shape - Blocks where Cushion placement raycasts against collision shape instead of interaction shape#wool_stairs and #wool_slabs to #dampens_vibrations#ores - collection tag containing all types of ores#skulls - collection tag containing all head and skull blocks#blocks_motion - collection tag containing all blocks that are considered to block motion in some way#blocks_motion_no_leaves - collection tag containing all blocks that are considered to block motion in some way, but excluding leaf blocks#entities_can_teleport_to - blocks that entities are allowed to teleport to#blocks_dolphin_jump - blocks that Dolphins cannot move through when jumping out of water#ice_melts_when_destroyed_above - blocks that causes ice to melt into water if the ice is destroyed when placed above them#blocks_motion_in_heightmap - blocks that are taken into account for the motion_blocking heightmap#blocks_motion_in_heightmap_no_leaves - blocks that are taken into account for the motion_blocking_no_leaves heightmap#blocks_lava_fire_spread - blocks that block the creation of fire by lava#blocks_fluid_flow - blocks that block fluid flow#washed_away_by_fluids - blocks that break when a fluid flows through them#required_for_poplar_leaf_ambience - blocks which can satisfy requirement for Poplar leaves to make ambient sound#turns_into_dirt_path - blocks that turn into Dirt Path blocks when a Shovel is used for path making#sculk_growth_inhibitors - blocks which keep Sculk from spreading when more than 2 are in the 8x2x8 area around it#uncarvable - blocks that Carvers can never carve#cats_can_sit_on - blocks which Cats can randomly sit on#cats_can_lie_on - blocks which Cats can randomly lie on#speeds_up_zombie_villager_curing - blocks which can increase Zombie Villager curing time if placed nearby#villagers_can_sleep_on_bed - Bed blocks which Villagers can sleep on#villager_babies_can_jump_on_bed - Bed blocks which Villager kids can jump on#height_specific_ore_replaceables - blocks which Ore Features will turn into Stone Ores if found above y-level 0 and into Deepslate Ores if found below y-level 8#concrete_stairs - all Concrete Stairs blocks#concrete_slabs - all Concrete Slabs blocks#dangerous_for_teleportation - collection tag defining blocks that are dangerous to teleport on#cat_does_not_teleport_to - blocks that Cats do not teleport to#enderman_does_not_teleport_to - blocks that Endermen do not teleport to#shulker_does_not_teleport_to - blocks that Shulkers do not teleport to#consumable_does_not_teleport_to - blocks that entities do not teleport to when they consume food that teleports randomly when eaten#nether_portal_frame - blocks that can be used to create a Nether Portal#conduit_effect_block - blocks that can be used to build a Conduit#overworld_carver_replaceables and #nether_carver_replaceables#poplar_logs - all Poplar log items#wool_stairs - all Wool Stairs items#wool_slabs - all Wool Slabs items#mushrooms - all Mushroom items#ores - collection tag containing all types of ores#douses_campfires - items that can douse a lit Campfire block#concrete_stairs - all Concrete Stairs items#concrete_slabs - all Concrete Slabs items#cloneable_maps - Filled Map plus all Explorer Map items and Buried Treasure Maps, used as the input to the map_cloning recipe#extendable_maps - maps that can be zoomed out with paper, either in a Crafting Table or at a Cartography Table#brewing_potion_inputs - items that can be placed in a Brewing Stand potion slot, regardless of whether they are brewing recipe inputs#furnace_fuel_bottom_takeable - items that can be taken out of furnace by a hopper attached to the bottom face#brewing_fuel - the brewing_fuel item component is now used to identify brewing fuels#has_structure/abandoned_camp_bamboo_jungle#has_structure/abandoned_camp_birch_forest#has_structure/abandoned_camp_cherry_grove#has_structure/abandoned_camp_dappled_forest#has_structure/abandoned_camp_flower_forest#has_structure/abandoned_camp_forest#has_structure/abandoned_camp_meadow#has_structure/abandoned_camp_old_growth_birch_forest#has_structure/abandoned_camp_old_growth_pine_taiga#has_structure/abandoned_camp_old_growth_spruce_taiga#has_structure/abandoned_camp_savanna#has_structure/abandoned_camp_pale_garden#has_structure/abandoned_camp_snowy_taiga#has_structure/abandoned_camp_sparse_jungle#has_structure/abandoned_camp_swamp#has_structure/abandoned_camp_taiga#has_structure/abandoned_camp_windswept_forest#has_structure/abandoned_camp_wooded_badlands#cannot_be_dismounted_by_item_usage - entities which cannot be dismounted by items#no_wolf_retaliation - damage types that should not cause tamed Wolves to attack their source in order to defend their owner#douses_fire - Potions that douse Fire blocks when they hit something#hurts_water_sensitive_entities - Potions that will hurt entities which are sensitive to water (e.g. Endermen)#extinguishes_entities - Potions that can extinguish entities#rehydrates_axolotls - Potions that will cause Axolotls to rehydrate#abandoned_camp - all variants of Abandoned Camps#on_woodland_explorer_maps to #on_woodland_mansion_maps#on_ocean_explorer_maps to #on_ocean_monument_maps#on_jungle_explorer_maps to #on_jungle_pyramid_maps#on_swamp_explorer_maps to #on_swamp_hut_maps#on_trial_explorer_map to #on_buried_trial_chambers_map#axolotl_try_find_liquid - all fluids Axolotls are trying to find#dolphin_try_find_liquid - all fluids Dolphins are trying to find#frog_try_find_land_near_liquid - all fluids Frogs are trying to find land near to#entity_floatable - all fluids that make entities floatminecraft:red_poplar_leaves#minecraft:orange_poplar_leaves#minecraft:yellow_poplar_leaves#
textures/trim/color_palettes/ to textures/palettes/trim/textures/palettes/trim_base.pngminecraft:trims atlas with paletted_permutations, but rather generated on-demandpalette mcmeta section fieldbase_palette - the base Palette Texture ID to remap frompaletted_permutations as beforepaletted_permutations Sprite Source#palette_key and permutations fields have been replaced by Palette Texture IDs - i.e. <namespace>:<path> now resolves to <namespace>:textures/palettes/<path>.pngA new optional trim_overrides field can be used to swap out the texture or palette used with specific trim materials or patterns for a given equipment asset. This replaces functionality formerly supported by override_armor_assets in the trim material, as well as custom atlas overrides.
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)material or pattern must be specifiedtexture - optional trim pattern asset ID, a replacement texture to use if this entry matchesasset_idpalette - optional palette ID, a replacement palette to use if this entry matchestexture or palette must be definedblock/orange_poplar_leaves.pngblock/poplar_door_bottom.pngblock/poplar_door_top.pngblock/poplar_log.pngblock/poplar_log_top.pngblock/poplar_planks.pngblock/poplar_sapling.pngblock/poplar_shelf.pngblock/poplar_sign.pngblock/poplar_trapdoor.pngblock/red_poplar_leaves.pngblock/red_shrub.pngblock/shelf_mushroom_stage0.pngblock/shelf_mushroom_stage1.pngblock/straw_bed.pngblock/stripped_poplar_log.pngblock/stripped_poplar_log_top.pngblock/poplar_hanging_sign.pngblock/yellow_poplar_leaves.pngitem/abandoned_camp_map.pngitem/black_cushion.pngitem/blue_cushion.pngitem/brown_cushion.pngitem/buried_ancient_city_map.pngitem/buried_mineshaft_map.pngitem/buried_treasure_map.pngitem/buried_trial_chambers_map.pngitem/cyan_cushion.pngitem/desert_pyramid_map.pngitem/desert_village_map.pngitem/gray_cushion.pngitem/green_cushion.pngitem/jungle_pyramid_map.pngitem/light_blue_cushion.pngitem/light_gray_cushion.pngitem/lime_cushion.pngitem/magenta_cushion.pngitem/ocean_monument_map.pngitem/orange_cushion.pngitem/pink_cushion.pngitem/plains_village_map.pngitem/poplar_boat.pngitem/poplar_chest_boat.pngitem/poplar_door.pngitem/poplar_hanging_sign.pngitem/poplar_sign.pngitem/purple_cushion.pngitem/red_cushion.pngitem/savanna_village_map.pngitem/snowy_village_map.pngitem/swamp_hut_map.pngitem/taiga_village_map.pngitem/warm_ocean_ruins_map.pngitem/white_cushion.pngitem/woodland_mansion_map.pngitem/yellow_cushion.pngitem/filled_map_markings.pngitem/light.pnggui/hanging_signs/poplar.pnggui/signs/poplar.pnggui/realms/friends.pnggui/realms/minigames.pnggui/realms/private_server.pnggui/sprites/widget/realms_button.pnggui/sprites/widget/realms_button_disabled.pnggui/sprites/widget/realms_button_highlighted.pngentity/boat/poplar.pngentity/chest_boat/poplar.pngentity/cushion/black_cushion.pngentity/cushion/blue_cushion.pngentity/cushion/brown_cushion.pngentity/cushion/cyan_cushion.pngentity/cushion/gray_cushion.pngentity/cushion/green_cushion.pngentity/cushion/light_blue_cushion.pngentity/cushion/light_gray_cushion.pngentity/cushion/lime_cushion.pngentity/cushion/magenta_cushion.pngentity/cushion/orange_cushion.pngentity/cushion/pink_cushion.pngentity/cushion/purple_cushion.pngentity/cushion/red_cushion.pngentity/cushion/white_cushion.pngentity/cushion/yellow_cushion.pngabandoned_camp.pngancient_city.pngdesert_pyramid.pngmineshaft.pngwarm_ocean_ruins.pngplayer.pngplayer_off_limits.pngplayer_off_map.pngblock/destroy_oit_stage_0.pngblock/destroy_oit_stage_1.pngblock/destroy_oit_stage_2.pngblock/destroy_oit_stage_3.pngblock/destroy_oit_stage_4.pngblock/destroy_oit_stage_5.pngblock/destroy_oit_stage_6.pngblock/destroy_oit_stage_7.pngblock/destroy_oit_stage_8.pngblock/destroy_oit_stage_9.pngblock.shelf_mushroom.breakblock.shelf_mushroom.fallblock.shelf_mushroom.placeblock.shelf_mushroom.stepblock.shelf_mushroom.bounceblock.poplar_leaves.ambientblock.straw_bed.breakblock.straw_bed.break_leaveblock.straw_bed.stepblock.straw_bed.placeblock.straw_bed.hitblock.straw_bed.fallblock.poplar_leaves.breakblock.poplar_leaves.fallblock.poplar_leaves.placeblock.poplar_leaves.stepblock.poplar_leaves.hitblock.red_shrub.breakblock.red_shrub.placeentity.cushion.breakentity.cushion.placeentity.cushion.get_upentity.cushion.sitorange_poplar_1.pngorange_poplar_2.pngorange_poplar_3.pngorange_poplar_4.pngred_poplar_1.pngred_poplar_2.pngred_poplar_3.pngred_poplar_4.pngyellow_poplar_1.pngyellow_poplar_2.pngyellow_poplar_3.pngyellow_poplar_4.pngshelf_mushroom_particle.pngstraw_bed_particle.pngshade_direction_override to block model elementsdown, up, north, south, west, east)shade from block model elementsshade_direction_override: "up" to get the previous shade: false behaviorminecraft:map_colorminecraft:map_color component it read no longer existsterrain.vsh and terrain.fsh shaders are refactored to support multi-drawGlobals and DynamicTransforms are shuffled to use less memory for those uniform blocksDeveloper's Note: 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.
core/blit_depth.fshcore/oit_composite.fshcore/oit_depth_bounds_cull.fshinclude/oit.glslinclude/oit_add_transmittance.glslinclude/oit_common.glslinclude/oit_depth_bounds.glslinclude/oit_depth_sample.glslinclude/oit_sample.glslcore/terrain.fsh into include/texture_sampling.glslcore/rendertype_clouds.vsh → core/clouds.vshcore/rendertype_clouds.fsh → core/clouds.fshcore/rendertype_world_border.vsh → core/world_border.vshcore/rendertype_world_border.fsh → core/world_border.fshOIT - If present, indicates that OIT is enabledOIT_DEPTH_BOUNDS - If present, indicates that the depth bounds pass is being executedOIT_TRANSMITTANCE - If present, indicates that the transmittance pass is being executedOIT_ACCUMULATE - If present, indicates that the accumulate pass is being executedOIT_ALPHA_ONLY - If present, indicates that either the depth bounds or transmittance pass is being executedOIT_ADDITIVE - If present, indicates that the OIT algorithm should emulate additive blending for the executing pipelineOIT_WAVELET_RANK - An integer internal to the OIT algorithmOIT_COEFF_COUNT - An integer internal to the OIT algorithmOIT_COEFF_ATTACHMENT_COUNT - An integer internal to the OIT algorithmRENDERPEARL_DEPTH_IS_ZERO_TO_ONE - If present, indicates that the current rendering backend uses the depth range of [0, 1], it is available globally to all shaders independently of the OIT settingRENDERPEARL_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 valuecore/block.fshcore/block.vshcore/clouds.fshcore/clouds.vshcore/entity.fshcore/entity.vshcore/item.fshcore/item.vshcore/particle.fshcore/position_color.fshcore/rendertype_beacon_beam.fshcore/rendertype_clouds.fshcore/rendertype_crumbling.fshcore/rendertype_entity_shadow.fshcore/rendertype_lightning.fshcore/rendertype_lines.fshcore/rendertype_world_border.fshcore/terrain.fshcore/terrain.vshcore/text.fshcore/world_border.fshcore/world_border.vshpost_effect/transparency.jsonshaders/post/transparency.fshcore/integrate_depth.fsh was added and is used to integrate the "3d hud" and always-on-top gizmo depth buffers into the main depth buffercore/text_background.fsh and core/text_background.vsh were removed and text background in Text Display Entities is now rendered using the text shaders#include instead of #moj_importRENDERPEARL_INSTANCE_INDEX_INCLUDES_BASE_INSTANCE - A boolean indicating if gl_InstanceIndex follows Vulkan or OpenGL (gl_InstanceID) semanticsDeveloper's Note: Vertex inputs in previous versions using OpenGL were not allowed to specify a location. Compatibility can be preserved by only specifying locations when the "VULKAN" macro is defined.
Developer's Note: Vertex outputs and fragment inputs in previous versions were matched based on name alone. Compatibility can be preserved by continuing to use identical names.
minecraft:end_of_frame post effectposteffect commandposteffect command
/spreadplayers considers signs to be valid blocks to be spread ontoTeam NBT tag only exists for living entities/spreadplayers can spread entities on structure void/spreadplayers can spread players to seagrass near the surface of the water/give when affecting multiple players uses the wrong string/gamerule succeeds even when the value is not changedSilent NBT tag still doesn't make some entities fully silenttag with expand set to true do not apply loot functions to the itemsitems/light.png never appears in-game; is pointlessly referenced by other game assetsBlock-attached entity at invalid position: [BlockPosition]entity_scores predicate type cannot check all possible scores/schedule clear requires a namespace in its function argumenttab_inventory.pngsee_through enabled/random when the specified range is too large states an incorrect maximum for the rangecache_once density functions don't work/fillbiome doesn't fail when no changes are made#convertable_to_mud block tag misspells "convertible" as "convertable"selectWorld.load_folder_access string is missing an article before the word "folder"entity.happy_ghast.riding sound event displays no closed captionsee_through enabled/recipe and do not respect the limited_crafting game rule/test locate always fails/give succeeds when trying to give more than 100 stacks of an item despite the failure message and no items being givenapply_impulse entity effect does not apply components of the impulse that would cause the affected entity to hit a solid block when used with a tick or location_changed advancement triggerapply_impulse enchantment entity effect will limit the impulse's effect on the X and Z axes to only apply on one of the two horizontal axesInhabitedTime NBT tag for some chunks can be set to impossibly high values when a world is opened/time reports success when no changes are madeStd140Builder incorrectly pads vec3s and ivec3sActiveProfiler: "aprox"SoundEngine: "disapeared"GameRenderer: "coudln't"fillModeNonSolid Vulkan feature/tag reports that it affected more entities than it did/scoreboard players enable reports that it affected more players than it did/recipe reports that it affected more players than it did/enchant reports that it affected more entities than it did/effect reports that it affected more entities than it did/clear reports that it affected more players than it didkilled_by:sulfur_cube statistic/unpublish succeeds when the game is not published despite the failure message/defaultgamemode changes everyone's game mode to the one set in "Settings for Other Players" in LAN worldschat_restriction.disabled_by_profile.action string is improperly capitalizedend_cube special model type do not show a glowing outline where expectedchat_restriction.disabled_by_launcher string lacks a period, unlike similar stringsgamerule.minecraft.fire_spread_radius_around_player.description string lacks a period, unlike similar stringsgui.report_to_server string is improperly capitalizededitGamerule.inGame.discardChanges.title string is improperly capitalizedstructure_block.position.x string is improperly capitalizedsubtitles.block.bubble_column.upwards_inside stringsubtitles.entity.copper_golem.no_item_get string is missing an article before the word "item"commands.worldborder.set.grow string are always pluralizedcommands.op.failed string has awkward and inconsistent adverb placement, unlike similar stringscommands.kick.owner.failed string is missing articles before the words "server" and "LAN"/stopwatch strings incorrectly capitalize the word "Stopwatch" mid-sentence, which is inconsistent with other commandscommands.perf.started string is missing a hyphen between the words "10" and "second" and an article before the word "10"mco.errorMessage.6002 string is improperly capitalizedmco.configure.world.close.question.line1 string is improperly capitalizedmco.snapshot.subscription.info string uses the "to" preposition instead of "with"advMode.trackOutput string is improperly capitalizedgamerule.minecraft.entity_drops.description string is improperly capitalizedargument.enum.invalid string surrounds the placeholder with double quotes instead of single quotes, unlike every other commandmount.onboard string is improperly capitalizedselectWorld.edit.backupSize string is improperly capitalizedgui.friends.error.unauthorized string lacks a period, unlike similar stringsmultiplayer.confirm_command.signature_required string lacks a periodargument.pos.outofbounds string ends with a period, unlike similar stringsquickplay.error.invalid_identifier string is missing an article before the word "world"datapackFailure.safeMode.failed.title string ends with a period, unlike similar title stringscommands.bossbar.set.max.unchanged string abbreviates "maximum" to "max", unlike similar stringsoptions.languageWarning string lacks a period, unlike similar stringscommands.bossbar.get.visible.visible string uses "shown" instead of "visible", unlike similar strings/tag list success strings always pluralize the word "tags"pack_format field in pack.mcmetasavanna_lamp_post_01 village structure contains a trailing closing square bracket in the jigsaw block's NBTgeneric loot context type