RPG

QuestForge

Quests you write in a file, played through a GUI

QuestForge cover

QuestForge gives your server quests that you write in a file and your players play through a GUI, on Paper 1.21.x. Six objective types, chains that gate one quest behind another, rewards in money, XP, items or commands, and progress that survives a restart.

QuestForge: menusQuestForge: progresoQuestForge: objetivosQuestForge: funcionesQuestForge: como se usaQuestForge: cifras

WHY QUESTFORGE

  • A quest is a file you can read. Objectives, rewards and the text the player sees all live in the same place, so a quest can go into version control with the rest of your server and a second admin can edit it without asking you how
  • Chains are declared, not scripted. One line lists the quests that must be finished first, so a whole storyline is a list of dependencies instead of a pile of conditions spread across files
  • The player always knows what they are doing. A BossBar tracks the current objective at all times, and clicking another quest in the log moves the tracker onto it
  • They can look before they commit. A preview window shows the objectives and the rewards of a quest before it is accepted, so nobody fills their log with quests they did not want
  • Progress comes back after a crash. A player who was two zombies away from finishing is two zombies away when the server returns
  • NPCs are optional, not required. Citizens quest givers work if you have them installed; without Citizens every quest is still fully playable

WHAT YOU GET

  • Quest packs in YAML — drop files into the quests/ folder and reload in place. Any number of quests, any number of files
  • 6 objective types — KILL, COLLECT, CRAFT, REACH, TALK and DELIVER, mixed in any order inside one quest
  • Sequential objectives — a quest runs its objectives in the order you wrote them, so "chop wood, then craft the pickaxe, then kill the zombie" happens in that order
  • Quest chains — prerequisites: holds one or several quest ids; branching storylines work, not only straight lines
  • Four kinds of reward, combinable — money through Vault, vanilla XP, item stacks, and any console command you want to run, including broadcasts and rank grants
  • Quest log GUI — six rows with a paginator for servers with a lot of quests, a preview window before accepting and a confirmation step so nothing is accepted by a stray click
  • BossBar tracker — always-visible progress on the tracked quest, switchable from the log
  • Citizens quest givers — select an NPC, type /quest admin npc welcome bounty_hunter, and right-clicking it opens a quest log with only those quests in it
  • MythicMobs targets — a KILL objective can name a custom mob instead of a vanilla entity
  • Location objectives — REACH takes a world, coordinates and a radius, so exploration and "go and see this place" quests work without an NPC
  • Delivery objectives — DELIVER asks the player to hand a set number of items to a specific NPC, and takes them
  • Admin hand-outs — staff can start a quest on a player directly, useful for events and for fixing a broken run
  • PlaceholderAPI — active quest count, completed count, current quest name and current objective, for your scoreboard, TAB or chat
  • English and Spanish included, and every string a player reads lives in messages.yml in MiniMessage format, colours and all

THE SIX OBJECTIVE TYPES

  • KILL — a vanilla entity or a MythicMob id, times N
  • COLLECT — pick up N of a material, however they get it
  • CRAFT — craft N of an item
  • REACH — walk within a radius of a point in a world
  • TALK — right-click a specific NPC
  • DELIVER — hand a specific NPC a specific number of items

WRITING A QUEST

This is a complete, working quest. There is nothing else to learn:

HOW IT PLAYS

A player right-clicks the NPC standing in your spawn and sees a log with the quests that NPC offers. They preview one, see that it pays a hundred coins and eight bread, and accept it. The BossBar appears and counts logs as they chop. When the last objective is done, the reward lands, the broadcast fires, and the next quest in the chain appears in their log on its own. If the server restarts in the middle of all that, they come back to the same bar at the same number.

CONFIGURATION

  • quests/ — one YAML file per quest. Reloadable with players online
  • config.yml — language, licence key, BossBar colour and style, the action bar, and how often location objectives are checked, every key with a comment beside it
  • lang/en.yml and lang/es.yml — every string a player reads, so you can reword or re-colour the whole plugin without touching anything else

COMMANDS AND PERMISSIONS

  • /quest opens the log · /quest list · /quest preview <id> · /quest track <id> · /quest abandon <id>
  • /quest admin start <player> <id> hands a quest to somebody · /quest admin npc <id> [id...] sets the quests of the selected Citizens NPC · /quest reload re-reads every file
  • questforge.use defaults to everyone; questforge.admin defaults to operators
  • Every node is declared in plugin.yml, so your permissions plugin lists them all without you writing them by hand

Commands

CommandWhat it does
/questQuest commands

Full command and permission reference in the docs ↗