Minecraft Snapshot 24w12a
Release: one year ago
Here'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_effecttakes 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_craftedtrigger 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_explosiontrigger 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_positionto cause the trigger to activate<cause>an entity predicate matching the entity which caused the explosion or burst to happen
- Added
storageloot 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 itemsandclearcommands - Removed redundant custom data section (
{...}) from item arguments (it's fully replaced by[custom_data={...}])- To make this transition easier,
custom_dataitem sub-predicate has been changed to allow unquoted SNBT
- To make this transition easier,
- Added
wolfentity sub-predicate for matching wolf variants wolf,cat,frogandpaintingentity sub-predicates now accept tags and plain lists instead of just single elements- Changed texture asset paths in
wolf_variantto 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
texturehas been renamed towild_texture wild_texture,tame_textureandangry_textureno 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:
lootitemexecute if predicateValues 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
replacefield has been removed - Now has
modelikeset_fireworksandset_written_book_pages
set_written_book_pages function
pagesis 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_tooltipwithout 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 giveargument)
<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:countcan 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:
countwill 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 with0damage
- Example:
- The syntax for custom data partial matching (
{}) has been removed in favor of usingcustom_datapredicates- So
stick{a:2}becomesstick[custom_data~{a:2}]
- So
Predicates
Item sub-predicates
- Predicate
minecraft:custom_datanow 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
variantnow 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_effectsinminecraft:potion_contentscomponent)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 matchedtruewill 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_toolblock tags- These tags combine the existing
needs_diamond_tool,needs_iron_tool, andneeds_stone_tooltags for each specific tool tier
- These tags combine the existing
- Added
meatcollection 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_fooditem tags to control which items can be fed to or tempt the corresponding mobs axolotl_tempt_itemshas been renamed toaxolotl_food
Resource Pack Version 30
- Map decoration icons have been split from the former
map_icons.pngto 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_chambersmap 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