Global Missions
📖 Mission Creation Guide for Cobblemissions
Global missions cannot be delivered with the command /cobblemissions give (id) (player)
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:
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.
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.
🎨 Specs, Further customize and specify your missions
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
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