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.
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 <namespace>:item_components/<path>.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.