跳到正文

CobbleBoss

作者:RainApricot

一个允许你在Cobblemon世界中无限添加并自定义专属Boss的模组。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

CobbleBoss Boss 用户指南

1. 数据包结构

CobbleBoss 数据包使用 cobbleboss 命名空间。

普通 Boss 文件放置于:

data/cobbleboss/bosses/

付费多人 Boss 团队文件放置于:

data/cobbleboss/boss_teams/

主要结构:

pack.mcmeta
data/cobbleboss/bosses/
data/cobbleboss/boss_teams/

推荐文件命名:

  • 使用小写英文字母。
  • 使用下划线代替空格。
  • 使用与 Boss 相关的清晰名称。
  • 保持每个 Boss 文件独立。

2. Boss JSON 控制的内容

Boss JSON 控制:

  • Boss 是哪种宝可梦
  • Boss 显示名称
  • Boss 发光颜色
  • 自然生成规则
  • 胜利后的奖励
  • 失败后的惩罚
  • 招式
  • 努力值
  • 自定义战斗属性
  • 性格
  • 特性
  • 形态
  • 携带物品
  • 战斗模式
  • 每回合行动次数
  • 护盾设置
  • 阶段技能
  • Boss 体型

3. 推荐阅读顺序

对于初学者,请先了解以下部分:

  • Boss 身份
  • 生成规则
  • 奖励与惩罚
  • 战斗配置
  • 视觉设置
  • 高级突袭机制

最重要的字段:

  • unique_id
  • species_id
  • random_configs

推荐字段:

  • display_name
  • glow
  • moves
  • battle_mode
  • actions_per_turn
  • scale

可选字段:

  • spawn_rule
  • reward_rule
  • punish_rule
  • effort_values
  • custom_battle_stats
  • phase_skills
  • held_items
  • nature
  • ability
  • form
  • shield_layers
  • shield_recover_per_turn
  • shield_weaken_turns

4. 顶层 Boss 字段

unique_id

用途:

Boss 的唯一内部 ID。

建议:

必填。

注意事项:

  • 必须唯一。
  • 命令使用此 ID。
  • 不要在多个 Boss 文件中重复使用相同的 ID。
  • 推荐格式为小写英文字母加下划线。

display_name

用途:

游戏中向玩家显示的名称。

建议:

推荐填写。

注意事项:

  • 支持 Minecraft 颜色代码。
  • 有助于让 Boss 名称更加醒目。
  • 如果省略,可能会使用物种名称代替。

species_id

用途:

定义 Boss 是哪种宝可梦物种。

建议:

必填。

注意事项:

  • 通常使用 cobblemon 命名空间。
  • 这决定了 Boss 系统实际创建的宝可梦。

glow

用途:

控制 Boss 生成后的发光轮廓颜色。

位置:

顶层字段。

建议:

可选。

工作原理:

  • 如果设置,Boss 会获得发光轮廓。
  • 如果缺失或为空,Boss 不会发光。
  • 使用 Minecraft 颜色名称。

可用颜色:

  • black
  • dark_blue
  • dark_green
  • dark_aqua
  • dark_red
  • dark_purple
  • gold
  • gray
  • dark_gray
  • blue
  • green
  • aqua
  • red
  • light_purple
  • yellow
  • white

注意:

  • 无效的颜色可能导致 Boss 文件加载失败。
  • 这仅控制实体发光,不控制公告颜色。

spawn_rule

用途:

控制自然生成规则。

建议:

可选。

重要:

对于自然生成,Boss 通常需要:

  • spawn_locations
  • spawn_times
  • spawn_biomes 或 spawn_structures
  • spawn_weight

注意:

  • 没有可用生成规则的 Boss 可能不会参与自然生成。
  • spawn_biomes 和 spawn_structures 按生物群系或结构匹配进行检查。

reward_rule

用途:

控制玩家击败 Boss 后的奖励。

建议:

可选。

可包含:

  • 直接物品奖励
  • 直接命令奖励
  • 奖励池,抽取一次并随机选择一个条目
  • 数量
  • 概率
  • 权重
  • 抽取次数

punish_rule

用途:

控制玩家输给 Boss 后的惩罚。

建议:

可选。

可包含:

  • 等级降低
  • EV 降低
  • IV 降低
  • 命令惩罚
  • 概率

random_configs

用途:

定义此 Boss 的一个或多个可能战斗配置。

建议:

必需。

工作原理:

  • 一个 Boss 可以有多个随机配置。
  • 创建 Boss 时会选择一个配置。
  • 不同配置可以有不同的招式、属性、持有物品、战斗模式、护盾设置和大小。

5. 生成规则字段

spawn_locations

用途:

限制 Boss 可以生成的位置。

可用值:

  • land
  • water_surface
  • underwater
  • cave
  • sky
  • lava

注意:

  • 自然生成需要有效的生成位置类型。
  • 使用与 Boss 主题匹配的值。

spawn_times

用途:

限制 Boss 可以生成的时间段。

可用值:

  • all_day
  • early_morning
  • morning
  • noon
  • afternoon
  • dusk
  • night
  • midnight

