Back to mods
Doltastic Enchantments project artwork

CurseForge · Minecraft mod

Doltastic Enchantments

An addon to Alfie's wonderful "Immersive Enchanting" mod, designed to fit my own vision

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Doltastic Enchantments release should I use?

Updated 6 days ago
Latest stable file doltastic_enchantments-2.0.0.jar
Game version 1.21.1
Loader NeoForge

Doltastic Enchantments doltastic_enchantments-2.0.0.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 3 required mods have matching files.

Where it goes

Is Doltastic Enchantments required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Doltastic Enchantments doltastic_enchantments-2.0.0.jar need?

doltastic_enchantments-2.0.0.jar. Change the file and its required mods may change too.

All 3 required mods have matching files

Install Blueprint, Immersive Enchanting, AlfinoLib first. We found matching files for this game-version and loader setup. 4 come through another mod in the chain.

3 listed on this file 4 pulled in by those mods
Blueprint Needed by Doltastic Enchantments doltastic_enchantments-2.0.0.jar
required
Matching file found Matched file: Blueprint 1.21.1 - 8.2.0
Immersive Enchanting Needed by Doltastic Enchantments doltastic_enchantments-2.0.0.jar
required
Matching file found Matched file: immersiveenchanting-6.0.1-neoforge-1.21.1.jar
Reliable Remover Optional for Doltastic Enchantments doltastic_enchantments-2.0.0.jar
optional
Matching file found Matched file: Reliable Remover Neoforge 1.21.1 - 3.2.0
AlfinoLib Needed by Immersive Enchanting
pulled in
Matching file found Matched file: alfinolib-1.2.0-neoforge-1.21.1.jar
EMI Needed by Reliable Remover
pulled in
Matching file found Matched file: emi-1.1.24+1.21.1+neoforge
YetAnotherConfigLib Needed by Reliable Remover
pulled in
Matching file found Matched file: 3.8.2 for neoforge 1.21.1
Reliable Recipes Needed by Reliable Remover
pulled in
Matching file found Matched file: Reliable Recipes Neoforge 1.21.1 - 3.2.0

4 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Doltastic Enchantments without breaking your instance.

Built for Doltastic Enchantments doltastic_enchantments-2.0.0.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use doltastic_enchantments-2.0.0.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Blueprint, Immersive Enchanting, AlfinoLib first. We found matching files for this game-version and loader setup. 4 come through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside doltastic_enchantments-2.0.0.jar. It opens that exact file at the source.

About this project

What does Doltastic Enchantments add?

Requires Immersive Enchanting 4.0.3 and Blueprint. You MUST download 4.0.3, newer versions will not work. Fairy Dust texture is taken from the Vitalis item in Indexed Enchanting under its MIT license. This is a placeholder texture that I will replace ASAP.

More Consistent Enchantments

A quick primer on Immersive Enchanting's systems: if you want to apply an enchantment to a tool, you must find an Ancient Book with that enchantment on it by exploring, place it in a chiseled bookshelf next to your enchanting table, and that's it. You can read more here.

This is an awesome system; I have some minor complaints with it that could not be remedied with datapacks, so I decided to make this addon.

