Changelog is currently in beta, some versions are missing.
View changelog
Minecraft Snapshot 24w12a
A Minecraft Java SnapshotHere's snapshot 24w12a with new advancements and several tweaks.
Happy Mining!
Experimental Features
Trial Chambers
Trial Chambers now generate slightly more rarely and a bit more spaced out from each other
Trial Chambers Explorer Map
- Struggle no more to locate a Trial Chamber - level up your nearest Cartographer to Journeyman for the opportunity to trade for an Explorer Map pointing to a nearby Trial Chamber
Heavy Core
- Can now be waterlogged
- Survives lava flows
- Most efficient tool is now the pickaxe
- Adjusted destroy time and explosion resistance
Advancements
- Added the following advancements:
Minecraft: Trial(s) Edition
- Step foot in a Trial ChamberUnder Lock & Key
- Unlock a Vault using a Trial Key[Challenge - 40 exp] Blowback
- Kill a Breeze with a deflected Wind ChargeWho Needs Rockets?
- Use a Wind Charge to launch yourself upward at least 8 blocksCrafters Crafting Crafters
- Be near a Crafter when it crafts a CrafterLighten Up
- Scrape a Copper Bulb with an Axe to make it brighterOver-Overkill
- Deal 50 hearts of damage in a single hit using the Mace
Technical Changes
- The Data Pack version is now 36
- The Resource Pack version is now 30
-
- Particle
entity_effect
takes color argument when spawned from command /particle entity_effect <r> <g> <b> <a>
- 4 float values ranging from 0.0 to 1.0 representing RGBA
- Particle
Data Pack Version 36
- Added a
crafter_recipe_crafted
trigger which is triggered when a Crafter ejects a successfully crafted item into the world.<player>
an entity predicate matching the player who is nearby<recipe_id>
is the ID of the recipe being crafted<ingredients>
is a list of item predicates matching the ingredients that form the recipe being crafted
- Added a
fall_after_explosion
trigger which is triggered when a player begins falling after being knocked upwards by an explosion or wind burst<player>
an entity predicate matching the player who is falling<start_position>
a location predicate matching the position the player was at when they were hit by the explosion or burst<distance>
a distance predicate matching how far the player must be fromstart_position
to cause the trigger to activate<cause>
an entity predicate matching the entity which caused the explosion or burst to happen
- Added
storage
loot number provider to access values from command storage - New Entity Type Tag:
sensitive_to_smite
- for Entity Types that take extra damage from the Smite Enchantment - Expanded item predicate syntax used in
execute if|unless items
andclear
commands - Removed redundant custom data section (
{...}
) from item arguments (it's fully replaced by[custom_data={...}]
)- To make this transition easier,
custom_data
item sub-predicate has been changed to allow unquoted SNBT
- To make this transition easier,
- Added
wolf
entity sub-predicate for matching wolf variants wolf
,cat
,frog
andpainting
entity sub-predicates now accept tags and plain lists instead of just single elements- Changed texture asset paths in
wolf_variant
to better match other formats - Command arguments that previously accepted namespaced ids of loot tables, modifiers and predicates can now also accept inline definitions
- Added new item stack components
- Added new loot functions
wolf_variant
definitions
- Field
texture
has been renamed towild_texture
wild_texture
,tame_texture
andangry_texture
no longer require values to be prefixed withtextures/
and suffixed with.png
Commands
Inline loot values
Arguments in following commands that previously accepted namespaced ids of loot tables, modifiers and predicates can now also accept inline definitions:
loot
item
execute if predicate
Values have same structure as matching JSON files, though they are encoded as SNBT. Example:execute if predicate {condition:weather_check, raining:true}
Loot tables
storage
number provider
- This number provider is able to access numeric values from command storage directly
- If selected storage does not exist or tag selected by path is not numeric or does not exist, provider returns 0
- Fields:
storage
- namespaced id of command storagepath
- NBT path to field
set_lore
function
- The
replace
field has been removed - Now has
mode
likeset_fireworks
andset_written_book_pages
set_written_book_pages
function
pages
is now a JSON Object rather than a string containing JSON
toggle_tooltips
loot function
- This function can be used to modify item component tooltip visiblity
- It works by setting fields like
show_in_tooltip
without changing other values - Format:
toggles
- a map of supported item component type to boolean value
- Supported components:
trim
,dyed_color
,enchantments
,stored_enchantments
,unbreakable
,can_break
,can_place_on
,attribute_modifiers
- Example:
{function:"toggle_tooltips","toggles":{"enchantments":false}}
will hide enchantments tooltip
Functions
- Nested lists are no longer supported in function lists
Item predicate argument
The item predicate syntax (used in execute if|unless items
and clear
commands) has been significantly expanded.
- The general syntax is:
<type> [comma-separated list of <test>]
<type>
can be one of:- item id
- item tag id prefixed with
#
*
to match any item
<test>
can have one of 3 forms:<component_id>=<value>
- match exact value of component (same as in previous format)<value>
is a representation of component value in SNBT format (same as initem give
argument)
<component_id>
- check if component exists<predicate_id>~<value>
- check item sub-predicate<value>
is a representation of item sub-predicate in SNBT format (but otherwise same as one used for advancement and loot table JSON files)- Example:
*[damage~{durability:{min:3}}]
will match any stack with at least 3 uses left
- The special name
minecraft:count
can be used for matching the stack sizecount=<positive int>
will pass only when the stack size equals the given valuecount~<int range>
will pass when the stack size is in the specified range- Example:
*[count~{max:2}]
will match any stack with count <= 2
- Example:
count
will always pass
- Any
<test>
entry can be negated by prefixing with!
- Example:
*[!count=1]
will match any stack that has count other than 1
- Example:
<test>
elements can be also joined with|
to check multiple alternatives- Example:
*[!damage|damage=0]
will look for items without damage component or with0
damage
- Example:
- The syntax for custom data partial matching (
{}
) has been removed in favor of usingcustom_data
predicates- So
stick{a:2}
becomesstick[custom_data~{a:2}]
- So
Predicates
Item sub-predicates
- Predicate
minecraft:custom_data
now accepts both SNBT data written as a string (existing format) and unflattened tags- That means that
*[custom_data~{a:1}]
and*[custom_data~"{a:1}"]
are equivalent - Flattened string format has been kept since NBT type information can't be expressed in JSON
- That means that
Entity sub-predicates
wolf
New wolf
sub-predicate has been added to match wolf variants Fields:
variant
- wolf variant to match (single entry, list of entries or tag)
cat
, frog
, painting
- Field
variant
now accepts single entries, list of entries or tags
New Item Stack Components
minecraft:food
- When present, this item will behave as if a food (can be eaten)
- Format: object with fields
nutrition
: non-negative integer, number of food points to restore when eatensaturation_modifier
: float, amount of saturation to restore when eatenis_meat
: boolean (default:false
)- If
true
, can be fed to Wolves
- If
can_always_eat
: boolean (default:false
)- If
true
, this food can be eaten even if not hungry
- If
eat_seconds
: float (default:1.6
)- The number of seconds that it takes to eat this food item
effects
: list of effects to apply when eaten (default:[]
)effect
: effect instance (same format ascustom_effects
inminecraft:potion_contents
component)probability
: float between 0 and 1, chance for the effect to be applied (default:1
)
- e.g:
food={nutrition:4,saturation_modifier:0.1}
- On food items, has an implicit default value for that food type
minecraft:max_stack_size
- Controls the maximum stacking size of this item
- Format: integer between 1 and 99
- e.g.
max_stack_size=4
- e.g.
- Has an implicit default value according to the item type (usually
64
)
minecraft:max_damage
- Controls the maximum amount of damage than an item can take
- If not present, the item cannot be damaged
- Format: positive integer
- e.g.
max_damage=123
- e.g.
- Has an implicit default value for damageable items
minecraft:fire_resistant
- If present, this item will not burn in fire
- Format: empty object
- e.g.
fire_resistant={}
- e.g.
- Has an implicit default value for fire-resistant items such as Netherite
minecraft:rarity
- Controls the color of the item name
- Format: enumerated value, one of:
common
(default): white name, or aqua when enchanteduncommon
: yellow name, or aqua when enchantedrare
: aqua name, or light purple when enchantedepic
: light purple name- e.g.
rarity=rare
- Special items such as Golden Apples have an implicit default value
minecraft:tool
- Controls the behavior of the item as a tool
- Format: object with fields
rules
: list of rule entriesblocks
: single block, list of blocks, or#
-prefixed block tag to matchspeed
(optional): float, overrides the mining speed if present and matchedcorrect_for_drops
(optional): boolean, overrides whether this tool is considered 'correct' if present and matchedtrue
will cause the block to mine at its most efficient speed, and drop items if the targeted block requires that
default_mining_speed
: float, mining speed to use if no rules match and override mining speed (default:1.0
)damage_per_block
: non-negative int, amount of durability to remove each time a block is mined with this tool- e.g.
tool={rules:[{blocks:"#mineable/pickaxe",speed:4.0,correct_for_drops:true}]}
- Vanilla tool items will have an implicit default value based on their tier and tool type
hide_tooltip
- If present, it will completely hide whole item tooltip (that includes item name)
- Tooltip will be still visible and searchable in creative mode
- Format: empty object
New Tags
- Added
incorrect_for_wooden_tool
,incorrect_for_gold_tool
,incorrect_for_stone_tool
,incorrect_for_iron_tool
,incorrect_for_diamond_tool
,incorrect_for_netherite_tool
block tags- These tags combine the existing
needs_diamond_tool
,needs_iron_tool
, andneeds_stone_tool
tags for each specific tool tier
- These tags combine the existing
- Added
meat
collection item tag- This is not used by the game directly, but may be included by other tags
- Added
piglin_food
,fox_food
,cow_food
,goat_food
,sheep_food
,wolf_food
,cat_food
,horse_food
,horse_tempt_items
,camel_food
,armadillo_food
,bee_food
,chicken_food
,frog_food
,hoglin_food
,llama_food
,llama_tempt_items
,ocelot_food
,panda_food
,pig_food
,rabbit_food
,strider_food
,strider_tempt_items
,turtle_food
,parrot_food
,parrot_poisonous_food
item tags to control which items can be fed to or tempt the corresponding mobs axolotl_tempt_items
has been renamed toaxolotl_food
Resource Pack Version 30
- Map decoration icons have been split from the former
map_icons.png
to use an atlas loaded from thetextures/map/decorations/
directory - The process of upgrading your pack can be assisted by using this automated Slicer tool
- Added
trial_chambers
map decoration icon
Fixed bugs in 24w12a
- MC-266467 Wind charges stutter when flying through the air
- MC-267747 Click and hover events don't work when viewing chat while F1 is enabled
- MC-267933 Silk Touch and Fortune enchanted books cannot be found in Creative inventory
- MC-267943 Anvil exclusive enchantments can be obtained from enchanting tables
- MC-268068 Pieces of text in the "Reset World" realm menu can intersect when using some resolutions
- MC-268171 Some GUI textures can no longer be transparent in Minecraft
- MC-268311 Bane of arthropods enchantment uses #arthropods tag instead of #sensitive_to_bane_of_arthropods
- MC-268312 Impaling enchantment uses #aquatic tag instead of #sensitive_to_impaling
- MC-268343 Breeze charge has laggy unnatural flightpaths when punched
- MC-268510 Items with "Unbreakable:1b" NBT can no longer have the unbreaking enchant applied
- MC-268556 Wind charges go through non-full blocks instead of colliding
- MC-269083 Effect background texture in inventory renders translucent pixels as opaque
- MC-269085 Experience bar and jump bar render translucent pixels as opaque
- MC-269169 Wolf variant not present in advancement criteria
- MC-269268 components don't work on the smithing table
- MC-269280 The right side of incompatible resource or data packs isn't rendered correctly when the scroll bar is present
- MC-269299 The red text within the "Experiments" menu cannot be narrated or selected
- MC-269336 Crash with set_enchantments item modifier above level 255
- MC-269354 The subtitle for the "minecraft:item.mace.smash_air" sound event displays as a raw translation string
- MC-269355 Heavy Core has no required tool
- MC-269356 Heavy Core cannot be oriented despite its blockstates suggesting otherwise
- MC-269361 Weird Wind Charge behavior when deflecting
- MC-269373 /datapack disable doesn't work
- MC-269393 Game crashes when wind charge hits entity
- MC-269401 The minecraft:set_written_book_pages item modifier is inconsistent with minecraft:set_name and minecraft:set_lore
- MC-269409 Unable to execute /particle entity_effect
- MC-269419 Heavy Core cannot be waterlogged
- MC-269422 Carpet on powder snow no longer negates fall damage
- MC-269452 Crash when using item modifier with replace_section mode and very large size field
- MC-269457 Crash with set_lore item modifier setting more than 256 lores
- MC-269513 Maces can break cobwebs