时间映射:

  • early_morning:0 – 2999 刻
  • morning:3000 – 5999 刻
  • noon:6000 – 11999 刻
  • afternoon:12000 – 14999 刻
  • dusk:15000 – 17999 刻
  • night:18000 – 20999 刻
  • midnight:21000 – 23999 刻
  • all_day:无时间限制

注意:

  • Minecraft 每天有 24000 刻。
  • 可以使用多个时间值。
  • all_day 表示 Boss 可以在任何时间生成。

spawn_biomes

用途:

限制 Boss 可以在哪些生物群系中生成。

工作原理:

  • 普通生物群系 ID 会将生成限制在该生物群系内。
  • 以 # 开头的生物群系标签会包含该标签中的所有生物群系。

注意:

  • 使用生物群系 ID 进行精确控制。
  • 使用生物群系标签指定范围更广的生物群系组。
  • 此项可与 spawn_structures 结合使用。

spawn_structures

用途:

允许玩家位于特定结构内时生成 Boss。

工作方式:

  • 使用结构 ID。
  • 如果玩家位于匹配的结构内,Boss 就可以符合此规则。
  • 此规则会与生物群系规则一同检查,采用生物群系或结构匹配的方式。

注意:

  • 此项使用结构 ID,而非结构标签。
  • 适用于地牢、神殿、遗迹、要塞或自定义结构中的 Boss。

spawn_weight

用途:

控制自然生成时的选择权重。

工作方式:

  • 有多个 Boss 符合条件时,权重越高,被选中的概率越大。
  • 它并不代表直接的百分比。

注意:

  • 使用正数。
  • 如果所有符合条件的权重均为 0,则可能会改为随机选择一个符合条件的 Boss。

6. 奖励规则字段

reward_items

用途:

直接奖励条目列表。

工作方式:

  • 每个条目都会独立进行概率判定。
  • 如果三个条目的 chance: 0.1,则每个条目各自有 10% 的概率触发。
  • 玩家可以从同一个 reward_items 列表中获得多个条目。

每个奖励条目可以包含:

  • item_id
  • count
  • command
  • chance
  • weight

只有当同一个奖励条目放在 reward_pools.entries 中时,才会使用 weight。在直接奖励 reward_items 中填写它没有影响,但也没有必要。

reward_pools

用途:

奖励池列表。

工作方式:

  • 每个奖励池都会根据其 chance 进行一次判定。
  • 如果奖励池判定成功,模组会从 entries 中随机选择一个条目。
  • 如果 rolls 大于 1,奖励池会选择相应数量的条目。
  • 选择结果受每个条目的 weight 权重影响。
  • 选择时会放回已选条目,因此当 rolls 大于 1 时,同一个条目可能会被选中多次。

每个奖励池可以包含:

  • chance
  • rolls
  • entries

每个奖励池条目可以包含:

  • item_id
  • count
  • command
  • chance
  • weight

重要提示:

  • 奖励池级别的 chance 控制奖励池是否会发放任何奖励。
  • 为兼容性,系统会解析条目级别的 chance,但奖励池判定成功后,条目会按随机权重选择。
  • 如果需要多个独立概率判定,请使用 reward_items。
  • 如果需要“有 10% 的概率从此列表中获得一个物品”,请使用 reward_pools。

item_id

用途:

发放给玩家的物品。

注意:

  • 使用有效的物品 ID。
  • 可以是 Minecraft、Cobblemon 或其他模组中的物品。

count

用途:

发放的物品数量。

注意:

  • 如果省略,通常默认为 1。
  • 此数量仅适用于物品奖励。
  • 必须大于 0。

command

用途:

作为奖励执行命令。

注意:

  • 可用于给予宝可梦、金钱、点数、称号、权限或其他服务器奖励。
  • 支持 {player} 占位符。
  • 编写命令时不要带前导斜杠。

chance

用途:

控制概率。

对于直接 reward_items:

  • 如果 chance 大于 0,则使用该自定义概率。
  • 如果 chance 缺失或为 0,则奖励使用 boss-reward.toml 中的默认掉落率。

对于 reward_pools:

  • 如果池的 chance 大于 0,则使用该自定义概率。
  • 如果池的 chance 缺失或为 0,则该池使用 boss-reward.toml 中的默认掉落率。

含义:

  • 1 表示 100%。
  • 0.5 表示 50%。
  • 0.1 表示 10%。

rolls

用途:

控制从成功触发的奖励池中选取多少个条目。

注意:

  • 如果省略,默认为 1。
  • 必须大于 0。
  • 同一条目可以被多次选中。

weight

用途:

控制奖励池内的选取概率。

工作原理:

  • 权重越高,在该池中被选中的概率越高。
  • 默认权重为 1。
  • 权重不是直接的百分比。

示例:

  • 条目 A 权重 1
  • 条目 B 权重 3
  • 在该池中,条目 B 被选中的概率是条目 A 的三倍。

奖励示例

独立奖励:

"reward_rule": {
  "reward_items": [
    {
      "item_id": "cobblemon:poke_ball",
      "count": 3,
      "chance": 0.1
    },
    {
      "item_id": "cobblemon:great_ball",
      "count": 2,
      "chance": 0.1
    },
    {
      "item_id": "cobblemon:ultra_ball",
      "count": 1,
      "chance": 0.1
    }
  ]
}

