Skip to content

VillagerTrader

Shallowplague edited this page Jun 11, 2026 · 1 revision

VillagerTrader — automatic trading

Fully automatic villager trading baked in from the ZenithProxyVillagerTrader 2.0.3 plugin (by rfresh2). It runs your configured trades one at a time, continuously.

Command: .trader.

What it does

Per trade, the loop:

  1. Restocks trade inputs from a chest when they run low (crafts emerald blocks into emeralds as needed).
  2. Trades with the nearest villager of the configured profession (shift-click bulk trading, or one-at-a-time for enchanted books to avoid buying the wrong book).
  3. Stores the bought output into a chest when it accumulates.
  4. Optional post-trade storage (return leftovers to restock or an overflow chest).

Supports one- or two-input trades, per-trade price caps, restock thresholds/amounts, enchantment filters (only buy a book if it has the desired enchant at the desired level), and Discord trade-completion notifications.

Tip: this is the natural way to mass-produce the single-enchant books the Enchanter consumes.

Setup guide

  1. Build a compact villager trading hall (the bot only trades villagers within render distance — it won't go searching).
  2. Place restock chests (inputs) and store chests (outputs); a hopper feed/drain makes it continuous.
  3. Add a trade:
    • One input: .trader add <id> <profession> <inputItem> <outputItem> <inputChestPos> <outputChestPos>
    • Two inputs: .trader add <id> <profession> <input1> <input2> <outputItem> <input1ChestPos> <input2ChestPos> <outputChestPos>
  4. Tune it via .trader set help (prices, restock thresholds, enchantment filters, post-trade storage).
  5. Start: .trader on. Review with .trader list.

Commands

.trader on/off
.trader add <id> <profession> <inputItem1> <outputItem> <inputItem1ChestPos> <outputChestPos>
.trader add <id> <profession> <inputItem1> <inputItem2> <outputItem> <input1ChestPos> <input2ChestPos> <outputChestPos>
.trader del <id>
.trader clear
.trader list
.trader set help                      # prints all per-trade setting subcommands
.trader waitForInteractTimeout <ticks>
.trader logTradeStatusToDiscord on/off

.trader set help covers: per-trade on/off, profession, inputItem1/2, outputItem, inputItem1/2Chest, outputChest, maxInput1/2PerTrade, inputItem1/2RestockStacks, inputItem1/2RestockCountThreshold, outputItemStoreCountThreshold, outputEnchants add/del/clear/list, postTradeStore <none/to_restock/to_overflow>, and overflowChest.

Clone this wiki locally