更新日志阅读说明
本页用于说明当前文档与源码能力的同步重点,并提供升级时的检查路径。完整版本变化仍应结合根目录 release-notes.md、各模块 CHANGELOG.md、默认配置文件和发行包说明一起阅读。
当前文档同步重点
本轮文档已按当前源码重新核对命令、权限、配置目录和主要运行能力,并结合最近 20 次提交同步以下运行边界与配置结构:
最近 20 次提交同步重点
- 平台与调度
- 各插件
plugin.yml已声明 Folia 支持;CoreLib 新增 Folia 调度适配,业务模块的延迟任务、异步任务、GUI 回主线程刷新和显示实体刷新应通过统一调度入口运行。 - 文档中的环境要求已从单纯 Spigot/Bukkit 1.21+ 扩展为包含当前 Folia 支持声明。
- 各插件
- Web Console
- 结构化配置编辑器新增变量映射编辑器、变更路径追踪和字段高亮,保存前可以更直观看到本次修改过的节点。
actions、effects与economyProvider成为 CoreLib 统一字段类型;各模块不再各自实现一套效果列表或经济提供器输入框。- 工作区树支持目录节点和 glob 子文件懒加载,适合管理 recipes、gui、items、skills 等多文件目录。
- GUI 与物品展示
- GUI 槽位以
item作为当前结构化字段;动态信息槽、确认槽、预览槽优先尊重模板中的item、display_name、lore和组件配置。 - EmakiGem 镶嵌、开孔、升级界面打开时不再自动从玩家主手或背包补入目标物品,目标装备与材料需要玩家手动放入。
- EmakiSkills 技能面板、触发器选择界面以及 EmakiStrengthen 的预览/确认类动态槽位已对齐上述 GUI 模板优先规则。
- GUI 槽位以
- 属性与 PDC
- Attribute 支持区间随机值,Lore 与 PDC 解析可识别百分比和整数区间,快照会保留区间贡献的最小值、最大值与实际取值。
variables与ea_attributes语义边界更清晰:变量用于文本与占位符上下文,真实属性输出应写入显式ea_attributes。- 近期清理了
ea_attribute_meta相关逻辑,材料、宝石、物品和强化配置不应再依赖该字段作为属性元数据入口。
- Cooking 配方
- 配方结果统一使用
result.<branch>.outputs/actions结构;成功、提前、过度、欠熟、过熟、非法等分支都按同一模型描述。 - 新增配方完成条件系统,配方可以在产出前检查条件;操作台默认交互按键也按当前源码重新整理。
- 工位悬浮文本展示、展示实体后端和刷新配置已进入当前配置线。
- 配方结果统一使用
- Forge / Gem / Strengthen / Item / Skills
- Forge 材料效果只显示当前效果类型自己的参数,
quality_modify使用tier,capacity_bonus使用value。 - Gem 宝石物品会在获取、重载和 GUI 复刻时按当前定义刷新名称、Lore、模型和等级展示。
- Skills、Strengthen、Forge、Gem、Item 的技能效果统一使用
es_skills列表写法,不再把旧单值字段作为当前文档推荐写法。
- Forge 材料效果只显示当前效果类型自己的参数,
新增和补充
- Attribute
- 新增配置目录说明,补充
config.yml、attribute_balance.yml、attributes/、damage_types/、conditions/、lore_formats/的职责。 - 新增属性衰减曲线页面,说明
logarithmic、sqrt、piecewise_linear三类衰减规则。 - 伤害系统补充
synthetic_hit_feedback,说明接管原版伤害后的击退与受伤音效反馈。
- 新增配置目录说明,补充
- Gem
- 新增开孔器系统页面,说明
socket_openers、开孔器材料、插槽类型和失败反馈。 - 更新镶嵌成功率,改为当前
inlay_success配置结构。 - 补充宝石升级全局成功率和失败惩罚。
- 新增开孔器系统页面,说明
- Skills
- 新增技能状态栏页面,说明
actionbar模板、刷新间隔和施法模式展示。 - 补充脚本引擎全局限制,包括每阶段动作行数和单动作目标数量。
- 补充
combo_attack被动触发器和被动触发器全局设置。
- 新增技能状态栏页面,说明
- Cooking
- 命令与权限补充
/ec debug、烤炉、榨汁机、发酵桶权限。 - 工位系统补充展示实体后端、展示距离、刷新间隔、炒锅翻炒动画和烫伤机制。
- 命令与权限补充
- Forge
- 新增锻造历史记录页面,用于说明锻造行为追踪、自动保存和排查用途。
- 品质系统保留品质池、保底、品质物品元数据和确定性算法说明。
- Strengthen
- 分支树页面补充分支配方文件和强化转移设计要点。
- Item
- 命令页面补充
/ei debug和emakiitem.debug权限。
- 命令页面补充
删除和修正
- Gem 命令修正
- 清理已不属于当前命令路由的旧管理入口。
- 当前命令统一为
/emakigem gui [inlay|open|upgrade]、reload、inspect、clearstate、debug。 - 权限改为
emakigem.use、emakigem.reload、emakigem.admin、emakigem.debug。
- Skills 命令修正
- 技能界面入口统一为
/eskills gui。 - 清理已不属于当前命令路由的旧触发器管理入口。
- 补充
/eskills clearslot <player> <slot>。 castmode明确为/eskills castmode <on|off|toggle>。
- 技能界面入口统一为
- Cooking 权限修正
- 榨汁机盛取权限使用
emakicooking.station.juicer.collect。 - 发酵桶开始权限使用
emakicooking.station.fermentation_barrel.start。 - 工位权限统一采用
emakicooking.station.*形式。
- 榨汁机盛取权限使用
模块版本线说明
当前源码中各模块版本并不完全相同,应以各模块 src/main/resources/config.yml 和 pom.xml 为准:
| 模块 | 当前默认配置版本 |
|---|---|
| EmakiCoreLib | 4.1.0 |
| EmakiAttribute | 4.1.0 |
| EmakiForge | 4.1.0 |
| EmakiStrengthen | 4.1.0 |
| EmakiCooking | 3.1.0 |
| EmakiGem | 2.1.0 |
| EmakiSkills | 2.1.0 |
| EmakiItem | 2.1.0 |
不同模块的版本号代表各自发行节奏,不表示功能重要性。升级时应按实际安装模块分别比对默认配置。
推荐阅读顺序
- 阅读目标模块首页,确认模块职责和依赖关系。
- 阅读命令与权限页面,先完成权限组规划。
- 阅读配置目录或核心功能页面,确认默认目录和文件用途。
- 阅读具体功能页,例如宝石开孔、技能触发器、属性衰减、锻造品质、烹饪工位。
- 修改配置后使用对应模块的 reload、inspect、debug 或 lint 命令验证。
- 正式服升级前,在测试服导入真实装备与玩家数据进行抽样验证。
升级前检查清单
- 备份整个
plugins/Emaki*/配置目录。 - 备份玩家数据、装备数据、Cooking 工位数据和经济数据。
- 不要直接覆盖旧配置;先用默认配置对比新增字段,再逐项合并。
- 检查命令和权限是否按当前文档修正。
- 检查 Attribute 是否启用
hard_lock_damage,并确认环境伤害映射符合服务器预期。 - 检查 Gem 是否合并
socket_openers、inlay_success、upgrade全局配置。 - 检查 Skills 是否合并
actionbar、script_engine、passive_trigger_settings。 - 检查 Cooking 是否合并
oven、juicer、fermentation_barrel工位、GUI 和权限。 - 检查 Forge 品质、历史记录和条件失败策略是否符合当前玩法。
- 检查 Item 自动更新和修复配置是否会影响旧物品。
排查建议
- 配置加载失败时,先看控制台首个 YAML 解析错误,通常后续错误都是连锁结果。
- 物品属性异常时,先确认 CoreLib 装配层是否重建,再检查 Attribute PDC 输出。
- GUI 无法操作时,优先检查权限、槽位配置、模板 ID 和物品来源。
- 成功率、品质、强化等随机玩法异常时,先检查公式变量、保底计数和失败处理策略。
- 涉及跨模块效果时,按 CoreLib → Attribute/Skills → 业务模块的顺序排查。