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:物品ID或CATEGORY:分类,未引入独立的符文颜色类型。 - 补齐四色符文示例、符文镶嵌台确认预览、未镶嵌符文分解为碎片的配方。
- 新增
CONFIRM_EMBED与CLOSE,支持跳转后返还输入;保留旧菜单 Shift+右键装备的批量入口。 - 宝石分类浏览支持分页,领取仅响应左键与 Shift+左键。
- 统一装备单件限制、符文槽规则、Gui 限制与执行前预检。
修复
- 修正矛的分类和技能说明:矛是突刺/蓄力近战武器,不属于
RANGED,示例不再使用不存在的onLaunch:SPEAR/onHit:SPEAR投掷流程。 - 防止双击带走装饰图标、拖拽/数字键/副手交换绕过槽位限制,普通取回装备不会误触镶嵌。
- 菜单持有布局快照,重载与正常停用前回收投入物品;关窗后停止无效刷新。
- 直接使用先预留一颗宝石再发奖,修复失败消耗不一致和礼包奖励被手持回写覆盖。
Eat: true的消耗类宝石可由食用事件处理,支持副手,取消原版吃喝避免二次消耗;原版食物、药水效果和空瓶产物不执行。- 新镶嵌逐颗记录实际成功的奖励及撤销数据,拆卸只移除最近的一颗同 ID,并处理失败退款。
- 点券扣除检查实际交易结果,拒绝非法金额;随机池忽略非正权重并避免整数总权重溢出。
- 修复
none:命令提示无法静默、方块主副手重复打开、被取消的挖掘清除工作台标记等问题。
配置与文档
- 菜单加载检查行列、槽位字符、类型、数量和重复菜单名。
- 配置自检增加未知奖励、无效奖池和不存在的 Gui 引用。
- 新增启动与重载后的配置健康检查;缺失的核心配置文件会自动尝试以非覆盖方式补回,仍缺失的路径会在控制台明确列出。
config.yml与语言文件启用迁移支持,新节点尽量补入旧文件;菜单、宝石和技能文件的自定义内容保留并提示手动合并。- 补齐三语操作提示,更新语言目录、标记入口、权限、费用取整和旧装备限制说明。
- 已有
gui/gui.yml、gui/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(开箱抽奖) - 奖励函数体系:
AttributeEnchantLoreAddLoreVarConditional等,支持表达式与叠加上限 - 技能引擎:绑定装备 lore 文本触发,支持触发标记、条件、概率、延迟、重复与形态切换
- 常驻 BUFF 引擎:每秒扫描装备 lore 标记施加效果
- 自定义工作台菜单:字符网格布局,五种槽位类型
- 内置宝石镶嵌台
/sgem embed
查看与拆卸
/sgem inspect只读查看装备上已镶嵌的宝石/sgem dismantle拆卸宝石,可配置费用(金币/点券/经验)与损坏概率- 拆卸时真正撤销属性修饰符与附魔等级,而非仅跑
$onRemove - 镶嵌属性宝石前先固化装备原生属性,避免护甲/韧性等自带属性消失
多版本兼容
- 支持 1.21.4 → 26.x,同一份配置跨版本通用
- 启动时读服务端注册表建快照,不按版本号硬编码
- 七个可开关的版本功能模块(
MaceSpearCopperEquipment等),默认auto - 1.21.11 矛(七种材质)与其专属附魔「突进」
lunge的完整支持 - 旧名兼容:
DURABILITY、GENERIC_MAX_HEALTH等老配置无需修改 /sgem compat版本能力报告与配置自检,区分「版本不支持」与「写错了」
权限
- 13 个细粒度权限节点,两个伞节点
snowygems.user(默认所有人)与snowygems.admin(默认 OP)
版本更新与公告
- 服务器启动完成后异步检测一次,本地版本与官方不一致即提示
- 公告拉取,控制台与管理员上线时展示
- 遵循 JVM 系统代理,可完全关闭
经济对接
- 金币走 Vault,点券支持内置账户或 PlayerPoints
- 兑换券类宝石发放后主动告知玩家获得数额
排错
- 20 个 debug tag,可按范围过滤日志
- 全部玩家可见文案集中在
lang.yml(134 个节点),热重载生效
版本记录约定
发布新版本时,在上方按这个格式追加:
## 0.1.0
**新增**
- 我是功能
**修复**
- 我是问题
**配置变动**
- 我是变动
**破坏性变更**
- 我是变更