从池中获取一个奖励:

"reward_rule": {
  "reward_pools": [
    {
      "chance": 0.1,
      "rolls": 1,
      "entries": [
        {
          "item_id": "cobblemon:poke_ball",
          "count": 3
        },
        {
          "item_id": "cobblemon:great_ball",
          "count": 2
        },
        {
          "item_id": "cobblemon:ultra_ball",
          "count": 1
        }
      ]
    }
  ]
}

加权池:

"reward_rule": {
  "reward_pools": [
    {
      "chance": 0.25,
      "rolls": 1,
      "entries": [
        {
          "item_id": "minecraft:diamond",
          "count": 1,
          "weight": 1
        },
        {
          "item_id": "minecraft:emerald",
          "count": 3,
          "weight": 3
        },
        {
          "command": "give {player} minecraft:gold_ingot 8",
          "weight": 5
        }
      ]
    }
  ]
}

直接奖励和池可以一起使用:

"reward_rule": {
  "reward_items": [
    {
      "item_id": "minecraft:gold_ingot",
      "count": 2,
      "chance": 1.0
    }
  ],
  "reward_pools": [
    {
      "chance": 0.1,
      "entries": [
        {
          "item_id": "cobblemon:poke_ball",
          "count": 3
        },
        {
          "item_id": "cobblemon:great_ball",
          "count": 2
        },
        {
          "item_id": "cobblemon:ultra_ball",
          "count": 1
        }
      ]
    }
  ]
}

7. 惩罚规则字段

punish_items

用途:

惩罚条目列表。

每个惩罚条目可以包含:

  • level
  • evs
  • ivs
  • command
  • chance

level

用途:

战败后降低宝可梦等级。

注意事项:

  • 等级最低不会降至 1 级以下。
  • 等级降低可能会让玩家觉得惩罚很重,请谨慎使用。

evs

用途:

降低努力值。

可用属性:

  • hp
  • attack
  • defense
  • special_attack
  • special_defense
  • speed

注意事项:

  • 只填写你希望降低的属性。
  • 未填写的属性会被忽略。

ivs

用途:

降低个体值。

可用属性:

  • hp
  • attack
  • defense
  • special_attack
  • special_defense
  • speed

注意事项:

  • 个体值惩罚非常严厉。
  • 建议仅用于高风险的 Boss 设计。

command

用途:

执行一条命令作为惩罚。

注意事项:

  • 可用于施加效果、扣除货币、传送、广播消息或触发服务器系统。
  • 支持 {player} 占位符。
  • 填写命令时不要加开头的斜杠。

chance

用途:

控制该项惩罚的触发概率。

重要提示:

  • 如果 chance 大于 0,则使用该自定义概率。
  • 如果省略 chance 或将其设为 0,则使用 boss-penalty.toml 中的默认惩罚概率。

8. 随机配置字段

shiny

用途:

控制 Boss 是否为闪光形态。

注意事项:

  • true 会使 Boss 成为闪光形态。
  • false 会使其保持普通形态。
  • 如果省略此项,通常默认为 false。

effort_values

用途:

设置 Boss 的努力值分配。

可用属性:

  • hp
  • attack
  • defense
  • special_attack
  • special_defense
  • speed

规则:

  • 每项属性的数值应在 0 到 252 之间。
  • 努力值总和不得超过 510。

custom_battle_stats

用途:

覆盖或限制 Boss 的战斗属性。

可用属性:

  • hp
  • attack
  • defense
  • special_attack
  • special_defense
  • speed

每项属性规则使用:

  • value
  • mode

value

用途:

目标属性数值。

注意事项:

  • 通常为正数。
  • 适用于团队副本风格的 Boss。

mode

用途:

控制属性数值的应用方式。

可用值:

  • exact
  • minimum
  • maximum

含义:

  • exact:直接使用此数值。
  • minimum:属性值至少达到此数值。
  • maximum:属性值最多达到此数值。

moves

用途:

设置 Boss 的招式。

备注:

  • 通常最多使用 4 个招式。
  • 招式名称应与 Cobblemon 招式 ID 匹配。
  • 无效的招式名称可能导致 Boss 创建失败。

nature

用途:

设置 Boss 的性格。

备注:

  • 如果省略,Boss 将使用默认性格。
  • 请使用 Cobblemon 的性格名称。

ability

用途:

设置 Boss 的特性。

备注:

  • 如果省略,将使用默认的特性行为。
  • 无效的特性名称可能导致 Boss 创建失败。

form

用途:

设置 Boss 的形态。

备注:

  • 用于设置特殊形态。
  • 如果不需要,请留空。
  • 该值应与 Cobblemon 的形态或形态属性行为匹配。

held_items

用途:

设置 Boss 可持有的物品。

备注:

  • 可以包含一个或多个物品 ID。
  • 如果配置了多个物品,Boss 可能会随机使用其中一个。
  • 无效的物品 ID 可能导致 Boss 创建失败。

battle_mode

用途:

设置 Boss 的战斗模式和战斗布局。

可用值:

  • 1v1 / one_vs_one
  • 2v1 / two_vs_one
  • 3v1 / three_vs_one
  • 4v1 / four_vs_one
  • 5v1 / five_vs_one
  • 6v1 / six_vs_one

