Description
# Item Components
# ✅ Features
- **Server-side** at no cost of quirkyness on the client
- **Data-driven** through datapacks, read below for the how.
- **Reloadable** on the fly via /reload. No restarting a server or client, or rejoining a world.
- **Supports modded items** and modded item components
- **Modpack creation** made easy, by putting the power of balancing in your hands
# ❓ What can I do with it?
For a full list of things you can change, visit the [Minecraft Wiki on Data component format](https://minecraft.wiki/w/Data_component_format#List_of_components).\
A non-exhaustive list of things you add, remove or change on any item:
- Max stack size
- Armor, damage & attack speed values
- Default placement state
- Enchantment glint
- Fireproof
- Nutrition, saturation, eating time & effects
- Tooltips
- Name & lore
- Jukebox song
- Max damage
- Rarity
- Default mining speed, durability change & effective blocks
- Unbreakable
_In essence, any item, modded or vanilla, can be changed in any way you might want._\
# ⚙️ Datapack creation
Components on (an) item(s) can be changed by adding an entry under ```:item_components/.json```.\
Entries have 3 fields, all optional:
- ```parents```: an ID or an array of IDs
- The entries to inherit. Note that only the parent's parents and parent's components are inherited, not the parent's targets.
- ```targets```: an item ID, an item tag suffixed with '#' or an array of item IDs
- The items to apply the component changes to.
- ```components```: a component changes object
- The component changes to apply to the items.
_Visit [the source code for example datapacks](https://github.com/boyonk913/item-components/tree/master/datapacks)._