What is Immersive Enchanting?
Immersive Enchanting reimagines and reworks the vanilla enchanting experience. Choose your enchantments through a new skill-tree based enchanting GUI! Use materials instead of levels to enchant

New Enchanting UI
Enchanted books unobtainable
Spoiler
The new enchanting GUI makes enchanted books obsolete. Now, you can choose your enchantments without annoying anvil level costs or tedious villager trade halls!
Mending unobtainable
Spoiler
Mending is an extremely overpowered enchantment that removes the need to ever build new tools again once it is unlocked. In this mod, it cannot be obtained from enchanted books or the enchanting table.
In this mod anvil costs are heavily reduced and do not increase with enchantments on gear! This removes the need for mending - don't panic.
You can change this setting via config on a world-by-world basis. Enabling mending will give Ancient Books a chance to spawn with mending, and mending will appear in the enchanting table.
For 1.21.1:
Start a world, press escape, then Mods -> Immersive Enchanting -> Settings -> Enable Mending.
For 1.20.1:
Use /togglemending (requires cheats to be on!)
Ancient books in chiseled bookshelves!
Spoiler
Rather than grinding leather and sugar cane for bookshelves to reach max level enchantments, you are encouraged to explore the world and discover ancient books in loot chests. Add them to your chiseled bookshelves to unlock new enchantments! Plus, they look way cooler.
No XP requirement to enchant
Spoiler
Nothing is worse than standing at a mob grinder waiting to hit level 30 just so you can have the chance of unlocking a good enchantment. XP costs have been removed completely from the enchantment process. Instead, you are encouraged to explore and gather items, as enchantments now have material costs.
For Modpack Developers:
Immersive Enchanting is free to be used in any modpack.
Immersive Enchanting now supports custom recipes! You can configure the item costs for each enchantment in the recipes.json file. For more information and guidance, see the Wiki or join the Discord for help.
For more information/tutorials on how to use the mod, see the Wiki.
Note from the Mod Author:
This is my first ever mod and I would appreciate any feedback! The enchantment costs were designed to encourage exploration and lock higher tier enchantments behind some difficult to obtain items. If you have any recommendations for rebalancing these costs, I am open to suggestions!
Credits:
Thanks to @carl_class on Modrinth for the Enchanted Book sprites! Thanks to everyone in The NeoForge Project Discord for your support.
How to Install Immersive Enchanting (Mod)
Immersive Enchanting by alfino is verified for Forge, Neoforge across Minecraft versions 1.20.1, 1.21.1, 26.1, 26.1.1, 26.1.2 (latest release: 6.0.1, file size: 6.9 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.21.1, 26.1, 26.1.1, 26.1.2) and platform (Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Forge, Neoforge.
- Move the downloaded Immersive Enchanting file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
Technical:
Loot Modifier has new signature
BlockEvent.BreakEvent now BreakBlockEvent
Ported new build.gradle from 1.21.1 branch with mod dev runs
The previously released and removed 6.0.0 version contained game breaking issues, these have been resolved.
XP levels now subtract correctly [#74]
Costs containing air (i.e transmute) did not validate correctly [#76]
Datapacks did not sync properly between client and server, fixed in latest AlfinoLib version 1.2.0 [#81]
Fixed Mixin conflict with MoreJS [#73]
6.0.0 Changelog:
• Requires AlfinoLib 1.2.0
• Added mod filters – press ‘Tab’ when an item is inserted in the enchanting table to show enchantments for specific mods
• Thanks to armandoxtraceroespalda-dev: Items now stay in the enchanting table. The tool is rendered above the enchanting table. Particles now correctly display when filled chiselled bookshelves are nearby.
• Datapack refactored – final revision (see Wiki)
• Added support for data components in cost datapacks.
• Added node API for addon mods
• All enchantments now show up by default in the enchanting table
• All enchantments must now have a valid cost file
• Added clearer error messaging when datapack files are invalid or missing
• Removed ‘Allow Transmute’ and ‘Allow Replicate’ from config – replaced with ‘enable’ and ‘disable’ in their cost files.
• Added config option for enabling/disabling enchanted book villager trades – trade override moved to Mixin instead of event/datapack manipulation.
• Added config option for changing enchanted book loot mode to replace with ancient books or remove.
• Books/Enchanted books now work in the enchanting table.
• Fixed crashes related to invalid datapacks, now displays error messages rather than crashing
• Transmute node now correctly shows as locked if matching enchantment not available
• Fixed hover ordering when there are many nodes that overlap
• Creative bookshelf can now be inserted to see all enchantments
The previously released and removed 6.0.0 version contained game breaking issues, these have been resolved.
XP levels now subtract correctly [#74]
Costs containing air (i.e transmute) did not validate correctly [#76]
Datapacks did not sync properly between client and server, fixed in latest AlfinoLib version 1.2.0 [#81]
Fixed Mixin conflict with MoreJS [#73]
6.0.0 Changelog:
• Requires AlfinoLib 1.2.0
• Added mod filters – press ‘Tab’ when an item is inserted in the enchanting table to show enchantments for specific mods
• Thanks to armandoxtraceroespalda-dev: Items now stay in the enchanting table. The tool is rendered above the enchanting table. Particles now correctly display when filled chiselled bookshelves are nearby.
• Datapack refactored – final revision (see Wiki)
• Added support for data components in cost datapacks.
• Added node API for addon mods
• All enchantments now show up by default in the enchanting table
• All enchantments must now have a valid cost file
• Added clearer error messaging when datapack files are invalid or missing
• Removed ‘Allow Transmute’ and ‘Allow Replicate’ from config – replaced with ‘enable’ and ‘disable’ in their cost files.
• Added config option for enabling/disabling enchanted book villager trades – trade override moved to Mixin instead of event/datapack manipulation.
• Added config option for changing enchanted book loot mode to replace with ancient books or remove.
• Books/Enchanted books now work in the enchanting table.
• Fixed crashes related to invalid datapacks, now displays error messages rather than crashing
• Transmute node now correctly shows as locked if matching enchantment not available
• Fixed hover ordering when there are many nodes that overlap
• Creative bookshelf can now be inserted to see all enchantments
The previously released and removed 6.0.0 version contained game breaking issues, these have been resolved.
XP levels now subtract correctly [#74]
Costs containing air (i.e transmute) did not validate correctly [#76]
Datapacks did not sync properly between client and server, fixed in latest AlfinoLib version 1.2.0 [#81]
Fixed Mixin conflict with MoreJS [#73]
6.0.0 Changelog:
• Requires AlfinoLib 1.2.0
• Added mod filters – press ‘Tab’ when an item is inserted in the enchanting table to show enchantments for specific mods
• Thanks to armandoxtraceroespalda-dev: Items now stay in the enchanting table. The tool is rendered above the enchanting table. Particles now correctly display when filled chiselled bookshelves are nearby.
• Datapack refactored – final revision (see Wiki)
• Added support for data components in cost datapacks.
• Added node API for addon mods
• All enchantments now show up by default in the enchanting table
• All enchantments must now have a valid cost file
• Added clearer error messaging when datapack files are invalid or missing
• Removed ‘Allow Transmute’ and ‘Allow Replicate’ from config – replaced with ‘enable’ and ‘disable’ in their cost files.
• Added config option for enabling/disabling enchanted book villager trades – trade override moved to Mixin instead of event/datapack manipulation.
• Added config option for changing enchanted book loot mode to replace with ancient books or remove.
• Books/Enchanted books now work in the enchanting table.
• Fixed crashes related to invalid datapacks, now displays error messages rather than crashing
• Transmute node now correctly shows as locked if matching enchantment not available
• Fixed hover ordering when there are many nodes that overlap
• Creative bookshelf can now be inserted to see all enchantments
Bookshelves did not correctly extend range when using Bookshelf Search Range config.
Changed min value of Bookshelf Search X/Z to 2 instead of 1.
Bookshelves did not correctly extend range when using Bookshelf Search Range config.
Changed min value of Bookshelf Search X/Z to 2 instead of 1.
Bookshelves did not correctly extend range when using Bookshelf Search Range config.
Changed min value of Bookshelf Search X/Z to 2 instead of 1.
Changelog:
GUI Changes:
· Enchanting GUI can now be zoomed with mouse scroll wheel
· Improved progress bar when removing enchantment
· Added unique node hover sounds, these can be changed in data/immersiveenchanting/sounds/node_sounds.json
· Node tooltips are no longer restricted to the GUI viewport
· Moving the mouse off a locked tooltip will stop it from rendering
· Enchantment icons moved from textures/gui/enchantment_icons to textures/enchantment
· Enchantment icons updated to latest version of Carl’s Recovered
Gameplay Changes:
· Reworked enchantment costs – now require fewer items
· Ancient books will now spawn more commonly in certain structures, for example, fire based enchantments are more likely in nether structures
· Removed old method of obtaining Biblioclasm music disc - now spawns in ancient libraries instead
Modpack Developer Changes:
· The processor “fill_chiseled_bookshelf” for ancient libraries now has more options
· The loot modifier “ancient_book_loot_modifier” now has more options: “random_enchantment_from_enabled”, “random_enchantment_from_list”, “random_enchantment_from_enabled_except”, “min_rolls” and “max_rolls”
· “any_of” removed from enchantment costs – now uses a list object instead
· Enchantments are no longer added from mods automatically – they must have an enchantment cost file to spawn and appear in the GUI (I recommend to use /immersiveenchanting generateEmptyDatapack)
Changelog:
GUI Changes:
· Enchanting GUI can now be zoomed with mouse scroll wheel
· Improved progress bar when removing enchantment
· Added unique node hover sounds, these can be changed in data/immersiveenchanting/sounds/node_sounds.json
· Node tooltips are no longer restricted to the GUI viewport
· Moving the mouse off a locked tooltip will stop it from rendering
· Enchantment icons moved from textures/gui/enchantment_icons to textures/enchantment
· Enchantment icons updated to latest version of Carl’s Recovered
Gameplay Changes:
· Reworked enchantment costs – now require fewer items
· Ancient books will now spawn more commonly in certain structures, for example, fire based enchantments are more likely in nether structures
· Removed old method of obtaining Biblioclasm music disc - now spawns in ancient libraries instead
Modpack Developer Changes:
· The processor “fill_chiseled_bookshelf” for ancient libraries now has more options
· The loot modifier “ancient_book_loot_modifier” now has more options: “random_enchantment_from_enabled”, “random_enchantment_from_list”, “random_enchantment_from_enabled_except”, “min_rolls” and “max_rolls”
· “any_of” removed from enchantment costs – now uses a list object instead
· Enchantments are no longer added from mods automatically – they must have an enchantment cost file to spawn and appear in the GUI (I recommend to use /immersiveenchanting generateEmptyDatapack)
- Replicate did not work in survival
- Invalid IDs in datapack caused crash
- Fixed shift clicking lapis on servers
Changelog:
GUI Changes:
• Enchanting GUI can now be zoomed with mouse scroll wheel
• Improved progress bar when removing enchantment
• Added unique node hover sounds, these can be changed in data/immersiveenchanting/sounds/node_sounds.json
• Node tooltips are no longer restricted to the GUI viewport
• Moving the mouse off a locked tooltip will stop it from rendering
• Enchantment icons moved from textures/gui/enchantment_icons to textures/enchantment
• Enchantment icons updated to latest version of Carl’s Recovered
Gameplay Changes:
• Added Lunge enchantment
• Reworked enchantment costs – now require fewer items
• Ancient books will now spawn more commonly in certain structures, for example, fire based enchantments are more likely in nether structures
• Removed old method of obtaining Biblioclasm music disc - now spawns in ancient libraries instead
Modpack Developer Changes:
• The processor “fill_chiseled_bookshelf” for ancient libraries now has more options
• The loot modifier “ancient_book_loot_modifier” now has more options: “random_enchantment_from_enabled”, “random_enchantment_from_list”, “random_enchantment_from_enabled_except”, “min_rolls” and “max_rolls”
• “any_of” removed from enchantment costs – now uses a list object instead
• Enchantments are no longer added from mods automatically – they must have an enchantment cost file to spawn and appear in the GUI (I recommend to use /immersiveenchanting generateEmptyDatapack)
• Fixed crash if costs using an item tag did not have an XP level defined.
• Fixed crash if replicate/transmute costs used item tags.
• Fixed crash if ancient book without any enchantment is put into enchanting table.
• Added enchantment_fuels.json to immersiveenchanting folder in enchantment_costs – uses the same format as all other costs and allows you to change the enchantment fuel requirement for each level.
• Items in enchantment_fuels.json can be shift clicked into the enchanting fuel slot.
• Enchanting now requires extra lapis per level by default (i.e enchantment level 5 now requires 5 lapis).
• Added fuel cost to the enchanting tooltips.
• Fixed crash if replicate/transmute costs used item tags.
• Fixed crash if ancient book without any enchantment is put into enchanting table.
• Added enchantment_fuels.json to immersiveenchanting folder in enchantment_costs – uses the same format as all other costs and allows you to change the enchantment fuel requirement for each level.
• Items in enchantment_fuels.json can be shift clicked into the enchanting fuel slot.
• Enchanting now requires extra lapis per level by default (i.e enchantment level 5 now requires 5 lapis).
• Added fuel cost to the enchanting tooltips.