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.
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).
/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.
/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.
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:
continuous streak resets when the player leaves the conditionEvery 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.
/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.
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:
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.
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.
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 testingThe full list is on the wiki Commands page.
QuestBridge assumes you do not trust a mod to rewrite your quest book, so it does not, unless you ask it to.
config/ftbquests./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./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.questbridge_<id>, or if the pack ships a story, QuestBridge must stay in the pack.docs/wiki. Start at Home. Useful pages: Migration from 1.2 to 2.0, Pack checklist, Dialogue (skipping) and Voice timing (voice-over).wiki folder (start at wiki/README.md). It is unchanged in 2.0.0.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.
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.
CHANGELOG.md in the repository root