Mineuniverse
Mods
QuestBridge

QuestBridge

MOD
FTB Quests companion: registry dumps for authoring, broad item filters, custom tasks driven by real gameplay, and data-driven story systems with dialogue, voice-over and a journal. Needs GeckoLib; install on server and client.
by Navrelis
Download Claim this project
110 downloads
0 likes
Updated Oct 14, 2026
0 hypes
Adventure and RPG Server Utility Utility & QoL
Advertisement Remove ads with Premium →

Writing FTB quests for a 300-mod pack is mostly guesswork

You want a quest for "eat five different foods" or "rest by a campfire at night," but FTB Quests only ships item, kill, biome, dimension, structure, advancement, and a handful of other fixed task types. Everything else has to be faked with a checkmark task and an honour system, and every item task still needs you to know the exact registry ID or tag before you can type it in.

QuestBridge is a Fabric mod that closes that gap for FTB Quests. It exports what your modpack actually contains so you are not guessing IDs, gives FTB item tasks broad filters ("any food," "anything tagged c:ingots," "anything from this mod"), and lets an FTB custom task track real gameplay: eating, sleeping, crafting, taming, breeding, fishing, trading, placing or breaking a block, killing a group of mobs, standing by a lit campfire at night. No more honour-system checkmark.

Since 2.0.0 it can also run a story inside your pack: a character with dialogue and replies, a journal, a shop, a boss fight and an ending, all written as JSON files by the pack author.

QuestBridge was built for and runs in the Nytheria modpack, but nothing in it is Nytheria-specific. Every feature works from plain files you write for any pack, and the mod carries no story of its own.

Requirements

  • Minecraft 1.21.1, Fabric Loader 0.19.1 or newer, Java 21
  • Fabric API (built against 0.116.17+1.21.1; use a current 1.21.1 build)
  • GeckoLib 4.9.3 or newer. It is not bundled: install it as its own mod
  • QuestBridge must be installed on the server AND on every client. Up to 1.2.0 it was server-side only. Since 2.0.0 the mod registers entities, blocks, items and a particle type, so a client without it cannot join; Fabric refuses it with a message naming the missing entries. Use the same jar version everywhere.
  • FTB Quests is optional. Tested against FTB Quests Fabric 2101.1.36 (FTB Library 2101.1.37). Without FTB Quests the dump and export tools, the story data and the story commands still work; the quest-book features do not
  • FTB Teams is optional too. Without it every player is a team of one

A pack that adds no story data behaves as 1.2.0 did. The client install and GeckoLib are the only change for it. Read the migration page before you upgrade a pack (link below).

What it does

1. Modpack data dumps for quest authoring

/questbridge dump snapshots the running server's registries and writes a timestamped export under the instance folder: items, blocks, entities, bosses, biomes, POIs, fluids, effects, potions, enchantments, structures, dimensions, advancements, recipes and stats, split by category and by mod namespace. It also writes FTB Quests authoring catalogs (requirement snippets, armor set bundles, task and reward type reflection). This is reference data for you to read. QuestBridge never edits config/ftbquests from a dump.

2. Smart item filters for FTB item tasks

/questbridge ftb filter give <type> hands you a marker item for any normal FTB item task. Put it in the task slot and that task accepts a whole category instead of one exact item: any item from a mod, anything in an item tag, anything with a given data component, any food, tool, armor piece, block item, damageable item, ore, ingot or seed, or a Curios/Trinkets-style item. No custom task and no JSON needed.

3. Custom tasks driven by real gameplay

For everything FTB's built-in tasks cannot express, write a small JSON file in config/questbridge/requirements/ and tag an FTB custom task with questbridge_<id>. QuestBridge then feeds that task real progress:

  • eating or drinking a matching item, with optional "N distinct foods" counting
  • crafting or fishing up a matching item
  • placing, breaking or using a matching block
  • using or killing a matching entity, including grouped kills ("any undead")
  • taming or breeding an animal, trading with a villager
  • standing somewhere that matches a location selector: by a lit campfire at night, near a fluid tag (a pond, a river, the sea, even waterlogged blocks), inside a structure or structure tag, during a thunderstorm, below a Y level, in a biome or biome tag. A continuous streak resets when the player leaves the condition
  • sleeping through the night, changing dimension
  • completed-advancement groups and custom statistic thresholds

