SnowyGems

更新日志

当前开发改动、配置迁移与验证边界。

0.0.5

更新日期:2026/9/11

新增

  • 更新可以将方块标记为符文锻造台的功能

0.0.4

更新日期:2026/9/10

Paper 物品数据兼容修复(Issue #1)

  • 宝石标识、镶嵌与拆卸历史、属性累计和隐藏 Lore 改存 Bukkit PDC,移除插件对 TabooLib NMS ItemTag 的调用与模块依赖。
  • 通过 Paper 公共物品序列化接口导入旧 NBT;保留空数据记录,避免拆卸后旧标签再次出现。
  • 修复默认属性保留标记可能被后续 ItemMeta 写入覆盖的问题。
  • 增加旧版与现代 NBT、压缩格式、长历史和损坏数据的回归测试。未完成 Paper 26.2 实服验证,升级与降级说明见排错与调试

符文锻造

  • 新增 /sgem rune、材料数量预览、二次确认和分页;新增 snowygems.rune 玩家权限与 RUNE_FORGE 菜单按钮。
  • 新增 10 条可配置配方:碎片合成四色一级符文,红蓝绿升级为二级,二级回收为碎片。
  • 扣料和产物空间统一规划,缺料或空间不足时保持背包原样;执行前重查,旧菜单与重载后的点击失效。
  • 补充 10 个锻造规划回归测试,覆盖满背包、跨格扣料、堆叠上限与材料守恒。详见符文锻造与升级

功能与交互

  • 默认一、二级符文使用可拆卸的 Lore 标记,便于 SX 等外部属性插件读取;示例本身不直接提供对应属性或技能效果。
  • 统一默认镶嵌台、符文镶嵌台和分解台的装饰、引导与操作入口;确认预览显示符文槽名称,替代难理解的内部格子编号。
  • 当前默认符文槽仍按配置关键词匹配颜色;需要严格区分时,可配置 GEM:物品IDCATEGORY:分类,未引入独立的符文颜色类型。
  • 补齐四色符文示例、符文镶嵌台确认预览、未镶嵌符文分解为碎片的配方。
  • 新增 CONFIRM_EMBEDCLOSE,支持跳转后返还输入;保留旧菜单 Shift+右键装备的批量入口。
  • 宝石分类浏览支持分页,领取仅响应左键与 Shift+左键。
  • 统一装备单件限制、符文槽规则、Gui 限制与执行前预检。

修复

  • 修正矛的分类和技能说明:矛是突刺/蓄力近战武器,不属于 RANGED,示例不再使用不存在的 onLaunch:SPEAR / onHit:SPEAR 投掷流程。
  • 防止双击带走装饰图标、拖拽/数字键/副手交换绕过槽位限制,普通取回装备不会误触镶嵌。
  • 菜单持有布局快照,重载与正常停用前回收投入物品;关窗后停止无效刷新。
  • 直接使用先预留一颗宝石再发奖,修复失败消耗不一致和礼包奖励被手持回写覆盖。
  • Eat: true 的消耗类宝石可由食用事件处理,支持副手,取消原版吃喝避免二次消耗;原版食物、药水效果和空瓶产物不执行。
  • 新镶嵌逐颗记录实际成功的奖励及撤销数据,拆卸只移除最近的一颗同 ID,并处理失败退款。
  • 点券扣除检查实际交易结果,拒绝非法金额;随机池忽略非正权重并避免整数总权重溢出。
  • 修复 none: 命令提示无法静默、方块主副手重复打开、被取消的挖掘清除工作台标记等问题。

配置与文档

  • 菜单加载检查行列、槽位字符、类型、数量和重复菜单名。
  • 配置自检增加未知奖励、无效奖池和不存在的 Gui 引用。
  • 新增启动与重载后的配置健康检查;缺失的核心配置文件会自动尝试以非覆盖方式补回,仍缺失的路径会在控制台明确列出。
  • config.yml 与语言文件启用迁移支持,新节点尽量补入旧文件;菜单、宝石和技能文件的自定义内容保留并提示手动合并。
  • 补齐三语操作提示,更新语言目录、标记入口、权限、费用取整和旧装备限制说明。
  • 已有 gui/gui.ymlgui/rune.yml 不会自动替换,请按工作台升级步骤合并。

验证范围

  • 24 项回归测试通过,覆盖奖励撤销、符文锻造规划、PDC 编解码和旧 NBT 导入。
  • 19 个 YAML、168 个宝石、3 个菜单、3 种语言(各 179 个键)、10 条符文配方校验通过。

升级注意

  • 更新前备份插件目录、世界和玩家数据。新物品与后续写入使用 PDC,旧构建无法读取新数据,不宜直接降级。
  • 符文新配置文件缺失时会释放;已有 GUI 请手动合并确认按钮、锻造入口与符文槽规则。
  • 默认符文只写 Lore 标记,需在外部属性插件中配置对应效果。

项目提供自动回归测试和配置检查。构建及测试结果以本次交付记录为准。未在运行中的 Minecraft 服务端、真实 Vault/PlayerPoints 账户或全部目标版本上完成联机验证;不承诺 Folia 支持。

旧装备无法补回历史上丢失的重复强化次数或数值,详见旧装备的边界


以下 0.0.1–0.0.3 内容合并自指定的历史更新日志,描述对应版本的情况;当前功能与兼容性限制以 0.0.4 和各功能页面为准。

0.0.3

更新日期:2026/9/8

修复

  • 修复新版宝石礼包使用后无效果的问题

0.0.2

更新日期:2026/8/26

新增

  • 增加镶嵌台标记功能,使用 /sgem mark 即可将准星所指的方块变为镶嵌台。右键即可打开镶嵌台
  • 可在 config.yml 文件中的 tagged-blocks 字段中修改可被标记成镶嵌台的方块
  • 语言文件大改,增加多语言功能,内置简体中文,繁体中文与英语

修复

  • 修复材质为食物的宝石可以食用的漏洞
  • 修复材质为末影之眼的宝石可以扔出的漏洞
  • 修复普通物品宝石可以被分解或参与合成的漏洞

配置变动

  • 语言文件迁移至 \lang 文件夹中
  • 新增 MarkedBlocks.yml 文件来记录被标记成镶嵌台的方块

破坏性变更

  • 现语言文件不支持热加载,切换语言或更改文本内容之后请执行 /sgem reload 指令

0.0.1

初始先行版(历史记录)

核心系统

  • 宝石镶嵌:把宝石镶到装备上获得属性、附魔、常驻 BUFF 与主动技能
  • 三种宝石类型:镶嵌类(默认)、PlayerGem(右键直接生效)、RandomGem(开箱抽奖)
  • 奖励函数体系:Attribute Enchant LoreAdd LoreVar Conditional 等,支持表达式与叠加上限
  • 技能引擎:绑定装备 lore 文本触发,支持触发标记、条件、概率、延迟、重复与形态切换
  • 常驻 BUFF 引擎:每秒扫描装备 lore 标记施加效果
  • 自定义工作台菜单:字符网格布局,五种槽位类型
  • 内置宝石镶嵌台 /sgem embed

查看与拆卸

  • /sgem inspect 只读查看装备上已镶嵌的宝石
  • /sgem dismantle 拆卸宝石,可配置费用(金币/点券/经验)与损坏概率
  • 拆卸时真正撤销属性修饰符与附魔等级,而非仅跑 $onRemove
  • 镶嵌属性宝石前先固化装备原生属性,避免护甲/韧性等自带属性消失

多版本兼容

  • 支持 1.21.4 → 26.x,同一份配置跨版本通用
  • 启动时读服务端注册表建快照,不按版本号硬编码
  • 七个可开关的版本功能模块(Mace Spear CopperEquipment 等),默认 auto
  • 1.21.11 矛(七种材质)与其专属附魔「突进」lunge 的完整支持
  • 旧名兼容:DURABILITYGENERIC_MAX_HEALTH 等老配置无需修改
  • /sgem compat 版本能力报告与配置自检,区分「版本不支持」与「写错了」

权限

  • 13 个细粒度权限节点,两个伞节点 snowygems.user(默认所有人)与 snowygems.admin(默认 OP)

版本更新与公告

  • 服务器启动完成后异步检测一次,本地版本与官方不一致即提示
  • 公告拉取,控制台与管理员上线时展示
  • 遵循 JVM 系统代理,可完全关闭

经济对接

  • 金币走 Vault,点券支持内置账户或 PlayerPoints
  • 兑换券类宝石发放后主动告知玩家获得数额

排错

  • 20 个 debug tag,可按范围过滤日志
  • 全部玩家可见文案集中在 lang.yml(134 个节点),热重载生效

版本记录约定

发布新版本时,在上方按这个格式追加:

## 0.1.0

**新增**
- 我是功能

**修复**
- 我是问题

**配置变动**
- 我是变动

**破坏性变更**
- 我是变更
Copyright © 2026