Myths and Legends [Cobblemon Addon]

Myths and Legends [Cobblemon Addon]

Mod

The 'Cobblemon Myths and Legends Addon' for Cobblemon Mod introduces key items and new spawning conditions, intended to add encounters with Legendary and Mythical Pokémon, along with pre-made spawns for select key items.

Client and server Game MechanicsUtility

96.3k downloads
94 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

The Cobblemon Myths and Legends Addon 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:

A public repository is also available for anyone who wants to tinker with the datapack and "compile" their own version: GitHub Repository.

Wiki

  • 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".

Custom Item Conditions

  • custom_key_item: Checks for a specific amount of a custom key item in the player's inventory and consumes it if allowed.

    • Example usage:
      "custom_key_item": {
        "id": "minecraft:emerald",
        "count": 10,
        "consume": true
      }
      
  • 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 consume flag works regardless of the config settings, ensuring the item is consumed upon condition check if true.

Item Conditions

  • thunder_stone_requirement: Checks for the required amount of thunder_stone in the player's inventory. Example usage: "thunder_stone_requirement": "3".

  • water_stone_requirement: Checks for the required amount of water_stone in the player's inventory. Example usage: "water_stone_requirement": "2".

  • ice_stone_requirement: Checks for the required amount of ice_stone in the player's inventory. Example usage: "ice_stone_requirement": "4".

  • fire_stone_requirement: Checks for the required amount of fire_stone in the player's inventory. Example usage: "fire_stone_requirement": "5".

  • dragon_scale_requirement: Checks for the required amount of dragon_scale in the player's inventory. Example usage: "dragon_scale_requirement": "2".

  • electirizer_requirement: Checks for the required amount of electirizer in the player's inventory. Example usage: "electirizer_requirement": "1".

  • magmarizer_requirement: Checks for the required amount of magmarizer in the player's inventory. Example usage: "magmarizer_requirement": "1".

  • metal_coat_requirement: Checks for the required amount of metal_coat in the player's inventory. Example usage: "metal_coat_requirement": "3".

  • protector_requirement: Checks for the required amount of protector in the player's inventory. Example usage: "protector_requirement": "2".

  • leaf_stone_requirement: Checks for the required amount of leaf_stone in the player's inventory. Example usage: "leaf_stone_requirement": "4".

  • moon_stone_requirement: Checks for the required amount of moon_stone in the player's inventory. Example usage: "moon_stone_requirement": "3".

  • sun_stone_requirement: Checks for the required amount of sun_stone in the player's inventory. Example usage: "sun_stone_requirement": "2".

  • shiny_stone_requirement: Checks for the required amount of shiny_stone in the player's inventory. Example usage: "shiny_stone_requirement": "2".

  • dusk_stone_requirement: Checks for the required amount of dusk_stone in the player's inventory. Example usage: "dusk_stone_requirement": "1".

  • dawn_stone_requirement: Checks for the required amount of dawn_stone in the player's inventory. Example usage: "dawn_stone_requirement": "1".

  • never_melt_ice_requirement: Checks for the required amount of never_melt_ice in 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:
      "custom_pokemon_in_team": {
        "species": "pikachu",
        "count": 2
      }
      

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
  • 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

Default Configuration File

The config.toml file, located under config/MythsAndLegends, contains the following default settings:

  • inventory_check_interval (checkInventoryInterval in 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 (consumeConditionalItemOnSuccessfulSpawn in older versions) = false

    • Determines if items are consumed on successful spawns. Possible values: true, false. Default: false.
  • ignore_key_items (IfKeyItemAndItemRequirementIsSetConsumeOnlyItems in 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.
    • :warning: 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
  • 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_found

    • Default Message: "Player not found."
    • Modification: Change this message to customize the text for when a player is not found.
  • command.mythsandlegends.items_in_inventory

    • Default Message: "Items in the inventory of %s: %s"
    • Modification: Edit to alter how inventory items are listed. Keep %s placeholders for player name and items list.
  • command.mythsandlegends.inventory_checked

    • Default Message: "Inventory of player %s has been checked."
    • Modification: Modify this message to change the notification for inventory checks, maintaining %s for the player's name.
  • command.mythsandlegends.no_pokemon

    • Default Message: "%s has no Pokémon in their party."
    • Modification: Change to customize the message for when a player has no Pokémon, keeping %s for the player's name.
  • command.mythsandlegends.pokemon_list

    • Default 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 %s placeholders.

Chat Broadcast Messages

  • chat.broadcast.spawn

    • Default Message: "A wild %s has spawned!"
    • Modification: Modify to change the spawn announcement, keeping %s for the Pokémon's name.
  • chat.broadcast.location

    • Default Message: "Location: X=%d, Y=%d, Z=%d"
    • Modification: Alter this message to customize location information display, maintaining %d placeholders for coordinates.
  • chat.broadcast.legendary

    • Default Message: "It's a Legendary Pokémon!"
    • Modification: Change this text to modify the Legendary Pokémon announcement.
  • chat.broadcast.mythical

    • Default Message: "A Mythical Pokémon appears!"
    • Modification: Edit to customize the Mythical Pokémon appearance notification.
  • chat.broadcast.ultrabeast

    • Default Message: "Warning: An Ultra Beast has been detected!"
    • Modification: Modify to change the Ultra Beast alert message.
  • chat.broadcast.shiny

    • Default Message: "Shiny Pokémon alert!"
    • Modification: Change to personalize the Shiny Pokémon announcement.
  • chat.broadcast.level

    • Default Message: "Level: %s"
    • Modification: Edit this message to alter how Pokémon levels are displayed, keeping %s for 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.

Details

Licensed ARR
Published 10 months ago
Updated 2 months ago