English
Commands and Permissions
The main command of EmakiItem is /emakiitem, with /ei as an alias. Use it to list item definitions, give items, inspect held items, inspect Minecraft item components, refresh player items and set state, reload configuration, and print debug output. Recipes for the common jobs — giving and inspecting items, refreshing state, reloading config, and troubleshooting — follow the command and permission tables
Commands
| Command | Permission | Description |
|---|---|---|
/ei help | None | Print command help. Running /ei without arguments is equivalent to help |
/ei list [page] | emakiitem.use | List loaded item definitions, 10 per page |
/ei browse [page] | emakiitem.browse | Open the item browser listing item packs; player-only. See Browser GUI |
/ei give <player> <id> [amount] | emakiitem.give | Give an EmakiItem item to a player |
/ei inspect [player] | emakiitem.inspect | Inspect the target player's main-hand item, including item id, versions, attributes, skills, and set PDC state |
/ei components [yaml] [player] [component_id] | emakiitem.inspect | Inspect Minecraft item components. JSON remains the default; YAML is produced only when yaml is explicit. /ei component is also accepted |
/ei repair | emakiitem.use | Open the equipment repair interface for yourself. Players only |
/ei state query|repair|recompute [player] | emakiitem.inspect (query) / emakiitem.admin (repair, recompute) | Query, repair, or recompute the main-hand item's item state. Omitting the sub-command is treated as query |
/ei update [player] | emakiitem.update | Refresh EmakiItem items in the player's inventory and recalculate set state |
/ei alias list|add|remove | emakiitem.admin | List, add, or remove item ID aliases |
/ei migrate id|inventory | emakiitem.admin | Preview or apply an item ID migration, or migrate player inventories |
/ei reload | emakiitem.reload | Reload items, sets, config, and language |
/ei debug [stats|player|module|on|off] | emakiitem.debug or emakiitem.admin | Print runtime debug information; stats prints refresh metrics |
Permissions
| Permission | Default | Description |
|---|---|---|
emakiitem.use | true | Allows basic command usage and item listing |
emakiitem.give | op | Allows giving custom items |
emakiitem.browse | op | Allows opening the item browser and taking items from it |
emakiitem.inspect | op | Allows inspecting item state and Minecraft components |
emakiitem.update | op | Allows refreshing player item and set state |
emakiitem.reload | op | Allows reloading configuration |
emakiitem.debug | op | Allows debug output |
emakiitem.admin | op | Allows alias and migration commands, and acts as the administrative fallback for debug access |
The root /emakiitem command itself requires emakiitem.use, which the repair subcommand also uses
Common operations
List items
text
/ei list
/ei list 2Use this to confirm that files under plugins/EmakiItem/items/ loaded successfully. The list shows config ids and display names
Browse and take items
text
/ei browse
/ei browse 2The first level lists item packs; clicking a pack icon opens the second level, where a left click takes one piece and Shift + left click takes a full stack. /ei give needs the item id up front, so reach for the browser whenever you just want to look around
Give an item
text
/ei give Steve example_item 1After giving the item, the plugin runs the item's actions.give, refreshes the player's EmakiItem items and set state, and schedules Attribute equipment sync. If giving fails, confirm that the item id exists
Inspect the held item
text
/ei inspect
/ei inspect Steveinspect reads the target player's main-hand item and prints:
- EmakiItem id;
- schema / update versions;
- whether the item definition still exists;
- Attribute PDC written under the
emakiitemnamespace (attributesandattribute_meta); - skill ids and forced equipment skill triggers;
- definition signature;
- set id, set piece, active count, total count, and active thresholds
If attributes, set bonuses, or skills seem to be missing, run this command first and read its output instead of trusting lore only
Inspect Minecraft item components
text
/ei components
/ei components Steve
/ei components Steve custom_model_data
/ei components yaml
/ei components yaml Steve custom_model_data
/ei component custom_model_dataWithout a format argument, components keeps the existing JSON output. To get YAML you can paste into a config, write components yaml .... YAML export is based on the stable vanilla component string and never treats String.valueOf(DataComponentValue) as a persistence format. Command arguments may omit minecraft:, and YAML export uses short IDs for vanilla components while preserving explicit non-Minecraft namespaces. Component id lines can be clicked to copy the id, which makes this the tool for troubleshooting Minecraft 1.21+ components such as:
minecraft:custom_model_dataminecraft:item_modelminecraft:tooltip_styleminecraft:enchantmentsminecraft:attribute_modifiers
If you leave out the player name and run the command yourself in game, it inspects your own main-hand item. The second argument is treated as a component id whenever it is not an online player name
Refresh items and sets
text
/ei update
/ei update SteveUse this after you change item definitions, set definitions, update rules, or equipment state. The command refreshes EmakiItem items in the player's inventory and recalculates the equipped set. When it finds a change, Attribute equipment sync is scheduled
Open the repair interface
text
/ei repairPlayers only; opens the repair interface defined by gui/repair_gui.yml for you. If the template is missing, the command reports that opening failed
Manage ID aliases
text
/ei alias list
/ei alias add old_sword flame_sword
/ei alias remove old_swordadd requires the target item ID to be loaded, otherwise it reports that the item does not exist. An alias (an item id rename mapping, the table that points an old id to a new one) is written back to id_aliases.yml, and the item factory cache is cleared
Migrate item IDs and inventories
text
/ei migrate id old_sword flame_sword --dry-run
/ei migrate id old_sword flame_sword --apply
/ei migrate inventory Steve
/ei migrate inventory allmigrate id requires an explicit --dry-run or --apply. Run --dry-run first to see the replacement count and the affected files, then run --apply to perform the replacement and keep the alias. migrate inventory rewrites legacy IDs in the target player's inventory (or all online players) and also refreshes sets and Attribute equipment sync
Reload configuration
text
/ei reloadThis reloads items, sets, config, and language. Before touching production, confirm the new config loads on a test server, then run /ei update for online players when needed
Inspect refresh metrics
text
/ei debug statsPrints item/set refresh event counts, batches, coalesced batches, requested versus actual refresh scope, cache hits, scanned slots, changes, conflicts, and elapsed time. Available debug modules are create, update, identify, set, item_operation, pdc, item_state, and proficiency
Troubleshooting
- Item id is missing from the list: check
items/*.ymlfile names,id, and YAML indentation first, then read console load errors - Attributes do not apply after giving: run
/ei inspectfirst to checkattributesandattribute_meta, then confirm EmakiAttribute is installed - Set bonuses do not trigger: use
/ei inspectto checkset_id,set_piece,set_active_count, andset_active_thresholds - Components look wrong: run
/ei componentsfirst to inspect the actual Bukkit components, then fix theitem.componentssection in the item definition - Old items did not update: confirm
update.enabled,update.version, and update triggers in the item definition, then run/ei update <player>