重要:

battle_mode 不会限制 actions_per_turn。

备注:

  • 此字段控制战斗模式和布局。
  • Boss 每回合的行动次数由 actions_per_turn 单独控制。

actions_per_turn

用途:

设置 Boss 每回合可以采取的行动次数。

规则:

  • 必须至少为 1。
  • 不受 battle_mode 限制。

备注:

  • 数值越高,Boss 越难对付。
  • 这是主要的难度调节项之一。

scale

用途:

设置 Boss 的体型。

位置:

位于 random_configs 中。

工作方式:

  • 如果设置了此项,Boss 将使用自定义体型。
  • 如果省略,Boss 的体型将根据等级自动计算。

规则:

  • 必须大于 0。
  • 最终数值会限制在模组允许的体型范围内。

备注:

  • 可用此项创建巨型 Boss。
  • 如需根据等级自动设置体型,请留空。

9. Boss 护盾系统

用途:

Boss 护盾系统可在战斗中为 Boss 提供额外防护。

工作方式:

  • Boss 开始战斗时可以拥有多层护盾。
  • 某些攻击可以消耗护盾层数。
  • 效果拔群的伤害招式可以消耗护盾层数。
  • 特殊招式可以消耗已配置的护盾层数。
  • 护盾尚未耗尽时,某些护盾效果可以降低或阻挡伤害。
  • 护盾层数降至 0 时,护盾会破碎。
  • 护盾破碎后,Boss 可能进入虚弱状态。
  • 虚弱回合结束后,如果配置了恢复效果,护盾可以在每回合恢复。

重要:

必须启用 boss-shield.toml 中的全局护盾开关。

Boss 还需要在 random_configs 中配置护盾字段。

shield_layers

用途:

设置 Boss 的初始护盾层数。

位置:

位于 random_configs 中。

工作原理:

  • 0 表示该 Boss 没有护盾。
  • 大于 0 的值会为该 Boss 启用护盾机制。
  • 此值也用作护盾层数的上限。

规则:

  • 必须大于或等于 0。

备注:

  • 这是为特定 Boss 启用护盾的主要字段。
  • 如果此值为 0,其他护盾字段通常不会生效。

shield_recover_per_turn

用途:

控制护盾被打破并结束虚弱状态后,Boss 每回合恢复的护盾层数。

位置:

位于 random_configs 中。

工作原理:

  • 0 表示护盾不会恢复。
  • 大于 0 的值表示护盾可以恢复。
  • 恢复后的护盾层数不会超过最大层数。

规则:

  • 必须大于或等于 0。

备注:

  • 若护盾只需被打破一次,请设为 0。
  • 若想实现类似突袭战的反复破盾机制,请设置较高的值。

shield_weaken_turns

用途:

控制护盾被打破后,Boss 保持虚弱状态的回合数。

位置:

位于 random_configs 中。

工作原理:

  • 护盾降至 0 时会被打破。
  • Boss 会进入虚弱状态,持续指定的回合数。
  • 虚弱期间,护盾不会恢复。
  • 虚弱状态结束后,如果已配置护盾恢复,护盾即可开始恢复。

规则:

  • 必须大于或等于 0。

备注:

  • 可用此字段在护盾被打破后创造一段输出窗口。
  • 数值越大,玩家攻击的时间越充裕。
  • 0 表示没有虚弱延迟。

10. 阶段技能系统

phase_skills

用途:

根据 HP 百分比改变 Boss 的招式。

工作原理:

  • 每个阶段都有一个 HP 百分比。
  • Boss 的 HP 达到该百分比时,可以切换到另一组招式。

备注:

  • 适用于多阶段 Boss 战。
  • 避免设置重复的 HP 阈值。
  • 招式必须是有效的 Cobblemon 招式名称。

hp_percent

用途:

触发阶段切换的 HP 百分比。

规则:

  • 通常为 1 到 100。
  • HP 降至该值或更低时进入该阶段。

备注:

  • 数值越高,触发越早。
  • 数值越低,触发越晚。

moves

用途:

该阶段使用的招式。

备注:

  • 通常设置 1 到 4 个招式。
  • 可用此字段让 Boss 在战斗中改变策略。

11. 属性键参考

以下属性键用于 effort_values、evs、ivs 和 custom_battle_stats:

  • hp
  • attack
  • defense
  • special_attack
  • special_defense
  • speed

12. 配置文件

所有配置文件都放在以下目录中:

config/cobbleboss/

统一配置文件:

  • level-mapping.json
  • pokemon-max-level.json
  • boss-spawn.toml
  • boss-level.toml
  • boss-reward.toml
  • boss-penalty.toml
  • boss-battle-check.toml
  • boss-capture.toml
  • boss-immune.toml
  • boss-music.toml
  • boss-shield.toml
  • player-level-limit.toml

重要:

Fabric 和 NeoForge 使用相同的字段名称和顶层 TOML 结构。

如果旧版 NeoForge 配置是在此统一版本推出前生成的,请删除旧配置文件,或手动将其中的值移至顶层。

level-mapping.json

用途:

将玩家的宝可梦等级映射为 Boss 等级。

