Skip to content

掉落表与掉落池

GTMobDrops 支持把配置拆进文件夹,避免所有东西挤在一个 config.yml 里。
drops/ 管怪物自己的掉落,droppools/ 管多个怪物共用的掉落池。

文件夹支持无限分类

这些目录都可以创建子文件夹:

text
plugins/GTMobDrops/drops/**/*.yml
plugins/GTMobDrops/droppools/**/*.yml
plugins/GTMobDrops/rateBoost/**/*.yml
plugins/GTMobDrops/sets/**/*.yml

例如:

text
plugins/GTMobDrops/
  drops/
    novice/zombie.yml
    dungeon/ice/ice_boss.yml
    dungeon/dragon/dragon_king.yml
  droppools/
    common/common_monster.yml
    boss/boss_pool.yml
    event/summer_event.yml

README.yml*.example.yml 是说明文件,不会当成正式配置读取。

drops 目录:写某个怪物自己的掉落

创建:

text
plugins/GTMobDrops/drops/novice/zombie.yml

写入:

yaml
ZOMBIE:
  enabled: true
  drops:
    - "ROTTEN_FLESH 1-3 1.0"
    - "DIAMOND 1 0.05"

效果:

  • 原版僵尸 100% 掉 1 到 3 个腐肉。
  • 原版僵尸 5% 掉 1 个钻石。

如果是 MythicMobs 怪物,就把 ZOMBIE 换成 MM 的 InternalName:

yaml
SkeletonKing:
  enabled: true
  drops:
    - "ni:gold_coin 5-12 1.0"
    - "mm:boss_soul 1 0.05"

drops 目录:一个文件写多个怪物

也可以一个文件放一组怪物:

text
plugins/GTMobDrops/drops/novice/mobs.yml
yaml
ZOMBIE:
  enabled: true
  drops:
    - "ROTTEN_FLESH 1-3 1.0"

SKELETON:
  enabled: true
  drops:
    - "BONE 1-3 1.0"

效果:

  • 一个文件管理初级区域所有普通怪。
  • 后期怪物多了,可以再按区域拆文件。

droppools 目录:写公共掉落池

创建:

text
plugins/GTMobDrops/droppools/common/common_monster.yml

写入:

yaml
DropPools:
  common_monster_pool:
    name: "普通怪掉落池"
    mode: "chance"
    items:
      - id: "ni:gold_coin"
        amount: "1-5"
        chance: 0.40
      - id: "IRON_INGOT"
        amount: "1-2"
        chance: 0.08

怪物引用:

yaml
ZOMBIE:
  enabled: true
  pool: "common_monster_pool"

效果:

  • 僵尸会使用 common_monster_pool
  • 金币 40% 独立判定。
  • 铁锭 8% 独立判定。

chance 模式

mode: "chance" 表示每个物品都独立判定一次。

yaml
DropPools:
  common_monster_pool:
    mode: "chance"
    items:
      - id: "ni:gold_coin"
        amount: "1-5"
        chance: 0.40
      - id: "ni:small_gem"
        amount: 1
        chance: 0.05

可能结果:

  • 只出金币。
  • 只出宝石。
  • 金币和宝石都出。
  • 都不出。

适合普通怪、活动材料、额外奖励。

weight 模式

mode: "weight" 表示先按权重抽一个候选物品,再判定这个物品自己的 chance

yaml
DropPools:
  boss_reward_pool:
    name: "Boss奖励池"
    mode: "weight"
    items:
      - id: "ni:boss_essence"
        amount: 1
        chance: 1.0
        weight: 80
      - id: "ni:legend_sword"
        amount: 1
        chance: 0.20
        weight: 5
        rare: true
        broadcast: true

效果:

  • 更容易抽到 boss_essence
  • 抽到 legend_sword 后,还要再过 20% 概率。
  • 适合“一次最多给一类奖励”的 Boss 奖励池。

怪物自身掉落加掉落池

推荐结构:

yaml
SkeletonKing:
  enabled: true
  pool: "boss_reward_pool"
  drops:
    - "ni:skeleton_badge 1 0.1"

效果:

  • ni:skeleton_badge 是骷髅王专属掉落。
  • boss_reward_pool 是所有 Boss 共用掉落。

这样以后改通用 Boss 奖励,只改掉落池即可。

同物品不重复判定

处理顺序:

  1. 怪物自身 drops
  2. 怪物自身 detailed-drops
  3. pool 掉落池。
  4. extraDrops

如果怪物自身和池子都有同一个物品 ID,池子里的同 ID 会跳过。

yaml
SkeletonKing:
  enabled: true
  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 按怪物自身的 5% 和 1 个计算。
  • 池子里的 ni:boss_soul 不计算。
  • ni:gold_coin 正常计算。

保底

保底用于“打很多次都不出时强制给一次”。

yaml
DropPools:
  boss_pool:
    mode: "chance"
    items:
      - id: "ni:legend_material"
        amount: 1
        chance: 0.03
    guarantee:
      enabled: true
      times: 50
      item: "ni:legend_material"
      amount: 1
      message: "&6[保底] 你获得了传说材料。"

效果:

  • 正常情况下 3% 概率出传说材料。
  • 连续 50 次没出时,触发保底。

连续不掉落加成

连续不掉落加成通常叫 pity。每次没出时,下次概率提高一点。

yaml
DropPools:
  boss_pool:
    mode: "chance"
    items:
      - id: "ni:legend_material"
        amount: 1
        chance: 0.03
    pity:
      enabled: true
      increment: 0.01
      maxBonus: 0.20

效果:

  • 基础概率 3%。
  • 每次没出,下次额外加 1%。
  • 额外加成最高 20%。

掉落池属性源

掉落池可以绑定一个属性。

yaml
DropPools:
  rare_pool:
    name: "稀有掉落池"
    mode: "chance"
    attributeSource: "ca:稀有掉落率"
    items:
      - id: "ni:rare_gem"
        amount: 1
        chance: 0.05

效果:

  • 玩家身上的 稀有掉落率 属性会影响这个池子。
  • 适合做不同装备、职业、区域的专属掉率。

常见来源:

text
ca:属性名
ap:属性名
perm:权限节点
set:套装ID
global

物品级 bonus

某些物品不想吃任何加成,可以写:

yaml
items:
  - id: "ni:legend_sword"
    amount: 1
    chance: 0.01
    bonus:
      ignoreAll: true

效果:不管玩家有多少掉率属性,这件物品都按 1% 判定。

只允许某些加成来源:

yaml
items:
  - id: "ni:rare_gem"
    amount: 1
    chance: 0.05
    bonus:
      allowedSources:
        - "ca:稀有掉落率"
        - "perm:gt.vip"

效果:只有 ca:稀有掉落率gt.vip 权限加成能影响这个物品。

检查方法

改完后执行:

text
/gtmd reload
/gtmd preview ZOMBIE 200

掉落池不生效时按顺序查:

  1. droppools/ 文件后缀是否为 .yml
  2. 根节点是否为 DropPools:
  3. 怪物的 pool 名字是否和池子 ID 完全一致。
  4. 池子里物品先用 DIAMOND 1.0 测试。
  5. 概率字段是否符合 0.0 ~ 1.0 的写法。