Skip to content

EmakiItem

EmakiItem provides lightweight custom items, stable item IDs, sets, trigger actions, auto update, and PlaceholderAPI support. It is often the starting point for equipment progression.

Module facts

ItemValue
Module version2.6.1
Main command/emakiitem
Alias/ei
Hard dependencyEmakiCoreLib
Soft dependenciesEmakiAttribute, EmakiSkills, PlaceholderAPI
Permissionsemakiitem.use, emakiitem.give, emakiitem.inspect, emakiitem.update, emakiitem.reload, emakiitem.debug, emakiitem.admin

Pages

PageContents
CommandsListing and giving items, inspecting the held item and its components, refreshing items and sets, reload and debug.
Definitions and SetsThe fields of items/*.yml and sets/*.yml, and how an item ID produces an ItemStack.
TriggersRunning actions on interact, attack, projectile, block, and drop events.
Update StrategyBringing items players already hold up to a changed definition.
Repair SystemThe disabled state at zero durability and the material/currency repair flow.
Cross-Module IntegrationItem source syntax when Attribute, Forge, Strengthen, Gem, Skills, or Cooking reference an item.
PlaceholdersPlaceholderAPI output.
CoreLib ActionsMain-hand update, redraw, repair, durability, and vanilla data component actions.
APICreating, identifying, and querying items through EmakiItemApi.
Event APIBukkit events and interception points across the item flow.
JavaScriptThe item script module, runtime definitions, and item factories.

Core capabilities

CapabilityDescription
Stable item IDUses config IDs instead of display names.
Item componentsConfigures material, name, lore, model, enchants, flags, durability, and more.
Attribute outputCan provide attribute payloads to Attribute.
Skill bindingCan expose skills or skill unlock data.
Set systemGrants attributes, skills, or lore based on equipped piece count.
TriggersRuns actions on interaction, combat, projectile, block, drop, and other events.
Auto updateRefreshes item state on login, hand switch, inventory click, pickup, and similar cases.
Repair systemItems enter a disabled state at zero durability and can be repaired with materials or currency.
ID aliases and migrationMaps renamed item IDs and can migrate configs and player inventories in bulk.

Default runtime folder

text
plugins/EmakiItem/
├── config.yml
├── id_aliases.yml
├── items/
├── sets/
├── gui/
└── lang/

items/ defines items, sets/ defines item sets, gui/ holds the repair interface template, and id_aliases.yml stores renamed item ID mappings.

Main configuration

config.yml contains only global settings; item behavior lives in the individual definition files.

KeyTypeDefaultDescription
versionstringCurrent module versionMarks the default config structure; manual edits are discouraged.
languagestringzh_CNLanguage file ID, matching lang/<language>.yml.
release_default_databooleantrueWhether to release default sample data such as items/ and sets/. This does not control config.yml or language files.
set_bonus.enabledbooleantrueWhether the set bonus system is enabled.
set_bonus.refresh_triggers.joinbooleantrueRefresh set state when a player joins.
set_bonus.refresh_triggers.held_changebooleantrueRefresh when the held item changes.
set_bonus.refresh_triggers.inventory_clickbooleantrueRefresh on inventory click.
set_bonus.refresh_triggers.inventory_dragbooleantrueRefresh on inventory drag.
set_bonus.refresh_triggers.pickupbooleantrueRefresh on item pickup.
set_bonus.refresh_triggers.interactbooleantrueRefresh on interaction.
set_bonus.refresh_triggers.commandbooleantrueAllow refresh when related commands run.

set_bonus.refresh_triggers controls set state refreshing, while item auto-update is controlled separately by update.triggers in an item definition; neither overrides the other.

Typical item lifecycle

  1. Define item IDs, material, name, lore, and components in items/.
  2. Optionally add Attribute stats, Skills, or set info.
  3. An administrator gives out the item.
  4. A player uses the item.
  5. Item automatically refreshes its state when triggered.
  6. Forge / Strengthen / Gem can continue writing their own layers on top.
  7. CoreLib rebuilds the final presentation.

Relations with other modules

ModuleIntegration
EmakiAttributeItem writes base or set attributes.
EmakiSkillsItem writes equipment skill IDs and forced equipment triggers. The PDC keys are owned by a standalone protocol module and do not depend on EmakiSkills being enabled.
EmakiForgeForge can modify items created by EmakiItem.
EmakiStrengthenStrengthen can strengthen EmakiItem equipment.
EmakiGemGem can add sockets and inlay gems onto EmakiItem equipment.