Skip to content

EmakiCoreLib

EmakiCoreLib 是所有 Emaki 业务模块的基础。它不直接提供完整玩法,而是统一动作、GUI、物品来源、PDC、经济桥接、脚本、条件、表达式、权重和物品展示重建。

基本信息

项目
模块版本4.1.0
主类emaki.jiuwu.craft.corelib.EmakiCoreLibPlugin
Java25
Spigot API1.21.11-R0.1-SNAPSHOT
plugin api-version1.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 ConsoleWeb 端扩展接入

物品来源

物品来源系统统一识别 Vanilla、CraftEngine、ItemsAdder、Nexo、MMOItems、NeigeItems、EmakiItem 等不同生态的物品。这样配方、材料、奖励和条件不用依赖显示名或 Lore,而可以使用稳定 ID。

详情见:物品来源

PDC 与结构化装配

CoreLib 使用 Bukkit PersistentDataContainer 保存模块状态,并通过 namespace layer 把多个模块写入的展示信息组合成最终物品。装备成长线非常依赖这套机制。

详情见:PDC装配与结构化展示

条件、表达式、经济和权重

这些工具让配置更加灵活:

  • 条件:判断权限、属性、物品、PDC、业务状态。
  • 表达式:计算费用、概率、等级成长、伤害或阈值。
  • 经济:对接 Vault / ExcellentEconomy 或其他货币来源。
  • 权重:用于随机品质、奖励池、保底池。

推荐学习顺序

如果你要开始写配置,按下面顺序读,能减少试错:

  1. 物品来源:先搞清楚材料和奖励如何引用物品。
  2. 动作系统:再学习成功、失败、奖励和提示怎么写。
  3. 条件系统:理解权限、属性、物品和状态检查。
  4. 表达式:学习费用、概率、数值公式。
  5. GUI 系统:最后再改菜单布局和按钮交互。

如果你是开发者,重点阅读:

配置目录

CoreLib 默认会生成:

text
plugins/EmakiCoreLib/
├── config.yml
├── lang/
│   ├── zh_CN.yml
│   └── en_US.yml
└── scripts/          # 启用脚本系统时按配置创建 global/templates/examples

config.yml 通常用于 Web Console、动作模板、脚本引擎、安全限制和兼容配置;lang/ 用于消息文本。业务模块也会生成自己的配置目录,不建议把其他模块的配置混放到 CoreLib 目录。