Roanoke Development
  • Home
  • Terms and Conditions
  • Product Pricing
  • Mods
    • CobbledSync
    • Lazy NPCs
      • Defined Locations
      • Defined Items
      • Molang
        • Economy Methods
        • Player Methods
    • Oxygen
      • Player Warps
        • Commands & Permissions
      • Commands & Permissions
        • Configured TP (CTP)
      • RTP (Random Teleport)
        • Configured RTP (Admin Command)
      • Migrating from EEssentials
    • WonderTrade
      • Announcements
      • Commands & Permissions
      • Trade Pool(s)
    • Teams
    • Tournaments
      • Time Limits
    • CobbledSpawners
      • Config
      • Spawners
      • Spawn Groups
      • Commands & Permissions
    • ScavengerHunts
    • PPokedex
      • Commands
      • Configurable GUI
      • Configuration
      • Items
      • Ranks
      • Pokedex
    • GGyms
      • Gym Rewards
      • Gym Requirements
      • Commands & Permissions
    • BetterBreeding
      • Egg Encryption
      • Pasture Based Breeding
      • Configurable Items
      • Commands & Permissions
      • GUIs
      • Breeding Configuration
    • Research Tasks
    • Roanoke Library (Rib)
      • Placeholders
        • Pokemon Placeholders
        • Player Placeholders
      • Rewards
      • Item Builder
      • Custom GUI
      • Requirements
        • Multiple Requirements Requirement
        • Pokemon Party Requirements
        • Registering Custom Requirements
        • Permission Requirement
      • Quests
        • Other Quests
        • Placeholder Quests
        • Cobblemon Quests
        • Minecraft Quests
        • Registering Custom Quests
      • PokeMatch
        • IVs/EVs
    • GiftBox
      • Quick Start
      • Commands & Permissions
      • Player Groups
      • Gift Definitions
    • Cobblemon Bank
      • Commands & Permissions
      • Bank Transactions
      • Bank Config
    • Boosters
      • Commands & Permissions
Powered by GitBook
On this page
  • CatchPokemonQuest
  • DefeatPokemonQuest
  • ReleasePokemonQuest
  • HarvestApricornQuest
  • NicknamePokemonQuest
  • TradePokemonQuest
  • EvolvePokemonQuest
  • HavePokemonQuest
  1. Mods
  2. Roanoke Library (Rib)
  3. Quests

Cobblemon Quests

CatchPokemonQuest

{
  "type": "CatchPokemonQuest",
  "name": "Picking Lettuce",
  "id": "pickinglettuce",
  "pokeMatch": {
    "species": "cobblemon:bulbasaur"
  },
  "taskMessage": "Catch 3x Bulbasaur",
  "amount": 3
}

The biggest difference with Pokemon related Quests is the "pokeMatch" field. A PokeMatch is a common method to identify parts of a Pokemon. For instance, a species, form, or ability. I highly recommend reading the [[PokeMatch]] section in its entirety.

The quickest and easiest way to setup the pokeMatch is by simply adding a "species" field, with the full resource identifier species name, i.e. "cobblemon:charizard". Any field can be left out or set to "" to make it accept any option. For example, to create a Quest that simply tracks catching any Pokemon, you could do this:

{
  "type": "CatchPokemonQuest",
  "name": "Catch A Pokemon!",
  "id": "catchonepokemon",
  "pokeMatch": {
    "species": ""
  },
  "taskMessage": "Catch A Pokemon!",
  "amount": 1
}

Any Pokemon caught will count towards this Quest. You could also not put the PokeMatch field at all, which would then result in the default PokeMatch being used, which accepts any Pokemon.

As with other Quests, amount is simply the amount of Pokemon matching the PokeMatch to be caught for the Quest to be "complete".

DefeatPokemonQuest

{
  "type": "DefeatPokemonQuest",
  "name": "Bird Hunting",
  "id": "birdhunting",
  "pokeMatch": {
    "species": "cobblemon:spearow"
  },
  "taskMessage": "Defeat 3x Spearow in Battle",
  "amount": 3
}

The DefeatPokemonQuest tracks "defeats" from battles, and only Wild battles. Pokemon killed outside of battle (with swords etc) won't count towards this quest type.

ReleasePokemonQuest

{
  "type": "ReleasePokemonQuest",
  "name": "Throwing Lettuce",
  "id": "throwinglettuce",
  "pokeMatch": {
    "species": "cobblemon:bulbasaur"
  },
  "taskMessage": "Release a Bulbasaur into the wild!",
  "amount": 1
}

Imagine the CatchPokemonQuest, but for releasing.

HarvestApricornQuest

{
    "type": "HarvestApricornQuest",
    "id": "harvestblueapricorns",
    "apricorn": "blue",
    "amount": 3
}

The "apricorn" field represents the Apricorn colour the Quest involves. This could be "black", "blue", "green", "pink", "red", "white", or "yellow".

The Task Message is automatically made, in the format "Harvest (amount)x (Colour) Apricorns".

As with other quests, "amount" is just the amount of Apricorns to be harvested for the quest to be complete.

NicknamePokemonQuest

{
  "type": "NicknamePokemonQuest",
  "name": "Nickname Time",
  "id": "uniqueunickname",
  "pokeMatch": {
    "species": "cobblemon:pikachu"
  },
  "regex": ".*",
  "taskMessage": "Nickname a Pikachu, call it anything!",
  "amount": 1
}

"pokeMatch" is optional, without it, any Pokemon being nicknamed will trigger the Quest to progress. You can use Regex to only accept certain nicknames. The "regex" field is also optional, accepting any name. The default Regex pattern is ".*" which accepts any amount of characters, including none.

TradePokemonQuest

{
  "type": "TradePokemonQuest",
  "name": "Getting a new Bird",
  "id": "uniquetradepokemonid",
  "sentPokemon": {
    "species": "cobblemon:spearow"
  },
  "recievedPokemon": {
    "species": "cobblemon:murkrow"
  },
  "taskMessage": "Trade a Spearow for a Murkrow",
  "amount": 1
}

"sentPokemon" is a PokeMatch the checks the Pokemon the player is sending. "recievedPokemon" is the same but for the recieved Pokemon. Crazy!

Both fields are optional, making this just a check for any trade event.

EvolvePokemonQuest

{
  "type": "EvolvePokemonQuest",
  "name": "Fire Time",
  "id": "evolutionquestunique",
  "preEvolution": {
    "species": "cobblemon:charmander"
  },
  "postEvolution": {
    "species": "cobblemon:charmeleon"
  },
  "taskMessage": "Evolve a Charmander into a Charmeleon",
  "amount": 1
}

Both "preEvolution" and "postEvolution" are optional PokeMatches. For instance, you could create an EvolvePokemonQuest that simply looks for any Pokemon evolving into an Alolan Pokemon.

More features can and will be added to this, such as checking for certain moves being learned, or whether an item was used to trigger the evolution.

HavePokemonQuest

{
  "type": "HavePokemonQuest",
  "name": "Storing Lettuce",
  "id": "storinglettuce",
  "pokeMatch": {
    "species": "cobblemon:bulbasaur"
  },
  "storageType": "party",
  "taskMessage": "Have a Bulbasaur in your Party"
}

"storageType" can be either "party" or "pc". This Quest is STATELESS, meaning it's either passed (because there's a bulbasaur in your party right now), or not (if there isn't one).

PreviousPlaceholder QuestsNextMinecraft Quests

Last updated 6 months ago