A custom enchanting-table GUI that replaces the vanilla "gamble on three options" flow with something deterministic and craft-y. Right-click an enchanting table (or run /enchanting) to open a 54-slot interface with two functions: a Book Forge that mints enchanted books from ingredient blueprints, and an Apply station that puts a book onto an item for a flat level cost.
Place a recipe's ingredient items in the three forge slots and some lapis in the lapis slot. The ingredients are a blueprint - they are not consumed. When they match a configured recipe, a preview of the resulting enchanted book appears in the output. Click it to mint the book; you pay the recipe's level and lapis cost, and the ingredients stay where they are so you can forge again.
Recipes can require specific materials (CACTUS, DIAMOND), a potion (potion:strength), or whole categories (any sword, any armor, any pickaxe...). Shipped examples:
cactus + any armor + any sword -> Thornsany sword + potion of strength + grindstone -> SharpnessA broad default set covers common combat, tool, armor, and bow enchants - see /enchanting recipes in game or config.yml.
Put an item in the target slot and an enchanted book in the book slot. A preview of the enchanted item appears in the output; click it to enchant the item for a flat level cost (default 5). Conflicting enchants are skipped, and a stored enchant only upgrades an item if it is a higher level than what is already there.
By default, books minted by the forge are reusable - they are not consumed when applied. Books from other sources (loot, trades) are consumed on apply like normal. Set reusable-books: false to make every book single-use. Minted books are genuine vanilla enchanted books, so anvils and grindstones still work with them.
/enchanting (can be turned off).Players without enchanting.use always fall through to the vanilla enchanting table, so disabling permission never locks anyone out of enchanting entirely.
All under /enchanting (aliases: /erework, /ench).
| Command | Description |
|---|---|
/enchanting |
Open the Enchanting Rework GUI. |
/enchanting recipes |
List the configured book-forge recipes. |
/enchanting info |
Plugin info and current toggles. |
/enchanting reload |
Reload config.yml. (admin) |
| Permission | Default | Grants |
|---|---|---|
enchanting.use |
true | Open the GUI, forge books, apply enchants, list recipes. |
enchanting.admin |
op | reload (includes enchanting.use). |
config.yml)| Key | Default | Meaning |
|---|---|---|
open-via-command |
true |
Allow opening the GUI with /enchanting. |
intercept-enchanting-table |
true |
Right-clicking a vanilla table opens this GUI. |
reusable-books |
true |
Forged books are not consumed on apply. |
apply-cost-levels |
5 |
Flat level cost to apply a book to an item. |
default-level-weaker-than-max |
true |
Recipes with no explicit level use vanilla max minus one. |
recipes.<id> |
(see file) | A forge recipe: ingredients, result-enchant, optional level, cost-levels, cost-lapis. |
Ingredient tokens: a material name (CACTUS, minecraft:diamond), a potion (potion, potion:strength), or a category (any_sword, any_axe, any_pickaxe, any_shovel, any_hoe, any_tool, any_armor, any_helmet, any_chestplate, any_leggings, any_boots, any_bow, any_book). Result enchants accept a modern key (sharpness, minecraft:thorns) or a legacy Bukkit name (DAMAGE_ALL). Bad recipes are logged and skipped on load, never partially applied.
Paper / Spigot / Bukkit / Purpur, Minecraft 1.21.1-1.21.11. One jar, built against the 1.21.1 API (Java 21, class 65); no Paper-only classes, no NMS, no dependencies.
potion token always matches any potion.Original concept by u/Ciryl_Lynyard on Reddit (r/Minecraft). Built by BeansNToast.