-
Notifications
You must be signed in to change notification settings - Fork 1
Enchanter
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).
- 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.
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 | — |
| shears | efficiency 5, unbreaking 3, mending | — |
| flint & steel / carrot-on-a-stick / warped-fungus-on-a-stick / brush | unbreaking 3, mending | — |
Every vanilla item that can hold an enchantment has a template — anything else placed in the input chest is left alone.
Run .enc templates to print the resolved sets under your current variant picks (curses included), plus the estimated levels and bottles each one costs.
The two curses are independent per-family toggles — they're never part of a max template and are never on by default. Enable one for a family with .enc curse <family> <vanishing|binding> on:
| Curse | Applies to | Notes |
|---|---|---|
Curse of Vanishing (vanishing) |
every family | item is destroyed on death instead of dropping |
Curse of Binding (binding) |
worn gear only — helmet, chestplate, leggings, boots, elytra | can't be removed from an armor slot once equipped |
Toggles are per family, so e.g. .enc curse sword vanishing on curses only swords; armor and tools are untouched. When a curse is on, the bot needs a matching curse book stocked in the book source (one vanishing_curse / binding_curse book), same as any other enchant. Turn one off again with .enc curse <family> <curse> off. Active curses show up in .enc templates and .enc status.
- 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).
- (Optional) choose variants:
.enc variant sword_damage smite,.enc variant tool_yield silk_touch, … (.enc templateslists every group + option). - Stand the bot in the station and
.enc scan— it reports which roles it found (anvil / input / books / xp-chest / output). Fix anything that readsfalse. -
.enc on. Stop with.enc off; watch progress with.enc status.
- 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.
.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 curse <family> <vanishing|binding> on/off # per-family curse opt-in (never on by default)
.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).
- What's New — 5.x Beta 🧪
- Installation
- Command Reference
- Movement & Transport
- The ShiftClick fix
- Notifications (ntfy)
- FAQ
Remote control & access 🧪 (5.x beta)
Built-in modules
- AquariusMiner
- AquariusSniffer
- PearlPlus
- VillagerTrader
- PearlDrop
- KitMaker
- Regear
- ElytraPilot
- Enchanter
Stash system
Extending