earth-europeGlobal Missions

📖 Mission Creation Guide for Cobblemissions

triangle-exclamation

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": 999

repeatable

Indicates whether the mission can be completed multiple times.

"repeatable": true

{
  "id": 999,
  "page": 1,
  "display": { ... },
  "id": 999,
  "tasks": [ ... ],
  "rewards": [ ... ]
}

🖥️ 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": "relic_coin_pouch"

title

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

"title": "✦ Global Capture

Test [%status%]"

slot

For global missions, using -1 is mandatory.

"slot": -1

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

You can add any task, you can see these in

ticket-simpleMissions

🎨 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-exclamation

Config

Field
Valid Values / Example
Description

enabled

true / false

Enables or disables the global missions system. If false, the tick logic is skipped entirely.

missionIds

[999]/[1, 5, 12]

List of mission IDs (defined in JSON configs) eligible to be selected as global missions. Only IDs with valid loaded missions are used.

intervalSeconds

30, 1800, 86400

Minimum delay (in seconds) between the end of one global mission and the start of the next. Enforced even if a mission completes early.

assignmentMode

"ui" / "auto"

How the mission is assigned to players: • "ui": Player must manually accept via UI. • "auto": Assigned automatically to eligible players when the mission starts.

target

"online" / "all"

Determines assignment scope (applies mainly in "auto" mode or on join): • "online": Only players currently connected at mission start. • "all": Online players + any who join later (via onPlayerJoin).

timeLimitSeconds

-1, 600, 1800

Maximum duration (in seconds) for the global mission: • -1: No time limit — mission ends only when completed. • > 0: Mission expires automatically after this duration.

✔️ Full Example Mission

Last updated