Skip to content

GTGem 快速开始 ​

GTGem 是宝石镶嵌系统。它负责识别宝石、识别装备槽位、判断条件、扣除消耗、执行成功率、写入属性和拆卸宝石。

宝石和装备由 NeigeItems、MythicMobs 等物品库创建,然后在物品 NBT 中写入 gtgem 数据。

安装步骤 ​

  1. 安装 GTCore。
  2. 安装 Vault 和经济插件,例如 XConomy、CMI Economy。
  3. 安装物品库,推荐 NeigeItems,也可以使用 MythicMobs Items。
  4. 安装属性插件,例如 CraneAttribute、AttributePlus 或 SX-Attribute。
  5. 在 GTCore 配置中填写 GTGem 激活码。
  6. 启动服务器生成配置。
  7. 准备一颗宝石和一件带槽位的装备。
  8. 执行 /gtgem open 测试镶嵌。

最小可用链路 ​

GTGem 正常使用至少需要两件物品:

物品必须包含
宝石gtgem.type: gem、宝石名称、槽位类型、成功率或默认规则
装备gtgem.sockets 槽位列表

测试时建议先做:

  • 一颗 100% 成功率宝石。
  • 一件只有 1 个槽位的装备。
  • 镶嵌消耗为 0。

这样可以先确认识别、GUI、写入属性都正常。

NeigeItems 最小宝石 ​

放入 NeigeItems 物品配置中,文件名按服务器实际 NI 目录决定。

yaml
红宝石:
  material: NETHER_STAR
  amount: 1
  Name: "&6&l红宝石"
  Lore:
    - "§宝§石"
    - "&7一颗用于测试的红宝石"
    - "&7成功率: &e100%"
    - "&7生命值: &a+500"
  nbt:
    gtgem:
      type: "gem"
      name: "&6&l红宝石"
      socket: "&6&l红宝石"
      rules:
        chance: 1.0
        cost:
          money: 0
          exp: 0
      attributes:
        生命值: 500.0

效果:

  • 这是一颗 GTGem 宝石。
  • 只能镶嵌到 &6&l红宝石 槽位。
  • 成功率 100%。
  • 成功后给装备写入 生命值: 500.0。

如果要一次做红宝石、蓝宝石、生命宝石、暴击宝石等大量宝石,推荐使用 NeigeItems 的 sections、weight、inherit。公共的 gtgem 结构只写一份,每颗宝石只改名称、槽位、成功率和属性值。完整示例见 使用 NeigeItems 模板批量创建宝石。

NeigeItems 最小装备 ​

yaml
红宝石剑:
  material: DIAMOND_SWORD
  Name: "&c&l红宝石之剑"
  Lore:
    - "&7一把带红宝石槽位的剑"
    - "§孔§位 &7[ &c空槽位 &7<&6&l红宝石&7> ]"
  nbt:
    gtgem:
      sockets:
        "0":
          type: "&6&l红宝石"

效果:

  • 这件装备有 1 个红宝石槽位。
  • 上面的红宝石可以镶嵌进去。

MythicMobs 最小宝石 ​

MythicMobs 物品使用扁平 NBT 写法:

yaml
RubyGem:
  Id: NETHER_STAR
  Display: "&6&l红宝石"
  Lore:
    - "§宝§石"
    - "&7成功率: &e100%"
    - "&7生命值: &a+500"
  Options:
    NBT:
      gtgem.type: "gem"
      gtgem.name: "&6&l红宝石"
      gtgem.socket: "&6&l红宝石"
      gtgem.rules.chance: 1.0
      gtgem.rules.cost.money: 0
      gtgem.rules.cost.exp: 0
      gtgem.attributes.生命值: 500.0

MythicMobs 的扁平 NBT 适合基础宝石。复杂规则、列表槽位、动作和拆卸规则更推荐使用 NeigeItems。

MythicMobs 最小装备 ​

yaml
RubySword:
  Id: DIAMOND_SWORD
  Display: "&c&l红宝石之剑"
  Lore:
    - "&7一把带红宝石槽位的剑"
    - "§孔§位 &7[ &c空槽位 &7<&6&l红宝石&7> ]"
  Options:
    NBT:
      gtgem.sockets.0.type: "&6&l红宝石"

玩家使用流程 ​

  1. 玩家获得宝石。
  2. 玩家获得带槽位装备。
  3. 玩家输入:
text
/gtgem open
  1. 在 GUI 中放入装备。
  2. 放入宝石。
  3. 选择槽位。
  4. 点击确认镶嵌。
  5. 成功后装备 Lore 和 NBT 会更新。

镶嵌成功后,装备上的槽位行会变成“已镶嵌”显示。拆卸宝石后,原来的槽位 Lore 会恢复。显示样式可在 config.yml 的 lore-template.socket-filled 中调整,示例见 镶嵌后的 Lore 显示。

管理命令 ​

命令用途
/gtgem open打开宝石镶嵌界面
/gtgem open [GUI] [玩家]打开指定样式的镶嵌界面,也可为在线玩家打开
/gtgem remove [GUI]打开指定样式的拆卸界面
/gtgem info [GUI]打开指定样式的信息查询界面
/gtgem convert itemloreorigin转换 plugins/ItemLoreOrigin/config.yml 中的符文模板
/gtgem reload重载配置
/gtgem debug on开启调试
/gtgem debug off关闭调试
/gtgem debug item查看手持物品 NBT

第一次测试 ​

  1. 用上面的 NI 或 MM 示例创建宝石和装备。
  2. 给玩家宝石和装备。
  3. 执行 /gtgem debug item 分别检查手持宝石和装备。
  4. 执行 /gtgem open。
  5. 镶嵌宝石。
  6. 再次执行 /gtgem debug item 查看装备是否出现槽位和属性数据。
  7. 如果接入 CraneAttribute,把 GTGemAttr 加入 CA 的 NBT 读取配置。

常见问题 ​

宝石放不进去 ​

检查:

  1. Lore 是否有 §宝§石。
  2. NBT 是否有 gtgem.type: gem。
  3. /gtgem debug item 是否能看到 gtgem 数据。

装备不识别 ​

检查:

  1. NBT 是否有 gtgem.sockets。
  2. 每个槽位是否有 type。
  3. Lore 的 §孔§位 只负责显示位置,不是装备识别的必要条件。

宝石和装备不兼容 ​

宝石的 socket 必须和装备槽位的 type 一致。

宝石:

yaml
socket: "&6&l红宝石"

装备:

yaml
sockets:
  "0":
    type: "&6&l红宝石"

镶嵌成功但属性没生效 ​

检查:

  1. config.yml 中 attribute.write-to-nbt: true。
  2. attribute.tag: "GTGemAttr"。
  3. 属性插件是否读取 GTGemAttr。
  4. 装备 NBT 中是否已经写入 GTGemAttr。