Skip to content

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 ​

CommandPermissionDescription
/ei helpNonePrint command help. Running /ei without arguments is equivalent to help
/ei list [page]emakiitem.useList loaded item definitions, 10 per page
/ei browse [page]emakiitem.browseOpen the item browser listing item packs; player-only. See Browser GUI
/ei give <player> <id> [amount]emakiitem.giveGive an EmakiItem item to a player
/ei inspect [player]emakiitem.inspectInspect the target player's main-hand item, including item id, versions, attributes, skills, and set PDC state
/ei components [yaml] [player] [component_id]emakiitem.inspectInspect Minecraft item components. JSON remains the default; YAML is produced only when yaml is explicit. /ei component is also accepted
/ei repairemakiitem.useOpen 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.updateRefresh EmakiItem items in the player's inventory and recalculate set state
/ei alias list|add|removeemakiitem.adminList, add, or remove item ID aliases
/ei migrate id|inventoryemakiitem.adminPreview or apply an item ID migration, or migrate player inventories
/ei reloademakiitem.reloadReload items, sets, config, and language
/ei debug [stats|player|module|on|off]emakiitem.debug or emakiitem.adminPrint runtime debug information; stats prints refresh metrics

Permissions ​

PermissionDefaultDescription
emakiitem.usetrueAllows basic command usage and item listing
emakiitem.giveopAllows giving custom items
emakiitem.browseopAllows opening the item browser and taking items from it
emakiitem.inspectopAllows inspecting item state and Minecraft components
emakiitem.updateopAllows refreshing player item and set state
emakiitem.reloadopAllows reloading configuration
emakiitem.debugopAllows debug output
emakiitem.adminopAllows 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 2

Use 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 2

The 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 1

After 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 Steve

inspect 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 emakiitem namespace (attributes and attribute_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_data

Without 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_data
  • minecraft:item_model
  • minecraft:tooltip_style
  • minecraft:enchantments
  • minecraft: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 Steve

Use 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 repair

Players 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_sword

add 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 all

migrate 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 reload

This 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 stats

Prints 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/*.yml file names, id, and YAML indentation first, then read console load errors
  • Attributes do not apply after giving: run /ei inspect first to check attributes and attribute_meta, then confirm EmakiAttribute is installed
  • Set bonuses do not trigger: use /ei inspect to check set_id, set_piece, set_active_count, and set_active_thresholds
  • Components look wrong: run /ei components first to inspect the actual Bukkit components, then fix the item.components section 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>