◈ RPG
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
- Quest log:
/questopens a menu with the player's active, available and completed quests, with pages for large lists. Hovering a quest shows its description, status and rewards. - Accepting: clicking an available quest asks for a confirmation.
/quest preview <id>shows the objectives and rewards first. - Tracking: the tracked quest shows its current objective in a boss bar and in the action bar.
/quest track <id>switches to another quest. - Objectives in order: a quest's objectives run one after another, in the order you wrote them. Progress is saved, so a restart doesn't lose it.
- Quest givers: assign quests to a Citizens NPC with
/quest admin npcand right-clicking it shows only the quests it offers.
The eighteen objective types
- KILL: a number of a vanilla mob, or a MythicMobs mob with
mythic_mob. - COLLECT: pick up a number of an item.
- CRAFT: craft a number of an item.
- REACH: get within a radius of a point in a world.
- TALK: right-click a Citizens NPC, with an optional line of dialogue.
- DELIVER: hand a Citizens NPC a number of items, which are taken from the player.
- MINE and PLACE: break or place blocks, any or one kind. Blocks a player placed don't count when they break them again.
- FISH, SMELT, ENCHANT and CONSUME: catch, smelt, enchant, or eat and drink, any item or one.
- BREED, TAME and SHEAR: any animal or one kind.
- KILL_PLAYER: defeat other players. The same victim counts once every ten minutes.
- WALK and PLAYTIME: walk a number of blocks or stay online a number of minutes.
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
- Install: drop the jar into
/pluginsand restart once. English is the default; setlanguage: esfor Spanish. - Review the examples in
plugins/QuestForge/quests/. Themythic_quests need MythicMobs, and the rank quests run permission commands you may want to change. - Write your own quests, one YAML file each, and run
/quest reload. No restart needed. - Set up NPCs (optional): select a Citizens NPC with
/npc selectand run/quest admin npc welcome bounty_hunterwith the quest ids it should offer./quest admin npcon its own lists them, and/quest admin npc clearremoves them.
Commands and permissions
- Everyone (
questforge.use):/quest,/quest preview <id>,/quest track <id>,/quest abandon <id>. - Operators (
questforge.admin):/quest reload,/quest admin start <player> <id>and/quest admin npc <ids>.
Placeholders
With PlaceholderAPI installed: %questforge_active_count%, %questforge_completed_count%, %questforge_current_quest_name% and %questforge_current_objective%.
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.
Commands
| Command | What it does |
|---|---|
/quest | Quest commands |

