CobbleBoss - Cobblemon Boss 首领
一个允许你在 Cobblemon 世界中无限添加并自定义专属 Boss 的模组。
fabric / neoforge
作者 RainApricot
支持版本 1.21.1 - 1.21.1
下载量
708,938
关注数
16
数据来源
Modrinth
模组详细介绍
Cobblemon Boss 使用指南
pack.mcmeta
data/
└─ cobblemonboss/
└─ bosses/
├─ blastoise.json
├─ charizard.json
└─ venusaur.json
文件结构
这个数据包包含以下文件:
pack.mcmetadata/cobblemonboss/bosses/blastoise.jsondata/cobblemonboss/bosses/charizard.jsondata/cobblemonboss/bosses/venusaur.json
其中:
-
pack.mcmeta:数据包元数据文件 -
blastoise.json:水箭龟 Boss 数据 -
charizard.json:喷火龙 Boss 数据 -
venusaur.json:妙蛙花 Boss 数据
1. Boss 数据包新手入门
1.1 这个配置是做什么的?
一个 Boss JSON 定义了 一个 Boss 宝可梦 的完整数据。
它主要控制以下内容:
- Boss 是哪个宝可梦
- 它的显示名称是什么
- 它可以在哪里、何时生成
- 击败它后给予什么奖励
- 挑战失败后发生什么惩罚
- 战斗中它使用什么招式、属性和战斗模式
1.2 推荐的了解方式
创建 Boss 时,最重要的是先想好这 4 个部分:
1) 它是谁
unique_idspecies_iddisplay_name
2) 它如何生成
spawn_rule
3) 玩家胜利或失败后发生什么
reward_rulepunish_rule
4) 它如何战斗
random_configsmovescustombattlestatsphase_skillsbattle_modeactionsperturn
1.3 最基本的填写建议
必填项
unique_idspecies_idrandom_configs
推荐项
display_namemoves
可选,根据需求决定
spawn_rulereward_rulepunish_ruleeffort_valuescustombattlestatsphase_skillsbattle_modeactionsperturnheld_itemsnatureabilityform
1.4 标准模板
{
"unique_id": "blastoise_water_boss",
"display_name": "§9Boss",
"species_id": "cobblemon:blastoise",
"spawn_rule": {
"spawn_locations": ["cave"],
"spawn_times": ["all_day"],
"spawn_biomes": [
"minecraft:dripstone_caves",
"#minecraft:is_ocean"
],
"spawn_weight": 4
},
"reward_rule": {
"reward_items": [
{
"item_id": "cobblemon:rare_candy",
"count": 10
},
{
"item_id": "cobblemon:rare_candy",
"count": 10,
"chance": 0.1
},
{
"command": "givepokemonother {player} squirtle",
"chance": 0.1
},
{
"command": "givepokemonother {player} squirtle"
}
]
},
"punish_rule": {
"punish_items": [
{
"level": 5,
"chance": 1
},
{
"evs": {
"hp": 1,
"attack": 1,
"defense": 1,
"special_attack": 1,
"special_defense": 1,
"speed": 1
},
"chance": 1
},
{
"ivs": {
"hp": 1,
"attack": 1,
"defense": 1,
"special_attack": 1,
"special_defense": 1,
"speed": 1
},
"chance": 0.01
},
{
"command": "effect give {player} minecraft:hunger 60 0 true",
"chance": 1
}
]
},
"random_configs": [
{
"shiny": false,
"effort_values": {
"hp": 252,
"attack": 0,
"defense": 252,
"special_attack": 0,
"special_defense": 4,
"speed": 0
},
"custom_battle_stats": {
"hp": {
"value": 5000,
"mode": "exact"
},
"attack": {
"value": 1000,
"mode": "maximum"
},
"defense": {
"value": 1000,
"mode": "maximum"
},
"special_attack": {
"value": 1000,
"mode": "maximum"
},
"special_defense": {
"value": 1000,
"mode": "maximum"
},
"speed": {
"value": 1000,
"mode": "minimum"
}
},
"battle_mode": "6v1",
"actions_per_turn": 6,
"moves": ["scald", "icywind", "yawn", "protect"],
"nature": "bold",
"ability": "torrent",
"form": "",
"held_items": ["cobblemon:leftovers"],
"phase_skills": [
{
"hp_percent": 90,
"moves": ["scald", "icywind", "yawn", "toxic"]
},
{
"hp_percent": 80,
"moves": ["waterpulse", "flashcannon", "rest", "protect"]
},
{
"hp_percent": 70,
"moves": ["surf", "darkpulse", "irondefense", "amnesia"]
},
{
"hp_percent": 60,
"moves": ["hydropump", "aurasphere", "protect", "raindance"]
},
{
"hp_percent": 50,
"moves": ["hydrocannon", "blizzard", "shellsmash", "focusenergy"]
}
]
},
{
"shiny": false,
"effort_values": {
"hp": 252,
"attack": 0,
"defense": 252,
"special_attack": 0,
"special_defense": 4,
"speed": 0
},
"custom_battle_stats": {
"hp": {
"value": 5000,
"mode": "exact"
},
"attack": {
"value": 1000,
"mode": "maximum"
},
"defense": {
"value": 1000,
"mode": "maximum"
},
"special_attack": {
"value": 1000,
"mode": "maximum"
},
"special_defense": {
"value": 1000,
"mode": "maximum"
},
"speed": {
"value": 1000,
"mode": "minimum"
}
},
"battle_mode": "5v1",
"actions_per_turn": 5,
"moves": ["rapidspin", "brine", "toxic", "yawn"],
"nature": "bold",
"ability": "torrent",
"form": "",
"held_items": ["cobblemon:leftovers"],
"phase_skills": [
{
"hp_percent": 90,
"moves": ["rapidspin", "brine", "toxic", "yawn"]
},
{
"hp_percent": 80,
"moves": ["waterpulse", "flashcannon", "rest", "protect"]
},
{
"hp_percent": 70,
"moves": ["surf", "dragonpulse", "raindance", "irondefense"]
},
{
"hp_percent": 60,
"moves": ["hydropump", "darkpulse", "protect", "haze"]
},
{
"hp_percent": 50,
"moves": ["hydrocannon", "focusblast", "shellsmash", "focusenergy"]
}
]
},
{
"shiny": false,
"effort_values": {
"hp": 252,
"attack": 0,
"defense": 0,
"special_attack": 252,
"special_defense": 4,
"speed": 0
},
"custom_battle_stats": {
"hp": {
"value": 5000,
"mode": "exact"
},
"attack": {
"value": 1000,
"mode": "maximum"
},
"defense": {
"value": 1000,
"mode": "maximum"
},
"special_attack": {
"value": 1000,
"mode": "maximum"
},
"special_defense": {
"value": 1000,
"mode": "maximum"
},
"speed": {
"value": 1000,
"mode": "minimum"
}
},
"battle_mode": "4v1",
"actions_per_turn": 4,
"moves": ["hydropump", "flashcannon", "shellsmash", "focusenergy"],
"nature": "modest",
"ability": "torrent",
"form": "",
"held_items": ["cobblemon:wise_glasses"],
"phase_skills": [
{
"hp_percent": 90,
"moves": ["icywind", "darkpulse", "yawn", "taunt"]
},
{
"hp_percent": 80,
"moves": ["scald", "flashcannon", "rest", "protect"]
},
{
"hp_percent": 70,
"moves": ["surf", "icebeam", "shellsmash", "raindance"]
},
{
"hp_percent": 60,
"moves": ["hydropump", "dragonpulse", "protect", "focusenergy"]
},
{
"hp_percent": 50,
"moves": ["hydrocannon", "aurasphere", "blizzard", "nastyplot"]
}
]
}
]
}
2. 顶层字段说明
unique_id
用途
Boss 的唯一 ID。
如何理解
这是用于区分此 Boss 与其他 Boss 的内部名称。
建议
必填。
示例
"unique_id": "blastoise_dripstone_caves_boss"
建议
- 使用小写英文字母和下划线
- 不要与其他 Boss 使用相同的 ID
display_name
用途
向玩家显示的 Boss 名称。
如何理解
这是玩家在游戏中会看到的名称。
建议
推荐填写。
示例
"display_name": "§9Boss"
注意
- 可以使用颜色代码
- 有助于让 Boss 名称更醒目
species_id
用途
Boss 的宝可梦物种 ID。
如何理解
这决定了 Boss 实际上是哪个宝可梦物种。
建议
必填。
示例
"species_id": "cobblemon:blastoise"
spawn_rule
用途
定义 Boss 的生成规则。
如何理解
控制 Boss 可以在哪里、何时、在哪些生物群系中生成。
建议
可选。
示例
"spawn_rule": { ... }
reward_rule
用途
定义击败 Boss 后的奖励。
建议
可选。
示例
"reward_rule": { ... }
punish_rule
用途
定义挑战失败后的惩罚。
建议
可选。
示例
"punish_rule": { ... }
random_configs
用途
Boss 的随机战斗配置列表。
如何理解
同一个 Boss 可以有多个变体,生成时会随机选择一个。
建议
必填。
示例
"random_configs": [ ... ]
3. spawn_rule 生成规则
spawn_locations
用途
限制 Boss 可以生成的位置类型。
建议
可选。
示例
"spawn_locations": ["cave"]
可用值
| 值 | 含义 |
|---|---|
land |
陆地 |
water_surface |
水面 |
underwater |
水下 |
cave |
洞穴 |
sky |
天空 |
lava |
熔岩区域 |
spawn_times
用途
限制 Boss 可以生成的时间段。
建议
可选。
示例
"spawn_times": ["all_day"]
或
"spawn_times": ["night", "midnight"]
模组使用的时间段规则
时间段由 Minecraft 服务器世界时间决定。
当前实现使用以下逻辑:
long dayTime = level.getDayTime() % 24000;
if (dayTime >= 0 && dayTime = 3000 && dayTime = 6000 && dayTime = 12000 && dayTime = 15000 && dayTime = 18000 && dayTime < 21000) {
return night;
} else {
return midnight;
}
这意味着实际的时间映射是:
| 值 | 游戏刻范围 | 含义 |
|---|---|---|
all_day |
特殊值 | 任何时间均可生成 |
early_morning |
0 - 2999 |
清晨 |
morning |
3000 - 5999 |
早晨 |
noon |
6000 - 11999 |
中午 / 白天 |
afternoon |
12000 - 14999 |
下午 |
dusk |
15000 - 17999 |
黄昏 |
night |
18000 - 20999 |
夜晚 |
midnight |
21000 - 23999 |
午夜 |
关于 spawn_times 的重要说明
- 一个 Minecraft 日是
24000游戏刻 - 模组通过
level.getDayTime() % 24000检查当前时间 - 写入多个值意味着允许多个时间段
-
all_day是一个特殊值,表示没有时间限制 - 代码本身会返回
morning、night、midnight等真实时间段之一 -
all_day通常在生成规则检查逻辑中被处理为“始终允许”
示例
仅在夜晚生成:
"spawn_times": ["night"]
仅在深夜生成:
"spawn_times": ["midnight"]
在黄昏和夜晚都生成:
"spawn_times": ["dusk", "night"]
任何时间都生成:
"spawn_times": ["all_day"]
spawn_biomes
用途
限制 Boss 可以生成的生物群系。
建议
可选。
示例
"spawn_biomes": [
"minecraft:dripstone_caves",
"#minecraft:is_ocean"
]
两种写法
普通生物群系:
"minecraft:dripstone_caves"
生物群系标签:
"#minecraft:is_ocean"
注意
- 写入生物群系 ID 表示仅在该生物群系生成
- 写入以
#开头的生物群系标签表示可以在该标签下的所有生物群系生成
spawn_weight
用途
控制此 Boss 的生成权重。
建议
可选。
示例
"spawn_weight": 4
注意
- 通常使用正整数
- 当多个 Boss 一起考虑时,较大的值通常意味着更高的被选中几率
4. reward_rule 奖励规则
reward_items
用途
奖励条目列表。
建议
如果需要奖励,请填写此项。
示例
"reward_items": [
{
"item_id": "cobblemon:rare_candy",
"count": 10
}
]
单个奖励条目的字段
item_id
用途
奖励物品。
示例
{
"item_id": "cobblemon:rare_candy"
}
注意
- 当你想给予物品时使用此项
count
用途
物品数量。
示例
{
"item_id": "cobblemon:rare_candy",
"count": 10
}
注意
- 可选
- 如果省略,通常视为 1
command
用途
执行一个命令作为奖励。
示例
{
"command": "givepokemonother { 基本信息
模组名称CobbleBoss
作者RainApricot
下载量708,938
关注数16
支持版本1.21.1 - 1.21.1
加载器fabric / neoforge
客户端required
服务端required