HomeJavaModsInkQuest
InkQuest
ModsJava

InkQuest

by bigpixellab · on Modrinth

A narrative-first quest engine for mapmakers and modpack developers - define branching quests with success and failure outcomes entirely through datapacks…

⬇ Download on Modrinth
InkQuest — screenshot 1

InkQuest — Narrative Quest Engine

Quest Book & HUD

Build story-driven quests for Minecraft — using tools you already know.

InkQuest is a lightweight quest engine for Minecraft 1.20.1 (Fabric), built for map makers, pack developers, and narrative designers. It works with scoreboards, Minecraft predicates, and datapack functions — systems you already have. No proprietary task types to learn.

Quests have real failure states, stage-by-stage progression, and branching based on outcomes. Choices that mean something. Endings that differ.


What players experience


How InkQuest works

Stages, not checkboxes. A quest advances through stages in sequence. Each stage has one required task and any number of optional ones. Move forward when the required task is done; optional tasks add side content, bonus rewards, or narrative branches.

Real failure. Any task can fail — and failure ends the quest immediately. The world can react differently to each outcome.

Branching and memory. Quests unlock each other through dependencies. Different completions open different chains. Full narrative trees, no code required.

Conditions you already know:

Condition What it checks
score Scoreboard objective threshold — with progress bar
global_score A shared global counter, safe across multiple players
predicate Any Minecraft predicate: location, inventory, NBT, advancement…
all / any / none Boolean composition, nested arbitrarily deep
optionals Enough optional tasks in the current stage are done

Lifecycle hooks. Run mcfunction files and assign scoreboard tags at different points in a task's life: when the stage loads, every tick while active, every tick while active and pinned, when it deactivates, on success, and on failure.

From these primitives — timed challenges, escort missions, server-wide kill goals with shared counters, faction races — all build from systems you already understand.


For map makers and pack developers

Two ways to define quests:

Full command API:

Manual buttons. Add Success / Failure / Skip buttons to any task for player-driven decisions right from the quest book.

Repeatable quests. One flag to allow replaying a completed quest from scratch — daily tasks, faction missions, anything cyclical.

Gamerules:

Localization. Full Minecraft JSON Text in all titles and descriptions — colors, formatting, translate keys. Add a lang file to a resource pack and quest text adapts to each player's language.

Resource pack override. All mod textures replaceable. Craft recipe overridable via a single datapack file.


Getting started

/quest new tutorial:intro "First Quest"
/quest give @s tutorial:intro pin
/quest modify tutorial:intro tasks add required step1 "Find the ruins"

Three commands, one working pinned quest. Add a scoreboard condition, a lifecycle hook, or a chain to the next quest — it scales from there.

[Full documentation] · [GitHub] · [Issue tracker]


Why InkQuest

Most quest systems give you a menu of pre-built task types. InkQuest hands you the tools Minecraft already provides — scoreboards, predicates, functions, tags — and composes them into a quest engine with no hardcoded limits.

Quests live in JSON, version alongside your project, and ship as a standard datapack.

Install the mod, drop in a datapack — and your world has a story.


Requires Fabric 1.20.1. No additional dependencies.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more