Skip to content

稀有度配置

稀有度配置文件 rarities.yml 用于定义随机商店中物品的生成概率。

配置位置

plugins/AIOShop/rarities.yml

完整配置示例

yaml
# 稀有度配置文件 - 随机商店物品生成概率配置
rarities:
  # 普通级 - 最常见的物品
  普通:
    chance: 0.5    # 50% 基础概率

  # 稀有级 - 较少见的有用物品
  稀有:
    chance: 0.3    # 30% 基础概率

  # 史诗级 - 罕见的高价值物品
  史诗:
    chance: 0.15   # 15% 基础概率

  # 传说级 - 极其稀有的顶级物品
  传说:
    chance: 0.05   # 5% 基础概率

配置说明

chance 参数

  • 取值范围:0.0 - 1.0
  • 数值越高,物品出现概率越大
  • 所有概率值不需要加起来等于 1.0,插件会自动计算权重

权重计算

插件会自动将 chance 值转换为相对权重:

实际概率 = 该稀有度chance / 所有稀有度chance之和

示例:

  • 普通: 0.5 / (0.5+0.3+0.15+0.05) = 50%
  • 稀有: 0.3 / 1.0 = 30%
  • 史诗: 0.15 / 1.0 = 15%
  • 传说: 0.05 / 1.0 = 5%

在商店中使用

在商店配置中,通过 rarity 字段引用稀有度:

yaml
# shops/random-shop.yml
items:
  diamond_sword:
    item-id: "diamond_sword"
    rarity: "史诗"          # 引用 rarities.yml 中定义的稀有度
    display-name: "&b&l钻石剑"
    buy-price:
      amount: 500
      currency: "VAULT"
    # ...

与生成模式的配合

ITEM_BY_ITEM 模式

每次选择商品时,根据稀有度权重随机选择:

yaml
random-generation:
  generation-mode: "ITEM_BY_ITEM"
  count: 8  # 生成 8 个商品,每个都根据权重随机选择

RARITY_FIRST 模式

先确定每种稀有度的数量,再从对应池中随机:

yaml
random-generation:
  generation-mode: "RARITY_FIRST"
  rarity-counts:
    普通: 4
    稀有: 2
    史诗: 1
    传说: 1  # 如果没有传说物品,会尝试用其他稀有度填充

自定义稀有度

你可以添加更多稀有度等级:

yaml
rarities:
  # 基础稀有度
  垃圾:
    chance: 0.6
  普通:
    chance: 0.5
  稀有:
    chance: 0.3
  史诗:
    chance: 0.15
  传说:
    chance: 0.05

  # 特殊稀有度
  神话:
    chance: 0.01   # 1% 概率
  限定:
    chance: 0.005  # 0.5% 概率

调整建议

新手友好

提高普通物品概率:

yaml
rarities:
  普通:
    chance: 0.7    # 70%
  稀有:
    chance: 0.2    # 20%
  史诗:
    chance: 0.08   # 8%
  传说:
    chance: 0.02   # 2%

增加稀有感

降低高级物品概率:

yaml
rarities:
  普通:
    chance: 0.6
  稀有:
    chance: 0.25
  史诗:
    chance: 0.1
  传说:
    chance: 0.03
  神话:
    chance: 0.02

注意事项

  1. 稀有度名称:可以使用中文或英文,需要与商店配置中的 rarity 字段完全匹配
  2. 未定义稀有度:如果商品引用了未定义的稀有度,该商品可能不会出现在随机商店中
  3. 空稀有度池:如果某稀有度没有对应商品,RARITY_FIRST 模式会尝试用其他稀有度填充

基于 CC0 1.0 许可发布