项目介绍
Emaki Series 是一套 Minecraft Spigot 服务端的 RPG 插件,用 Java 编写,以多模块 Maven 工程组织。整套插件围绕 EmakiCoreLib 这个核心库展开——属性战斗、锻造、强化、烹饪、宝石镶嵌、主动技能,每个玩法都是一个独立模块,按需组合。
项目快照
| 项目属性 | 详情 |
|---|---|
| 项目类型 | Minecraft Spigot 多模块 Java 插件工程 |
| Java 基线 | 21 |
| API 基线 | Spigot API 1.21.11-R0.1-SNAPSHOT |
| 文本组件 | Adventure 4.26.1 |
| 构建工具 | Maven 多模块聚合 |
| 许可证 | GPL-3.0-only |
| 仓库地址 | GitHub |
当前版本线
| 模块 | artifactId | 版本 |
|---|---|---|
| EmakiCoreLib | emaki-corelib | 3.3.0 |
| EmakiAttribute | emaki-attribute | 3.3.0 |
| EmakiForge | emaki-forge | 3.3.0 |
| EmakiStrengthen | emaki-strengthen | 3.3.0 |
| EmakiCooking | emaki-cooking | 2.0.0 |
| EmakiGem | emaki-gem | 1.2.0 |
| EmakiSkills | emaki-skills | 1.0.0 |
模块关系
EmakiCoreLib
├── EmakiAttribute
├── EmakiForge
├── EmakiStrengthen
├── EmakiCooking
├── EmakiGem
└── EmakiSkills所有业务模块都强依赖 EmakiCoreLib,它负责 GUI、动作执行、物品源、配置管理、经济接口、PDC 读写和运行时服务这些底层工作。之所以把这些东西集中到一个库里,是为了让各模块在操作物品时共享同一套"层快照 → 重建展示"的流程,避免模块之间互相覆盖物品数据。
各模块之间的协作关系:
- EmakiAttribute 独立处理属性定义和战斗计算。Forge、Strengthen、Gem 可以通过 PDC 把属性写进物品,Attribute 会自动识别并纳入计算。
- EmakiForge 通过 CoreLib 装配物品、读取材料来源,锻造产物可以选择性地携带 Attribute 属性数据。
- EmakiStrengthen 用配方系统给装备叠加强化层,强化产生的属性同样可以接入 Attribute。
- EmakiCooking 走的是"世界工位"路线——四类厨具放在世界里,玩家直接交互。它依赖 CoreLib 的物品源、动作系统和方块桥接来识别工位和处理配方。
- EmakiGem 通过装备模板、开孔器和宝石定义实现可组合的装备成长线,宝石属性同样可以接入 Attribute。
- EmakiSkills 管理技能的解锁、槽位、触发器和施法模式,但技能效果本身由 MythicMobs 配置驱动。换句话说,Skills 是"技能管理框架",不是"技能效果引擎"。
仓库结构
Project/
├── EmakiCoreLib/ # 核心基础库
├── EmakiAttribute/ # 属性与战斗系统
├── EmakiForge/ # 锻造系统
├── EmakiStrengthen/ # 强化系统
├── EmakiCooking/ # 烹饪系统
├── EmakiGem/ # 装备宝石系统
├── EmakiSkills/ # 主动技能系统
└── pom.xml # Maven 父工程构建方式
根 pom.xml 默认聚合五个开源模块:EmakiCoreLib、EmakiAttribute、EmakiForge、EmakiStrengthen、EmakiCooking。如果根目录下存在 .key 文件,private-modules profile 会额外纳入 EmakiGem 和 EmakiSkills——这两个是闭源模块,需要授权才能构建。
bash
# 完整构建
mvn clean package
# 只做编译检查,跳过测试
mvn -DskipTests compile构建完成后,各模块的 jar 会输出到对应模块的 target/ 目录。