说明:

  • 仅在启用自定义等级映射时使用。
  • 左侧为玩家等级。
  • 右侧为 Boss 等级。
  • 如果未找到映射,则可以使用常规等级计算。

pokemon-max-level.json

用途:

控制 Cobblemon 的全局宝可梦等级上限。

字段:

  • configName
  • maxPokemonLevel
  • description

说明:

  • 默认等级上限通常为 900。
  • 此设置会影响 Cobblemon 使用的全局宝可梦等级上限。

boss-spawn.toml

用途:

控制 Boss 自然生成。

字段:

  • enableBossSpawn
  • checkIntervalTicks
  • spawnChance
  • enableSpawnTimeRandom
  • randomValueMin
  • randomValueMax
  • spawnFrequency

说明:

  • checkIntervalTicks 的范围为 100 到 72000。
  • spawnChance 的范围为 0 到 1。
  • randomValueMin 和 randomValueMax 的范围为 1 到 10000。
  • spawnFrequency 的范围为 0 到 100。

boss-level.toml

用途:

控制 Boss 等级计算。

字段:

  • bossLevelMultiplier
  • minBossLevel
  • maxBossLevel
  • includePCPokemon
  • scaleByMaxLevel
  • enableCustomLevelMapping
  • enableLevelRandom
  • randomMin
  • randomMax

说明:

  • bossLevelMultiplier 的范围为 1.0 到 10.0。
  • minBossLevel 的范围为 1 到 100。
  • maxBossLevel 的范围为 50 到 200。
  • enableCustomLevelMapping 用于控制是否使用 level-mapping.json。

boss-reward.toml

用途:

控制默认 Boss 奖励概率。

字段:

  • minDropRate
  • maxDropRate
  • levelScale

重要说明:

chance 大于 0 的直接奖励条目和奖励池会使用各自设置的概率。

没有设置 chance 或 chance 为 0 的直接奖励条目和奖励池,会使用此配置中的默认掉落率。

说明:

  • minDropRate 和 maxDropRate 的范围为 0 到 1。
  • levelScale 的范围为 1 到 1000。

boss-penalty.toml

用途:

控制默认惩罚概率。

字段:

  • enablePenalty
  • minPenaltyChance
  • maxPenaltyChance
  • penaltyLevelScale

重要说明:

chance 大于 0 的惩罚条目会使用各自设置的概率。

没有设置 chance 或 chance 为 0 的惩罚条目,会使用此配置中的默认惩罚概率。

说明:

  • minPenaltyChance 和 maxPenaltyChance 的范围为 0 到 1。
  • penaltyLevelScale 的范围为 1 到 1000。

boss-battle-check.toml

用途:

控制 Boss 战斗限制检查。

字段:

  • enableBattleCheck
  • cancelBattle
  • enablePokemonCheck
  • bannedPokemonList
  • enableItemCheck
  • bannedItemsList
  • enableMoveCheck
  • bannedMovesList

说明:

  • enableBattleCheck是总开关。
  • cancelBattle用于控制检测到禁用内容时是否取消战斗。
  • bannedPokemonList使用宝可梦种类 ID。
  • bannedItemsList使用物品 ID。
  • bannedMovesList使用招式 ID。

boss-capture.toml

用途:

控制是否可以捕捉 Boss 宝可梦。

字段:

  • preventBossCapture
  • showCaptureMessage

说明:

  • 通常应保持启用preventBossCapture。
  • showCaptureMessage用于控制捕捉被阻止时是否向玩家显示提示信息。

boss-immune.toml

用途:

控制 Boss 实体在世界中是否无敌。

字段:

  • enableBossImmune

重要说明:

此设置主要用于保护 Boss 实体免受正常战斗伤害以外的伤害。

这并不意味着 Boss 在战斗中免疫所有招式。

说明:

  • 建议保持启用。
  • 有助于防止玩家通过非战斗方式击杀 Boss。

boss-music.toml

用途:

控制 Boss 战斗音乐。

字段:

  • enableBossBattleMusic
  • stopOnBattleEnd

重要说明:

音乐系统不再使用bossBattleMusicSoundId。

Boss 战斗开始时,模组会从以下位置随机选择一个音乐声音事件:

  1. 模组内置的assets/cobbleboss/sounds.json。
  2. 在sounds.json中定义了音乐的已启用资源包。

仅放在resourcepacks文件夹中、但未在客户端资源包菜单中启用的资源包将被忽略。

说明:

  • 默认内置声音事件为cobbleboss:boss_battle_theme。
  • 自定义音乐必须由资源包提供。
  • 音频文件应为 OGG 格式。
  • 玩家需要启用资源包才能听到资源包提供的音乐。
  • 旧配置中如果包含bossBattleMusicSoundId,应重新生成配置或清理该项。

boss-shield.toml

用途:

控制全局 Boss 护盾系统。

字段:

  • enableBossShield
  • superEffectiveLayers
  • moveLayerOverrides

含义:

  • enableBossShield:启用或禁用 Boss 护盾机制。
  • superEffectiveLayers:被效果拔群的伤害招式消耗的护盾层数。
  • moveLayerOverrides:特殊的招式与护盾层数规则。

说明:

  • 如果enableBossShield为 false,Boss JSON 中的护盾字段将不起作用。
  • moveLayerOverrides使用招式 ID 和护盾层数值。

