Woah, another snapshot day of the Wednesday variant! Today we are releasing 24w10a, featuring new Wolf Variants, some new Data Pack features, and lots of bug fixes.
Happy mining!
New Features
Added variants of Wolves
Wolf variants
New Wolf variants have been added
The variant is determined by the biome they spawn in
Pale Wolf - The familiar Wolf variant that now spawns in the Taiga biome, with a default pack size of 4
Woods Wolf - A variant that spawns in the Forest biome. This will be the dominant Wolf variant that you will be able to find in the Overworld, since the Forest biome is very common
Ashen Wolf - A variant that spawns in the Snowy Taiga biome
Black Wolf - A variant that spawns in the Old Growth Pine Taiga biome, in smaller packs of 2 to 4
Chestnut Wolf - A variant that spawns in the Old Growth Spruce Taiga biome, in smaller packs of 2 to 4
Rusty Wolf - A variant that spawns in a new location for wolves - the Sparse Jungle biome, in smaller packs of 2 to 4
Spotted Wolf - A variant that spawns in a new location for wolves - the Savanna Plateau biome, in larger packs of 4 to 8
Striped Wolf - A variant that spawns in a new location for wolves, the Wooded Badlands biome, in larger packs of 4 to 8
Snowy Wolf - A variant that spawns in the Grove biome. A rare type, that always walks alone
Adjusted spawning conditions for Wolves, allowing them to spawn on Coarse Dirt and Podzol blocks
Changes
Adjusted passive mobs spawning in Grove biome to only include Rabbits, Foxes and Wolves
Button tooltips will no longer appear when hovering outside the containing element
Technical Changes
The Data Pack version is now 34
Data Pack Version 34
Recipe results can now specify component data
Added new entity predicate field slots, for matching item slots
Added slot names for ranges, like container.*
Added execute if|unless items to check and count items
Banner Patterns are now data-driven
Changes to Item Stack Component formats
Player Head blocks now store a custom_name tag, which will be copied to and from the item form when broken or placed
The SkullOwner and ExtraType fields in Player Head blocks have been replaced with a profile field, with the same format as the item component
For now, the count field on Item Stacks is always stored again, even if 1
If the field is missing in data, will still fall back to 1
Recipes
Recipe types crafting_shaped, crafting_shapeless, stonecutting and smithing_transform now accept components for the result item stack
The result field for recipe types smelting, blasting, smoking and campfire_cooking is now an item stack format without a count, which means you'll need to specify an object with an id field
This result now also accepts components data
Predicates
slots entity sub-predicate
New entity field slots allows to check single or multiple slots on any entity
The field contains a map of slot names (same as ones used in item commands) to item predicate
For slot ranges, only one slot needs to match for whole entry to pass
Note: this includes only player's inventory crafting slots. Crafting table (or any other slots on other screens) are not included
execute if|unless items
execute if|unless items <source> <slots> <item_predicate> command can be used to count items
<source> is the same as one used in item command, i.e.
block <x> <y> <z>
entity <target> (selector can return multiple entities)
<slots> can accept single slot (like container.0) or a range (like container.*)
<item_predicate> is the same as item predicate in clear command
If used alone, it will return total number of items in stacks that match predicates
Banner Patterns
Banner Patterns will now be loaded into a dynamic registry from data packs (data/<namespace>/banner_pattern/<id>)
These entries have two fields:
asset_id (namespaced string) is used to resolve texture locations
e.g. custom:pattern resolves to assets/custom/textures/entity/banner/pattern.png, assets/custom/textures/entity/shield/pattern.png
translation_key (string) is a translation key prefix
e.g. block.minecraft.banner.custom.pattern resolves to block.minecraft.banner.custom.pattern.<dye color>
Item Stack Components
The minecraft:profile component no longer requires the name field to be present
Some additional Item Stack Components now support alternative, simple definitions:
minecraft:profile can be defined as string player name (e.g. profile="jeb_")
minecraft:dyed_color can be defined as an integer rgb color (e.g. dyed_color=16711680)
minecraft:attribute_modifiers can be defined as a direct list of modifiers (e.g. attribute_modifiers=[{type:'generic.scale',uuid:[1,2,3,4],name:'Big!',amount:1.0,operation:'add_multiplied_base'}])
minecraft:potion_contents can be defined as a single potion id (e.g. potion_contents="invisibility")
minecraft:enchantments and minecraft:stored_enchantments can be defined as an inline map of enchantment id to level (e.g. enchantments={sharpness:1})
These are only an alternative for defining the values, they will always be stored in their full formats
All container blocks now use the minecraft:container component when in item form, not just Shulker Boxes
The minecraft:lodestone_target component has been renamed to minecraft:lodestone_tracker
The pos and dimension fields have been moved into a target object
The target field is optional, and if not present, the compass will spin
The maximum number of lore and fireworks entries has been raised to 256
Fixed bugs in 24w10a
MC-140397 When combining two enchanted unbreakable items, the result will be two stacked items
MC-157133 Enchanted books with curses can be stacked using a grindstone
MC-174496 Player heads lose their name after being placed
MC-217084 Player head NBT "ExtraType" is no longer saved but doesn't use DataFixerUpper upgrade path
MC-268392 Setting gravity attribute to 0.0 kicks player for flying
MC-268462 Saturation suspicious stew now grants 7 seconds of effect instead of 7 ticks
MC-268800 All tools have 4 attack damage, and 1.6 attack speed
MC-268801 Shulker boxes in saved hotbars inconsistently update to item components
MC-268813 Crash when spawning item with can_break/can_place_on component containing unknown/invalid tag
MC-268824 Disenchanted books from grindstone don't stack with books that were in the inventory
MC-268830 Effect Particles appear when specifying no particles using /effect command
MC-268853 Unable to load paintings for any variants
MC-268856 Loading shulker box/bundle with a single 'invalid' item in it renders the whole component invalid
MC-268864 An item modifier with a duplicate item stack component prevents the entire data pack from (re)loading, rather than ignoring that one specific item modifier
MC-268877 Beehives/bee nests in inventory lose honey level after converting to 24w09a
MC-268879 Having a high damage value breaks and crashes the game
MC-268897 Cannot select entities who have any itemstack with the count being 1.