Skip to content

Enchanter

Shallowplague edited this page Jun 11, 2026 · 2 revisions

Enchanter — anvil auto-enchanting

Auto-builds fully-enchanted "max template" gear in a dedicated anvil station. Stock chests with un-enchanted gear and pre-made enchanted books, and the bot turns them into god gear one piece at a time — in the cheapest possible anvil order, funding the XP cost itself from a chest of bottles.

Command: .enchanter (alias .enc).

What it does

  • Pull → enchant → deposit: pulls a base item from the input chest, applies the built-in max template for its type, deposits the finished piece into the output chest, and loops until the input runs out.
  • Cheapest anvil order: Minecraft's anvil cost is order-dependent — every item carries a "prior work penalty" that doubles each use, and any single combine costing 40+ levels is blocked ("Too Expensive!"). The Enchanter runs an exact search over all binary combine-trees to find the minimum-XP order that keeps every step under the cap, merging books into intermediates first so the gear's penalty stays low. (A god sword is ~72 levels done optimally vs ~171 naively — which would hit "Too Expensive!".)
  • XP-bottle charging: the anvil charges levels, and high levels cost disproportionately more XP, so the bot tops up a small buffer right before each step instead of banking the whole run up front — using ~2–7× fewer bottles. It throws bottles from a chest at its own feet and collects the orbs, reading its live XP level to know when it has enough.
  • Gravity-fed anvil pillar: anvils shatter with use. Stack a pillar of anvils over the work spot; when the bottom one breaks the next falls into place — the bot detects the gap, waits for the replacement to settle, and continues.
  • Auto-discovered layout: finds the anvil + all chests within 32 blocks and classifies them by content — no coordinates to type.

Built-in templates

One max loadout per gear family, with mutually-exclusive variant picks you choose (.enc variant <group> <choice>):

Family Always applied Variant groups (default first)
sword unbreaking 3, mending, looting 3, fire_aspect 2, knockback 2, sweeping_edge 3 sword_damage: sharpness | smite | bane_of_arthropods
pickaxe / shovel / hoe efficiency 5, unbreaking 3, mending tool_yield: fortune | silk_touch
axe efficiency 5, unbreaking 3, mending axe_yield: fortune | silk_touch · axe_damage: sharpness | smite | bane_of_arthropods
helmet unbreaking 3, mending, respiration 3, aqua_affinity, thorns 3 armor_protection: protection | blast | fire | projectile
chestplate unbreaking 3, mending, thorns 3 armor_protection
leggings unbreaking 3, mending, thorns 3, swift_sneak 3 armor_protection
boots unbreaking 3, mending, thorns 3, feather_falling 4, soul_speed 3 armor_protection · boots_walk: depth_strider | frost_walker
bow power 5, unbreaking 3, flame, punch 2 bow_special: infinity | mending
crossbow quick_charge 3, unbreaking 3, mending crossbow_special: multishot | piercing
trident unbreaking 3, mending, impaling 5 trident_style: throw (loyalty 3 + channeling) | riptide 3
mace unbreaking 3, mending, wind_burst 3 mace_impact: density | breach
fishing_rod unbreaking 3, mending, lure 3, luck_of_the_sea 3
elytra / shield unbreaking 3, mending

Run .enc templates to print the resolved sets under your current variant picks, plus the estimated levels and bottles each one costs.

Setup guide

  1. Build a station within a 32-block radius of where the bot stands:
    • a pillar of anvils over the work spot (so a fresh anvil drops when one shatters);
    • a chest of un-enchanted gear (the input);
    • one or more chests / barrels of pre-made single-enchant books (the book source — double chests are fine);
    • a chest of XP bottles (a near-unlimited / hopper-fed supply is ideal);
    • an empty chest for the finished gear (the output).
  2. (Optional) choose variants: .enc variant sword_damage smite, .enc variant tool_yield silk_touch, … (.enc templates lists every group + option).
  3. Stand the bot in the station and .enc scan — it reports which roles it found (anvil / input / books / xp-chest / output). Fix anything that reads false.
  4. .enc on. Stop with .enc off; watch progress with .enc status.

Notes & limits

  • Books must be single-enchant books (one enchantment each — the usual villager / loot book). Pair it with VillagerTrader to mass-produce them.
  • The input gear must be a known type from the table above; anything else is left in the input chest.
  • If XP charging is off (.enc xp off), keep the bot's level topped up another way — it pauses if a combine costs more levels than it has.

Commands

.enchanter on/off
.enc scan                         # auto-discover the station (anvil + chests) within range
.enc radius <n>                   # discovery radius in blocks (max 32)
.enc band <down> <up>             # Y range to scan, relative to the bot's feet (default 3/3)
.enc variant <group> <choice>     # pick a template variant, e.g. sword_damage smite
.enc templates                    # print resolved templates + estimated levels/bottles
.enc max <n>                      # stop after n items (0 = until the input chest is empty)
.enc xp on/off                    # throw XP bottles from the bottle chest to fund the anvil
.enc xpbuffer <levels>            # top up to (step cost + this) before each step
.enc xpreserve <n>                # bottles to keep carried
.enc pace <action> <settle> <fill> <anvil>   # tick delays (raise on a laggy server)
.enc pauseplayer on/off           # pause when a player is near
.enc autodc on/off                # auto-disconnect when the input is empty
.enc status                       # print the discovered layout + progress

Variant groups: sword_damage (sharpness/smite/bane_of_arthropods), tool_yield & axe_yield (fortune/silk_touch), axe_damage (sharpness/smite/bane_of_arthropods), armor_protection (protection/blast_protection/fire_protection/projectile_protection), boots_walk (depth_strider/frost_walker), bow_special (infinity/mending), crossbow_special (multishot/piercing), trident_style (throw/riptide), mace_impact (density/breach).

Clone this wiki locally