Trading and Traders 1.21.1 - Herbertofury/Advent-of-Ascension GitHub Wiki
Minecraft 1.21.1 / AoA 3.7.16.1. This handbook catalogs 55 base offer definitions: seventeen fixed AoA trader offers, 22 dimension-conditional Herald offers and 16 additions to villager profession pools. It is not a promise that one trader offers all of them, that every retained dimension is playable, or that final displayed prices match the base input.
Where modern traders spawn, including Precasian hovels
Open the searchable Trading Desk · Historical 1.16.5 traders
- Base prices can change. Reputation, demand and other runtime/modpack changes are not evaluated here. Inspect the price in the actual trade screen.
- Max uses means transactions before restocking, not total output items. A three-item output used 16 times represents 48 items before other changes.
- Merchant XP is profession progression, not the number of player experience orbs. The AoA trader class calculates player XP separately.
- Profession rows are candidates added to their level pools. A particular villager may not select every listed offer.
- Bring the listed coin denomination. This extraction does not establish a universal coin-conversion recipe. Find Copper Coin loot references and Silver Coin references.
The released level-one pool contains four offers, and the Lottoman requests four level-one unlocks. The source trade map does not define additional higher-level pools. Boxes and totems have their own item behavior; buying one is not a guaranteed particular reward.
Lottoman bestiary entry · Rendered model views
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
16 | 12 |
| Novice |
|
|
16 | 8 |
| Novice |
|
|
16 | 20 |
| Novice |
|
|
16 | 25 |
Ten level-one definitions exchange Archaic Tokens for four crystal sizes or six Skill Helmets. The released class requests up to 50 unlocks from this ten-offer pool. See the Skill Master and Archaic Tokens walkthrough for the utility lobby, reward routes and limitations.
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
32 | 20 |
| Novice |
|
|
24 | 50 |
| Novice |
|
|
16 | 75 |
| Novice |
|
|
12 | 125 |
| Novice |
|
|
2147483647 | 200 |
| Novice |
|
|
2147483647 | 200 |
| Novice |
|
|
2147483647 | 200 |
| Novice |
|
|
2147483647 | 200 |
| Novice |
|
|
2147483647 | 200 |
| Novice |
|
|
2147483647 | 200 |
The base level-one pool supplies Energy, Spirit and Rage banners. Extra offers are selected by the Herald’s current dimension key, not by which dimension the player has visited before.
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
729 | 20 |
| Novice |
|
|
729 | 20 |
| Novice |
|
|
729 | 20 |
All 22 built-in dimension-conditional banner definitions
These are retained predicate definitions. A dimension key and a banner resource do not establish a working realm, reachable portal or completed Enderloom port. Other mods can register additional Herald trades.
| Dimension predicate | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
aoa3:vox_ponds |
|
|
729 | 20 |
aoa3:shyrelands |
|
|
729 | 20 |
aoa3:runandor |
|
|
729 | 20 |
aoa3:precasia |
|
|
729 | 20 |
minecraft:overworld |
|
|
729 | 20 |
minecraft:the_nether |
|
|
729 | 20 |
aoa3:mysterium |
|
|
729 | 20 |
aoa3:lunalus |
|
|
729 | 20 |
aoa3:lelyetia |
|
|
729 | 20 |
aoa3:lborean |
|
|
729 | 20 |
aoa3:iromine |
|
|
729 | 20 |
aoa3:haven |
|
|
729 | 20 |
aoa3:greckon |
|
|
729 | 20 |
aoa3:gardencia |
|
|
729 | 20 |
aoa3:dustopia |
|
|
729 | 20 |
aoa3:deeplands |
|
|
729 | 20 |
aoa3:crystevia |
|
|
729 | 20 |
aoa3:creeponia |
|
|
729 | 20 |
aoa3:celeve |
|
|
729 | 20 |
aoa3:candyland |
|
|
729 | 20 |
aoa3:barathos |
|
|
729 | 20 |
aoa3:abyss |
|
|
729 | 20 |
AoA adds these candidates to villager profession pools. Their profession/job behavior is distinct from the custom AoA trader AI.
The novice map listing costs 4 Emeralds plus 1 Compass at its base definition. The Compass is added by the vanilla TreasureMapForEmeralds implementation, so it is easy to miss when looking only at AoA’s constructor call. The map factory searches for a matching structure and can fail to produce an offer if none is found. The map icon below is only a neutral item illustration, not a map of your world.
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
3 | 7 |
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Expert |
|
|
16 | 25 |
These trades provide an alternative source of Ancient Rock, Runium Chunks and carved portal runes. Candidate selection and the villager’s profession level still matter.
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
16 | 1 |
| Apprentice |
|
|
8 | 9 |
| Journeyman |
|
|
4 | 20 |
| Journeyman |
|
|
4 | 20 |
| Journeyman |
|
|
4 | 20 |
| Journeyman |
|
|
4 | 20 |
| Master |
|
|
1 | 50 |
The Assassin profession is bound to the Frame Bench POI in the source registration. Normal villager eligibility, job assignment and POI behavior still apply; this is not a guarantee that placing one block instantly changes every nearby villager. Frame Bench reference.
| Level | Base input | Output | Max uses | Merchant XP |
|---|---|---|---|---|
| Novice |
|
|
16 | 2 |
| Novice |
|
|
16 | 2 |
| Apprentice |
|
|
16 | 3 |
| Apprentice |
|
|
16 | 3 |
| Journeyman |
|
|
16 | 2 |
| Journeyman |
|
|
16 | 2 |
| Expert |
|
|
16 | 2 |
The custom TraderRestockGoal requires all of the following before its start logic can attempt a restock:
- The trader is alive and is not currently trading.
- The inherited
canRestock()andallowedToRestock()checks pass. - The world finds no nearby alive player within the 24-block radius used by the goal.
- The start step still checks
shouldRestock()before callingrestock().
Practical troubleshooting: close the trade screen and step more than 24 blocks away; another nearby player may still prevent the goal from running. This is a necessary condition, not a fixed restock timer. The rule belongs to the custom AoA trader goal and should not be applied wholesale to ordinary Clerics, Butchers, Cartographers or Assassin-profession villagers.
The offer’s XP value contributes to merchant progression. For the custom AoA trader class, the player-orb calculation starts with 3–6, may add five on a level-up path, then divides by maxUses / 16f with integer assignment. For a 729-use Herald offer, those branches compute zero player-orb XP even though the offer has 20 merchant XP. This is a source calculation, not an in-game XP measurement; other hooks may change behavior.
The Corrupted Traveller is not a normal MerchantOffer trader in this build. It opens its own menu when alive and interacted with without sneaking, after its Name Tag handling. Its food/book exchange is documented in the beginner walkthrough and released exchange evidence. Do not look for it in the ordinary coin-offer tables above.
- 55-offer catalog and support hashes
- Restricted released-bytecode builder traces: 30 selected methods evaluated, including 22 Herald constructor suppliers.
- Item icon provenance
The symbolic reader records literal trade-builder inputs and defaults without executing Java/game code. Registry field names are joined to the pinned source registrations. Default item-instance outputs are displayed as one; runtime replacements and component-sensitive overrides are not evaluated. The map’s secondary Compass input is checked against the official vanilla class and its one-item cost constructor.
No live trading, restocking, discount or save-persistence test is claimed. Static definitions should guide testing and restoration, not replace target-build validation.
Item/block artwork: Tslat and contributors; vanilla item references: Mojang. Pinned trader source · Villager trade registration.