Skip to content

MythicMobs GTDrops

GTDrops 是写在 MythicMobs 怪物配置里的 GTMobDrops 掉落节点。
这种写法最适合 MM 怪物:你打开怪物文件,就能同时看到怪物属性和它的掉落。

写在哪里

例如你的怪物文件是:

text
plugins/MythicMobs/Mobs/Boss.yml

怪物配置是:

yaml
SkeletonKing:
  Type: SKELETON
  Display: '&6骷髅王'
  Health: 500
  Damage: 18

就在这个怪物下面加 GTDrops

yaml
SkeletonKing:
  Type: SKELETON
  Display: '&6骷髅王'
  Health: 500
  Damage: 18
  GTDrops:
    drops:
      - "DIAMOND 1 1.0"

效果:玩家击杀骷髅王后,100% 掉 1 个钻石。

基础掉落

yaml
ZombieSoldier:
  Type: ZOMBIE
  Display: '&a僵尸士兵'
  Health: 80
  Damage: 6
  GTDrops:
    drops:
      - "ROTTEN_FLESH 1-3 1.0"
      - "DIAMOND 1 0.05"

效果:

  • 100% 掉 1 到 3 个腐肉。
  • 5% 掉 1 个钻石。

概率换算:

text
1.0 = 100%
0.5 = 50%
0.05 = 5%

物品库掉落

yaml
SkeletonKing:
  Type: SKELETON
  Display: '&6骷髅王'
  Health: 500
  Damage: 18
  GTDrops:
    drops:
      - "ni:gold_coin 5-12 1.0"
      - "mm:boss_soul 1 0.05"
      - "ia:geartech:rare_crystal 1 0.02"

效果:

  • 100% 掉 5 到 12 个 NI 金币。
  • 5% 掉 1 个 MythicMobs 物品 boss_soul
  • 2% 掉 1 个 ItemsAdder 物品。

如果物品库物品没掉,先把同一行换成 DIAMOND 1 1.0 测试。原版物品能掉,说明 GTDrops 节点没问题,问题在物品库 ID 或对应插件。

详细掉落

当你需要稀有度、条件、动作、限制时,用详细写法。

yaml
SkeletonKing:
  Type: SKELETON
  Display: '&6骷髅王'
  Health: 500
  Damage: 18
  GTDrops:
    detailed-drops:
      boss_soul:
        id: "mm:boss_soul"
        amount: 1
        chance: 0.05
        rarity: "legendary"
        conditions:
          - "level:>=30"
          - "world:world"
        actions:
          onDrop:
            - "message: &a你获得了 &e{item} &ax{amount}"
          onRare:
            - "broadcast: &6{player} 击杀 {mob} 获得了 {item}"
        limit:
          personal: 1
          time: "1D"

效果:

  • 玩家等级大于等于 30。
  • 玩家在 world 世界。
  • 5% 概率掉 mm:boss_soul
  • 掉落时给玩家提示。
  • 稀有掉落时全服广播。
  • 每个玩家每天最多获得 1 个。

detailedDropsdetailed-drops 都能用。文档统一写 detailed-drops

引用掉落池

如果很多怪物共用一批材料,可以直接引用掉落池,避免在每只怪物中重复配置。

yaml
ZombieSoldier:
  Type: ZOMBIE
  Display: '&a僵尸士兵'
  Health: 80
  Damage: 6
  GTDrops:
    pool: "common_monster_pool"

如果这个怪物还要有自己的专属掉落,可以同时写:

yaml
ZombieSoldier:
  Type: ZOMBIE
  Display: '&a僵尸士兵'
  Health: 80
  Damage: 6
  GTDrops:
    pool: "common_monster_pool"
    drops:
      - "ni:zombie_badge 1 0.1"

效果:

  • 先判定怪物自己的 ni:zombie_badge
  • 再判定 common_monster_pool 掉落池。

同物品优先级

如果怪物自身和掉落池都有同一个物品 ID,怪物自身配置优先,掉落池里同 ID 会跳过。

怪物:

yaml
SkeletonKing:
  Type: SKELETON
  GTDrops:
    pool: "boss_pool"
    drops:
      - "ni:boss_soul 1 0.05"

掉落池:

yaml
DropPools:
  boss_pool:
    mode: "chance"
    items:
      - id: "ni:boss_soul"
        amount: "1-3"
        chance: 0.30
      - id: "ni:gold_coin"
        amount: "5-20"
        chance: 0.80

最终效果:

  • ni:boss_soul 按怪物自身配置:1 个,5%。
  • 掉落池里的 ni:boss_soul 不再判定。
  • ni:gold_coin 正常按掉落池判定。

这样不会出现同一件物品重复判定两次。

禁用某只怪物的 GTDrops

如果你想让某只 MM 怪物不走 GTMobDrops:

yaml
SkeletonKing:
  Type: SKELETON
  GTDrops:
    enabled: false

写了 enabled: false 后,这只怪物不会回退去读取 plugins/GTMobDrops/drops/ 里的同名配置。

测试方法

  1. 保存 MythicMobs 怪物文件。
  2. 重载 MythicMobs。
  3. 执行:
text
/gtmd reload
  1. 模拟掉落:
text
/gtmd preview SkeletonKing 200
  1. 实际召唤怪物击杀一次。

如果 100% 测试仍未掉落,优先按下面流程排查配置链路。

常见配置问题

概率字段

GTDrops 概率字段使用 0.0 ~ 1.0 小数。100% 掉落写:

yaml
GTDrops:
  drops:
    - "DIAMOND 1 1.0"

GTDrops 缩进

GTDrops 必须写在怪物节点下面,和 TypeDisplay 同级:

yaml
SkeletonKing:
  Type: SKELETON
GTDrops:
  drops:
    - "DIAMOND 1 1.0"
yaml
SkeletonKing:
  Type: SKELETON
  GTDrops:
    drops:
      - "DIAMOND 1 1.0"

怪物 ID 写错

/gtmd preview 后面写的是怪物 InternalName,例如:

text
/gtmd preview SkeletonKing 200

显示名 &6骷髅王 不能作为预览命令里的怪物 ID。

物品库 ID 写错

排查顺序:

  1. 先写 DIAMOND 1 1.0
  2. 如果原版能掉,再换成 ni:xxxmm:xxx
  3. 如果换物品库后不掉,检查物品库插件是否加载、物品 ID 是否真实存在。