Hi everyone! In the most exciting Minecraft-related news of the day, we have a new movi- I mean snapshot coming your way! This week we are adding support for custom equipment with Data Packs and Resource Packs. We have also tweaked the Bundle so that you can empty a group of items when it's used in the hotbar. And as usual, we have included a bunch of bug fixes!
Happy mining!
Known Issues
Ender Pearls will not teleport you to the right location
Experimental Features
Bundles
When a Bundle is used in the hotbar, one group of items is emptied at a time instead of everything being emptied at once
Changes
Squid Spawn Eggs now only spawn adult Squids
There is a 5% chance of Squids spawned in groups in the wild to be a baby
When a mob converts from one type to another (ex: Piglin to Zombified Piglin), the health of the converted mob is set to the same percentage of max health as the original mob had before conversion
Technical Changes
The Data Pack version is now 52
Resource Pack version is now 37
Data Pack Version 52
Tags
Block Tags
bats_spawnable_on: Blocks that bats can spawn on
Item Tags
Added new tags to control which items can be used to repair various armor sets:
repairs_leather_armor
repairs_iron_armor
repairs_chain_armor
repairs_gold_armor
repairs_diamond_armor
repairs_netherite_armor
repairs_turtle_helmet
repairs_wolf_armor
piglin_safe_armor: Items that, when worn by a player, will cause Piglins to not get angry
Changed Item Components
minecraft:item_name
This component is now always present on every item
New Item Components
minecraft:item_model
Controls item model
Present on every item
Format: namespaced id
namespace:id will reference model /assets/<namespace>/models/item/<id>
minecraft:equippable
If present, this item can be equipped by players in the selected slot
When right-clicking with an item with this component, it will be swapped into the appropriate slot
Format: object with fields
slot: one of head, chest, legs, feet, body, mainhand, or offhand
equip_sound (optional): Sound event to play when the item is equipped
If not specified, the default armor equip sound will be played
model (optional): namespaced ID of the equipment model to use when equipped
These model definitions are loaded from Resource Packs
If not specified, will fall back to rendering as the item itself when in the head slot (or no rendering if not applicable)
allowed_entities (optional): Entity ID, Entity Tag, or list of Entity IDs to limit which entities can equip this item
If not specified, any entity (that can wear this kind of equipment) is allowed to equip this item
dispensable: boolean (default: true), whether the item can be equipped by using a Dispenser
If the item type has special dispenser behavior, this will have no effect
e.g. equippable={slot:'chest',equip_sound:'item.armor.equip_chain'}
minecraft:glider
If present, this item will allow players to glide (as with Elytra) when equipped
Format: empty object
e.g. glider={}
minecraft:tooltip_style
If present, this item can use custom sprites for its tooltip background and frame
Format: namespaced ID for a tooltip style
A tooltip style of namespace:path will use sprites with IDs:
<namespace>:tooltip/<path>_background and <namespace>:tooltip/<path>_frame
e.g. tooltip_style='minecraft:special_sword'
Predicates
Added a new field in the Player sub-predicate, input, that can be used to detect which movement keys the player is pressing
If specified the predicate matches with the corresponding keybind that the player is pressing; it supports detecting the following input:
forward : boolean (optional)
backward : boolean (optional)
left : boolean (optional)
right : boolean (optional)
jump : boolean (optional)
sneak : boolean (optional)
sprint : boolean (optional)
Resource Pack Version 37
Introduced equipment models
Textures for entity equipment have been moved and renamed
The tooltip background and frame may now be customized by replacing sprites:
tooltip/background: The background of the tooltip
tooltip/frame: The frame appearing around the tooltip
Items with a custom tooltip_style component will use sprites with IDs:
<namespace>:tooltip/<path>_background and <namespace>:tooltip/<path>_frame
The nine_slice GUI sprite scaling mode has a new optional boolean property: stretch_inner
If true, the inner parts of the texture (i.e. not the corners) will be stretched instead of tiled
If not specified, defaults to false as before
Item Models
All item models can now use the broken property in model overrides that was previously limited to just Elytra
This will have a value of 1 if the item has 1 durability left, or 0 otherwise
Custom Equipment Models
The appearance of equipment when equipped by players or certain mobs can now be customized by defining 'equipment models' in the Resource Pack.
Equipment model definitions are loaded from assets/<namespace>/models/equipment/<path>.json
These can then be referenced by the equippable component with a model id of namespace:path
The model definition is an object with fields: wolf_body, horse_body, llama_body, humanoid, humanoid_leggings, wings
All fields are optional, and can be used to specify a list of layers for the given model layer type
Each field contains list of layer objects:
texture: namespaced texture location for this layer
namespace:path will resolve to assets/<namespace>/textures/entity/equipment/<layer_type>/<path>.png
dyeable: object with fields (optional), specifying how this layer behaves when dyed (in the dyeable item tag, and has dyed_color component)
color_when_undyed: rgb color int (optional)
If specified, this layer will be tinted by the color contained in the dyed_color component
If the item is not dyeable or not dyed, it will be tinted based on the color specified by color_when_undyed
If color_when_undyed is not specified and the item is not dyed, the layer will be hidden
use_player_texture: boolean (default: false), true if this layer texture should be overridden by a texture given by the player
Only used for wings layers, which will override with the player's custom Elytra texture
A model definition specifying both player and horse armor layers might look like:
All equippable items with an equipment model defined support rendering trims, based on the trim component
Trim textures will be loaded from the appropriate folder in the textures/trims/entity directory
For example, armor with wolf_body layers will fetch trims from textures/trims/entity/wolf_body
Moved Textures
All equipment-related textures have been moved to subfolders of the textures/entity/equipment directory
Player armor textures have been moved to textures/entity/equipment/humanoid and textures/entity/equipment/humanoid_leggings
<material>_layer_1 textures have been renamed to <material>, and moved into the humanoid subdirectory
<material>_layer_2 textures have been renamed to <material>, and moved into the humanoid_leggings subdirectory
leather_layer_1_overlay and leather_layer_2_overlay textures have been renamed to leather_overlay in their respective subdirectories
wolf_armor and wolf_armor_overlay textures have moved to textures/entity/equipment/wolf_body/ and have been renamed to armadillo_scute and armadillo_scute_overlay respectively
turtle_layer_1 has been renamed to turtle_scute
Llama decor textures have been moved to textures/entity/equipment/llama_body
Horse armor textures have been moved to textures/entity/equipment/horse_body
The Elytra texture has been moved to textures/entity/equipment/wings/elytra
Armor trim textures have also been moved to match the folder structure of the regular equipment textures
Textures in textures/trims/models/armor have been divided between textures/trims/entity/humanoid and textures/trims/entity/humanoid_leggings
For leggings textures, the _leggings suffix is dropped
Fixed bugs in 24w36a
MC-16829 The horse armor model does not show the enchantment glint effect
MC-38022 Order of rendering translucent block faces fails to update with camera position
MC-88967 Most NBT tags are not kept when a mob converts to another mob
MC-92875 Collisionless blocks ignore entities with high velocity
MC-135898 Teams are not retained when a mob converts to another mob
MC-196556 When projectiles (such as arrows and tridents) move too fast, they can't be teleported by portals and end gateways
MC-196964 Fall damage is reset when an entity converts to another entity
MC-230317 Lead disappears when mooshroom cow is sheared