Snowygems

安装与快速上手

SnowyGems 的安装步骤、目录结构、命令与权限,以及第一次配置需要知道的事。

安装与快速上手

SnowyGems 是一个宝石镶嵌插件:玩家把「宝石」镶嵌到装备上,装备获得属性、附魔或常驻 BUFF;宝石还能带主动技能,右键、攻击、挖矿时触发。

本手册面向服主。全部内容基于插件当前源码整理,配置字段与函数清单均以代码实际读取的为准。

环境要求

项目要求
服务端Paper / Spigot 及其衍生(Leaves、Purpur 等),支持 Folia
版本1.21.4 及以上,含 1.21.5 ~ 1.21.11、26.x
依赖无硬依赖
可选Vault(金币奖励)、PlayerPoints(点券后端)

插件不按版本号写死功能,而是启动时读服务端注册表。高版本新增的属性、附魔、药水效果、物品会自动可用;低版本没有的内容会跳过并在控制台说明,不影响其他宝石。详见多版本兼容


安装

  1. SnowyGems-1.0-Dev.jar 放进 plugins/
  2. 启动服务器,插件会在 plugins/SnowyGems/ 下释放默认配置
  3. 控制台出现启动横幅与加载统计后即安装完成
默认配置只在文件不存在时释放,不会覆盖你改过的文件。这也意味着插件更新后新增的示例文件不会自动出现在旧服上——需要手动比对或删掉对应文件让它重新释放。

目录结构

plugins/SnowyGems/
├── config.yml              # 全局设置:调试、点券后端、版本兼容模块
├── lang.yml                # 玩家能看到的所有文字(唯一修改入口)
├── gems/                   # 宝石定义
│   ├── AttributeGem.yml    #   属性类
│   ├── EnchantGem.yml      #   附魔类
│   ├── FunctionGem.yml     #   功能类(无限耐久、隐藏粉尘等)
│   ├── PotionGem.yml       #   BUFF 药水类
│   ├── PlayerGem.yml       #   玩家类(兑换券、饮品)
│   └── ModernGem.yml       #   新版本内容示例(矛/铜装/锤/新属性)
├── skills/                 # 技能与 BUFF 定义
│   ├── DefaultSkills.yml   #   主动技能示例
│   ├── DefaultBuffs.yml    #   常驻 BUFF 定义
│   ├── ExampleSkills.yml   #   进阶技能示例(条件/概率/连招)
│   └── ModernBuffs.yml     #   新版本 BUFF 示例
├── gui/                    # 工作台菜单布局
│   ├── gui.yml
│   └── rune.yml
└── data/
    └── points.yml          # 内置点券账户(用 PlayerPoints 时不使用)

gems/skills/ 下的文件名可以任意起,插件会加载目录里所有 .ymlgems/ 的文件名会成为 /sgem view 里的分类名。


命令

主命令 /sgem,权限 snowygems.command

插件只有这一个权限节点,覆盖全部子命令,其中包含 /sgem give(凭空生成宝石)和 /sgem reload。给权限等于给了完整管理权,不要发给普通玩家。若要让玩家使用镶嵌台,用命令方块、NPC 或菜单按钮代为打开,而不是直接授予该权限。
命令作用
/sgem view分类浏览全部宝石,点击领取(管理用)
/sgem embed打开通用宝石镶嵌台
/sgem inspect查看手持装备上已镶嵌的宝石
/sgem use直接使用手持的兑换券/饮品类宝石
/sgem open <菜单名>打开 gui/ 里定义的工作台菜单
/sgem give <玩家> <宝石ID> [数量]发放宝石
/sgem compat [all]查看当前服务端支持哪些版本能力
/sgem skills [关键字]列出可用技能函数与用法
/sgem triggers列出可用触发标记
/sgem debug [tag,...]开关调试输出,可只看指定 tag
/sgem reload重载全部配置

第一次配置:建议顺序

先跑 /sgem compat

看清自己这个版本有什么、没有什么。比如 1.21.4 上没有矛(SPEAR)和铜装备,那么 ModernGem.yml 里相关宝石就会被跳过——这是正常的,不是报错。

打开 /sgem embed 试一次镶嵌

/sgem give 你自己 生命宝石 拿一颗,配一件盔甲,走一遍完整流程,确认插件工作正常。

lang.yml 而不是改代码

玩家能看到的每一句话都在 lang.yml 里。改完保存即生效,不需要重载。

照抄示例改宝石

gems/ 下的文件都带完整中文注释,从最接近你需求的那颗开始复制修改。字段含义见宝石配置

遇到不生效就开 debug

/sgem debug Reward,GemManager 只看镶嵌相关日志,能直接看到每条 Rewards 的执行结果。见排错


config.yml 速览

# 调试模式:把插件全部交互逻辑输出到控制台
Debug: false

# 调试 tag 白名单,留空表示全部
# 可用:Registry Compat Command Menu Workbench Embed GUI GemUse
#       Protect GemManager ItemFactory Reward Skill SkillExec Buff
#       Points Money PlayerPoints
DebugTags: []

# 点券后端:Internal(内置 data/points.yml)或 PlayerPoints
Points:
  Provider: Internal

Compat:
  # 配置用到当前版本不存在的内容时如何处理
  #   skip   跳过并记日志(默认)
  #   warn   用警告级别输出,排查配置时用
  #   strict 用醒目错误级别输出,上线前自检用
  OnMissingFeature: skip

  # 启动时是否打印版本能力简报
  ReportOnStartup: true

  # 按版本自动启停的功能模块,auto = 由服务端注册表决定
  Modules:
    Mace: auto                # 1.21+ 锤及其专属附魔
    Spear: auto               # 1.21.11+ 矛
    CopperEquipment: auto     # 1.21.9+ 铜装备
    ModernAttributes: auto    # 1.20.5+ scale / 交互距离 等
    MiningAttributes: auto    # 1.21.2+ 挖掘与移动类属性
    TrialEffects: auto        # 1.21+ 试炼密室药水效果
    WaypointAttributes: auto  # 26.x 路径点属性

三种 OnMissingFeature 级别都不会阻止插件启动。宝石配置通常很大,一条写错就拒绝启动会让整个服进不去,代价远高于收益;strict 的意义是「绝对不会被忽略的醒目报错」。


接下来

宝石配置

宝石的全部字段、Rewards 函数、Require 写法。

技能与 BUFF

技能行语法、24 个函数、触发标记、形态切换。

菜单配置

自定义工作台:字符网格、槽位类型、分类限制。

多版本兼容

1.21.4 → 26.x 的兼容原理与模块开关。

排错

「宝石点了没反应」的排查路径与常见坑。
Copyright © 2026