跳到主要内容

EMC 高级物品库

EMC 高级物品库(EMCItemLib)是 EMC RPG 生态的基础设施插件,提供统一的物品管理与获取接口。它整合了 9 种物品源(配置文件自定义 + 8 种第三方插件),为其他 EMC 生态插件提供标准化的物品 API,实现"一处定义,处处使用"。

核心定位

  • 统一物品中枢 — 作为 EMC RPG 生态的物品中间层,所有生态插件通过 EMCItemAPI 获取物品
  • 多源聚合 — 聚合配置文件自定义物品与 MythicMobs、MMOItems、ItemsAdder 等 8 种第三方插件物品
  • 全版本兼容 — 内置材质名与附魔名跨版本兼容层,1.8 ~ 1.20+ 配置通用
  • 开放 API — 其他插件可注册自定义物品源,扩展物品来源

环境要求

项目要求
服务端Paper/Spigot 1.8+
JavaJava 8+
必需依赖
可选依赖MMOItems、MythicMobs、NeigeItems、ItemsAdder、Oraxen、ExecutableItems、EcoItems、SX-Item

安装步骤

  1. 从下载页面获取 EMC物品库.jar
  2. 将 jar 文件放入服务器的 plugins/ 目录
  3. 启动服务器,插件自动生成:
    • config.yml — 主配置(物品源优先级与开关)
    • items/example.yml — 示例物品定义文件
  4. items/ 文件夹中创建自定义物品 YAML 文件
  5. 执行 /emcitem reload 重载

架构概览

EMCItemLib
├── 物品管理器 (ItemManager) — 统一物品获取,源优先级遍历
├── 物品源接口 (ItemSource) — 标准化物品源协议
├── 配置物品源 (ConfigItemSource) — YAML 自定义物品,跨版本解析
├── 第三方物品源 — MythicMobs / MMOItems / NeigeItems 等 8 种
├── 公开 API (EMCItemAPI) — 静态方法,供生态插件调用
├── 材质兼容层 (MaterialCompat) — 1.12↔1.13+ 材质名自动转换
├── 附魔兼容层 (EnchantCompat) — 跨版本附魔名别名映射
└── 命令系统 (EMCItemCommand) — give / list / sources / reload

物品 ID 格式

所有物品使用 来源:物品ID 格式标识:

config:example_sword          → 配置文件中定义的物品
mythicmobs:SkeletonKingSword → MythicMobs 物品
mmoitems:SWORD.STEEL_SWORD → MMOItems 物品
itemsadder:custom:ruby_gem → ItemsAdder 物品

未指定来源时,按 config.yml 中的 source-priority 顺序依次搜索所有物品源。

跨版本兼容

插件内置 材质兼容层附魔兼容层,自动处理不同版本间的名称差异:

  • 材质:配置中写 WOOD_SWORDWOODEN_SWORD 均可,插件自动转换为当前服务器版本对应的材质
  • 附魔:配置中写 SHARPNESSDAMAGE_ALL锋利 均可,自动映射为正确的附魔

这意味着同一份物品配置可以在 1.8 ~ 1.20+ 任意版本的服务器上使用,无需针对版本修改。