EmakiCoreLib
EmakiCoreLib 是所有 Emaki 业务模块的基础。它不直接提供完整玩法,而是统一动作、GUI、物品来源、PDC、经济桥接、脚本、条件、表达式、权重和物品展示重建。
基本信息
| 项目 | 值 |
|---|---|
| 模块版本 | 4.1.0 |
| 主类 | emaki.jiuwu.craft.corelib.EmakiCoreLibPlugin |
| Java | 25 |
| Spigot API | 1.21.11-R0.1-SNAPSHOT |
| plugin api-version | 1.21 |
| 硬依赖 | 无 |
| 软依赖 | Vault、ExcellentEconomy、PlaceholderAPI、MMOItems、MythicMobs、ItemsAdder、Nexo、NeigeItems、CraftEngine |
| 主命令 | /emakicorelib(别名 /corelib、/emakicore) |
CoreLib 必须先加载。若 CoreLib 启动失败,先修复 CoreLib,再排查 Attribute、Forge、Strengthen、Cooking、Gem、Skills 或 Item。
CoreLib 提供什么
动作系统
动作系统允许你在 YAML 中写“要发生什么”,例如发送消息、播放声音、发放物品、执行命令、扣钱、治疗、造成伤害、调用脚本或 Mythic 技能。业务模块会在成功、失败、点击按钮、完成配方等节点执行动作列表。
详情见:动作系统。
GUI 系统
GUI 系统提供菜单模板、按钮、槽位、点击处理、会话管理等能力。Forge、Strengthen、Gem、Skills 以及 Cooking 的部分 GUI 都复用 CoreLib 的 GUI 基础设施。
详情见:GUI 系统。
Web Console
Web Console 是 CoreLib 内置的浏览器管理台。它通过 web_console 配置开关启动,可查看模块状态、注册配置树、脚本、GUI、物品定义,并支持部分物品 YAML 的展示预览。业务模块通过 web-console.yml 声明配置入口,再通过前端 IIFE 扩展补充专属编辑器、字段说明、翻译文本和本地预览逻辑。
详情见:Web Console 与 Web 端扩展接入。
物品来源
物品来源系统统一识别 Vanilla、CraftEngine、ItemsAdder、Nexo、MMOItems、NeigeItems、EmakiItem 等不同生态的物品。这样配方、材料、奖励和条件不用依赖显示名或 Lore,而可以使用稳定 ID。
详情见:物品来源。
PDC 与结构化装配
CoreLib 使用 Bukkit PersistentDataContainer 保存模块状态,并通过 namespace layer 把多个模块写入的展示信息组合成最终物品。装备成长线非常依赖这套机制。
条件、表达式、经济和权重
这些工具让配置更加灵活:
- 条件:判断权限、属性、物品、PDC、业务状态。
- 表达式:计算费用、概率、等级成长、伤害或阈值。
- 经济:对接 Vault / ExcellentEconomy 或其他货币来源。
- 权重:用于随机品质、奖励池、保底池。
推荐学习顺序
如果你要开始写配置,按下面顺序读,能减少试错:
- 物品来源:先搞清楚材料和奖励如何引用物品。
- 动作系统:再学习成功、失败、奖励和提示怎么写。
- 条件系统:理解权限、属性、物品和状态检查。
- 表达式:学习费用、概率、数值公式。
- GUI 系统:最后再改菜单布局和按钮交互。
如果你是开发者,重点阅读:
配置目录
CoreLib 默认会生成:
plugins/EmakiCoreLib/
├── config.yml
├── lang/
│ ├── zh_CN.yml
│ └── en_US.yml
└── scripts/ # 启用脚本系统时按配置创建 global/templates/examplesconfig.yml 通常用于 Web Console、动作模板、脚本引擎、安全限制和兼容配置;lang/ 用于消息文本。业务模块也会生成自己的配置目录,不建议把其他模块的配置混放到 CoreLib 目录。