Enchanter's Toolkit
Five enchanting features in one Fabric mod for Minecraft 1.21.1: stackable enchanted books, item groups, no level cap, toggleable enchantments and enchantment descriptions. Each feature has its own switch in the config file.
Features
Stackable enchanted books
- Identical enchanted books stack, 16 by default (1 to 64 in the config).
- The anvil and the grindstone work on one book at a time, so a stack is never used up or duplicated by one operation.
- Designed to work alongside EasyAnvils and Puzzles Lib.
Item groups
- An enchantment can go on every item of its group. Sharpness works on every sword, including swords from other mods.
- Any two different enchantments are compatible: Sharpness with Smite, Silk Touch with Fortune, Infinity with Mending.
- You can keep chosen pairs incompatible in the config.
- Enchantments that are already on an item are never removed.
No level cap
- Levels from 1 to 32767 can be stored, shown and sent over the network.
- Levels above 10 show as Roman numerals (up to 20 by default), then as plain numbers.
- The anvil never lowers a level that is already high.
- The admin command
/etk setlevel sets an exact level.
Toggle enchantments
- Press K to open a screen with your six equipment slots. Click an enchantment to switch it off or on.
- A disabled enchantment stays on the item, shows a "(Disabled)" mark and has no effect. Silk Touch and Fortune can sit on one pickaxe, and you choose which one is active.
- The server checks every request. Curses cannot be toggled unless the config allows it.
- When everything is enabled again, the item stacks with identical items again.
Enchantment descriptions
- A short description and the item group appear under each enchantment line in the tooltip, on gear and on books.
- Texts for the vanilla enchantments and for a set of modded enchantments are included. Resource packs can replace them.
- Descriptions work on the client alone.
What are item groups?
Vanilla ties each enchantment to a list of items. Here, each enchantment belongs to a group, and it can go on any item of that group.
- Sharpness, Smite, Fire Aspect and Looting belong to Swords.
- Efficiency, Fortune and Silk Touch belong to Mining Tools.
- Unbreaking and Mending belong to Durable Items.
- Items are sorted into groups by their class and their tags, so modded items are found.
- Narrow enchantments from other mods get a group with only their own items.
Groups: Swords, Axes, Pickaxes, Shovels, Hoes, Mining Tools, Bows, Crossbows, Tridents, Spears, Maces, Fishing Rods, Shears, Shields, Brushes, Elytra, Armor, Helmets, Chestplates, Leggings, Boots, Wearables and Durable Items.
Armor
By default (ANY_PIECE) a slot-bound armor enchantment can go on any armor piece. Only one armor piece per enchantment is active for a wearer: the piece with the highest level. You can put Depth Strider on the helmet and keep Frost Walker and Soul Speed on the boots, and nothing gets stronger than the best single piece in vanilla. Set armorScope to SAME_SLOT for the vanilla slots.
Configuration
The file is config/enchanters_toolkit.json. Restart after you change it. The most important keys:
| Key |
Default |
Meaning |
stacking.enabled |
true |
Stackable enchanted books on or off |
stacking.maxStackSize |
16 |
Book stack size, 1 to 64 |
itemGroups.enabled |
true |
Item groups on or off |
itemGroups.armorScope |
ANY_PIECE |
ANY_PIECE or SAME_SLOT |
itemGroups.blockedPairs |
[] |
Pairs that stay incompatible, e.g. "minecraft:infinity=minecraft:mending" |
levelCap.enabled |
true |
Level display, anvil rule and command on or off |
levelCap.maxLevel |
32767 |
Highest level a new write can make |
toggle.enabled |
true |
Toggling on or off |
toggle.allowCurses |
false |
Allow toggling curses |
descriptions.enabled |
true |
Descriptions on or off |
descriptions.requireShift |
false |
Show descriptions only while Shift is held |
All keys, valid values and the group ids are in the README on GitHub: https://github.com/navrelis/StackableEnchantedBooks
Commands and keybind
/enchanters_toolkit setlevel <targets> <enchantment> <level>, alias /etk setlevel. Permission level 2. Sets the level on the main-hand item. Level 0 removes the enchantment.
- Toggle key: K, rebindable in the Controls menu.
Installation and compatibility
- Needs Fabric Loader 0.16.0 or newer, Fabric API and Java 21.
- Install it on the server and on every client. Use the same
stacking.maxStackSize on both sides.
- A client with the mod can join a server without it. Descriptions work there. Toggling is not available.
- Designed to work with EasyAnvils, Puzzles Lib, EasyMagic and SimplyTooltips. SimplyTooltips turns the first tooltip lines into plain text in its own colours, so the description colours can be lost there.
- Trinkets reads enchantments by itself, so a disabled enchantment stays active on a trinket. With Accessories, toggling works for most effects. Mending can still repair a disabled item in an accessory slot. The toggle screen covers the six vanilla equipment slots.
Replaces these mods
Enchanter's Toolkit replaces these mods. Remove them before you install it. The game will not start with them, because they use the same component ids or change the same code, and they would show a second description under every line.
- Merge Enchantments (
merenc)
- No Enchantment Cap Level (
noenchantmentcaplevel)
- Toggle Enchantments (
togenc)
- Enchantment Descriptions (
enchdesc)
- Stackable Enchanted Books (
stackable_enchanted_books)
Migration: items with the old Toggle Enchantments data are converted when they are loaded. High levels from No Enchantment Cap Level are kept, up to 32767. The book stack size from the old Stackable Enchanted Books config is imported when there is no new config yet. Other old configs are not read.
Warning: uninstalling
Back up your world before you remove this mod. Levels above 255 and the data component enchanters_toolkit:disabled_enchantments are unknown to vanilla. Items that carry them can fail to load and may be lost. Enable all enchantments again before you remove the mod.
Credits
Inspired by Toggle Enchantments, Merge Enchantments and No Enchantment Cap Level by Dplayend, by Enchantment Descriptions by Darkhax, and by the author's own Stackable Enchanted Books. The ideas were re-implemented from descriptions of their behaviour. No code was copied. All code and all description texts are original. This mod is not affiliated with or endorsed by those authors.
Licensed under MIT. You can use it in any modpack. Source: https://github.com/navrelis/StackableEnchantedBooks