简体中文
项目介绍
Emaki Series 是一组面向 Minecraft 26.1 及以上版本的 RPG 插件. 它不把全部玩法塞进一个插件里: 公共能力都放在 CoreLib, 属性, 装备, 强化, 宝石, 饰品, 等级, 技能, 合成, 烹饪, 图鉴和仓库则各自拆成独立模块, 你想装哪个就装哪个
举个例子: 你只想给服务器加 RPG 属性, 就只装 CoreLib + Attribute 两个; 想要完整装备线, 再加 Item, Forge, Strengthen, Gem. 用不到的模块可以不装, 互不拖累
对照下面的能力清单, 你的服务器需要哪几项, 就装哪几个模块:
- 装备应该有固定 ID, 名称, Lore, 属性, 套装和技能绑定
- 属性系统要能算物理伤害, 法术伤害, 投射物, 暴击, 防御, 穿透, 资源等数值
- 装备成长要有锻造, 强化, 宝石, 品质, 材料, 失败惩罚和展示刷新
- 玩家成长要有多种等级类型, 经验来源, 升级条件, 排行榜, 以及占位符展示
- 技能要有主动释放, 被动触发, 冷却, 资源消耗, 等级参数, 并能对接外部技能引擎
- 玩法系统要有世界里的工位, 交互流程, 投料, 产物发放和进度保存
- 生产系统要能按配方制作, 合并扣除材料, 排队生产, 产物等玩家领取
- 角色外观与加成要有独立于装备栏的饰品槽与饰品套装
- 收集与引导要有原版成就页, 节点触发和完成奖励
- 所有模块都要能共用动作, GUI, 物品来源, 经济, 数据保存和配置加载这些能力
后面每个模块都会单独讲清楚配置目录, 命令, 权限, 常用 YAML 字段和验证方式, 你照着配就行
支持版本
| 项目 | 要求 |
|---|---|
| 服务端 | Paper 26.1 及以上 (Folia 也支持) |
| Java | 25 |
| 插件声明的最低接口版本 | 26.1 |
| 构建方式 (自己编译时才需要) | Gradle 多模块工程, 已固定 Gradle 9.8.0 |
CAUTION
这些插件只面向 Minecraft 26.1 及以上版本开发, 不兼容更低的版本. 插件里声明的最低接口版本是 26.1, 低于这个版本的服务器会被 Paper 直接拒绝加载. 插件同时声明了 Folia 支持
模块一览
你只是下载现成 jar 装来用的话, 表里"归属"一列可以忽略; 它说明的是源码构建: 默认 表示每次构建都会编译; 私有 表示只有在源码仓库根目录放了一个 .key 文件时才会一起编译
| 模块 | 版本 | 归属 | 它能做什么 |
|---|---|---|---|
| EmakiCoreLib | 4.8.36 | 默认 | 公共基础库, 其他所有模块都要靠它 |
| EmakiAttribute | 4.8.7 | 默认 | 属性, 资源, 伤害计算, 条件判断, 属性读写接口 |
| EmakiForge | 4.8.8 | 默认 | 锻造: 图纸要求, 材料投入, 品质与配方书 |
| EmakiStrengthen | 4.8.9 | 默认 | 装备强化: 星级阶段, 保护道具, 失败惩罚与刷新 |
| EmakiCooking | 4.3.8 | 默认 | 世界里的烹饪工位 (砧板, 炒锅等) |
| EmakiLevel | 1.6.9 | 默认 | 多种等级类型, 经验来源, 升级条件, 排行榜与 MythicMobs 经验掉落 |
| EmakiCodex | 1.1.6 | 默认 | 用原版成就页做的图鉴 GUI, 支持解锁/激活/领取与动作奖励 |
| EmakiStation | 1.1.8 | 默认 | 通用合成工作站: 排队生产, 付费队列位, 独立分解站 |
| EmakiGem | 2.8.11 | 私有 | 宝石: 插槽, 开孔, 镶嵌, 提取与升级 |
| EmakiSkills | 2.8.8 | 私有 | 主动/被动技能: 触发器, 资源消耗, MythicMobs 对接 |
| EmakiItem | 2.8.16 | 私有 | 自定义物品: 两级浏览界面, 套装, 触发器与自动更新 |
| EmakiStorage | 1.1.5 | 私有 | 分页仓库界面, 单格大额存放, 容量档位与付费解锁 |
| EmakiAccessory | 1.1.8 | 私有 | 多页独立饰品栏, 部位槽位, 丢失取回, 饰品套装与属性/技能加成 |
| EmakiMobs | 1.0.13 | 默认 | 自定义生物: 刷新规则, 掉落表与技能行为 |
| EmakiStructure | 1.0.5 | 私有 | 结构模板导出与放置, 多方块机关交互, 生成回滚与家具还原 |
| EmakiDungeon | 1.0.2 | 默认 | 组队副本: 独立实例世界, 挑战限制与难度选择, 奖励暂存结算, 流程门禁与地图编辑器 |
NOTE
上面说的"私有"是源码构建层面的门控: 源码仓库根目录有 .key 文件时才会把 EmakiSkills, EmakiGem, EmakiItem, EmakiStorage, EmakiStructure, EmakiAccessory 一起编译. 没有 .key 时构建 27 个模块, 有 .key 时构建 33 个. 与"能不能安装使用"无关
除了上面这些服务器插件, 工程里还有各模块的 emaki-*-api 编译期构件. 普通安装用不到它: 它们不是服务器插件, 不要放进 plugins/ 目录 (这一条只对开发插件的服主/开发者有意义)
为什么需要 CoreLib
CoreLib 是 Emaki Series 的"公共地基". 你做配置时迟早会遇到下面这些难题:
- 怎么在 YAML 里执行奖励, 发提示, 扣钱, 执行命令, 放粒子, 播音效?
- 怎么统一打开 GUI, 处理按钮点击, 保护交互状态?
- 怎么识别来自原版, MMOItems, ItemsAdder, Nexo, Oraxen, EcoItems, CraftEngine 等不同来源的物品?
- 怎么把各个模块写进去的装备状态都存好, 又互不覆盖?
- 怎么把锻造, 强化, 宝石, 物品基础信息组合成最终显示的样子?
- 怎么写条件判断, 概率, 延迟动作, 经济扣费?
如果每个模块都各写一套, 最后会很难维护. CoreLib 把这些公共能力统一起来, 业务模块只管自己的玩法
常见组合方式
下面按"你想做什么"分组, 每组直接列出要装的模块
只做属性和战斗
- EmakiCoreLib
- EmakiAttribute
- 可选: PlaceholderAPI, MythicMobs, MMOItems
适合: 只想做 RPG 属性, 伤害类型, 资源状态, 占位符展示, 以及和外部怪物技能联动
做装备成长
- EmakiCoreLib
- EmakiAttribute
- EmakiItem
- EmakiForge
- EmakiStrengthen
- EmakiGem
- 可选: EmakiAccessory
适合: 你要做一条完整装备线, 基础装备由 Item 生成, Forge 改造品质, Strengthen 提升星级, Gem 提供插槽与宝石属性, Attribute 负责最终数值计算. 再装上 Accessory, 你就多一条不占装备栏的饰品线
做等级成长
- EmakiCoreLib
- EmakiLevel
- 可选: PlaceholderAPI, MythicMobs, EmakiAttribute, EmakiCooking, EmakiForge
适合: 做主等级, 战斗等级, 采集等级, 生活职业等级等多条成长线, 把经验来源接到原版事件, MythicMobs 掉落或其他 Emaki 插件的动作上
做技能系统
- EmakiCoreLib
- EmakiSkills
- MythicMobs
- 可选: EmakiAttribute, PlaceholderAPI, EmakiItem, EmakiLevel
适合: 让装备, 权限, 等级, 配置或外部来源解锁技能; Skills 负责冷却, 资源消耗和触发, 实际技能效果交给 MythicMobs 执行
做生活玩法
- EmakiCoreLib
- EmakiCooking
- 可选: EmakiLevel, CraftEngine, ItemsAdder, Nexo
适合: 做砧板, 炒锅, 研磨机, 蒸锅这些世界工位, 让玩家通过和方块交互完成烹饪; 想让烹饪也给经验, 可以接 EmakiLevel 或 CoreLib 的动作
做生产与仓储
- EmakiCoreLib
- EmakiStation
- 可选: EmakiStorage, EmakiItem, EmakiLevel
适合: 做按配方排队生产的工作站, 材料可以同时从背包和仓库里取, 产物直接入库, 还能用分解站回收装备. 装了 EmakiStorage 后仓库会参与取材与发货; 不装就只用背包
做成就图鉴
- EmakiCoreLib
- EmakiCodex
- 可选: PacketEvents, PlaceholderAPI, MythicMobs
适合: 用 advancements/*.yml 把玩法目标做成原版成就页, 由击杀, 合成, 钓鱼, 破坏方块等共享事件触发节点, 节点完成时执行动作发奖励. 装了 PacketEvents 还能额外注入成就树坐标