ticket-simpleClassic Missions

📖 Mission Creation Guide for Cobblemissions

This guide will teach you how to create your own custom missions for the Cobblemissions mod. Missions are defined using JSON files located in the config\CobbleMissions\Missions folder.

For example: config\CobbleMissions\Missions\my_custom_mission.json

A mission file has the following general structure:

Field
Description
Example

id

Unique identifier for the mission. Must be different for each mission.

"id": 1

page

The page where the mission appears in the UI menu. Useful for organizing missions by category or pages.

"page": 1

repeatable

Indicates whether the mission can be completed multiple times.

"repeatable": true

cooldown

Indicates whether the mission has a cooldown period after completion.

"cooldown": true

cooldownDuration

Duration of the cooldown. Formats: "15s", "5m", "2h", "1d", "1w". Can be combined: "1d2h30m".

"cooldownDuration": "15s"

{
  "id": 1,
  "page": 1,
  "repeatable": true,
  "cooldown": true,
  "cooldownDuration": "15s",
  "display": { ... },
  "id": 15,
  "tasks": [ ... ],
  "rewards": [ ... ],
  "requirement": [ ... ]
}

🖥️ Display section: UI visualization

Defines how the mission will appear in the user menu.

Field
Description
Example

material

Item material representing the mission in the UI.

"material": "poke_ball"

title

Title displayed in the menu. Can use placeholders like %status%.

"title": "Capture Mission

[%status%]"

slot

Position in the user interface where the mission will appear (0–53). Assigning a negative slot will prevent it from being displayed in the UI. Example: -1

"slot": 10

lore

Additional text shown on hover. Can include placeholders and color formatting.

See example in JSON

amount

Amount of the item displayed in the UI.

"amount": 1

customModelData

CustomModelData value for custom models.

"customModelData": 0

🎯 Tasks section: Mission Objectives

A mission can have one or more tasks. Each task must be defined within an array.

chevron-rightCapturehashtag
  • Goal: Capture a specific number of Pokémon.

  • Fields:

    • mode: "specific" (exact species) or "any" (any Pokémon).

    • spec: Pokémon name (required if mode is "specific").

    • amount: Number to capture.

chevron-rightDefeathashtag
  • Goal: Defeat Pokémon in battle.

  • Fields:

    • mode: "specific" or "any".

    • spec: Pokémon name.

    • amount: Number to defeat.

chevron-rightFishhashtag
  • Goal: Fish a number of Pokémon.

  • Fields:

    • mode: "specific" or "any".

    • spec: Pokémon name.

    • amount: Number to fish.

chevron-rightScanninghashtag
  • Goal: Scan Pokémon entries in the Pokédex.

  • Fields:

    • mode: "specific" or "any".

    • spec: Pokémon name (if "specific").

    • amount: Number of scans.

chevron-rightApricornhashtag
  • Goal: Harvest Apricorns from trees.

  • Fields:

    • apricorn: Apricorn color ("red", "blue", etc.) or "any".

    • amount: Number to harvest.

chevron-rightBerryhashtag
  • Goal: Harvest berries from plants.

  • Fields:

    • berry: Berry ID (e.g., "oran", "cobblemon:oran_berry") or "any".

    • amount: Number to harvest.

chevron-rightEvolutionhashtag
  • Goal: Evolve Pokémon.

  • Fields:

    • mode: "specific" or "any".

    • spec: Pre-evolution Pokémon name.

    • evolutionType: "level", "trade", "item", "block", or "any".

    • amount: Number of evolutions.

chevron-rightFossilhashtag
  • Goal: Revive Pokémon from fossils.

  • Fields:

    • mode: "specific" or "any".

    • spec: Resulting Pokémon name.

    • amount: Number to revive.

chevron-rightHeld Itemhashtag
  • Goal: Give held items to Pokémon

  • Fields:

    • mode: "specific" or "any".

    • item: Item ID (e.g., "rare_candy") or "any".

    • amount: Number of times.

chevron-rightCandy Usehashtag
  • Goal: Use experience candies.

  • Fields:

    • candy: Candy ID (e.g., "exp_candy_s", "rare_candy") or "any".

    • amount: Number used.

chevron-rightHatchhashtag
  • Goal: Hatch eggs.

  • Fields:

    • mode: "specific" or "any".

    • spec: Pokémon hatched.

    • amount: Number of eggs.

chevron-rightLevel Uphashtag
  • Goal: Raise Pokémon to a specific level.

  • Fields:

    • spec: Pokémon name (optional; omit or use "any" for any Pokémon).

    • level: Target level (e.g., 50).

    • amount: Number of Pokémon to level up.

chevron-rightGainedhashtag
  • Goal: Obtain Pokémon through non-capture means (trades, gifts, events, etc.).

  • Fields:

    • spec: Pokémon name or "any".

    • amount: Number obtained.

chevron-rightBattlehashtag
  • Goal: Win or lose battles against NPCs or players.

  • Fields:

    • battleType: "battle_winners" (wins) or "battle_losers" (losses).

    • mode: "specific" or "any".

    • actor: "npc", "player", or "pokemon" (wild).

    • spec: Specific opponent name (if "specific").

    • amount: Number of battles.

chevron-rightBreak Blockhashtag

break_block (Break Blocks)

  • Goal: Break Minecraft blocks.

  • Fields:

    • block: Block ID (e.g., "minecraft:stone", "cobblemon:apricorn_tree_red").

    • amount: Number broken.

🎨 Specs, Further customize and specify your missions

Spec Key
Description
Example

species

Pokémon species name. This is written without a key and should be the first value.

Pikachu

level / lvl

Exact Pokémon level required.

lvl:25

shiny

Whether the Pokémon must be shiny.

shiny:true

move / moves

Pokémon must know all listed moves.

moves:Thunderbolt,Quick Attack

ability

Required active ability.

ability:Static

abilities

Pokémon must have all listed abilities.

abilities:Static,Lightning Rod

friendship

Required friendship value.

friendship:200

gender

Pokémon gender. Automatically capitalized.

gender:Male

type

Pokémon must contain this elemental type.

type:Electric

types

Pokémon must contain all listed types.

types:Electric,Steel

nature

Pokémon nature. Automatically capitalized.

nature:Timid

circle-check

Rewards

circle-check

Requeriments

circle-info

1. mission (Complete Prior Missions)

  • Description: Player must have completed one or more prior missions.

  • Value: Array of mission IDs. Empty ([]) means no mission requirement.

  • Example:

circle-info

2. permission (Player Permission)

  • Description: Player must have specified permission node (requires LuckPerms or similar).

  • Value: Array of permission strings.

  • Example:

✔️ Full Example Mission

Last updated