EmakiStrengthen
EmakiStrengthen 是装备强化模块,提供星级强化、锻印 temper、保护材料、里程碑、属性写入、强化层重建和公开 API。它适合制作"装备从 +0 到 +N 逐步成长"的玩法。
部分命令仍使用
crack等历史命名(如clearcrack),在玩法描述中统一称为"锻印"或"强化痕迹"。
基本信息
| 项目 | 值 |
|---|---|
| 模块版本 | 4.6.0 |
| 主命令 | /emakistrengthen |
| 别名 | /estrengthen |
| 硬依赖 | EmakiCoreLib |
| 软依赖 | EmakiItem、EmakiAttribute、PlaceholderAPI |
| 主要权限 | emakistrengthen.use、emakistrengthen.reload、emakistrengthen.debug、emakistrengthen.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.ymlrecipes/ 决定不同装备的强化规则,gui/strengthen_gui.yml 决定强化界面布局。示例脚本由 CoreLib 释放到 plugins/EmakiCoreLib/scripts/examples/strengthen_success.js。
典型强化流程
- 玩家用
/estrengthen open打开强化 GUI。 - 放入目标装备、强化材料和可选保护材料。
- 模块按配方的
match规则匹配可用强化配方。 - 检查条件、材料、经济费用和当前星级上限。
- 计算成功率:目标星级基础成功率 + 锻印加成,并钳制到
success_chance_cap。 - 触发
StrengthenPreAttemptEvent,允许外部改写成功率或取消。 - 执行随机判定并扣除材料与费用。
- 成功时星级 +1,写入强化层,执行该星级的
actions.success。 - 失败时按规则累积锻印并可能降星,执行
actions.failure。 - CoreLib 重建装备展示;首次达到广播星级时发送本地或全服广播。
与 Attribute 的关系
Strengthen 可以仅作为展示和成长系统运行。配置 ea_attribute 效果并安装 EmakiAttribute 后,每个星级可以提供真实属性加成:属性通过 EmakiAttribute 的权威 API 写入结构化 PDC layer,参与真实战斗计算。
EmakiAttribute 未安装时走 no-op 路径,强化照常完成但不写入属性。
与 Item 的关系
安装 EmakiItem 时,Strengthen 会在其条件加载的 integration 包中通过 EmakiItemApi 注册物品层预览提供者,让 EmakiItem 侧能够预览强化层内容。EmakiItem 未安装或被禁用时该注册自动跳过或释放,不影响强化功能。