player-level-limit.toml

用途:

控制玩家宝可梦的等级上限。

字段:

  • enableLevelLimit
  • maxPlayerPokemonLevel

说明:

  • enableLevelLimit用于启用玩家宝可梦等级上限。
  • maxPlayerPokemonLevel用于设置玩家宝可梦允许达到的最高等级。

13. 资源包音乐

可以通过资源包自定义 Boss 战斗音乐。

工作原理:

  • 该模组在 assets/cobbleboss/sounds.json 中内置了音乐。
  • 已启用的资源包可以添加更多音乐事件。
  • Boss 战斗开始时,模组会随机选择一个可用的音乐事件。
  • 无需在配置中指定单个音效 ID。

资源包路径:

pack.mcmeta
assets/cobbleboss/sounds.json
assets/cobbleboss/sounds/music/

结构示例:

my_boss_music_pack.zip
pack.mcmeta
assets/cobbleboss/sounds.json
assets/cobbleboss/sounds/music/boss_1.ogg
assets/cobbleboss/sounds/music/boss_2.ogg
assets/cobbleboss/sounds/music/boss_3.ogg

sounds.json 示例:

{
  "music.boss_1": {
    "category": "music",
    "sounds": [
      {
        "name": "cobbleboss:music/boss_1",
        "stream": true
      }
    ]
  },
  "music.boss_2": {
    "category": "music",
    "sounds": [
      {
        "name": "cobbleboss:music/boss_2",
        "stream": true
      }
    ]
  }
}

对应文件:

assets/cobbleboss/sounds/music/boss_1.ogg
assets/cobbleboss/sounds/music/boss_2.ogg

音效 ID 示例:

  • assets/cobbleboss/sounds.json 中的 music.boss_1 会变为 cobbleboss:music.boss_1。
  • assets/cobbleboss/sounds.json 中的 music.boss_2 会变为 cobbleboss:music.boss_2。

音乐检测:

符合以下任一条件时,模组会将该音效事件视为 Boss 音乐:

  • 事件键以 music 开头。
  • 事件键包含 .music。
  • 事件具有 "category": "music"。
  • 其中一个音效文件路径位于 music/ 文件夹内。

注意事项:

  • 请使用 OGG 格式。
  • 音乐请使用 stream: true。
  • 玩家需要启用资源包才能听到自定义音乐。
  • 请仅使用原创或已获授权的音乐。
  • 如果未启用资源包,客户端将不会注册其中的音效事件。

14. 固定生成点命令

主命令:

/spawnpokemonbossat

权限:

需要管理员权限。

功能:

  • create
  • addboss
  • removeboss
  • setweight
  • remove
  • list
  • info
  • trigger
  • settext
  • cleartext
  • announcement enable
  • announcement text
  • announcement color
  • announcement clear

create

用途:

创建一个固定 Boss 生成点。

参数:

  • 生成点 ID
  • 维度
  • X 坐标
  • Y 坐标
  • Z 坐标
  • Boss 等级
  • 重生间隔秒数
  • 可选的全息文字

注意事项:

  • 生成点 ID 必须唯一。
  • 重生时间以秒为单位。
  • Boss 等级范围为 1 到 900。

addboss

用途:

将 Boss 添加到固定生成点的候选池中。

参数:

  • 生成点 ID
  • Boss 唯一 ID
  • 权重

注意事项:

  • Boss 唯一 ID 必须存在于已加载的 Boss 数据中。
  • 权重越高,该 Boss 在此固定生成点出现的概率越大。

removeboss

用途:

从固定生成点的候选池中移除 Boss。

setweight

用途:

更改固定生成点候选池中某个 Boss 的权重。

remove

用途:

删除固定生成点。

注意事项:

  • 移除生成点数据。
  • 移除相关的全息显示。
  • 处理当前激活的固定 Boss。

list

用途:

列出所有固定生成点。

显示内容:

  • 生成点 ID
  • 维度
  • 坐标
  • Boss 等级
  • 重生时间
  • Boss 池
  • 当前激活的 Boss

info

用途:

显示单个生成点的详细信息。

显示内容:

  • 维度
  • 坐标
  • Boss 等级
  • 重生时间
  • 下次重生刻
  • 当前激活的 Boss
  • 全息文本
  • Boss 池
  • 公告状态
  • 公告文本
  • 公告颜色

trigger

用途:

手动将生成点设为可再次生成状态。

备注:

  • 适用于测试。
  • 不会删除生成点。

settext

用途:

设置固定生成点的全息文本。

支持的占位符:

  • {id}
  • {level}
  • {time}
  • {x}
  • {y}
  • {z}
  • {dimension}
  • {boss_count}
  • {boss_pool}
  • {active_boss_id}
  • {active_boss}
  • {active_weight}

备注:

  • 使用 | 分隔多行全息文本。
  • 全息占位符与公告占位符不同。

cleartext

用途:

清除自定义全息文本并恢复默认的全息显示行为。

announcement enable

用途:

启用或禁用固定生成点公告。

工作方式:

  • true 启用公告。
  • false 禁用公告。

备注:

  • 没有单独的禁用公告命令。
  • 使用 announcement enable 并指定 true 或 false。

announcement text

