Frame Bench and Armor Infusion 1.21.1 - Herbertofury/Advent-of-Ascension GitHub Wiki
Frame Bench and armor Infusion: from scrap to a matching set
Armor preparation · Infusion Table walkthrough · Worn armor gallery
Minecraft 1.21.1 / AoA 3.7.16.1. The missing step between Scrap Metal and armor is the Frame Bench. Its ten choices are implemented by its menu, not ten ordinary recipe JSON files. This walkthrough also covers the 32 bundled armor Infusion recipes, grouped into eight complete sets. It does not claim that all 48 registered sets are craftable this way.

1. Make the bench and Scrap Metal
- Frame Bench: one Crafting Table + one Iron Axe + one Shears, in a shapeless recipe. Use spare tools; do not assume an enchanted or valuable tool will be preserved by this ingredient recipe. Exact recipe
- Scrap Metal: one ingredient matching
#c:ingots/iron+ one matching#c:nuggets/gold+ one Limonite Nugget → one Scrap Metal. Tags keep their active-pack meaning; the diagram's iron and gold icons are examples, not a fixed member list. Exact recipe - One full armor-frame set: prepare four Scrap Metal. Crafting those four requires four accepted iron ingots, four accepted gold nuggets and four Limonite Nuggets, before the additional Infusion ingredients below.
Scrap Metal also appears in loot declarations, but the shapeless recipe gives a direct preparation route without treating an uncertain loot roll as guaranteed. Its separate smelting recipe produces an Iron Nugget, not a frame.
2. Select and take the frame you need

- Place the bench and interact with an empty hand to open the supported menu path.
- Put Scrap Metal in the single input slot. The input slot predicate checks that exact item, not a general metal tag.
- Click the desired frame button. The initial selection is Crossbow Frame, so check the output before taking it.
- Take the output. The selected output callback consumes one unit from input slot 0. Four different armor frames require four separate output takes; this is not a four-piece output bundle.
- Change selection for the next piece. The armor row is Helmet, Chestplate, Leggings, Boots. The other six choices are weapon frames.
- Close normally when done. The shared menu delegates remaining-input cleanup to
clearContainer; do not treat the bench as persistent storage. Full-inventory, shift-click, disconnect and repeated-click behavior still require exact-build testing.
| Selector row | Choices, left to right |
|---|---|
| Top | Crossbow Frame · Blaster Frame · Cannon Frame |
| Middle | Helmet Frame · Chestplate Frame · Leggings Frame · Boots Frame |
| Bottom | Gun Frame · Shotgun Frame · Sniper Frame |
3. Move to the Infusion Table
Build and use the Infusion Table. Put the correct frame in its base slot, then supply the recipe's additional ingredients in the input arrangement expected by that station. Repeated ingredient entries are separate required units/slots; putting several units into one occupied slot does not automatically satisfy several ingredient positions. Check the output before taking it.
The eight lists below are shopping totals for one helmet, one chestplate, one leggings and one boots recipe. They exclude the four frame inputs and the materials used to craft those frames. They also exclude the workstation itself. A list is preparation arithmetic, not a bulk-crafting command or an assertion that all materials are obtainable in every unfinished world.
Embrodium
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 1 × Padded Cloth
- 9 × #c:ingots/blazium (active ingredient tag)
- 10 × #c:ingots/varsium (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Hazmat
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 2 × Padded Cloth
- 11 × Reinforced Cloth
- 1 × minecraft:charcoal
- 7 × #c:strings (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Ice
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 18 × Ice Crystal
- 4 × #c:ingots/iron (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Infernal
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 4 × Ice Crystal
- 1 × Padded Cloth
- 8 × minecraft:magma_cream
- 8 × #c:ingots/emberstone (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Lyndamyte
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 13 × #c:ingots/emberstone (active ingredient tag)
- 11 × #c:ingots/limonite (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Skeletal
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 2 × Chestbone Fragment
- 1 × Footbone Fragment
- 2 × Legbone Fragment
- 2 × Padded Cloth
- 1 × Skullbone Fragment
- 6 × #c:foods (active ingredient tag)
- 12 × #c:ingots/skeletal (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Void
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 6 × Void Scales
- 12 × #c:ingots/iron (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Wither
Bring: one Helmet Frame, one Chestplate Frame, one Leggings Frame and one Boots Frame, plus:
- 5 × Armour Plating
- 4 × Padded Cloth
- 4 × Reinforced Cloth
- 6 × Wither Rune
- 10 × #c:gems/bloodstone (active ingredient tag)
Open the exact diagrams: Helmet · Chestplate · Leggings · Boots
Why a frame may be missing from a recipe search
FrameBenchRecipe is explicitly a recipe-display helper and returns a null serializer in this inspected release. The actual selection/output path is FrameBenchMenu: a fixed array of ten choices, the Scrap Metal input predicate, and the output-removal callback. The archive's frame_bench_frame tag contains those ten items, but the menu is not shown reading that tag to populate its choices. Adding an item to the tag alone is not demonstrated to add a new menu button.
The 32 recipes above are real bundled Infusion definitions. The distinction matters: a JSON-only recipe census would find their outputs but miss the menu-driven frame-making step.
Other armor acquisition remains separate
The other armor registrations are not covered by these 32 recipe outputs. Some have loot-table entries, code-driven rewards, different systems or unresolved acquisition routes. Absence from this recipe list is not proof that an item is unobtainable. Keep the exact version and inspect the item's recipe, loot and trade links rather than copying an older release's recipe into this one.
Restoration checks
- Validate selector bounds before storing or indexing a selected frame. The inspected
clickMenuButtonchecks equality with the current selection, but contains no explicit range guard before the later array access. Ordinary UI buttons emit the ten known selections; this is a defensive acceptance target, not a reproduced gameplay crash. - Test empty input, each of the ten choices, changing selection while input remains, output take, repeated take and shift-click.
- Test full inventory, normal close, disconnect and re-open without duplication or lost input.
- Keep the menu, client buttons, JEI display and any future data-driven options consistent. Avoid repeated whole-registry scans during ordinary clicks.
Released menu methods, exact JSON recipes and full-set totals · Illustration provenance
These are static artifact and method checks, not in-game certification. AoA source assets and systems are credited to Tslat and contributors; vanilla item references to Mojang/Microsoft. Original documentation diagrams and source-joined shopping lists.