Skip to content
◆ TTS-STUDIO docs Discord

Plugins / QuestForge

Objective types

There are eighteen objective types. A quest can chain any number of them in any order; the player works through them one at a time.

Type What the player does Needs
KILL Kill mobs of one type, or a MythicMobs mob MythicMobs only for mythic_mob
COLLECT Pick up items from the ground —
CRAFT Craft items —
REACH Walk to a place —
TALK Right-click an NPC Citizens
DELIVER Hand items to an NPC Citizens
MINE Break blocks (ones a player placed do not count) —
PLACE Place blocks —
FISH Catch fish or treasure —
SMELT Take smelted items out of a furnace —
ENCHANT Enchant at an enchanting table —
BREED Breed animals —
TAME Tame animals —
SHEAR Shear sheep (or any shearable mob) —
CONSUME Eat or drink —
KILL_PLAYER Defeat other players (the same victim counts once every 10 minutes) —
WALK Walk, sprint or swim a distance, in blocks —
PLAYTIME Stay online, in minutes —

KILL

objectives:
  - type: KILL
    entity: ZOMBIE
    amount: 10

entity is a Bukkit entity type name (SKELETON, SPIDER, ENDERMAN…). For a MythicMobs mob, use its internal name instead:

objectives:
  - type: KILL
    mythic_mob: SkeletonKing
    amount: 1

COLLECT

objectives:
  - type: COLLECT
    material: ROTTEN_FLESH
    amount: 10

Counts items the player picks up while the objective is active. Items already in the inventory do not count, and neither does anything a player threw on the ground.

CRAFT

objectives:
  - type: CRAFT
    material: IRON_SWORD
    amount: 1

REACH

objectives:
  - type: REACH
    world: world
    x: 100
    y: 64
    z: -200
    radius: 10
    description: "<yellow>Find the old watchtower"

Done when the player is within radius blocks of the point. Checked every reach-check-interval ticks (config.yml, 20 by default). description is optional and replaces the text in the quest log.

TALK

objectives:
  - type: TALK
    npc_id: 5
    dialog: "The mayor is waiting for you at the town hall."
    description: "<yellow>Talk to the guard"

Done when the player right-clicks the Citizens NPC with that id (/npc list shows ids). dialog is sent to the player in chat. description is optional; without it the log shows "Talk to ".

DELIVER

objectives:
  - type: DELIVER
    npc_id: 5
    item:
      material: WHEAT
      amount: 16

The player right-clicks the NPC with the items in their inventory and they are taken. If they have fewer than amount, the NPC tells them how many they have.

MINE · PLACE

objectives:
  - type: MINE
    block: DIAMOND_ORE     # optional: without it, any block
    amount: 20

Blocks a player placed and broke again do not count for MINE, and nothing counts in creative mode.

FISH · SMELT · ENCHANT · CONSUME

objectives:
  - type: FISH
    item: SALMON           # optional: without it, anything caught
    amount: 10
  - type: CONSUME
    item: GOLDEN_APPLE
    amount: 1

BREED · TAME · SHEAR

objectives:
  - type: BREED
    entity: COW            # optional: without it, any animal
    amount: 5

KILL_PLAYER · WALK · PLAYTIME

objectives:
  - type: WALK
    amount: 2000           # blocks
  - type: PLAYTIME
    amount: 60             # minutes
  - type: KILL_PLAYER
    amount: 3

Custom items

Wherever an objective takes an item (COLLECT, CRAFT, DELIVER, FISH, SMELT, ENCHANT, CONSUME), it can be an ItemsAdder, Nexo, Oraxen or MMOItems item instead of a material:

objectives:
  - type: COLLECT
    item: nexo:ruby        # itemsadder:<namespace>:<id> · oraxen:<id> · mmoitems:<TYPE>:<ID>
    amount: 8

Only that exact item counts, and a plain material does not count custom items built on it.

Texts, names and chat prefix (1.8.1)

Every text a player reads is in lang/<language>.yml (language: in config.yml): the quest log, the preview, objective lines and chat messages. Edit your copy in plugins/QuestForge/lang/ and run /quest reload. New keys that your copy does not have yet are read from the jar.

names:
  coal_ore: "Coal Ore"
  zombie: "Zombie"

Ids you leave out are shown prettified (COAL_ORE "Coal Ore").

Keep reading