用途:

设置自定义公告文本。

支持的占位符:

  • {boss}
  • {boss_id}
  • {species}
  • {point}
  • {dimension}
  • {x}
  • {y}
  • {z}
  • {position}

announcement color

用途:

设置公告消息的颜色。

可用颜色:

  • black
  • dark_blue
  • dark_green
  • dark_aqua
  • dark_red
  • dark_purple
  • gold
  • gray
  • dark_gray
  • blue
  • green
  • aqua
  • red
  • light_purple
  • yellow
  • white

备注:

  • 默认颜色为 gold。
  • 此设置更改公告颜色,不会更改 Boss 的发光颜色。

announcement clear

用途:

恢复默认公告文本。

备注:

  • 不会移除生成点。
  • 不会清除全息文本。
  • 仅重置固定生成点公告模板。

固定生成 Boss 池权重

用途:

控制同一个固定生成点内的选择概率。

规则:

  • 最小权重:1
  • 最大权重:1000000

备注:

  • 此权重独立于自然 spawn_rule.spawn_weight。
  • 权重越高,在该固定生成点的 Boss 池中被选中的概率越大。

15. 基础 Boss 命令

checkpokemonboss

用途:

检查哪些 Boss 可以在玩家当前位置生成。

显示:

  • 距离下次 Boss 刷新的时间
  • 符合条件的 Boss
  • Boss 显示名称
  • 生成权重

权限:

通常普通玩家即可使用。

spawnpokemonboss

用途:

在玩家附近直接生成一个 Boss。

参数:

  • Boss 唯一 ID
  • 可选等级

权限:

需要管理员权限。

说明:

  • 使用 Boss 唯一 ID,而不是宝可梦种类 ID。
  • 等级范围为 1 至 900。
  • 可用于测试 Boss 配置。

spawnpokemonbossat

用途:

管理固定的 Boss 生成点。

权限:

需要管理员权限。

16. 新手设置建议

最简单的设置方式:

  • 启用自然生成 Boss。
  • 设置合理的生成间隔。
  • 初期使用较低的生成概率。
  • 启用 Boss 捕获限制。
  • 启用 Boss 免疫效果。
  • 使用等级映射或等级倍率。
  • 设置合理概率的奖励。
  • 为 Boss 添加发光效果,方便寻找。
  • 除非想要巨型 Boss,否则将缩放比例留空。

限制较严格的 Boss 服务器:

  • 启用战斗检查。
  • 按需禁用特定宝可梦。
  • 按需禁用特定物品。
  • 按需禁用特定招式。
  • 通过 custom_battle_stats 提高 Boss 属性。
  • 谨慎使用 actions_per_turn。
  • 为团队副本式战斗添加护盾设置。

休闲服务器:

  • 将惩罚设为较低,或直接禁用。
  • 为 Boss 设置明显的发光效果。
  • 使用适中的 Boss 体型。
  • 设置必定掉落的小奖励,以及稀有的特殊奖励。
  • 使用奖励池实现“从该组中随机获得一件物品”的奖励。
  • 避免将 actions_per_turn 设得过高。

17. 常见问题

Boss 未能加载

可能原因:

  • unique_id 重复。
  • species_id 无效。
  • 招式名称无效。
  • 特性名称无效。
  • 物品 ID 无效。
  • 发光颜色无效。
  • 缩放值无效。
  • JSON 格式有误。
  • reward_pools.entries 为空。
  • 奖励池的 rolls 无效。
  • 奖励池条目的 weight 无效。

Boss 不会自然生成

可能原因:

  • 自然生成已禁用。
  • 生成概率过低。
  • 生成间隔尚未结束。
  • 当前生物群系不符合条件。
  • 当前结构不符合条件。
  • 当前时间不符合条件。
  • 当前位置类型不符合条件。
  • 缺少 spawn_weight,或其值过低。
  • Boss 文件尚未加载。

Boss 音乐不播放

可能原因:

  • Boss 音乐配置已禁用。
  • 所选音效事件未在客户端注册。
  • 资源包未启用。
  • 音效文件路径错误。
  • 音效文件不是 OGG 格式。
  • 客户端未安装该资源包。
  • 资源包已放入文件夹,但尚未移至已启用列表。
  • 音乐音量已静音。

重要提示:

该模组会从内置音乐和已启用的资源包中随机选择音乐。

不会使用 bossBattleMusicSoundId。

Boss 护盾无效

可能原因:

  • 全局 Boss 护盾配置已禁用。
  • shield_layers 为 0 或缺失。
  • 所用招式不会消耗护盾层数。
  • superEffectiveLayers 被设为 0。
  • 该招式并非效果拔群。
  • 该招式未列入 moveLayerOverrides。
  • Boss 使用旧版或过时数据生成。

Boss 体型过小或过大

可能的原因:

  • scale 设置得过低或过高。
  • Boss 等级会导致自动计算体型。
  • 模组会将体型限制在允许范围内。

Boss 没有发光

可能的原因:

  • 未设置 glow。
  • 发光颜色无效。
  • Boss 是根据旧数据生成的。
  • 其他系统移除了发光效果。

公告颜色没有变化

可能的原因:

  • 颜色名称无效。
  • 使用了错误的生成点 ID。
  • 公告功能已禁用。
  • 检查的消息不是固定生成公告。

