Skip to content

Objective Types

The objective field on a quest decides what it tracks. Most objectives take a target-type (a mob, block, or item) and a target-amount. Leave target-type out and it counts anything for that action, for example a BREAK quest with no type counts any block broken.

ObjectiveCounts when the playerNotes
BREAKbreaks a blockUse the block’s own material, e.g. DIAMOND_ORE, not DIAMOND.
PLACEplaces a block
CRAFTcrafts an itemChecks the result, not the ingredients. Shift-craft is estimated from the smallest ingredient stack.
PICKUPpicks an item off the ground
CONSUMEeats or drinks somethingFood, potions, and milk buckets.
GET menu-checkedhas an amount in their inventoryRead when the menu opens, never takes items away.
COOKtakes a smelted item out of a furnaceCounted on removal from the output slot.
ENCHANTenchants on an enchanting table
FISHcatches something on a rodJunk and treasure count too, not just fish.
FARMharvests a fully grown cropTall plants (sugar cane, cactus, bamboo) only count above the base block.
LAUNCHthrows or shoots an itemSnowballs, eggs, arrows, tridents, fireworks, xp bottles.

A few objectives have no live event to hook, so the plugin checks them when the player opens their menu, not in the background:

  • GET mirrors the live inventory count and never removes items.
  • LOCATION completes if the menu is opened while inside the radius, in the right world.
  • PLACEHOLDER resolves the placeholder and runs the compare on menu open.

This is by design. Tell your players to reopen the board to tick these forward.

For item-based objectives, matching by plain material covers most cases. Finer matching (potion type, custom name and lore, ignore-NBT, custom model data, custom head textures, and third-party item plugins like Oraxen or ItemsAdder) is planned for a later update and is not active yet.

Ready to build one? Head to Creating Quests.