promotional bannermobile promotional banner

QuestBridge

Turns FTB Quests into a modpack-aware quest engine: live data dumps for authoring, smart item filters, and event-driven custom tasks with immersive feedback.
Back to Files

questbridge-1.2.0.jar

File namequestbridge-1.2.0.jar
Uploader
NavrelisNavrelis
Uploaded
Sep 18, 2026
Downloads
19
Size
279.2 KB
Mod Loaders
Fabric
File ID
8912390
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:questbridge-1700257:8912390"

Learn more about Curse Maven

What's new

Changelog 1.2.0

Added

  • /questbridge explain <requirement_id>, explain task <task_code>, explain here, and explain ftbtask <task_code>: a full in-game report for why a task is or isn't progressing — bound task and quest-lock state, world conditions, every selector condition with a YES/NO, and a one-sentence verdict. explain ftbtask covers plain, non-QuestBridge FTB tasks too (item, structure, biome, and more), including whether a task only submits on a manual click.
  • New selector key near_fluid_tag: matches a fluid tag anywhere in the cube scanned around the player, alongside near_block/near_block_tag — catches a pond, a river, the sea, and waterlogged blocks that a biome tag alone would miss.
  • New selector keys structure_match ("piece", the default, or "bounds") and structure_margin: in_structure/in_structure_tag can now match a structure's whole bounding box instead of only a generated piece — covers village plazas, path gaps, farm plots, and roofs that a piece-only match cannot see.
  • A structure-bounds assist for FTB's own native structure task: assist.structure_bounds (default on) and assist.structure_margin in settings.json credit it for standing anywhere inside the structure, not only inside a generated piece — the same fix as structure_match, applied to plain FTB tasks that never touch a QuestBridge requirement.
  • feedback.progress_interval_ticks setting (default 40 ticks / 2s, minimum 10): the progress feedback throttle interval is now configurable instead of a hard-coded 5 seconds.
  • Two more ready-made examples for /questbridge examples (ten total): sit_by_the_water.json (near_fluid_tag) and stand_in_a_village.json (structure_match: "bounds").
  • Validation findings requirement_stat_missing (a stat_threshold requirement with no stat key anywhere in its selector) and requirement_distinct_by (a distinct_by value that isn't actually implemented; the schema's enum is also narrowed to the four values that are: item_id, entity_id, block_id, namespace).
  • A one-line INFO log on every index rebuild (server start, /questbridge reload, and every FTB Quests book/file reload) confirming the bridge and the structure-bounds assist are live: bound custom task count, indexed native structure task count, and the current assist.structure_bounds setting — plus a once-per-session WARN if the assist could not read structure task targets yet.
  • A positive INFO log line stating exactly which commands still work when FTB Quests is not installed, instead of leaving the log silent.

Changed

  • assist.structure_bounds ships on by default, so upgrading alone changes how every native FTB structure task in an existing pack is credited — see CHANGELOG.md's upgrade notes.
  • The progress-feedback throttle interval is now feedback.progress_interval_ticks (default 40 ticks / 2s) instead of a hard-coded 100 ticks / 5s.

Fixed

  • item_collection/item_filter no longer double-counts: 1.1.0 also added +1 on every matching right-click on top of the inventory poll's absolute count, which could inflate progress past the real inventory total. It is now inventory-only; a requirement that wants the old additive behavior back can set "trigger": "item_use" explicitly. The inventory scan also now covers worn armour and the off-hand item, which 1.1.0 missed entirely.
  • distinct progress can no longer regress: if a crash left the persisted distinct set smaller than what FTB Quests still recorded, QuestBridge now keeps the higher value instead of writing the smaller one back over it.
  • A continuous location_timer streak breaking no longer touches a task that is already completed, already at max progress, or in a quest that cannot currently start — 1.1.0 could wipe a finished continuous timer sitting in a locked flexible quest before FTB's own dependency sweep had a chance to credit it.
  • Fixed the near_block/near_block_tag/near_fluid_tag cube-scan cache key: it used to be keyed on an object identity hash plus the player only, so two selector nodes could collide after garbage collection and a player who walked or teleported away within the same one-second window could read the previous answer. The key is now a stable per-node id plus the player plus the exact block position, and the cache is cleared on /questbridge reload.
  • structure/structure_tag used to silently match every location in a player-location selector (they were validated but never evaluated there). They now correctly alias in_structure/in_structure_tag.
  • The stat selector key for stat_threshold is now found anywhere in the selector tree (including inside all/any), not only at the top level — it used to leave the requirement silently un-polled.
  • The feedback throttle map now evicts a (player, task) entry the moment that task completes, and every entry for a player on disconnect, instead of growing for the life of the server.
  • A malformed selector array entry (for example {"any": [3]}) used to throw a NullPointerException straight out of the config load; it now simply never matches instead of crashing the load.
  • QuestBridge's own location timers, inventory polls, and block_interaction/entity_interaction events now all ignore a player in spectator mode, matching the rule FTB's own biome/structure/ dimension tasks already apply.
  • A bound custom task's book button is now clickable only for an inventory requirement. Clicking it re-runs the same check the poll already does, and that check does nothing for a location timer or an event-driven requirement — 1.1.0 showed a silently dead button for every one of those.

This mod has no additional files