Skip to content

EmakiItem

EmakiItem 是轻量自定义物品模块,提供稳定物品 ID、基础属性、套装、触发动作、自动更新与 PlaceholderAPI 支持。它适合作为装备成长线的起点:先生成一件有稳定 ID 的装备,再交给 Forge、Strengthen、Gem、Attribute 和 Skills 继续扩展。

基本信息

项目
模块版本2.6.2
主命令/emakiitem
别名/ei
硬依赖EmakiCoreLib
软依赖EmakiAttribute、EmakiSkills、MythicMobs、PlaceholderAPI
权限节点emakiitem.useemakiitem.giveemakiitem.inspectemakiitem.updateemakiitem.reloademakiitem.debugemakiitem.admin

功能页面

页面内容
命令与权限列出与发放物品、检查手持物与组件、刷新物品与套装、重载与调试。
物品定义与套装items/*.ymlsets/*.yml 的字段、物品 ID 到 ItemStack 的生成规则。
触发器交互、攻击、投射物、方块、丢弃等事件中执行动作。
物品更新策略物品定义变更后把玩家手上的旧物品更新到新版本。
物品修复系统耐久归零后的禁用状态与材料/货币修复流程。
跨模块集成被 Attribute、Forge、Strengthen、Gem、Skills、Cooking 引用时的物品来源写法。
MythicMobs 集成在 MythicMobs 的 Drops 中掉落 EmakiItem 物品。
占位符PlaceholderAPI 输出。
CoreLib 动作主手物品更新、重绘、修复、耐久与原版 Data Component 动作。
API通过 EmakiItemApi 创建、识别与查询物品。
事件 API物品流程的 Bukkit 事件与拦截点。
JavaScript 脚本item 脚本模块、运行时物品定义与物品工厂。

核心能力

能力说明
稳定物品 ID用配置 ID 标识物品,不依赖显示名。
物品组件配置材质、名称、Lore、模型、附魔、flags、耐久等。
属性写入可向 Attribute 提供属性 payload。
技能绑定可让物品提供技能或技能解锁信息。
套装系统根据装备件数触发属性、技能或 Lore。
触发器在交互、攻击、投射物、方块、丢弃等事件中执行动作。
自动更新玩家登录、切换手持、点击背包、拾取等场景刷新物品。
修复系统耐久归零后进入禁用状态,可用材料或货币修复。
ID alias 与迁移支持物品 ID 改名映射,并可批量迁移配置与玩家背包。

默认配置目录

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

items/ 定义物品,sets/ 定义套装,gui/ 存放修复界面模板,id_aliases.yml 保存物品 ID 改名映射。

主配置

config.yml 只包含全局设置,物品行为写在各自的定义文件里。

配置键类型默认值说明
versionstring当前模块版本默认配置结构标识,不建议手动修改。
languagestringzh_CN语言文件 ID,对应 lang/<language>.yml
release_default_databooleantrue是否释放 items/sets/ 等默认示例数据。config.yml 与语言文件不受此项控制。
set_bonus.enabledbooleantrue是否启用套装加成系统。
set_bonus.refresh_triggers.joinbooleantrue玩家进服时刷新套装状态。
set_bonus.refresh_triggers.held_changebooleantrue切换手持物品时刷新。
set_bonus.refresh_triggers.inventory_clickbooleantrue点击背包时刷新。
set_bonus.refresh_triggers.inventory_dragbooleantrue拖拽物品时刷新。
set_bonus.refresh_triggers.pickupbooleantrue拾取物品时刷新。
set_bonus.refresh_triggers.interactbooleantrue交互时刷新。
set_bonus.refresh_triggers.commandbooleantrue执行相关命令时允许刷新。
mythicmobs.enabledbooleantrueMythicMobs 集成总开关。
mythicmobs.drops.enabledbooleantrue是否注册 MythicMobs 自定义 Drop。
mythicmobs.drops.nameslistemakiitemei_item可识别的 Drop 名称;为空时回退默认值。

set_bonus.refresh_triggers 控制套装状态刷新;物品自动更新由物品定义的 update.triggers 单独控制,二者互不覆盖。

典型物品生命周期

  1. items/ 中定义物品 ID、材质、名称、Lore 和组件。
  2. 可选写入 Attribute 属性、Skills 技能或 set 信息。
  3. 管理员通过命令发放物品。
  4. 玩家使用装备。
  5. Item 在触发时机自动更新物品状态。
  6. Forge / Strengthen / Gem 可继续在该物品上写入自己的 layer。
  7. CoreLib 统一重建最终展示。

与其他模块的关系

模块协作方式
EmakiAttributeItem 写入基础属性或套装属性。
EmakiSkillsItem 写入装备技能 ID 与装备强制触发器;PDC 键由独立协议模块统一持有,不依赖 EmakiSkills 是否启用。
EmakiForgeForge 可以改造 EmakiItem 生成的装备。
EmakiStrengthenStrengthen 可以强化 EmakiItem 装备。
EmakiGemGem 可以给 EmakiItem 装备开孔和镶嵌。
MythicMobsMythicMobs 怪物可以通过 Drops 掉落 EmakiItem 物品。