This document provides a comprehensive list of Minecraft data components that we'll implement in our Rust project. Data components are structured data used to define and store various properties for items, entities, and block entities.
attribute_modifiers
- Applies attribute modifiers onto itemsbanner_patterns
- Applies banner patterns onto banners or shieldsbase_color
- Defines the base (dye) color of a banner applied to a shieldbees
- Specifies the amount of bees and their time in the hiveblock_entity_data
- Defines the block entity NBT data applied to the block after it's placedblock_state
- Specifies block state properties applied to the block after it's placedblocks_attacks
- Makes the item act like a shield, meaning it can block attacks when heldbreak_sound
- Changes the sound that plays when the item breaksbucket_entity_data
- Specifies the entity NBT applied to an entity when placed down from a bucketbundle_contents
- Defines the items and their data stored inside a bundlecan_break
- When present, the player holding the item can break the specified blocks in adventure modecan_place_on
- When present, the player holding the item can place the held block item on any sides of the specified blocks in adventure modecharged_projectiles
- Defines the items and projectiles loaded into this crossbowconsumable
- If present, the item can be consumedcontainer
- Defines the items stored in a container itemcontainer_loot
- Defines the loot table present in a container itemcustom_data
- Store custom data on the itemcustom_model_data
- Specifies the custom model datacustom_name
- Used to specify the item's custom name
damage
- Specifies the amount of durability lost (not remaining) from the itemdamage_resistant
- Items with this component, when thrown on the ground, are resistant to the damage types includeddebug_stick_state
- Used by the debug stick item to store the selected block state propertiesdeath_protection
- If present, this item acts like a totem of undyingdyed_color
- Defines the color of this leather armor pieceenchantable
- Defines whether the item can be enchanted in an enchanting tableenchantment_glint_override
- Overrides the enchantment glint effect on this itemenchantments
- Specifies the enchantments on this itementity_data
- Specifies the NBT data of an entity that is spawned/created from this itemequippable
- Specifies that an item can be equipped in the specified slotfirework_explosion
- The firework explosion effect stored inside of this firework starfireworks
- The firework explosion effects stored inside of this firework rocketfood
- The food stats for this consumable item
glider
- If present, this item allows players to glide when equippedinstrument
- Specifies the instrument of a goat hornintangible_projectile
- If set, this projectile item can't be picked up by a player when fireditem_model
- Defines the item model of this itemitem_name
- The default name of this item, as a text componentjukebox_playable
- Specifies a jukebox song to play when inserted into a jukeboxlock
- Locks a container to a certain "key"lodestone_tracker
- Stores information about the lodestone this compass should point towardlore
- Specifies the item's lore - that being the description of an itemmap_color
- Defines the color of the markings on the item of this mapmap_decorations
- Contains the icons that are displayed on this filled mapmap_id
- The id of the map to showmax_damage
- The maximum amount of damage that this item can takemax_stack_size
- The maximum number of items that can fit in a stack
note_block_sound
- The ID of the sound event played by a note block when this player head is placed aboveominous_bottle_amplifier
- The amplifier amount of the Bad Omen effect on this ominous bottlepot_decorations
- Defines the sherds applied on a decorated potpotion_contents
- The potion and custom effects contained in this potionpotion_duration_scale
- The duration of the applied effects is scaled by this factorprofile
- Information about the owner of this player headprovides_banner_patterns
- When present, this item can be placed in the pattern slot of a loomprovides_trim_material
- When present, this item provides the specified trim material when used in a trimming reciperarity
- Defines the rarity of the itemrecipes
- The recipes that a player unlocks when this knowledge book is usedrepairable
- Allows the item to be repaired, if damageable, in an anvil using the specified ingredientrepair_cost
- The number of experience levels to add to the base level cost
stored_enchantments
- Defines the stored enchantments on this itemsuspicious_stew_effects
- The effects applied when consuming this suspicious stewtool
- If set, this item is considered as a tooltooltip_display
- Hides any tooltips provided by the specified components on this itemtooltip_style
- Changes the item's tooltip styletrim
- Stores the trims applied on this piece of armorunbreakable
- If set, this item doesn't lose durability when useduse_cooldown
- If present, this item applies a cooldown to all items of the same type when it has been useduse_remainder
- If present, replaces the item with a remainder item if its stack count has decreased after useweapon
- If present, the item acts as a weaponwritable_book_content
- Defines the content written in this book and quillwritten_book_content
- Defines the content and metadata in this written book
Entity variant components modify properties of entities stored within items like spawn eggs, mob buckets, etc.
axolotl/variant
- The variant of the axolotlcat/collar
- The color of the collar of the catcat/variant
- The variant of the catchicken/variant
- The variant of the chickencow/variant
- The variant of the cowfox/variant
- The variant of the foxfrog/variant
- The variant of the froghorse/variant
- The variant of the horsellama/variant
- The variant of the llamamooshroom/variant
- The variant of the mooshroompainting/variant
- The variant of the paintingparrot/variant
- The variant of the parrotpig/variant
- The variant of the pigrabbit/variant
- The variant of the rabbitsalmon/size
- The size of the salmonsheep/color
- The color of the wool of the sheepshulker/color
- The color the shulkertropical_fish/base_color
- The base color of the tropical fishtropical_fish/pattern
- The pattern of the tropical fishtropical_fish/pattern_color
- The pattern color of the tropical fishvillager/variant
- The variant of the villagerwolf/collar
- The color of the collar of the wolfwolf/sound_variant
- The sound variant of the wolfwolf/variant
- The variant of the wolf
These components are used by the game internally, but are not encoded on items. They cannot be used in commands or seen with /data
.
creative_slot_lock
- Used internally to lock the informational paper items in the creative inventorymap_post_processing
- Used internally when a filled map has been duplicated or locked
When implementing these components in our Rust project, we'll need to consider:
- Data structures - Create appropriate Rust structs for each component
- Serialization/Deserialization - Handle conversion between in-memory representation and NBT/JSON
- Validation - Ensure component values meet the constraints defined in the wiki
- Component interactions - Handle interactions between components (e.g., mutual exclusivity)
- Default values - Properly implement default values for optional fields
- Minecraft Wiki: Data Component Format - Main documentation page for data components
- Minecraft Wiki: Text Component Format - Documentation for text components used in various data components
- Minecraft Wiki: NBT Format - Documentation for the NBT format used for data storage