InkQuest — Narrative Quest Engine¶
InkQuest is a quest system for Minecraft 1.20.1 (Fabric) built around narrative gameplay. Here a quest is a story event that unfolds: it moves through stages and can end in success or failure. Everything is configured through JSON datapacks and commands — no GUI editor.
Unlike most quest systems, InkQuest is not limited to task types like "kill X mobs". Any mechanic is expressed through scoreboard conditions, Minecraft predicates, and datapack functions. Quests are versioned alongside your project, shipped inside a datapack, and integrate deeply with command blocks.
Where to start¶
First time here? Open Quick start and build your first quest in five minutes. Beyond that, the docs are not meant to be read front to back: each section answers its own kind of question. Find your column below.
Contents¶
Getting started¶
- Quick start — your first quest, via commands and via datapack.
How quests work¶
Understand the model — what a quest actually is and the rules it lives by.
- Quest structure — stages, tasks, outcomes.
- Active stage — which stage is "now" and how it advances.
- Quest and task statuses — active, complete, success/failure.
- Quest dependencies — how one quest unlocks another (
after,require). - Repeatable quests — a quest you can run again.
- Pinning — how a quest reaches the HUD and who controls it.
Datapack reference¶
Exact JSON fields — to look up "how to write it precisely".
- Quest file format — full list of quest and task fields, format versions, text and styles.
- Task completion conditions — auto-completion:
score,predicate,all/any/none,tasks, buttons. - Task lifecycle hooks — running functions and granting tags on task events.
- Items in a datapack — book recipe, binding a scroll to a quest, the
doQuestBookItemCheckgamerule.
Player view¶
- Player interface — HUD, quest book, notifications.
- Items — the quest book and quest scroll, opening gamerule.
Command API¶
- Command reference — every
/questand/execute if questcommand. - Integration with commands — a quest as readable state; wiring with command blocks and scoreboard.
Quest patterns¶
- Quest patterns — a journal note, a chain, a branch, a shared-progress event, and more.
Troubleshooting¶
- Common questions and errors — what to do if a quest fails to load or a condition doesn't fire.