Every requirement can carry a feedback block: an actionbar line with {title}, {progress}, {max}, {percent} and {id} placeholders and & colour codes, a sound, a completion particle burst and an optional team-wide notification. Progress is tracked per FTB team and survives reloads in a per-world save file.

4. Why isn't this task moving?

/questbridge explain <id> (also explain task <code>, explain here and explain ftbtask <code> for a plain FTB task) checks the requirement at your current position: quest lock state, world conditions, and every selector condition with a YES or NO. It ends with a one-sentence verdict.

5. Story systems (new in 2.0.0)

A pack ships a story as JSON files in a data pack plus a resource pack. There are 18 kinds of data, checked and reported by /questbridge story validate. The parts you can build from them:

  • a wallet of story coins, and numbered torn pages that turn up in chests and fuse into a journal
  • a journal screen (key L, inventory tab) that shows the quest book as a road
  • a story character, with models and animations through GeckoLib, who appears at the team's fire
  • a campfire that answers an ember with signs, glimpses and a stock of goods
  • a trail of signs to a clearing, a boss fight in it, and the ending that follows
  • a keeper at a lantern, with a wares screen, requests and a ward
  • quest-book bindings: a story_fact requirement and the reward tags questbridge_wallet_<n> and questbridge_grant_<name>

Dialogue with replies. Her words appear one line at a time in a box at the bottom of the screen, with a portrait. The player answers with the keys 1 to 3 or a click, and nothing stops the game while they talk.

Skipping conversations (new in 2.0.0). A dialogue file can be marked skippable. The player then presses Enter to skip the current conversation. The key can be rebound in the controls ("Skip conversation," category QuestBridge), and the line box shows "Press Enter to skip" under itself. A pack author decides what can be skipped: a question is never skipped, a beat can be marked as a reveal that cannot be skipped, and the ending of a story can never be skipped. A skip still sets every flag and beat the conversation would have set, so nothing in the story is lost by it.

Voice-over (new in 2.0.0). A pack can speak its lines. Give a line the sound event <namespace>:voice.<language key> in the resource pack's sounds.json and the client plays it in the Voice sound category, so the player's own Voice slider controls it. It plays in the line box, on fight lines and on journal leaves opened at reading size. It stops on a skip, on the next line, when the page turns and when the journal closes. A line without a sound stays silent. The server cannot hear audio, so a voice_timing data file gives the length of each sound, and a line then stays on screen for as long as its audio plus a short pause. The mod ships no audio of its own.

What is not built. The hush of phase II of the fight (the sound dropping away) is not done. The adapter for Open Parties and Claims has only been tested against a stand-in API, never a real claim.

60-second example

Write this to config/questbridge/requirements/campfire_rest_at_night.json, or run /questbridge examples, which writes this and nine other ready-made files for you:

{
  "id": "campfire_rest_at_night",
  "title": "Rest by the Fire",
  "description": "Stay within four blocks of a lit campfire for 30 seconds after dark.",
  "kind": "location_timer",
  "trigger": "location_tick",
  "selector": {
    "near_block": "minecraft:campfire",
    "radius": 4,
    "lit": true,
    "time": "night"
  },
  "duration_ticks": 600,
  "count": 600,
  "continuous": true,
  "progress_scope": "team",
  "ftb_task_mode": "custom_task",
  "feedback": {
    "actionbar": "&6Resting... &f{progress}&7/&f{max}",
    "sound": "minecraft:block.campfire.crackle",
    "on": "both",
    "particles": "minecraft:flame"
  }
}

Run /questbridge reload, then tag any FTB custom task with questbridge_campfire_rest_at_night. That task now fills in as the player sits near a lit campfire at night, with an actionbar countdown and a crackling sound, and it resets if they walk away before the streak finishes.

Commands

