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:

  • ANY counts any mob kill
  • HOSTILE counts hostile mobs only
  • PASSIVE counts 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% needs Player):
/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

Discord