Trading and Traders 1.12.2 - Herbertofury/Advent-of-Ascension GitHub Wiki
Trading and traders · 1.12.2
Minecraft 1.12.2 · AoA 3.3.6. Browse 363 candidate offer definitions across 59 NPC types in the illustrated Trading Desk. This historical system does not use the modern profession-level and merchant-XP fields shown for later releases.
The extractor checked 64 literal trader methods plus the separately decoded Undead Herald switch against released bytes and pinned source. Five banker EMPTY→EMPTY placeholders remain excluded. Herald contributes 22 realm-conditional definitions and four common offers; any resolved source context has four or five entries, not all 26. An empty placeholder is not a free item exchange.
Plan a useful shopping trip
- Pick 1.12.2 before searching. The 1.16.5 and 1.21.1 prices, pools and progression rules are separate data.
- Search for something you can sell or need to buy. Item and currency names match both inputs and outputs. Metadata-sensitive fish are shown separately as Raw Fish and Raw Salmon.
- Choose a trader. This release’s 22 Lottoman variants retain their own currency-specific definitions; they are not silently collapsed into the later shared pool.
- Bring both input stacks when shown. A two-slot cost is additive. The Toy Merchant’s Smiley Upgrade Kit definition uses two stacks of 64 Circus Coins, not one alternative stack.
- Read special-stack requirements. Ordinary fireworks or a superficially similar potion do not establish that the exact required stack matches.
- Check selection and use-limit behavior. Candidate definitions are not guaranteed simultaneous offers. The legacy panel displays constructor use information rather than inventing a profession level or merchant XP.
Trader directory
| Trader | Candidate offers | Selection | Open offers |
|---|---|---|---|
| Abyssal Lottoman | 4 | Generated selection | Browse |
| Anima Master | 4 | Fixed list | Browse |
| Assassin | 7 | Generated selection | Browse |
| Augury Master | 4 | Fixed list | Browse |
| Baron Lottoman | 4 | Generated selection | Browse |
| Boreic Lottoman | 4 | Generated selection | Browse |
| Butchery Master | 4 | Fixed list | Browse |
| Candied Lottoman | 4 | Generated selection | Browse |
| Celevian Lottoman | 4 | Generated selection | Browse |
| Creation Master | 4 | Fixed list | Browse |
| Creeponia Lottoman | 4 | Generated selection | Browse |
| Crystal Lottoman | 4 | Generated selection | Browse |
| Crystal Trader | 14 | Fixed list | Browse |
| Dungeon Keeper | 10 | Fixed list | Browse |
| Dustopian Lottoman | 4 | Generated selection | Browse |
| Expedition Master | 4 | Fixed list | Browse |
| Explosives Expert | 9 | Generated selection | Browse |
| Extraction Master | 4 | Fixed list | Browse |
| Floro Lottoman | 4 | Generated selection | Browse |
| Foraging Master | 4 | Fixed list | Browse |
| Golden Lottoman | 4 | Generated selection | Browse |
| Gorb Arms Dealer | 5 | Generated selection | Browse |
| Gorb Engineer | 7 | Generated selection | Browse |
| Hauling Master | 4 | Fixed list | Browse |
| Haunted Lottoman | 4 | Generated selection | Browse |
| Hunter Master | 4 | Fixed list | Browse |
| Infusion Master | 4 | Fixed list | Browse |
| Innervation Master | 4 | Fixed list | Browse |
| Lelyetian Lottoman | 4 | Generated selection | Browse |
| Lelyetian Trader | 5 | Generated selection | Browse |
| Logging Master | 4 | Fixed list | Browse |
| LottomanComparative 1.16.5 source-model image; not a 1.12.2 renderer verification. | 4 | Generated selection | Browse |
| Lunar Lottoman | 4 | Generated selection | Browse |
| Metalloid | 25 | Generated selection | Browse |
| Mystic Lottoman | 4 | Generated selection | Browse |
| Naturalist | 22 | Generated selection | Browse |
| Precasian Lottoman | 4 | Generated selection | Browse |
| Primordial Merchant | 8 | Generated selection | Browse |
| Primordial Spellbinder | 8 | Generated selection | Browse |
| Primordial Wizard | 5 | Generated selection | Browse |
| ProfessorComparative 1.16.5 source-model image; not a 1.12.2 renderer verification. | 7 | Fixed list | Browse |
| Realmshifter | 7 | Generated selection | Browse |
| Rocky Lottoman | 4 | Generated selection | Browse |
| Runation Master | 4 | Fixed list | Browse |
| Runic Lottoman | 4 | Generated selection | Browse |
| Shyre Archer | 6 | Generated selection | Browse |
| Shyrelands Lottoman | 4 | Generated selection | Browse |
| Store KeeperComparative 1.16.5 source-model image; not a 1.12.2 renderer verification. | 4 | Generated selection | Browse |
| Token Collector | 11 | Fixed list | Browse |
| Toxic Lottoman | 4 | Generated selection | Browse |
| Toy Merchant | 6 | Generated selection | Browse |
| Troll Trader | 6 | Fixed list | Browse |
| Twinkling Lottoman | 4 | Generated selection | Browse |
| Undead Herald | 26 catalogued; 4–5 per realm | Fixed list | Browse |
| Withering Lottoman | 4 | Generated selection | Browse |
| Zal Grocer | 7 | Generated selection | Browse |
| Zal Herbalist | 3 | Generated selection | Browse |
| Zal Spellbinder | 10 | Generated selection | Browse |
| Zal Vendor | 5 | Generated selection | Browse |
Generated pools and stock limits
The base trader seeds pool selection from its UUID. For a non-fixed pool of N candidates, the initial selection count is max(random nextInt(N), 1); the additional-trade counter can raise it up to N. Selected candidates are removed from the temporary pool, so the same pool entry is not picked twice. Fixed-list traders receive all candidates.
The default recipe constructor chooses five maximum uses for a stackable output and one for a non-stackable output. Some offers supply explicit values. However, the base use-recipe callback returns early for fixed lists or when the currently selected list already reaches the whole pool. Otherwise it increments uses and can expand/regenerate the list after all current offers are exhausted. A constructor max-use value is therefore not a universal restock timer or repeatability guarantee.
Weapon purchase examples and the cannon upgrade chain show the practical consequences for 29 weapon offers.
Special offers worth reading carefully
Explosives Expert: marked fireworks
The factory produces one Fireworks stack carrying Fireworks.Flight byte 42 and AoA boolean true. The trade definition exchanges that special stack for 50 Lunaver Coins, but explicitly starts with uses = 1 and max uses = 1. It is initialized at its use limit, not an ordinary repeatable currency payout. A runtime unlock or reset path has not been established here. The icon is a base firework picture and does not display those tags.
Store Keeper: custom lingering potion
The factory starts from a Lingering Potion item and requests a Poison effect with 2500 ticks, amplifier 0, ambient true and particles true. The duration is a construction argument, not a measured duration of every cloud application. Its required price is shown in the Trading Desk. The base bottle image does not certify the custom NBT or final tint.
Spellbinders: enchanted books
The Primordial Spellbinder’s checked book offer is Silk Touch I; the Zal Spellbinder’s is Mending I. Their costs and enchantment labels remain attached to the distinct offers rather than being reduced to a generic enchanted-book icon.
Smiley Upgrade Kit: two payment slots
The Toy Merchant requires 64 + 64 Circus Coins and supplies an explicit one-use constructor limit, starting at zero uses. Keep both input slots distinct in any restored trading UI. Do not conflate this with the Explosives Expert’s already-at-limit definition.
Pictures and version-safe navigation
The catalog uses 292 distinct item/metadata picture references: 275 existing atlas regions and 17 standalone source-model illustrations. Six previously unmatched historical block models now have checked registration/localization entries in the general item index. Their trade cards link directly to those exact IDs.
Only the selected release’s compact data file is requested. The browser builds 24 cards at a time, caches loaded releases and ignores stale responses after a version switch. Atlas regions reuse the existing sheets; new standalone item and NPC images are lazy-loaded. No game-folder scan or background polling is performed. Vendor labels use a cached ID lookup instead of repeatedly scanning the vendor list for every card or search result. Trade semantic and payload comparison confirms that quantities, metadata, special requirements and use-limit fields were preserved.
Evidence and remaining work
-
Decode the Undead Herald’s dimension switch and add a realm selector that preserves the four common offers.
-
Document the six-lane banker container, currency ratios and source-level inventory safety candidates separately from placeholder trades.
-
Verify spawning, GUI behavior, special-NBT matching, list expansion, save/reload and event/modpack interactions in a running test build.
-
Add the six newly illustrated block references to the general item index with exact registration/localization evidence.
AoA artwork and systems are by Tslat and contributors; vanilla reference assets are by Mojang. These are static source references and documentation UI checks, not a live trading or Enderloom compatibility certification.
Compare 1.16.5 trading · Compare 1.21.1 trading · Weapon acquisition atlas
Undead Herald realm-specific shopping
The illustrated Herald exchange guide compares all 22 conditional banners and four common banners. Choose a Herald realm in the Trading Desk, and clear other filters to inspect its full four- or five-offer source list.
Banker coin conversion
The illustrated banker guide explains the shared six-lane interface, 20:1 currency tiers, first-input placement and scoped partial-transfer/GUI-target findings. The five empty recipe placeholders remain excluded from the offer catalog.
Lotto Totem follow-up
See Lotto Totem placement, all thirteen reward pictures, seller costs and save-safety warnings. The single-roll winning table and five-choice selection use different probability denominators.