All commands need permission level 2, except /qbkeeper, which any player can run and which acts only for that player, only beside the keeper.

  • /questbridge dump (alias /moddump): write the registry and authoring export
  • /questbridge reload: reload requirements, reward pools and settings (story data follows /reload)
  • /questbridge examples: write ten ready-made requirement examples
  • /questbridge explain ...: explain why a task is or is not progressing
  • /questbridge ftb ...: inspect, validate, list requirements, give filter markers, draft, capture and apply (preview, commit, rollback)
  • /questbridge debug on|off: show in chat what the engine counts for you (works without FTB Quests)
  • /questbridge story ...: validate story files, and read and change a story's state for testing

The full list is on the wiki Commands page.

Safety by design

QuestBridge assumes you do not trust a mod to rewrite your quest book, so it does not, unless you ask it to.

  • Read-only by default. Dump, inspect, validate, ideas, draft and capture never touch config/ftbquests.
  • Explicit apply, with backup and rollback. The only commands that can write real quest files are /questbridge ftb apply preview and commit. commit copies a backup first unless a profile explicitly disables it, and /questbridge ftb apply rollback <backup_id> restores it. Backup and rollback paths are checked against their root folder, so a crafted profile or backup id cannot reach outside it.
  • Fail-safe binding. If an FTB custom task is tagged for a requirement that no longer exists, the task becomes a manual-click task instead of staying stuck, so a broken binding can never block a chapter.
  • FTB Quests is optional. QuestBridge checks that FTB Quests is loaded before it touches any FTB API.

Can I remove it before release?

  • Authoring only: if you only used /questbridge dump, ideas, draft, validate or capture to help you write normal FTB tasks with exact IDs and tags, you can remove QuestBridge before you ship the pack. None of that output is read at runtime.
  • Runtime use: if any quest uses a QuestBridge filter marker item, a named requirement or a custom task tagged questbridge_<id>, or if the pack ships a story, QuestBridge must stay in the pack.

Documentation

  • Story systems and everything new in 2.0.0: the wiki in the repository, docs/wiki. Start at Home. Useful pages: Migration from 1.2 to 2.0, Pack checklist, Dialogue (skipping) and Voice timing (voice-over).
  • Requirements, item filters, exports and validation: the older 1.x wiki in the repository's wiki folder (start at wiki/README.md). It is unchanged in 2.0.0.

FAQ

Does this replace FTB Quests? No. It is a companion mod. It only activates its FTB-specific features when FTB Quests is installed, and it never adds its own task or reward GUI.

Will it edit my existing quest book? Not unless you run /questbridge ftb apply commit <profile> yourself with a profile you wrote. Every other command is read-only or writes to its own folders under config/questbridge/ or the instance's moddump/ folder.

What happens if I remove QuestBridge and a quest still uses one of its marker items or custom tasks? The item task no longer knows what the marker means, and the custom task's binding is gone. Run /questbridge ftb validate book before you remove it from a pack with real quests that depend on it.

Does this work in single-player? Yes. FTB Quests treats a solo player as a team of one, so team progress works the same way.

Can I use it only for the data dump? Yes. /questbridge dump and the ftb_quests/ authoring snippets work whether or not you ever use requirements, filters, custom tasks or stories.

Do I need KubeJS, Trinkets or any other mod? No. Besides Fabric API and GeckoLib, FTB Quests is the only optional integration (FTB Teams, if present, makes a story follow parties). Everything else is plain Fabric and Minecraft.

Does the story need voice-over? No. A line with no sound is silent, and a story with no voice-over needs no voice_timing file.

License and modpack permission

QuestBridge is released under CC0-1.0 (public domain dedication). You may include it in any modpack, public or private, with or without attribution, with no permission request needed.

Links

questbridge-2.0.0.jar
MC Client, Fabric, 1.21.1, Server
Release 2026-10-14 Get
questbridge-2.0.1.jar
MC Client, Fabric, 1.21.1, Server
Release 2026-10-14 Get
questbridge-1.2.0.jar
MC Client, Fabric, 1.21.1, Server
Release 2026-09-18 Get
questbridge-1.1.0.jar
MC Client, Fabric, 1.21.1, Server
Release 2026-09-17 Get

More from Navrelis

Advertisement Remove ads with Premium →

You Might Also Like