Objectives
Last updated Jul 6, 2026
Objectives
Objectives are the tasks players need to complete to finish a quest. Each quest can have one or more objectives. This page lists every objective type available in SoapsQuest.
How to Add Objectives
Objectives go in the objectives section of your quest, as a list. Most types need type, target, and amount. Some types use different field names (see Special field names below).
Working examples for every type ship in quests.yml as showcase_<type> (for example showcase_kill, showcase_command). Integration types also have showcases when the relevant plugin is installed.
Multi-target: For break, place, and collect, target can be a single material or a YAML list of materials.
Typical objective:
objectives:
- type: kill
target: ZOMBIE
amount: 10
For quests with multiple objectives, just add more items to the list:
objectives:
- type: kill
target: ZOMBIE
amount: 10
- type: break
target: DIAMOND_ORE
amount: 5
If sequential: true is set on the quest, players finish objectives in list order. That includes command, move, chat, and placeholder.
Only Active quest papers count toward progress. If a player holds multiple copies of the same quest ID, extras are Queued until the active copy is claimed. Different quest IDs can each be Active at the same time.
Combat Objectives
kill
Kill a specific type of mob.
- type: kill
target: ZOMBIE
amount: 20
The target is a Minecraft entity type name in uppercase (like ZOMBIE, SKELETON, CREEPER, BLAZE, ENDER_DRAGON).
Special filters:
ANYcounts any mob killHOSTILEcounts hostile mobs onlyPASSIVEcounts passive mobs only
- type: kill
target: ANY
amount: 50
kill_mythicmob
Kill a custom mob defined in MythicMobs.
Note: This objective requires the MythicMobs plugin to be installed on your server.
- type: kill_mythicmob
target: SkeletonKing
amount: 1
The target is the MythicMobs internal mob name (case-sensitive, exactly as defined in your MythicMobs config).
damage
Deal a certain amount of damage to entities.
- type: damage
target: ZOMBIE
amount: 100
The amount is total damage dealt (in half-hearts). Use a specific entity type or omit the target to count damage dealt to anything.
bowshoot
Shoot arrows with a bow a certain number of times.
- type: bowshoot
amount: 100
Counts each arrow shot, not kills.
projectile
Launch projectiles of a specific type.
- type: projectile
target: ARROW
amount: 50
Includes arrows, snowballs, ender pearls, tridents, and more. Use ANY to count all projectile launches.
Mining and Building Objectives
break
Break a specific block.
- type: break
target: DIAMOND_ORE
amount: 10
The target is a Minecraft block material name in uppercase. Use ANY to count any block broken. You can also use a list:
- type: break
target:
- IRON_ORE
- DEEPSLATE_IRON_ORE
amount: 32
place
Place a specific block.
- type: place
target: COBBLESTONE
amount: 50
Use ANY to count any block placed.
smelt
Smelt a specific item in a furnace, blast furnace, or smoker.
- type: smelt
target: IRON_INGOT
amount: 20
The target is what comes out of the furnace (the product, not the raw material). Use ANY to count any smelted item.
craft
Craft a specific item using a crafting table or inventory crafting.
- type: craft
target: BREAD
amount: 10
Use ANY to count any item crafted.
enchant
Enchant an item at an enchanting table.
- type: enchant
target: DIAMOND_SWORD
amount: 5
Use ANY to count any item enchanted.
anvil_repair
Repair an item on an anvil.
- type: anvil_repair
target: DIAMOND_SWORD
amount: 5
Use ANY to count any item repaired on an anvil. Target is optional.
Collection Objectives
collect
Pick up a specific item from the ground or collect it from breaking a block.
- type: collect
target: NETHER_WART
amount: 16
Use ANY to count any item collected.
consume
Eat or drink a specific item.
- type: consume
target: BREAD
amount: 10
Drinking potions also counts if the target is the correct potion item name. Use ANY to count any food or drink consumed.
drop
Drop a specific item from the inventory.
- type: drop
target: STICK
amount: 5
Use ANY to count any item dropped.
Fishing Objectives
fish
Catch something with a fishing rod.
- type: fish
target: ANY
amount: 10
You can target specific fish types like COD, SALMON, TROPICAL_FISH, PUFFERFISH, or use ANY to count any catch at all (including junk and treasure).
Farming and Animal Objectives
harvest
Harvest a fully grown crop.
- type: harvest
target: WHEAT
amount: 30
This only counts crops that were fully grown when broken. Target is optional; omit it or use ANY for any crop.
breed
Breed two animals to produce a baby.
- type: breed
target: COW
amount: 5
Use ANY to count any animal breeding.
tame
Tame a tameable animal.
- type: tame
target: WOLF
amount: 3
Tameable mobs include WOLF, CAT, HORSE, LLAMA, and others. Use ANY to count any taming.
shear
Shear an entity (typically sheep).
- type: shear
target: SHEEP
amount: 15
Use ANY to count shearing any entity.
Survival Objectives
death
Die a certain number of times.
- type: death
amount: 3
No target is needed. Any cause of death counts.
sleep
Sleep in a bed.
- type: sleep
amount: 5
Counts each time the player enters a bed.
heal
Regenerate a certain amount of health.
- type: heal
amount: 20
The amount is total health regenerated (in half-hearts). Target is optional; filter by heal reason or leave blank for any healing.
brew
Brew a potion in a brewing stand.
- type: brew
target: ANY
amount: 5
Counts each completed brew cycle. Use ANY to count any potion brewed.
Movement Objectives
move
Travel a certain distance in blocks.
- type: move
amount: 1000
All movement counts: walking, swimming, flying, riding. The amount is in blocks (distance).
ride_vehicle / vehicle
Ride a vehicle or mount for a certain distance.
- type: vehicle
vehicle: ANY
amount: 500
Use the vehicle field (or target as an alias). Vehicles include horses, minecarts, boats, pigs, and striders. Use a specific entity type to limit it to one kind, or ANY to count all.
elytra_fly
Glide a certain distance using an elytra.
- type: elytra_fly
amount: 500
Only elytra flight distance counts. The amount is in blocks.
Exploration Objectives
explore_biome
Enter a biome or visit new biomes. Counts when the player walks into the biome (standing in one place does not count).
- type: explore_biome
target: jungle
amount: 3
Use names like plains, jungle, or DEEP_OCEAN. JUNGLE and minecraft:jungle work too. Leave out target or use ANY to count each new biome once.
Leveling Objectives
reachlevel
Reach a specific experience level.
- type: reachlevel
level: 30
Note: this type uses level instead of amount. Progress is tracked as the player levels up toward the target.
gainlevel
Gain a certain number of experience levels, regardless of current level.
- type: gainlevel
amount: 10
This counts levels gained during the quest, not total levels.
xp_pickup
Collect a certain amount of raw experience points from orbs.
- type: xp_pickup
amount: 5000
Interaction Objectives
interact
Interact with (right-click) a specific block type.
- type: interact
target: LEVER
amount: 10
Use ANY to count any block interaction.
trade
Complete a villager trade a certain number of times.
- type: trade
target: ANY
amount: 10
You can use ANY to count all trades, or specify a material to only count trades that produce that item (like EMERALD).
Miscellaneous Objectives
jump
Jump a certain number of times.
- type: jump
amount: 100
chat
Send a certain number of chat messages.
- type: chat
amount: 50
You can optionally require a specific message in the text field (target is accepted as an alias), or leave it blank for any chat message.
- type: chat
text: "hello"
amount: 5
command
Execute a specific command a certain number of times.
- type: command
command: help
amount: 5
Note: use the command field (not target). With or without a leading / both work. Subcommands match as a prefix (sq browse matches /sq browse 2).
placeholder
Check a PlaceholderAPI value.
Note: This objective requires PlaceholderAPI to be installed on your server.
Some placeholders also require installing their eCloud expansion first (for example%player_level%needsPlayer):/papi ecloud download Player/papi reload
- type: placeholder
placeholder: player_level
amount: 30
Note: use the placeholder field without % wrappers (player_level or %player_level% both work). Progress tracks the numeric PlaceholderAPI value until it reaches amount. Requires PlaceholderAPI.
firework
Launch firework rockets.
- type: firework
amount: 20
Extension objectives (1.1.0)
playtime
Count minutes while the quest paper is Active. Progress ticks once per minute of server time.
- type: playtime
amount: 30
enter_world
Enter a dimension or named world.
- type: enter_world
target: NETHER
amount: 1
target can be NETHER, THE_END, a world name, or ANY.
kill_player
Kill other players.
- type: kill_player
amount: 3
advancement
Earn a Minecraft advancement.
- type: advancement
target: minecraft:story/mine_stone
amount: 1
equip
Wear or hold a specific item. Optional slot: HAND, OFF_HAND, HEAD, CHEST, LEGS, FEET, or ANY.
- type: equip
target: DIAMOND_CHESTPLATE
slot: CHEST
amount: 1
smith
Smith an item at a smithing table.
- type: smith
target: NETHERITE_SWORD
amount: 1
Use ANY for any smithing result.
Plugin integration objectives
When Lands, Citizens, mcMMO, WorldGuard, or Denizen is installed, additional objective types are registered automatically (if enabled in config.yml).
| Plugin | Types |
|---|---|
| WorldGuard | wg_enter_region, wg_leave_region, wg_time_in_region |
| Lands | lands_enter_land, lands_visit_land, lands_claim_chunks, lands_land_level, lands_deposit, lands_member_count |
| Citizens | citizens_talk_npc, citizens_deliver_npc, citizens_kill_npc |
| mcMMO | mcmmo_skill_level, mcmmo_skill_gain, mcmmo_power_level, mcmmo_ability, mcmmo_xp_gain |
| Denizen | denizen_run |
Full examples: Integrations.
Quick Reference Table
| Type | What Players Need to Do | target Examples |
|---|---|---|
kill |
Kill mobs | ZOMBIE, SKELETON, ANY, HOSTILE, PASSIVE |
kill_mythicmob |
Kill a MythicMobs mob | MythicMobs mob name |
damage |
Deal damage to entities | ZOMBIE, ANY (optional) |
bowshoot |
Shoot arrows with a bow | (none needed) |
projectile |
Launch projectiles | ARROW, SNOWBALL, ANY |
break |
Break blocks | DIAMOND_ORE, OAK_LOG, ANY |
place |
Place blocks | COBBLESTONE, OAK_LOG, ANY |
smelt |
Smelt items in a furnace | IRON_INGOT, COOKED_BEEF, ANY |
craft |
Craft items | BREAD, IRON_SWORD, ANY |
enchant |
Enchant items | DIAMOND_SWORD, ANY |
anvil_repair |
Repair items on an anvil | DIAMOND_SWORD, ANY (optional) |
collect |
Collect items | NETHER_WART, WHEAT, ANY |
consume |
Eat or drink | BREAD, COOKED_COD, ANY |
drop |
Drop items | STICK, DIRT, ANY |
fish |
Fish with a rod | COD, SALMON, ANY |
harvest |
Harvest grown crops | WHEAT, CARROTS, ANY (optional) |
breed |
Breed animals | COW, SHEEP, ANY |
tame |
Tame animals | WOLF, CAT, HORSE, ANY |
shear |
Shear entities | SHEEP, ANY |
death |
Die | (none needed) |
sleep |
Sleep in a bed | (none needed) |
heal |
Regenerate health | (optional) |
brew |
Brew potions | ANY |
move |
Travel any distance | (none needed) |
vehicle |
Ride a mount or vehicle | uses vehicle field: HORSE, MINECART, ANY |
elytra_fly |
Glide with an elytra | (none needed) |
explore_biome |
Enter a biome | JUNGLE, DESERT, ANY (optional) |
reachlevel |
Reach an XP level | uses level field |
gainlevel |
Gain XP levels | (none needed) |
xp_pickup |
Collect XP from orbs | (none needed) |
interact |
Interact with blocks | LEVER, OAK_BUTTON, ANY |
trade |
Trade with villagers | EMERALD, ANY |
jump |
Jump | (none needed) |
chat |
Send chat messages | optional text field |
command |
Execute commands | uses command field |
placeholder |
Check PAPI values | uses placeholder field |
firework |
Launch fireworks | (none needed) |
playtime |
Stay active on quest | (none needed) |
enter_world |
Enter a world/dimension | NETHER, world_name, ANY |
kill_player |
Kill players | (none needed) |
advancement |
Earn advancement | minecraft:story/mine_stone |
equip |
Wear/hold item | DIAMOND_CHESTPLATE; optional slot |
smith |
Smith at table | NETHERITE_SWORD, ANY |
Integration types (wg_*, lands_*, citizens_*, mcmmo_*, denizen_run) are listed in Integrations.
Special field names
| Type | Required fields |
|---|---|
reachlevel |
level |
command |
command, amount |
placeholder |
placeholder, amount |
vehicle |
vehicle (or target), amount |
chat |
amount; optional text |
Type aliases
These YAML types work the same as their canonical name:
| Alias | Same as |
|---|---|
shoot_bow |
bowshoot |
launch_firework |
firework |
ride_vehicle |
vehicle |
level |
gainlevel |
Version 1.1.0 — 43 vanilla + 18 integration objective types