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