First of all, acquiring enchanted book in Immersive Enchanting is very RNG based. It is a large portion of what this mod aims to fix. As such, I added a more sophisticated system for distributing enchantments across loot chests.

  • A common enchantment is one that can be applied to basic tools and armor (pickaxes, swords, shovels, hoes, helmets, chestplates, leggings, boots, knives (Farmer's Delight), bows, crossbows). This excludes treasure enchantments like Soul Speed. Most dungeon chests (monster rooms, underwater ruins, desert temples) can contain books with common enchantments.
  • In addition to this, some dungeons have more specific enchantments; underwater ruins spawn enchantments for fishing rods and tridents, for example.
  • Treasure enchantments are found in their proper places; swift sneak is in ancient cities and soul speed in bastions.
  • Modded tools sometimes have a special set of enchantments that are not shared by other tools. These tools are usually associated with structures (think maces and trial chambers). Books for these specialized enchantments are found in those structures and nowhere else, so they cannot clutter up the enchantment pool.
Jaden Nether Expansion's Pump-Charge Shotgun item enchanted with Recoil I

I am still unsatisfied with this; exploring in minecraft is inherently RNG-heavy, so I did some other stuff. First of all, I've associated every enchantment with some random item; this is its "reagent". If you want to make create a book for a specific enchantment, you can use the following crafting recipe:

Recipe for a depth strider book costing 7 diamonds, 1 book, and a tropical fish. The tropical fish is the reagent of depth strider

The resultant ancient book has Depth Strider on it, since tropical Fish is the reagent of Depth Strider. Reagents are fully data-driven, as I'll mention later. You can also acquire arbitrary ancient books using an enchanting table in a process called conjuring.

Conjuring tooltip hint

Put a book into the center of the enchanting table and any enchantable item into the reagent slot. You will be prompted with all the enchantments which can be applied to your enchantable item, which you can put on your BOOK for 20 levels.

You can do 20 levels

This costs the book, the reagent, and 20 levels. The netherite pickaxe in the image it not consumed.

Ancient Books found from dungeons have a chance to contain more than one enchantments; this is only way a book can have more than one enchantments on it.

A monster box chest containing an ancient book on it with two enchantments on it

Also, you can set an enchantment to be available automatically in the enchanting table without requiring a book. In the provided datapack this is done for essential enchantments like Silk Touch, Efficiency, as well as enchantments I can't think of a reagent for, like Power and Lure and Impaling.

Standardized Enchantment Costs

In Immersive Enchanting, to apply a level enchantment you need an extra item as a cost in addition to lapis. There is a large amount of variation for the item that is needed. To fully max out an item on Efficiency, you need:

  • 1 cake
  • 8 redstone blocks
  • 16 glistering melons
  • 1 rabbit's foot
  • 8 Dragon's Breath

To enchant a bow with Infinity, you need a nether star.

The enchantment cost of infinity in immersive enchanting is a nether star

Doltastic Enchantments standardizes this cost into Fairy Dust. Fairy Dust is an item crafted with diamonds plus a few semiprecious materials. To enchant an item to some particular level, you need level lapis items and level - 1 fairy dust items. For example, to enchant a bow to Power 3 you need 3 lapis and 2 fairy dust.

Here is a video that summarizes everything I've said.

Embed Removed: https://www.youtube-nocookie.com/embed/aXoBq7fJoBI

Customization

Enchantment Data

Every feature in this mod is data-driven. To set reagents you need to put json files inside the your_mod_id:reagents/ folder, as shown here.

Here is another example:

{
    // Format is "enchantment": "reagent"
    // Reagent can be single item, a tags, or a list of items. 
    // Don't put tags inside the lists; that is not supported. 
    "allurement:alleviating": "heart_crystals:heart_crystal_shard",
    "allurement:launch": "#minecraft:saplings",
    "allurement:obedience": [
      "species:broken_links",
      "minecraft:ghast_tear",
      "dungeonsdelight:rotbulb"
    ]
}

To mark an enchantment as Treasure place it in the #doltastic_enchantments:treasure enchantment tag. This will remove it from pools which are sampled to generate loot tables, and the game won't freak out when it doesn't have a reagent.

To declare that an enchantment should be available on the table without an ancient book, go to that enchantment's Immersive Enchanting enchantment cost json and add "requireBook": false, as shown here.

In base Immersive Enchanting, if an enchantment cost json is defined without a levels field, the game will crash. With this mod installed the enchantment cost will default to the level - 1 formula of Fairy Dust items (or a flat two items if the enchantment has only one level). It can alternatively take in a fairyDustAmounts field which accepts a list for integers.

{
    "fairyDustAmounts": [19, 23, 29, 31, 37]
}

Will serialize to an enchantment cost taking in 19 fairy dusts for level 1, 23 dusts for level 2, et cetera.

Finally, Any enchantment with no cost json defined will default to the level - 1 formula.

I've also added Reliable Remover integration; Reliably Removed enchantments will no longer show up in any pools.

Loot Adding

Ancient Books are added to loot through a Forge Global Loot Modifier. Below is an example.

{
  "type": "doltastic_enchantments:ancient_book",
  "conditions": [],
  "injections": [
    {
      "items": [
        "minecraft:crossbow"
      ], 
      "tables": [
        "minecraft:chests/bastion_bridge",
        "minecraft:chests/bastion_other",
      ],
      "weightedBookCount": 0.09
    },
    {
      "commonEnchants": true, 
      "tables": [
        "minecraft:chests/simple_dungeon",
        "atmospheric:chests/arid_garden"
      ],
      "weightedBookCount": 0.8
    }
  ]
}

The injections field accepts a list containing BookInstance objects whose purpose is to determine which enchantments should be added to which Loot Tables. The tables field handles the latter part. There are three fields which serves to create a list of enchantments which will be sampled for books to be added:

enchantments: the easy one. Draws from any enchantments specified in the list.

commonEnchants: takes in true/false, set this to true to draw from the pool of "common enchantments" as defined before; that is, nontreasure enchantments that can be applied to standard tools and armor, etc.

items: takes in a list of items names. Draws from the list of enchantments that can be applied to any item in the list, excluding treasure enchantments.

weightedBookCount controls the amount of books that will be on average injected into the chest.

enchantCount (not pictured) takes in a UniformInt object, which will be sampled to determine the amount of enchantments that will be added on the book. for example:

"enchantCount": {
    "min_inclusive": 2,
    "max_inclusive": 5
}

Will put between 2 and 5 enchantments on the generated book. It is fine for min_inclusive and max_inclusive to be the same number.

Putting this all together, if you want each desert temple chest to have a 1 in 2 chance to contain a book with any two trident enchantment on it, you can do:

{
  "type": "doltastic_enchantments:ancient_book",
  "conditions": [],
  "injections": [
    {
      "items": [
        "minecraft:trident"
      ], 
      "tables": [
        "minecraft:chests/desert_pyramid"
      ],
      "weightedBookCount": 0.09,
      "enchantCount": {
        "min_inclusive": 2,
        "max_inclusive": 2
      }
    }
  ] 
}

Do not drop the conditions field or the game will crash.

Project description from CurseForge.

Pick your setup

Doltastic Enchantments by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

3 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Doltastic Enchantments versions and loaders

4 of 4 releases match

Looking for an older file? The official CurseForge project page is in Resources.