Myths and Legends - Myths and Legends(Cobblemon 附属模组)
适用于 Cobblemon Mod 的 Cobblemon Myths and Legends Sidemod 引入了一项动态新功能:关键道具会直接影响生成条件。当玩家持有这些道具时,它们会满足特定条件,使某些 Pokémon 只会在该玩家周围生成(该 Pokémon 对应的所有特定条件都必须满足,才会生成)。这一机制同样会独立作用于多个玩家,只要他们各自持有所需道具即可。
默认情况下,关键道具可以在特定的战利品箱中找到,其稀有度和具体战利品表都可在设置中配置。这样可以带来更具定制化的游戏体验,玩家可以调整这些道具在游戏世界中的出现方式和位置。
重要提示
提醒: 对于高于 1.3 的版本,要使用该模组添加的机制,你必须使用 Myths and Legends datapack,或者自行创建一个。可从以下地址下载官方 Myths and Legends datapack:
- CurseForge
- Modrinth(注意:链接仍在审核中)
另外还提供了一个公开仓库,供任何想要调整 datapack 并“编译”自己版本的人使用:GitHub Repository。
Wiki 与附加资源
- 已添加一个 wiki 页面,包含 datapack 当前已实现生成的全部信息:Wiki
创建自定义生成
想要打造你自己独特的 Pokémon 生成条件吗?请参考这份详细指南,了解如何为游戏添加自定义生成:Creating Custom Spawns Tutorial。本指南提供了分步说明,帮助你轻松将创意带入 Cobblemon 世界。
附加条件
该模组引入了以下附加条件:
Key Item Conditions
-
key_item:检查玩家背包中是否有特定关键道具。 - 示例用法:
"keyitem": "tidalbell"。
Custom Item Conditions
-
customkeyitems:检查玩家背包中是否拥有指定数量的自定义关键道具,并在允许时消耗它。
- 示例用法:
"custom_key_items": [
{
"id": "minecraft:diamond",
"count": 2,
"consume": false
},
{
"id": "minecraft:emerald",
"count": 1,
"consume": true
},
{
"id": "cobblemon:master_ball",
"count": 1,
"consume": false
}
]
-
customsecondaryitem:检查玩家背包中是否拥有指定数量的自定义次要物品,并在允许时消耗它。
- 示例用法:
"custom_secondary_item": {
"id": "minecraft:emerald",
"count": 10,
"consume": true
}
-
consume标志无论配置设置如何都会生效;如果为true,则在条件检查时确保消耗该物品。
Item Conditions
-
thunderstonerequirement:检查玩家背包中所需数量的thunderstone。示例用法:"thunderstone_requirement": "3"。
-
waterstonerequirement:检查玩家背包中所需数量的waterstone。示例用法:"waterstone_requirement": "2"。
-
icestonerequirement:检查玩家背包中所需数量的icestone。示例用法:"icestone_requirement": "4"。
-
firestonerequirement:检查玩家背包中所需数量的firestone。示例用法:"firestone_requirement": "5"。
-
dragonscalerequirement:检查玩家背包中所需数量的dragonscale。示例用法:"dragonscale_requirement": "2"。
-
electirizerrequirement:检查玩家背包中所需数量的electirizer。示例用法:"electirizerrequirement": "1"。
-
magmarizerrequirement:检查玩家背包中所需数量的magmarizer。示例用法:"magmarizerrequirement": "1"。
-
metalcoatrequirement:检查玩家背包中所需数量的metalcoat。示例用法:"metalcoat_requirement": "3"。
-
protectorrequirement:检查玩家背包中所需数量的protector。示例用法:"protectorrequirement": "2"。
-
leafstonerequirement:检查玩家背包中所需数量的leafstone。示例用法:"leafstone_requirement": "4"。
-
moonstonerequirement:检查玩家背包中所需数量的moonstone。示例用法:"moonstone_requirement": "3"。
-
sunstonerequirement:检查玩家背包中所需数量的sunstone。示例用法:"sunstone_requirement": "2"。
-
shinystonerequirement:检查玩家背包中所需数量的shinystone。示例用法:"shinystone_requirement": "2"。
-
duskstonerequirement:检查玩家背包中所需数量的duskstone。示例用法:"duskstone_requirement": "1"。
-
dawnstonerequirement:检查玩家背包中所需数量的dawnstone。示例用法:"dawnstone_requirement": "1"。
-
nevermelticerequirement:检查玩家背包中所需数量的nevermeltice。示例用法:"nevermelticerequirement": "3"。
Pokémon Team Conditions
-
arceusinteamrequirement:检查玩家队伍中是否有 Arceus。示例用法:"arceusinteamrequirement": "true"。
-
articunointeamrequirement:检查玩家队伍中是否有 Articuno。示例用法:"articunointeamrequirement": "true"。
-
darkraiinteamrequirement:检查玩家队伍中是否有 Darkrai。示例用法:"darkraiinteamrequirement": "true"。
-
deoxysinteamrequirement:检查玩家队伍中是否有 Deoxys。示例用法:"deoxysinteamrequirement": "true"。
-
dialgainteamrequirement:检查玩家队伍中是否有 Dialga。示例用法:"dialgainteamrequirement": "true"。
-
enteiinteamrequirement:检查玩家队伍中是否有 Entei。示例用法:"enteiinteamrequirement": "true"。
-
giratinainteamrequirement:检查玩家队伍中是否有 Giratina。示例用法:"giratinainteamrequirement": "true"。
-
groudoninteamrequirement:检查玩家队伍中是否有 Groudon。示例用法:"groudoninteamrequirement": "true"。
-
hoohinteamrequirement:检查玩家队伍中是否有 Ho-Oh。示例用法:"hoohinteamrequirement": "true"。
-
kyogreinteamrequirement:检查玩家队伍中是否有 Kyogre。示例用法:"kyogreinteamrequirement": "true"。
-
kyureminteamrequirement:检查玩家队伍中是否有 Kyurem。示例用法:"kyureminteamrequirement": "true"。
-
latiasinteamrequirement:检查玩家队伍中是否有 Latias。示例用法:"latiasinteamrequirement": "true"。
-
latiosinteamrequirement:检查玩家队伍中是否有 Latios。示例用法:"latiosinteamrequirement": "true"。
-
lugiainteamrequirement:检查玩家队伍中是否有 Lugia。示例用法:"lugiainteamrequirement": "true"。
-
mewinteamrequirement:检查玩家队伍中是否有 Mew。示例用法:"mewinteamrequirement": "true"。
-
moltresinteamrequirement:检查玩家队伍中是否有 Moltres。示例用法:"moltresinteamrequirement": "true"。
-
palkiainteamrequirement:检查玩家队伍中是否有 Palkia。示例用法:"palkiainteamrequirement": "true"。
-
raikouinteamrequirement:检查玩家队伍中是否有 Raikou。示例用法:"raikouinteamrequirement": "true"。
-
rayquazainteamrequirement:检查玩家队伍中是否有 Rayquaza。示例用法:"rayquazainteamrequirement": "true"。
-
suicuneinteamrequirement:检查玩家队伍中是否有 Suicune。示例用法:\"suicuneinteamrequirement": "true"\。
-
zamazentainteamrequirement:检查玩家队伍中是否有 Zamazenta。示例用法:"zamazentainteamrequirement": "true"。
-
zapdosinteamrequirement:检查玩家队伍中是否有 Zapdos。示例用法:"zapdosinteamrequirement": "true"。
Custom Pokémon Species in Team Conditions
-
custompokemonin_team:检查玩家队伍中是否有指定数量的某种 Pokémon 物种。 - 示例用法:
json "custompokemonsin_team": [ { "species": "regice", "count": 1 }, { "species": "regidrago", "count": 1 }, { "species": "regieleki", "count": 1 }, { "species": "regirock", "count": 1 }, { "species": "registeel", "count": 1 } ]
带有 Key Item Condition 的示例生成文件
{
"enabled": true,
"neededInstalledMods": [],
"neededUninstalledMods": [],
"spawns": [
{
"id": "articuno-1",
"pokemon": "articuno",
"presets": [
"natural"
],
"type": "pokemon",
"context": "grounded",
"bucket": "ultra-rare",
"level": "50-60",
"weight": 0.1,
"condition": {
"canSeeSky": true,
"biomes": [ "minecraft:snowy_plains" ],
"key_item": "tidal_bell",
"ice_stone_requirement": "3"
}
}
]
}
模组中的物品列表
- adamant\_orb
- aurora\_ticket
- azure\_flute
- blue\_orb
- bonus\_disk
- clear\_bell
- cocoon\of\destruction
- dark\_stone
- dna\_splicer
- dr\fujis\diary
- eon\_flute
- eon\_ticket
- gs\_ball
- griseous\_orb
- jade\_orb
- liberty\_pass
- light\_stone
- lustrous\_orb
- magma\_stone
- member\_card
- moon\_flute
- mystery\_box
- old\sea\map
- oaks\_letter
- rainbow\_wing
- red\_chain
- red\_orb
- reveal\_glass
- rusted\_shield
- rusted\_sword
- sapling\of\life
- scarlet\_book
- silver\_wing
- sun\_flute
- teal\_mask
- tidal\_bell
- violet\_book
- zygarde\_cell
- zygarde\_core
- zygarde\_cube
默认配置文件
位于 config/MythsAndLegends 下的 config.toml 文件包含以下默认设置:
-
inventorycheckinterval(旧版本中为checkInventoryInterval)= 3600
- 检查玩家背包的 Minecraft tick 间隔。可用值:任意整数。默认值:3600(2 分 30 秒)。
-
consumeitemsonsuccessfulspawn(旧版本中为consumeConditionalItemOnSuccessfulSpawn)= false
- 决定在成功生成时是否消耗物品。可用值:true、false。默认值:false。
-
ignorekeyitems(旧版本中为IfKeyItemAndItemRequirementIsSetConsumeOnlyItems)= true
- 如果为 true,且同时设置了关键道具和物品条件,则只消耗物品。可用值:true、false。默认值:true。
-
inventorycheckitem_list(此版本新增,旧版本无对应项)
- 每次检查间隔时需要在背包中检查的物品列表。
- 列表中的默认物品:
"minecraft:diamond""minecraft:emerald""minecraft:nether_star""cobblemon:dragon_scale""cobblemon:electirizer""cobblemon:magmarizer""cobblemon:metal_coat""cobblemon:protector""cobblemon:leaf_stone""cobblemon:moon_stone""cobblemon:sun_stone""cobblemon:shiny_stone""cobblemon:dusk_stone""cobblemon:dawn_stone""cobblemon:ice_stone""cobblemon:thunder_stone""cobblemon:fire_stone""cobblemon:water_stone""cobblemon:nevermeltice"- 此配置允许指定一个物品列表,游戏会在每个设定的时间间隔检查玩家背包中是否存在这些物品。
-
isBroadcastEnabled= false
- 决定是否启用广播功能。这包括
broadcast_settings中指定的所有通知类型。可启用或禁用整个广播系统。可用值:true、false。默认值:false -
broadcast_settings:
BroadcastToAll- 说明:为 true 时,消息会广播给所有玩家。
- 可用值:true、false
- 默认值:true
DisplayName- 说明:启用后,会在广播消息中显示 Pokémon 的名称。
- 可用值:true、false
- 默认值:true
Legendarys- 说明:启用后,当传奇 Pokémon 生成时会广播消息。
- 可用值:true、false
- 默认值:true
Mythicals- 说明:启用后,当幻之 Pokémon 生成时会广播消息。
- 可用值:true、false
- 默认值:true
UltraBeasts- 说明:启用后,当究极异兽生成时会广播消息。
- 可用值:true、false
- 默认值:false
Location- 说明:为 true 时,广播消息中会包含位置。
- 可用值:true、false
- 默认值:true
Shiny- 说明:启用关于 Pokémon 闪光状态的广播。
- 可用值:true、false
- 默认值:false
Level- 说明:启用后,广播中会包含 Pokémon 的等级。
- 可用值:true、false
- 默认值:true
-
inventorycheckshulker_boxes= true
- 决定背包检查时是否扫描潜影盒内的物品。可用值:true、false。默认值:true。
-
inventorycheckbundles= true
- 决定背包检查时是否扫描收纳袋内的物品。可用值:true、false。默认值:true。
-
enableforcespawning= false
- 决定右键点击关键道具时,是否强制生成将该关键道具作为生成条件的 Pokémon。
- 可用值:
true、false - 默认值:
false -
forcespawningspawn_pool= "ultra-rare"
- 决定强制生成模块应检查哪个 Spawn Pool。可用值:common、uncommon、rare 和 ultra-rare。默认值:ultra-rare
- 可用值:
"common"、"uncommon"、"rare"、"ultra-rare" - 默认值:
"ultra-rare" -
forcespawnitem_cooldown= 20
- 设置关键道具用于强制生成后,再次使用前的冷却时间(秒)。
- 可用值:任意整数 >= 1
- 默认值:20
-
forcespawncheck_width= 100
- 定义强制生成时,游戏围绕玩家检查可能 Pokémon 生成位置的宽度范围。
- ⚠️ 提高该值可能会导致卡顿,但更有可能找到生成点。请谨慎调整。
- 可用值:任意整数 >= 1
- 默认值:100
-
forcespawncheck_height= 50
- 指定强制生成时围绕玩家检查潜在 Pokémon 生成位置的高度范围,类似于
forcespawncheck_width。 - 可用值:任意整数 >= 1
- 默认值:50
- 注意:背包检查只会对正在使用该物品的玩家执行一次。
命令文档
该附加组件引入了一系列命令,用于管理控制和增强玩家交互,每条命令均提供英文和德文版本:
注意:如果未安装 LuckPerms,则所有命令都需要 OP 2 级权限。
通用权限
-
所需权限:
mythsandlegends.access -
功能:授予访问
"mythsandlegends"命令组的权限。
1\. /mythsandlegends listitems \[player\_name\]
-
所需权限:
mythsandlegends.listitems - 功能:列出指定玩家背包中的关键道具,包括各种类型物品的数量。
- 用法:`/mythsandlegends listitems
`
- 输出:
- English: "Items in the inventory of \[player\_name\]: \[items list\]"
- German: "Items im Inventar von \[player\_name\]: \[items list\]"
- 错误:
- English: "Player not found."
- German: "Spieler nicht gefunden."
2\. /mythsandlegends checkinventory \[player\_name\]
-
所需权限:
mythsandlegends.checkinventory - 功能:对指定玩家执行一次手动背包检查。
- 用法:`/mythsandlegends checkinventory
`
- 输出:
- English: "Inventory of player \[player\_name\] has been checked."
- German: "Inventar des Spielers \[player\_name\] wurde überprüft."
- 错误:
- English: "Player not found."
- German: "Spieler nicht gefunden."
3\. /mythsandlegends listpokemon \[player\_name\]
-
所需权限:
mythsandlegends.listpokemon - 功能:列出指定玩家队伍中的所有 Pokémon。
- 用法:`/mythsandlegends listpokemon
`
- 输出:
- English: "\[player\_name\]'s Pokémon: \[Pokémon list\]"
- German: "Pokémon von \[player\_name\]: \[Pokémon list\]"
- 错误:
- English: "Player not found."
- German: "Spieler nicht gefunden."
Cobblemon Myths and Legends Addon 语言文件修改指南
本指南面向资源包制作者或希望自定义 Cobblemon Myths and Legends Addon 语言文件的用户。通过编辑这些文件,你可以修改游戏内文本消息,适用于德语(dede.json)或英语(enus.json)。
查找并编辑语言文件
语言文件位于资源包目录下的 resources/assets/cobblemon-mythsandlegends-addon/lang。根据目标语言,你可以编辑 dede.json(德语)或 enus.json(英语)。
语言文件结构示例
{
"command.mythsandlegends.player_not_found": "Player not found.",
"command.mythsandlegends.items_in_inventory": "Items in the inventory of %s: %s"
}
命令消息
command.mythsandlegends.playernotfound
-
Default Message:"Player not found." -
Modification:修改此消息来自定义未找到玩家时显示的文本。 command.mythsandlegends.itemsininventory
-
Default Message:"Items in the inventory of %s: %s" -
Modification:编辑此项以修改背包物品列表的显示方式。请保留用于玩家名和物品列表的%s占位符。 command.mythsandlegends.inventory_checked
-
Default Message:"Inventory of player %s has been checked." -
Modification:修改此消息以更改背包检查通知,同时保留玩家名称的%s。 command.mythsandlegends.no_pokemon
-
Default Message:"%s has no Pokémon in their party." -
Modification:修改此项以自定义玩家没有 Pokémon 时的提示,并保留玩家名称的%s。 command.mythsandlegends.pokemon_list
-
Default Message:"%s's Pokémon: %s" -
Modification:编辑此项以调整玩家 Pokémon 列表的显示方式,并确保保留%s占位符。
聊天广播消息
chat.broadcast.spawn
-
Default Message:"A wild %s has spawned!" -
Modification:修改此项以更改生成公告,并保留 Pokémon 名称的%s。 chat.broadcast.location
-
Default Message:"Location: X=%d, Y=%d, Z=%d" -
Modification:修改此项以自定义位置信息显示,并保留坐标的%d占位符。 chat.broadcast.legendary
-
Default Message:"It's a Legendary Pokémon!" -
Modification:修改此文本以调整传奇 Pokémon 公告。 chat.broadcast.mythical
-
Default Message:"A Mythical Pokémon appears!" -
Modification:编辑此项以自定义幻之 Pokémon 出现提示。 chat.broadcast.ultrabeast
-
Default Message:"Warning: An Ultra Beast has been detected!" -
Modification:修改此项以更改究极异兽警报消息。 chat.broadcast.shiny
-
Default Message:"Shiny Pokémon alert!" -
Modification:修改此项以个性化闪光 Pokémon 公告。 chat.broadcast.level
-
Default Message:"Level: %s" -
Modification:编辑此消息以修改 Pokémon 等级的显示方式,并保留等级的%s。
完成修改后,保存 .lang 文件。请确保使用 UTF-8 编码以支持特殊字符。你的修改将会在游戏中生效,为玩家带来个性化体验。
Cobblemon 与 Myths and Legends Addon 常见问题(FAQ)
Q:What is the Cobblemon Myths and Legends Addon?
A:Cobblemon Myths and Legends Addon 为 Cobblemon 添加了关键道具和新的生成条件,包括为每个关键道具预制的生成内容。
Q:How can I spawn legendaries in Cobblemon?
A:要在 Cobblemon 中生成传说 Pokémon,玩家必须确保背包中包含特定关键道具,并且站在对应传说 Pokémon 可生成的正确生物群系中。默认情况下,该模组每 2 分 30 秒自动扫描一次玩家背包,以判断是否满足传说生成资格。此间隔可通过位于 config/MythsAndLegends 下的 CobblemonMythsAndLegendsAddonConfig.toml 文件中的 inventorycheck_interval 参数(旧版本中称为 checkInventoryInterval)进行配置。默认值为 3600 个 Minecraft tick,相当于 2 分 30 秒。如需立即检查背包,玩家可使用 /mythsandlegends checkinventory 命令。之后,应使用 /checkspawn ultra-rare 命令(或如果已修改,则使用适用于其他生成桶的对应命令)来启动生成检查,并确保玩家位于正确的生物群系中,以便该传说 Pokémon 出现。
Q:Do all configured Pokémon spawn in the game?
A:是的,所有已配置的 Pokémon 都会生成,前提是满足全部生成条件。
Q:What should I do if a spawned Pokémon doesn't have a texture?
A:需要注意的是,该模组本身不会添加任何模型或材质。你可能需要检查与其他提供这些内容的模组或资源包之间的兼容性。
Q:Can I modify spawn conditions for Cobblemon?
A:可以,使用 Myths and Legends addon 的独立版本时,你可以创建自己的生成设置。不过这可能不适用于“普通”版本,并且生成条件中使用的特定物品必须已经在你所使用的版本中实现。
Q:How can I make legendaries spawn more frequently?
A:如果想让传说 Pokémon 更频繁生成,你可以编辑生成条件,例如在独立版本中将其放入 common 生成桶并设置较高权重。
Q:Is there a way to report issues or suggestions for the addon?
A:可以,Le0n(Discord 上为 @Le0n)欢迎分享任何问题、想法或反馈,以帮助改进和发展该 addon。你可以直接在对话中或通过以下指定渠道提交你的意见和建议:
Q:Can I use data/resource packs with this mod?
A:可以,像 MysticMons 这样的数据包和资源包可以与该模组一同使用,并可能为传说/幻之 Pokémon 添加模型。
Q:Where can I find the official guide and spawn pool information?
A:官方指南以及生成池的详细信息可在 Cobblemon wiki 和 modrinth 页面找到。
Q:Are there updates planned for the Myths and Legends addon?
A:是的,后续已计划更新,包括新功能和兼容性改进。具体细节将在可用时由 Le0n 分享。