The Cobblemon Myths and Legends Sidemod for Cobblemon Mod introduces a dynamic new feature where key items directly influence spawning conditions. These items, when held by a player, fulfill specific conditions, causing certain Pokémon to spawn exclusively around that player (every condition specific to the Pokémon must be fulfilled in order for it to spawn). This mechanic also applies to multiple players independently, each holding the necessary items.
Key items can be found in selected loot chests by default, with their rarity and specific loot tables configurable in the settings. This allows for a tailored gameplay experience, where players can adjust how and where these items appear in the game world.
Important Notice
Reminder: For versions higher than 1.3, to use the mechanics added by the mod, you MUST use the Myths and Legends datapack or create one yourself. Download the official Myths and Legends datapack from:
- CurseForge
- Modrinth (Note: Link is still under review)
A public repository is also available for anyone who wants to tinker with the datapack and "compile" their own version: GitHub Repository.
Wiki and Additional Resources
- Added a wiki page containing all information on the currently implemented spawns from the datapack: Wiki
Creating Custom Spawns
Interested in crafting your own unique Pokémon spawn conditions? Follow this detailed guide to learn how you can add custom spawns to your game: Creating Custom Spawns Tutorial. This guide provides step-by-step instructions, making it easy for you to bring your creative ideas to life in the Cobblemon world.
Additional Conditions
The mod introduces the following additional conditions:
Key Item Conditions
key_item: Checks for a specific key item in the player's inventory.- Example usage:
"key_item": "tidal_bell".
- Example usage:
Custom Item Conditions
-
custom_key_items: Checks for a specific amount of a custom key item in the player's inventory and consumes it if allowed.- Example usage:
"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 } ] -
custom_secondary_item: Checks for a specific amount of a custom secondary item in the player's inventory and consumes it if allowed.- Example usage:
"custom_secondary_item": { "id": "minecraft:emerald", "count": 10, "consume": true }- The
consumeflag works regardless of the config settings, ensuring the item is consumed upon condition check iftrue.
Item Conditions
-
thunder_stone_requirement: Checks for the required amount ofthunder_stonein the player's inventory. Example usage:"thunder_stone_requirement": "3". -
water_stone_requirement: Checks for the required amount ofwater_stonein the player's inventory. Example usage:"water_stone_requirement": "2". -
ice_stone_requirement: Checks for the required amount ofice_stonein the player's inventory. Example usage:"ice_stone_requirement": "4". -
fire_stone_requirement: Checks for the required amount offire_stonein the player's inventory. Example usage:"fire_stone_requirement": "5". -
dragon_scale_requirement: Checks for the required amount ofdragon_scalein the player's inventory. Example usage:"dragon_scale_requirement": "2". -
electirizer_requirement: Checks for the required amount ofelectirizerin the player's inventory. Example usage:"electirizer_requirement": "1". -
magmarizer_requirement: Checks for the required amount ofmagmarizerin the player's inventory. Example usage:"magmarizer_requirement": "1". -
metal_coat_requirement: Checks for the required amount ofmetal_coatin the player's inventory. Example usage:"metal_coat_requirement": "3". -
protector_requirement: Checks for the required amount ofprotectorin the player's inventory. Example usage:"protector_requirement": "2". -
leaf_stone_requirement: Checks for the required amount ofleaf_stonein the player's inventory. Example usage:"leaf_stone_requirement": "4". -
moon_stone_requirement: Checks for the required amount ofmoon_stonein the player's inventory. Example usage:"moon_stone_requirement": "3". -
sun_stone_requirement: Checks for the required amount ofsun_stonein the player's inventory. Example usage:"sun_stone_requirement": "2". -
shiny_stone_requirement: Checks for the required amount ofshiny_stonein the player's inventory. Example usage:"shiny_stone_requirement": "2". -
dusk_stone_requirement: Checks for the required amount ofdusk_stonein the player's inventory. Example usage:"dusk_stone_requirement": "1". -
dawn_stone_requirement: Checks for the required amount ofdawn_stonein the player's inventory. Example usage:"dawn_stone_requirement": "1". -
never_melt_ice_requirement: Checks for the required amount ofnever_melt_icein the player's inventory. Example usage:"never_melt_ice_requirement": "3".
Pokémon Team Conditions
-
arceus_in_team_requirement: Checks if Arceus is present in the player's team. Example usage:"arceus_in_team_requirement": "true". -
articuno_in_team_requirement: Checks if Articuno is present in the player's team. Example usage:"articuno_in_team_requirement": "true". -
darkrai_in_team_requirement: Checks if Darkrai is present in the player's team. Example usage:"darkrai_in_team_requirement": "true". -
deoxys_in_team_requirement: Checks if Deoxys is present in the player's team. Example usage:"deoxys_in_team_requirement": "true". -
dialga_in_team_requirement: Checks if Dialga is present in the player's team. Example usage:"dialga_in_team_requirement": "true". -
entei_in_team_requirement: Checks if Entei is present in the player's team. Example usage:"entei_in_team_requirement": "true". -
giratina_in_team_requirement: Checks if Giratina is present in the player's team. Example usage:"giratina_in_team_requirement": "true". -
groudon_in_team_requirement: Checks if Groudon is present in the player's team. Example usage:"groudon_in_team_requirement": "true". -
hooh_in_team_requirement: Checks if Ho-Oh is present in the player's team. Example usage:"hooh_in_team_requirement": "true". -
kyogre_in_team_requirement: Checks if Kyogre is present in the player's team. Example usage:"kyogre_in_team_requirement": "true". -
kyurem_in_team_requirement: Checks if Kyurem is present in the player's team. Example usage:"kyurem_in_team_requirement": "true". -
latias_in_team_requirement: Checks if Latias is present in the player's team. Example usage:"latias_in_team_requirement": "true". -
latios_in_team_requirement: Checks if Latios is present in the player's team. Example usage:"latios_in_team_requirement": "true". -
lugia_in_team_requirement: Checks if Lugia is present in the player's team. Example usage:"lugia_in_team_requirement": "true". -
mew_in_team_requirement: Checks if Mew is present in the player's team. Example usage:"mew_in_team_requirement": "true". -
moltres_in_team_requirement: Checks if Moltres is present in the player's team. Example usage:"moltres_in_team_requirement": "true". -
palkia_in_team_requirement: Checks if Palkia is present in the player's team. Example usage:"palkia_in_team_requirement": "true". -
raikou_in_team_requirement: Checks if Raikou is present in the player's team. Example usage:"raikou_in_team_requirement": "true". -
rayquaza_in_team_requirement: Checks if Rayquaza is present in the player's team. Example usage:"rayquaza_in_team_requirement": "true". -
suicune_in_team_requirement: Checks if Suicune is present in the player's team. Example usage: `"suic
une_in_team_requirement": "true"`.
-
zamazenta_in_team_requirement: Checks if Zamazenta is present in the player's team. Example usage:"zamazenta_in_team_requirement": "true". -
zapdos_in_team_requirement: Checks if Zapdos is present in the player's team. Example usage:"zapdos_in_team_requirement": "true".
Custom Pokémon Species in Team Conditions
custom_pokemon_in_team: Checks for a specific number of a certain Pokémon species in the player's team.- Example usage:
json "custom_pokemons_in_team": [ { "species": "regice", "count": 1 }, { "species": "regidrago", "count": 1 }, { "species": "regieleki", "count": 1 }, { "species": "regirock", "count": 1 }, { "species": "registeel", "count": 1 } ]
- Example usage:
Example Spawn File with 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"
}
}
]
}
List of Items in the Mod
- 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
- ✨_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
Default Configuration File
The config.toml file, located under config/MythsAndLegends, contains the following default settings:
-
inventory_check_interval(checkInventoryIntervalin older versions) = 3600- Interval in Minecraft ticks for checking player inventories. Possible values: any integer. Default: 3600 (2 minutes and 30 seconds).
-
consume_items_on_successful_spawn(consumeConditionalItemOnSuccessfulSpawnin older versions) = false- Determines if items are consumed on successful spawns. Possible values: true, false. Default: false.
-
ignore_key_items(IfKeyItemAndItemRequirementIsSetConsumeOnlyItemsin older versions) = true- If true, and both a key item and item condition are set, only items are consumed. Possible values: true, false. Default: true.
-
inventory_check_item_list(New in this version, no old version equivalent)- List of items to be checked in the inventory at each interval.
- Default items in the 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:never_melt_ice"- This configuration allows for specifying a list of items that the game will check for in player inventories at each specified interval.
-
isBroadcastEnabled= false- Determines if broadcasting features are enabled. This includes all types of notifications specified in 'broadcast_settings'. Enables or disables the entire broadcasting system. Possible values: true, false. Default: false
-
broadcast_settings:BroadcastToAll- Description: When true, messages are broadcasted to all players.
- Possible Values: true, false
- Default: true
DisplayName- Description: If enabled, displays the name of the Pokémon in the broadcast message.
- Possible Values: true, false
- Default: true
Legendarys- Description: If enabled, broadcasts a message when a legendary Pokémon spawns.
- Possible Values: true, false
- Default: true
Mythicals- Description: If enabled, broadcasts a message when a mythical Pokémon spawns.
- Possible Values: true, false
- Default: true
UltraBeasts- Description: If enabled, broadcasts a message when an Ultra Beast spawns.
- Possible Values: true, false
- Default: false
Location- Description: If true, includes the location in broadcast messages.
- Possible Values: true, false
- Default: true
Shiny- Description: Enables broadcasts about Shiny Status of the Pokémon.
- Possible Values: true, false
- Default: false
Level- Description: When enabled, the level of Pokémon is included in the broadcast.
- Possible Values: true, false
- Default: true
-
inventory_check_shulker_boxes= true- Determines if the contents of shulker boxes should be scanned for items by the inventory check. Possible values: true, false. Default: true.
-
inventory_check_bundles= true- Determines if the contents of bundles should be scanned for items by the inventory check. Possible values: true, false. Default: true.
-
enable_force_spawning= false- Determines if right-clicking key items forcefully spawns Pokémon that require the clicked key item as a spawning condition.
- Possible values:
true,false - Default:
false
-
force_spawning_spawn_pool= "ultra-rare"- Determines in which Spawn Pool the force spawning module should check. Possible values: common, uncommon, rare, and ultra-rare. Default: ultra-rare
- Possible values:
"common","uncommon","rare","ultra-rare" - Default:
"ultra-rare"
-
force_spawn_item_cooldown= 20- Sets the cooldown period in seconds after a key item is used for force spawning before it can be used again.
- Possible values: any integer >= 1
- Default: 20
-
force_spawn_check_width= 100- Defines the width around the player within which the game checks for possible Pokémon spawns when force spawning.
- ⚠️ Increasing this value may cause lag but is more likely to find a spawn. Please adjust carefully.
- Possible values: any integer >= 1
- Default: 100
-
force_spawn_check_height= 50- Specifies the height around the player for checking potential Pokémon spawns when force spawning, similar to
force_spawn_check_width. - Possible values: any integer >= 1
- Default: 50
- Specifies the height around the player for checking potential Pokémon spawns when force spawning, similar to
-
Note: Inventory checks happen once for the player who is using the item.
Commands Documentation
The addon introduces a range of commands for administrative control and enhanced player interaction, each available in English and German:
Note: If LuckPerms isn't installed, all commands require OP level 2.
General Permissions
- Permission Required:
mythsandlegends.access - Function: Grants access to the "mythsandlegends" command group.
1. /mythsandlegends listitems [player_name]
- Permission Required:
mythsandlegends.listitems - Function: Lists key items in a specified player's inventory, including quantities of various types of items.
- Usage:
/mythsandlegends listitems <player_name> - Output:
- English: "Items in the inventory of [player_name]: [items list]"
- German: "Items im Inventar von [player_name]: [items list]"
- Error:
- English: "Player not found."
- German: "Spieler nicht gefunden."
2. /mythsandlegends checkinventory [player_name]
- Permission Required:
mythsandlegends.checkinventory - Function: Performs a manual inventory check for a specified player.
- Usage:
/mythsandlegends checkinventory <player_name> - Output:
- English: "Inventory of player [player_name
] has been checked."
- German: "Inventar des Spielers [player_name] wurde überprüft."
- Error:
- English: "Player not found."
- German: "Spieler nicht gefunden."
3. /mythsandlegends listpokemon [player_name]
- Permission Required:
mythsandlegends.listpokemon - Function: Lists all Pokémon in a specified player's party.
- Usage:
/mythsandlegends listpokemon <player_name> - Output:
- English: "[player_name]'s Pokémon: [Pokémon list]"
- German: "Pokémon von [player_name]: [Pokémon list]"
- Error:
- English: "Player not found."
- German: "Spieler nicht gefunden."
Cobblemon Myths and Legends Addon Language File Modification Guide
This guide is aimed at resource pack creators or users who want to customize the language files for the Cobblemon Myths and Legends Addon. By editing these files, you can change in-game text messages for either the German (de_de.json) or English (en_us.json) languages.
Locating and Editing Language Files
Language files are located in the resource pack directory under resources/assets/cobblemon-mythsandlegends-addon/lang. Depending on your target language, you may edit either the de_de.json (for German) or the en_us.json (for English).
Example Structure for Language Files
{
"command.mythsandlegends.player_not_found": "Player not found.",
"command.mythsandlegends.items_in_inventory": "Items in the inventory of %s: %s"
}
Command Messages
-
command.mythsandlegends.player_not_foundDefault Message: "Player not found."Modification: Change this message to customize the text for when a player is not found.
-
command.mythsandlegends.items_in_inventoryDefault Message: "Items in the inventory of %s: %s"Modification: Edit to alter how inventory items are listed. Keep%splaceholders for player name and items list.
-
command.mythsandlegends.inventory_checkedDefault Message: "Inventory of player %s has been checked."Modification: Modify this message to change the notification for inventory checks, maintaining%sfor the player's name.
-
command.mythsandlegends.no_pokemonDefault Message: "%s has no Pokémon in their party."Modification: Change to customize the message for when a player has no Pokémon, keeping%sfor the player's name.
-
command.mythsandlegends.pokemon_listDefault Message: "%s's Pokémon: %s"Modification: Edit this message to adjust the display of a player's Pokémon list, ensuring to keep the%splaceholders.
Chat Broadcast Messages
-
chat.broadcast.spawnDefault Message: "A wild %s has spawned!"Modification: Modify to change the spawn announcement, keeping%sfor the Pokémon's name.
-
chat.broadcast.locationDefault Message: "Location: X=%d, Y=%d, Z=%d"Modification: Alter this message to customize location information display, maintaining%dplaceholders for coordinates.
-
chat.broadcast.legendaryDefault Message: "It's a Legendary Pokémon!"Modification: Change this text to modify the Legendary Pokémon announcement.
-
chat.broadcast.mythicalDefault Message: "A Mythical Pokémon appears!"Modification: Edit to customize the Mythical Pokémon appearance notification.
-
chat.broadcast.ultrabeastDefault Message: "Warning: An Ultra Beast has been detected!"Modification: Modify to change the Ultra Beast alert message.
-
chat.broadcast.shinyDefault Message: "Shiny Pokémon alert!"Modification: Change to personalize the Shiny Pokémon announcement.
-
chat.broadcast.levelDefault Message: "Level: %s"Modification: Edit this message to alter how Pokémon levels are displayed, keeping%sfor the level.
After making your changes, save the .lang file. Ensure it is encoded in UTF-8 to support special characters. Your modifications will now appear in-game, providing a personalized experience for players.
Frequently Asked Questions (FAQ) for Cobblemon and Myths and Legends Addon
Q: What is the Cobblemon Myths and Legends Addon? A: The Cobblemon Myths and Legends Addon adds key items and new spawning conditions for Cobblemon, including pre-made spawns for each key item.
Q: How can I spawn legendaries in Cobblemon? A: To spawn legendaries in Cobblemon, players must ensure that their inventory contains specific key items and that they are standing in the correct biome for the legendary Pokémon to spawn. The mod automatically scans player inventories every 2 minutes and 30 seconds by default to determine eligibility for legendary spawns. This interval can be configured in the Cobblemon_MythsAndLegends_Addon_Config.toml file, located under config/MythsAndLegends, by adjusting the inventory_check_interval parameter (known as checkInventoryInterval in older versions) to your desired frequency. The default setting is 3600 Minecraft ticks, equivalent to 2 minutes and 30 seconds. For immediate inventory checks, players can use the /mythsandlegends checkinventory command. Afterwards, the /checkspawn ultra-rare command (or the appropriate command for a different spawn bucket, if modified) should be used to initiate the spawn check, ensuring the player is within the correct biome for the legendary Pokémon to appear.
Q: Do all configured Pokémon spawn in the game? A: Yes, every configured Pokémon does spawn, provided that all spawning conditions are met.
Q: What should I do if a spawned Pokémon doesn't have a texture? A: It's noted that the mod doesn't add any models or textures. You might need to check for compatibility with other mods or resource packs that add these elements.
Q: Can I modify spawn conditions for Cobblemon? A: Yes, with the standalone version of the Myths and Legends addon, you can create your own spawn settings. However, this might not work with the "normal" version, and specific items used in spawn conditions must be implemented in the version you're using.
Q: How can I make legendaries spawn more frequently? A: For more frequent legendary spawns, you can edit the spawn conditions, such as placing them in the common spawn bucket with a high weight, using the standalone version.
Q: Is there a way to report issues or suggestions for the addon? A: Yes, @Le0n(on Discord) encourages sharing any issues, ideas, or feedback to improve and evolve the addon. You can share your thoughts and suggestions directly in the conversation or through designated channels here:
Q: Can I use data/resource packs with this mod? A: Yes, data and resource packs like MysticMons can work alongside this mod, potentially adding models for the legendaries/mythical Pokémon.
Q: Where can I find the official guide and spawn pool information? A: The official guide and details on spawn pools are available at the Cobblemon wiki and the modrinth page.
Q: Are there updates planned for the Myths and Legends addon? A: Yes, updates are planned, including new features and compatibility improvements. Specific details will be shared by Le0n when available.
![Myths and Legends [Cobblemon Sidemod]](https://cdn.modrinth.com/data/CaOWby9K/f8a9877caf29768ef98c4b642682e494978f3b8f.png)