旧版 NeoForge 配置无法使用

可能的原因:

  • 该配置文件是在统一配置字段推出前生成的。
  • 仍存在旧的分组 TOML 配置节。
  • 仍存在旧的盾牌 snake_case 字段。
  • 仍存在旧字段 bossBattleMusicSoundId。

解决方法:

  • 删除旧配置文件,让模组重新生成。
  • 或者将旧值移至新的顶层字段。
  • 移除旧的音乐音效 ID 配置。

18. 总结

CobbleBoss 配置可以这样理解:

  • 使用 unique_id、species_id、display_name 和 glow 定义 Boss 的身份和外观。
  • 使用 spawn_rule 定义 Boss 出现的地点和时间。
  • 使用 reward_rule 和 punish_rule 定义胜利和失败后的结果。
  • 使用 reward_items 进行独立的奖励抽取。
  • 使用 reward_pools 实现“先抽取一次,再从列表中选择一项奖励”。
  • 使用 random_configs 定义属性、招式、对战模式、行动次数、护盾、阶段技能、持有物品、形态、特性、闪光状态和体型。
  • 使用配置文件控制全局 Boss 行为。
  • 使用资源包添加随机 Boss 对战音乐。
  • 使用固定生成点命令创建可控的 Boss 生成地点。

19. 付费功能:多人组队 Boss 对战

这是一项高级付费功能。

数据包路径:

data/cobbleboss/boss_teams/

Boss 队伍文件用于定义群体 Boss 对战。

字段:

  • team_id
  • pokemon_unique_ids
  • spawn_structures
  • defeat_rewards
  • punish_rule

team_id

用途:

Boss 队伍的唯一 ID。

注意:

  • 如果未填写命名空间,则使用 cobbleboss。
  • 命令可以使用此 ID。

pokemon_unique_ids

用途:

此队伍所使用的 Boss 宝可梦唯一 ID。

注意:

  • 这些 ID 必须与普通 Boss JSON 中的 unique_id 值一致。
  • 队伍系统会根据已有的 Boss 定义创建 Boss 宝可梦。

spawn_structures

用途:

控制哪些结构可以触发此 Boss 队伍。

注意:

  • 使用结构 ID。
  • 玩家身处匹配的结构内并派出宝可梦时,可以触发队伍对战。
  • 系统会记录结构实例,避免同一结构被反复触发。

defeat_rewards

用途:

击败 Boss 队伍后获得的奖励。

字段:

  • reward_items
  • reward_pools
  • item_id
  • count
  • command
  • chance
  • rolls
  • weight

工作原理:

  • reward_items 作为独立的奖励抽取项。
  • reward_pools 抽取一次,然后从池中随机选择条目。
  • 团队奖励池使用与普通 Boss 奖励池相同的格式。

概率说明:

如果 chance 大于 0,则使用该自定义概率。

如果 chance 缺失或为 0,则可以使用默认奖励概率。

示例:

"defeat_rewards": {
  "reward_items": [
    {
      "item_id": "minecraft:gold_ingot",
      "count": 4,
      "chance": 1.0
    }
  ],
  "reward_pools": [
    {
      "chance": 0.1,
      "rolls": 1,
      "entries": [
        {
          "item_id": "cobblemon:poke_ball",
          "count": 3
        },
        {
          "item_id": "cobblemon:great_ball",
          "count": 2
        },
        {
          "item_id": "cobblemon:ultra_ball",
          "count": 1
        }
      ]
    }
  ]
}

punish_rule

用途:

输给 Boss 队伍后的惩罚。

字段:

  • punish_items
  • level
  • evs
  • ivs
  • command
  • chance

概率说明:

如果 chance 大于 0,则使用该自定义概率。

如果 chance 缺失或为 0,则可以使用默认惩罚概率。

spawnpokemonbossteam

用途:

为玩家手动开始一场 Boss 队伍战斗。

命令含义:

/spawnpokemonbossteam <player> <bossTeamId>

权限:

需要管理员权限。

注意:

  • bossTeamId 可以带命名空间,也可以不带。
  • 如果未写命名空间,则使用 cobbleboss。
  • 此命令主要用于测试和管理员控制的事件。

多人团队战斗行为

工作方式:

  • 系统会扫描附近的有效玩家。
  • 附近玩家必须尚未处于战斗中。
  • 旁观者和已移除的玩家会被忽略。
  • 当前团队战斗系统设计为最多支持 2 名玩家。
  • 当前 Boss 团队战斗系统最多使用 2 只 Boss 宝可梦。
  • 当玩家和 Boss 数量足够时,会形成 2v2 突袭式战斗。
  • 如果未满足多人条件,可以回退为单人团队 Boss 战斗。

注意:

  • 此功能最好在普通 Boss 配置之后说明。
  • 它面向希望获得突袭式玩法的服务器。
  • Boss 属性、奖励、护盾和 actions_per_turn 应针对团队战斗仔细平衡。

常见问题

CobbleBoss 支持哪些 Minecraft 版本?

CobbleBoss 支持 Minecraft Java 版 1.21.1,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。

CobbleBoss 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

RainApricot 的其他作品

查看全部 →