Finding Traders 1.16.5 - Herbertofury/Advent-of-Ascension GitHub Wiki
Minecraft 1.16.5 / AoA 3.6.11. Candidate acquisition evidence is now mapped for 43 of the 44 inspected trader identities: eight use the custom trader spawner, 33 are embedded in structure templates, and two are produced by crate-breaking hooks. Skill Master remains unresolved in this scan. These are distinct evidence routes, not 43 live-game spawn tests.
Search their offers · Historical shopping handbook · Filter the bestiary by dimension or biome
| What you want | Where to start |
|---|---|
| Naturalist, Assassin, Realmshifter, ordinary Lottoman | Eligible Overworld plains/hills/forest biome types; see exclusions below |
| Troll Trader | Eligible Overworld beach biome types |
| Metalloid | Iromine’s aoa3:iromine biome, through the custom trader spawner |
| Withering Lottoman | Eligible Nether biome types, through the custom trader spawner |
| Regional Lottomans and specialist shops | The structure/piece table below; not a generic wandering-trader rule |
| Toxic Lottoman / Store Keeper | Vox Crate / Vox Store Crate player-break hooks, without Silk Touch |
| Undead Herald | Multiple dimension-specific special-spawner entries, including a water-placement case in L’Borean |
The 29 released NPC builder chains match the pinned source declarations for eight unique traders. For biome-type selectors, the matcher requires any listed positive type, rejects any listed excluded type, and also requires the Overworld type unless the entry explicitly targets Nether. Mushroom Fields and Mushroom Field Shore are rejected on this type-matching path. Exact-biome entries use a separate direct match.
| Trader | Positive selectors / exact biomes | Important condition | |---|---| | Assassin | PLAINS, HILLS, FOREST | Excludes CONIFEROUS, SANDY, SAVANNA, SNOWY. Ground placement and raw brightness ≥8. | | Lottoman | PLAINS, HILLS, FOREST | Excludes CONIFEROUS, SANDY, SAVANNA, SNOWY. Ground placement and raw brightness ≥8. | | Metalloid | aoa3:iromine | Ground placement and raw brightness ≥8. | | Naturalist | PLAINS, HILLS, FOREST | Excludes CONIFEROUS, SANDY, SAVANNA, SNOWY. Ground placement and raw brightness ≥8. | | Realmshifter | PLAINS, HILLS, FOREST | Excludes CONIFEROUS, SANDY, SAVANNA, SNOWY. Ground placement and raw brightness ≥8. | | Troll Trader | BEACH | Ground placement and raw brightness ≥8. | | Undead Herald | Overworld type set, Nether type, and 20 exact AoA biome entries; details below | Excludes CONIFEROUS, SANDY, SAVANNA, SNOWY. Per-entry light and placement rules apply. | | Withering Lottoman | NETHER | Ground placement and raw brightness ≥8. |
Undead Herald: all 20 exact-biome placement entries
| Biome | Placement / heightmap | Darkness bypass |
|---|---|---|
aoa3:abyssal_plains |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:barren_grounds |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:candy_hills |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:celevian_highlands |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:creepoid_forest |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:crystevian_caverns |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:cavern_depths |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:dustopian_forest |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:floral_islands |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:greckon_mountains |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:haven |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:iromine |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:coral_fields |
IN_WATER / OCEAN_FLOOR | Yes; ordinary mob spawn checks still apply |
aoa3:lelyetian_plains |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:asteroid_belt |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:fungal_caverns |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
aoa3:precasian_tall_forest |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:runic_cliffs |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:shyre_remnants |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | No; raw brightness ≥8 |
aoa3:vox_wastes |
ON_GROUND / MOTION_BLOCKING_NO_LEAVES | Yes; ordinary mob spawn checks still apply |
- The special spawner is installed for the Overworld, Nether and AoA-namespace worlds other than Nowhere in the pinned event code. This does not imply support in the End or every other mod’s dimension.
- Passive spawning must be enabled and
doMobSpawningmust permit it. The spawner selects living, non-spectator server players. - A pass makes up to two location attempts per eligible player, sampling X and Z offsets in the −64 to +64 square, then resolving the heightmap and spawn space. That is not a guaranteed pair of NPCs or a circular 64-block radius.
- Biome-pool membership, placement, collision, normal mob checks and Forge’s spawn hook can reject the attempt.
- The source begins with a 24,000-tick cooldown, delays its probability check above 12,000, then uses a changing one-in-N check. It resets the cooldown and adds 3,600 per accepted spawn. This is not a fixed “a trader appears every X minutes” promise.
- A weight of one is a relative pool weight, not a 1% spawn chance. Modpack changes and the full eligible pool matter.
These routes join released template contents → declared jigsaw-pool references → source structure roots → released biome starts → explicit dimension structure settings. All 28 trader-bearing templates were linked. The graph is an over-approximation: connector compatibility, assembly depth and terrain placement are not simulated, so a listed piece is not guaranteed in every generated structure.
| Trader | Structure candidate | Declared dimension / biome |
|---|---|---|
| Abyssal Lottoman | Abyssal Lotto Hut (aoa3:abyssal_lotto_hut) |
aoa3:abyss / aoa3:abyssal_plains
|
| Baron Lottoman | Baron House (aoa3:baron_house) |
aoa3:barathos / aoa3:barren_grounds
|
| Boreic Lottoman | Drowned Lotto Stand (aoa3:drowned_lotto_stand) |
aoa3:lborean / aoa3:coral_fields
|
| Candied Lottoman | Candy Lotto Platform (aoa3:candy_lotto_platform) |
aoa3:candyland / aoa3:candy_hills
|
| Celevian Lottoman | Celevian Lotto Balloon (aoa3:celevian_lotto_balloon) |
aoa3:celeve / aoa3:celevian_highlands
|
| Creeponia Lottoman | Creeponian Lotto Stand (aoa3:creeponian_lotto_stand) |
aoa3:creeponia / aoa3:creepoid_forest
|
| Crystal Lottoman | Crystal Lotto Overlook (aoa3:crystal_lotto_overlook) |
aoa3:crystevia / aoa3:crystevian_caverns
|
| Dustopian Lottoman | Lotto Cage (aoa3:lotto_cage) |
aoa3:dustopia / aoa3:dustopian_forest
|
| Explosives Expert | Explosives Tower (aoa3:explosives_tower) |
aoa3:creeponia / aoa3:creepoid_forest
|
| Floro Lottoman | Lotto Sky Flower (aoa3:lotto_sky_flower) |
aoa3:gardencia / aoa3:floral_islands
|
| Golden Lottoman | Iro Pillar (aoa3:iro_pillar) |
aoa3:iromine / aoa3:iromine
|
| Gorb Arms Dealer | Gorb Village (aoa3:gorb_village) |
aoa3:mysterium / aoa3:fungal_caverns
|
| Gorb Engineer | Gorb Village (aoa3:gorb_village) |
aoa3:mysterium / aoa3:fungal_caverns
|
| Haunted Lottoman | Haunted Lotto Rock (aoa3:haunted_lotto_rock) |
aoa3:greckon / aoa3:greckon_mountains
|
| Lelyetian Lottoman | Lelyetian Tower (aoa3:lelyetian_tower) |
aoa3:lelyetia / aoa3:lelyetian_plains
|
| Lelyetian Trader | Lelyetian Tower (aoa3:lelyetian_tower) |
aoa3:lelyetia / aoa3:lelyetian_plains
|
| Lunar Lottoman | Stranded Lottoman (aoa3:stranded_lottoman) |
aoa3:lunalus / aoa3:asteroid_belt
|
| Mystic Lottoman | Mystic Lotto Shroom (aoa3:mystic_lotto_shroom) |
aoa3:mysterium / aoa3:fungal_caverns
|
| Precasian Lottoman | Jungle Lotto Hut (aoa3:jungle_lotto_hut) |
aoa3:precasia / aoa3:precasian_tall_forest
|
| Primordial Merchant | Dustopian Village (aoa3:dustopian_village) |
aoa3:dustopia / aoa3:dustopian_forest
|
| Primordial Spellbinder | Dustopian Village (aoa3:dustopian_village) |
aoa3:dustopia / aoa3:dustopian_forest
|
| Primordial Wizard | Dustopian Village (aoa3:dustopian_village) |
aoa3:dustopia / aoa3:dustopian_forest
|
| Professor | Professors Lab (aoa3:professors_lab) |
aoa3:iromine / aoa3:iromine
|
| Rocky Lottoman | Deep Lotto Shelter (aoa3:deep_lotto_shelter) |
aoa3:deeplands / aoa3:cavern_depths
|
| Runic Lottoman | Runic Tower (aoa3:runic_tower) |
aoa3:runandor / aoa3:runic_cliffs
|
| Shyre Archer | Archer Outpost (aoa3:archer_outpost) |
aoa3:shyrelands / aoa3:shyre_remnants
|
| Shyrelands Lottoman | Shyre Lotto Bunker (aoa3:shyre_lotto_bunker) |
aoa3:shyrelands / aoa3:shyre_remnants
|
| Toy Merchant | Toy Tower (aoa3:toy_tower) |
aoa3:celeve / aoa3:celevian_highlands
|
| Twinkling Lottoman | Floating Lotto Fountain (aoa3:floating_lotto_fountain) |
aoa3:haven / aoa3:haven
|
| Zal Grocer | Zal Ship (aoa3:zal_ship) |
aoa3:lunalus / aoa3:asteroid_belt
|
| Zal Herbalist | Zal Ship (aoa3:zal_ship) |
aoa3:lunalus / aoa3:asteroid_belt
|
| Zal Spellbinder | Zal Ship (aoa3:zal_ship) |
aoa3:lunalus / aoa3:asteroid_belt
|
| Zal Vendor | Zal Ship (aoa3:zal_ship) |
aoa3:lunalus / aoa3:asteroid_belt
|
| Block reference | Trader produced by its player-break hook | Candidate structure |
|---|---|---|
Vox Crate |
Toxic Lottoman | Vox Lotto Outpost |
Vox Store Crate |
Store Keeper | Destroyed Store; three template variants contain the crate |
Both inspected hooks run on the server and check that the player’s main-hand item has zero Silk Touch level. The hook creates the relevant trader at the crate location and finalizes it with event spawn reason. The Toxic Lottoman uses a +0.5 Y offset; Store Keeper uses the block Y. This describes the player-destruction callback, not arbitrary explosions, automation or a guarantee that every block-breaking mod preserves it.
Silk Touch suppresses this spawn path. Do not silently substitute an ordinary chest or assume every similarly textured block works. The two blocks have distinct IDs: aoa3:vox_crate and aoa3:vox_store_crate.
The class, trades, renderer and registration exist, but this scan found no matching special-spawner declaration, embedded entity in the 258 released templates, or direct creation call comparable to the two Vox crate hooks. That is missing acquisition evidence, not proof the NPC is impossible to obtain. Keep its natural acquisition route open for further investigation and in-game validation.
The inspected 1.16.5 TraderRestockGoal.canUse() checks alive, not currently trading, canRestock() and allowedToRestock(). Its start step still checks shouldRestock(). It does not contain the nearby-player 24-block check documented in the inspected 1.21.1 goal. Do not apply that modern rule to this historical build without checking the actual modpack. Other AI and inherited rules can still affect restocking.
- 44-identity location ledger
- 29 source/released special-spawner matches
- 258-template NBT scan; 28 contain trader entities
- Pool/structure/biome/dimension links and resource hashes
- Source special spawner · Source spawn registration and predicates
- Vox Crate hook · Vox Store Crate hook
NBT is read as data; no Minecraft or Java classes are executed. Only relevant IDs, template-local positions and hashes are retained in the extracted template ledger; full entity NBT and UUIDs are not republished. Source-derived block art: Tslat and contributors. No world-seed, natural-spawn frequency or complete Enderloom gameplay certification is claimed.
Vox Crate
Vox Store Crate