Skip to content

EmakiStrengthen

EmakiStrengthen 是装备强化模块,提供星级强化、锻印 temper、保护材料、里程碑、属性写入、强化层重建和公开 API。它适合制作"装备从 +0 到 +N 逐步成长"的玩法。

部分命令仍使用 crack 等历史命名(如 clearcrack),在玩法描述中统一称为"锻印"或"强化痕迹"。

基本信息

项目
模块版本4.6.0
主命令/emakistrengthen
别名/estrengthen
硬依赖EmakiCoreLib
软依赖EmakiItem、EmakiAttribute、PlaceholderAPI
主要权限emakistrengthen.useemakistrengthen.reloademakistrengthen.debugemakistrengthen.admin

功能页面

页面内容
命令与权限打开强化 GUI、检查主手装备、刷新展示、设置星级与发放材料。
强化配方recipes/*.yml 的成功率、材料消耗、失败惩罚、效果与动作。
流程说明从配方匹配到 PDC 写入与展示刷新的完整强化流程。
分支树系统按星级段划分的强化路线,以及不同路线给出的属性、技能与展示。
广播系统首次达到指定星级时向周围或全服发送通知。
占位符PlaceholderAPI 输出。
CoreLib 动作主手强化层的重建与修改动作。
API 接入通过 EmakiStrengthenApi 读取状态、预览与执行强化。
事件 API强化流程的 Bukkit 事件与拦截点。
JavaScript 脚本strengthen 脚本模块、几率规则与结果钩子。

核心概念

概念说明
强化星级装备当前强化等级,例如 +1、+2、+10。
强化配方定义哪些装备能强化、需要哪些材料、成功率和结果。
材料计划判断并消耗强化材料、保护材料和锻印材料。
锻印(temper)失败时累积的等级,按 temper_chance_bonus_per_level 提升后续成功率。
失败降星目标星级 ≥ 6 且未使用保护材料时,失败会降 1 星。
保护材料protection: true 的材料,失败时阻止降星。
分支树在指定星级后分叉为不同强化路线。
强化层写入装备的 strengthen namespace layer,由 CoreLib 重建展示。

默认配置目录

text
plugins/EmakiStrengthen/
├── config.yml
├── recipes/
│   ├── example_recipe.yml
│   └── example_branch_recipe.yml
├── gui/
│   └── strengthen_gui.yml
└── lang/
    ├── zh_CN.yml
    └── en_US.yml

recipes/ 决定不同装备的强化规则,gui/strengthen_gui.yml 决定强化界面布局。示例脚本由 CoreLib 释放到 plugins/EmakiCoreLib/scripts/examples/strengthen_success.js

典型强化流程

  1. 玩家用 /estrengthen open 打开强化 GUI。
  2. 放入目标装备、强化材料和可选保护材料。
  3. 模块按配方的 match 规则匹配可用强化配方。
  4. 检查条件、材料、经济费用和当前星级上限。
  5. 计算成功率:目标星级基础成功率 + 锻印加成,并钳制到 success_chance_cap
  6. 触发 StrengthenPreAttemptEvent,允许外部改写成功率或取消。
  7. 执行随机判定并扣除材料与费用。
  8. 成功时星级 +1,写入强化层,执行该星级的 actions.success
  9. 失败时按规则累积锻印并可能降星,执行 actions.failure
  10. CoreLib 重建装备展示;首次达到广播星级时发送本地或全服广播。

与 Attribute 的关系

Strengthen 可以仅作为展示和成长系统运行。配置 ea_attribute 效果并安装 EmakiAttribute 后,每个星级可以提供真实属性加成:属性通过 EmakiAttribute 的权威 API 写入结构化 PDC layer,参与真实战斗计算。

EmakiAttribute 未安装时走 no-op 路径,强化照常完成但不写入属性。

与 Item 的关系

安装 EmakiItem 时,Strengthen 会在其条件加载的 integration 包中通过 EmakiItemApi 注册物品层预览提供者,让 EmakiItem 侧能够预览强化层内容。EmakiItem 未安装或被禁用时该注册自动跳过或释放,不影响强化功能。