the mapping bible, condensed
Reference.
Every FTB Quests 1.21.1 field below already has a Tenet home: the middle column is what the migrator writes. FTB’s snake_case becomes Tenet’s camelCase, and an absent FTB field keeps Tenet’s default. Sourced from tenet/docs/authoring/ftb-mapping.md and the conversion spec — the full texts, not this page, are the contract.
| FTB task | Tenet type | Notes for the tool |
|---|---|---|
advancement + criterion | tenet:advancement | Empty criterion ("", all 54 ATM10 uses) means the whole advancement: emitted without criterion. |
observation | tenet:observation | toObserve / timer / observeType; NBT on toObserve is a fuzzy subset match. |
stat | tenet:stat | Same two fields, same meaning. |
forge_energy | tenet:energy | value + maxInput; absent max_input means unlimited. |
kill | tenet:kill | Tag takes precedence over id; NBT fuzzy subset match. |
location | tenet:location | Same box; ignore_dim → ignoreDimension. |
item + match_components | tenet:item + match | none / fuzzy / strict identical; 1.20.1 match_nbt becomes match. Integers past ±2⁵³−1 force fuzzy. |
item data components | verbatim | Passed through structurally, never interpreted; 1b/0b read as booleans. |
item + only_from_crafting | tenet:item + onlyFromCrafting | Tenet counts lifetime crafted statistics. |
item + consume_items | tenet:item + consumeItems | Absent defers to chapter defaultConsumeItems, then file default. |
filter stacks | tenet:filter | Expression verbatim; quest-unanswerable functions become tenet:custom placeholders. |
item/fluid + task_screen_only | + manualOnly | Piped task-screen fill is a documented loss; the manual half is kept. |
checkmark | tenet:checkmark | Same handshake; author picture wins over the box. |
gamestage | tenet:stage | stage + teamStage pair. |
| FTB reward | Tenet field | Notes for the tool |
|---|---|---|
auto | auto | enabled / invisible / no_toast / disabled identical, incl. file default. |
team_reward | team | Absent defers to the file default. |
exclude_from_claim_all | excludeFromClaimAll | Same flag on every reward. |
ignore_reward_blocking | ignoreRewardBlocking | Same flag, on rewards and quests. |
disable_toast | disableToast | Quiets the reward-level notice. |
title (from lang) | title | The row’s own words; checkmarks read their button from here. |
icon override | icon | Item, texture file, atlas region, or entity spawn egg. |
command + silent | tenet:command | Placeholders {p} {x}/{y}/{z} {quest} {chapter} {team} carry over. |
item + only_one | tenet:item + onlyOne | Checked by item type, ignoring components. |
toast | tenet:toast | Literal text or translation key with fallback. |
currency | tenet:currency | Amount passes through; the coin belongs to the installed economy. |
gamestage | tenet:stage | stage / remove / teamStage triple. |
choice / random / loot / all_table | table modes | random excludes empty, loot includes empty_weight, all_table ignores weights, choice never auto-grants. |
| FTB field | Tenet field | Notes for the tool |
|---|---|---|
require_sequential_tasks | sequentialTasks / defaultSequentialTasks | Quest flag, chapter default. |
hide_quest_until_deps_* | hideUntilDependencies* | Tristate; absent defers to chapter defaults. |
hide_dependency_lines | hideDependencyLines | Incoming lines only. |
hide_dependent_lines | hideDependentLines | The outgoing half; either silence wins. |
min_width / default_min_width | minWidth / defaultMinWidth | 0–3000, 0 unset. |
autofocus_id | autofocus | Quest in this chapter; absent centres the bounding box. |
icons (custom_icon, entity_face) | icon | .png/.jpg suffix is a file, anything else an atlas region. |
table use_title / hide_tooltip | useTitle / hideTooltip | Same pair under Tenet’s names. |
invisible (+ until_tasks) | invisible (+ invisibleUntilTasks) | Same pair, same counting rule. |
tags | tags | Same list on every object; lowercase-letters-digits-underscores. |
guide_page | guidePage | Shown as a Guide: reference; no integration. |
show_lock_icons | showLockIcons | Tool writes explicit true unless FTB says false (absent readings diverge). |
(no FTB field — FTB has no zoom tiers) | disableCanvasLod | Tool writes explicit true: preserves the always-drawn canvas. Chapter writes explicit false to opt back into tiers. |
pause_game / disable_gui | pauseGame / disableGui | Same switches under Tenet’s names. |
drop_loot_crates / loot_crate_no_drop | tool-reported | No Tenet home (crates out of scope): manual work. |
verify_on_load | tool-reported | A loader flag with no quest-file meaning. |
| FTB field | Tenet field | Notes for the tool |
|---|---|---|
dependencies | dependsOn | Remapped HEX → slug, order preserved. Gates on task/reward ids lift onto the owning quest and are reported. |
dependency_requirement | prerequisiteMode | all/one × completed/started, same four words. |
min_required_dependencies | minRequired | Written only above 0; refused above the dependency count. |
max_completable_dependents | maxCompletableDependents | Same cap, written only above 0. |
optional | optional | Still gates dependants — optional only excuses chapter completion. |
progression_mode | flexibleProgress | Quest → chapter → file; flexible anywhere sets the flag. |
can_repeat | repeatable | Quest → chapter default_repeatable_quest → false. |
repeat_cooldown (s) | repeatCooldownTicks (×20) | Cooldown without repeatable is reported and dropped. |
dep_control_pts | tool-reported | Tenet draws its own routes; hand-bent lines are reported. |
| FTB Quests command | Tenet command | |
|---|---|---|
/ftbquests block_rewards | /tenet rewards block | unblock for the release. |
/ftbquests complete | /tenet complete | with-dependencies where FTB finished the chain. |
/ftbquests reset | /tenet reset | with-dependencies where FTB cleared the chain. |
/ftbquests open_book | /tenet open_book | Quest ids remapped lowercase. |
/ftbquests reload | /tenet reload | |
/ftbteams teamstage … | /tenet stage add/remove-team | Named by a member’s player id. |
editing_mode, locked and the rest have no Tenet home: reported as manual work.
Visual presets and chapter appearance defaults resolve into explicit quest values — Tenet reads the result, never the preset. Geometry: coordinates ×64, sizes ×48 (measured against FTB in-game rendering), clamped 16–512 px; collisions nudge +1,+1 deterministically and are reported. Ids lowercase (no aliases — Tenet normalises lookup); every locale found ships as a lang/ overlay keyed by the new ids.
Tenet schema stamp: d8258f4 · vendored 2026-10-10 · index.schema.json, group.schema.json, chapter.schema.json, quest.schema.json, reward_table.schema.json