Skip to content
◆ TTS-STUDIO docs Discord

Plugins / QuestForge

QuestForge

Quests you write in a file, played through a GUI

QuestForge is a quest plugin for Paper and Spigot, 1.17 to 26.x. You write each quest in a YAML file and players browse, accept and track them from a menu. It supports eighteen objective types, quest chains, daily, weekly or any-cooldown repeats, and rewards in money, XP, items, other currencies and commands. 257 example quests are copied onto your server the first time it starts.

How it works in play

The eighteen objective types

Any item in an objective or a reward can be an ItemsAdder, Nexo, Oraxen or MMOItems item (item: nexo:ruby), and rewards can pay PlayerPoints, experience points, TokenManager tokens or an ExcellentEconomy / CoinsEngine currency next to the money.

Writing a quest

This is a complete quest file. Put it in plugins/QuestForge/quests/ and run /quest reload:

id: welcome
name: "<yellow>Welcome to the Server"
description: "Gather wood, craft a pickaxe, slay a zombie."
prerequisites: []        # quest ids that must be finished first
repeatable: none         # none, daily, weekly, always or a cooldown like 6h
objectives:
  - type: COLLECT
    material: OAK_LOG
    amount: 8
  - type: CRAFT
    material: WOODEN_PICKAXE
    amount: 1
  - type: KILL
    entity: ZOMBIE
    amount: 1
rewards:
  money: 100.0           # needs Vault and an economy plugin
  xp: 30
  items:
    - { material: BREAD, amount: 8 }
  commands:
    - "broadcast %player% finished the welcome quest!"

The example quests

257 quests are copied into quests/ on first start: starter tasks, daily and weekly quests, five-tier profession lines (miner, farmer, fisher, lumberjack, adventurer), seasonal events, multi-part sagas, branching storylines and boss hunts. Edit them, delete the ones you don't want, or use them as templates. Deleted examples aren't copied back.

How to use it

  1. Install: drop the jar into /plugins and restart once. English is the default; set language: es for Spanish.
  2. Review the examples in plugins/QuestForge/quests/. The mythic_ quests need MythicMobs, and the rank quests run permission commands you may want to change.
  3. Write your own quests, one YAML file each, and run /quest reload. No restart needed.
  4. Set up NPCs (optional): select a Citizens NPC with /npc select and run /quest admin npc welcome bounty_hunter with the quest ids it should offer. /quest admin npc on its own lists them, and /quest admin npc clear removes them.

Commands and permissions

Placeholders

With PlaceholderAPI installed: %questforge_active_count%, %questforge_completed_count%, %questforge_current_quest_name% and %questforge_current_objective%.

Requirements

None of them is required. Quests that don't use them work without them. The plugin never refuses to start because an optional plugin is missing.

FAQ

Can one quest unlock another?
Yes. List the earlier quest ids under prerequisites. A quest can need several, so storylines can branch and join again.

Can quests be done every day?
Yes. repeatable: daily or repeatable: weekly lets a player take the quest again once the cooldown ends. Any other wait works too (30m, 6h, 1h30m), and always allows it again straight away. A misspelt value is reported in the console.

Do I need Citizens?
Only for quest-giver NPCs and the TALK and DELIVER objectives. Every other quest works from /quest.

Can I translate the messages?
Yes. English and Spanish are included in lang/, in MiniMessage, and missing keys fall back to English.

For questions or bug reports, use the discussion tab on this page or our Discord.

Keep reading