SnowyGems
升级与验收清单
升级 0.0.6 修订构建前后需要合并的配置、行为变化与测试服检查。
升级与验收清单
适用于升级到当前 0.0.6 修订构建。该构建含图鉴头颅和历史聊天显示修复;只比较文件名或插件版本号,无法区分较早的同版本构建。
更新步骤
- 备份插件目录、世界与玩家物品数据;在测试服复制一份配置和代表性装备。
- 正常停止服务器,替换 JAR,避免同时保留多个 SnowyGems JAR。不要用配置 reload 替代插件升级。
- 启动后检查加载统计、错误日志及
/sgem compat all。首次配置加载失败会停用插件,应修正后重新启动。 - 按下表核对旧配置,再验证新增命令。已有文件不强制覆盖,新增语言节点由现有迁移机制补充。
必须核对的变化
| 项目 | 当前行为与处理 |
|---|---|
旧 Embed: 1 | 现在真正限制同 ID 已记录次数;需要重复镶嵌时按用途调整 |
ExclusiveGroup | 按需新增,同组不同 ID 不能共存;不是总孔位系统 |
TrackApplied | 默认 true;false 适合一次性消耗品,不能用来实现依赖记录的数量限制 |
| 修复石等一次性效果 | 不生成新的可拆卸实例;旧的不可撤销记录不能返还 |
| 旧撤销记录 | 缺少必要凭据时会拒绝拆卸,不会自动猜测旧属性或补回历史 |
| 技能隐藏粉尘 | 隐藏时继续触发;先拆粉尘再修改其他宝石 |
Slot 与 Cooldown | Slot 开始约束技能来源;主动和定时技能共享成功施放冷却 |
| 同 ID BUFF | 每名玩家每轮最多成功施放一次,按槽位顺序,非最高等级优先 |
| PlayerPoints | 故障时暂停交易,不再自动切换 Internal;不要把切换后端当作余额迁移 |
strict | 配置错误拒绝加载;重载保留旧注册表,首次加载失败停用插件 |
| 重复 ID / 关键引用 | 不再允许覆盖或静默丢弃整个无效定义;修正日志指出的条目后再重载 |
$onRemove | 新 LoreAdd / LoreReplace 已有局部撤销,不要重复清除同一标记 |
重载回退覆盖宝石、菜单、技能、符文配方及功能模块状态,不是所有配置文件的事务回滚。语言、调试等全局设置不在此范围。主动删除仍在装备中使用的宝石 ID 会影响查看和返还,应先迁移装备再删除定义。
测试服验收
| 测试 | 预期 |
|---|---|
| 给新装备镶嵌无限宝石,再拆下 | 效果撤销后才判定返还;不出现效果保留且宝石可复用 |
| 用修复石恢复耐久 | 消耗生效,不进入新的可拆卸宝石列表 |
| 隐藏带颜色的技能和 BUFF 标记 | 技能与动态等级读取仍有效;拆粉尘后恢复显示 |
| 同 ID 配置 Embed: 2,连续镶三次 | 第三次被拒绝;互斥组内另一 ID 也被拒绝 |
| 零冷却潜行左键技能 | 同一个服务器 tick 的两个事件入口只执行一次 |
| 多件装备拥有同 ID BUFF | 按来源槽位、共享冷却和每轮去重规则执行 |
| 安排延迟技能后 reload | 旧任务不再执行 |
| 测试服停用 PlayerPoints | 点券交易失败,不写 Internal 账户;恢复后使用原后端 |
| 制造重复 ID、缺失配方材料或 strict 错误 | reload 失败、旧注册表仍可用;修正后加载成功 |
| 普通玩家执行 catalog | 只读分页,Texture 头颅和 Glow 正常;无法免费领取 |
| 管理员执行 history 玩家名 | 最新最多 5 条、每条一行,显示时间 / 操作 / 物品 / 结果 |
| 背包满时拆卸、关闭工作台 | 核对实际返还和身边掉落物,避免将掉落误判为丢失 |
验证边界
本次插件修订通过构建和 40 项自动测试;其中元数据测试使用接口替身,不启动完整 Minecraft 服务端。真实背包事件、经济插件接口、旧物品和各目标版本仍需按上表验证。
当前未提供持久化待领取仓库、自动补偿、保底、保护石或完整属性变化模拟预览。多条奖励按顺序执行,某条失败不会通用回滚已经发出的金币、物品或外部命令。复杂合成优先使用符文锻造的统一扣料与产物规划。