promotional bannermobile promotional banner

Enchantment Fusion

Anvil combining adds enchantment levels together instead of capping them — Sharpness V + Sharpness V becomes Sharpness X, for every enchantment including modded ones.
# Enchantment Fusion

Anvils **add** enchantment levels together instead of capping them at the vanilla maximum.

> Power V + Power V = **Power X**
> Sharpness V + Sharpness V = **Sharpness X**
> Sharpness X + Sharpness X = **Sharpness XX** … and so on.

This works for **every** enchantment in the game, including ones added by other mods, because the mod
operates on the enchantment registry rather than on a hardcoded list.

## What actually changes

Vanilla's anvil maths: equal levels give you *one* level more, different levels give you the higher one —
and the result is then clamped to the enchantment's maximum. That is why Power V + Power V does
**nothing** in vanilla: 5 + 5 wants to become 6, and gets cut back to 5.

This mod replaces that calculation with addition, in three cases:

| Case | Example | Config toggle |
| --- | --- | --- |
| Book + Book | Power V + Power V → Power X | `combineBooks` |
| Item + Book | Bow (Power X) + Power X book → Power XX | `applyToItems` |
| Item + Item | Power X bow + Power X bow → Power XX | `combineItems` |

On top of that:

- **No more "Too Expensive!"** on fusions. Vanilla blocks the anvil entirely at 40 experience levels, which
  would make unlimited stacking impossible. Costs still rise, but the anvil no longer refuses.
- **No prior work penalty** (by default). Vanilla doubles an item's repair cost on every anvil use, which
  makes it unworkable after a few steps — exactly what would kill this mod after five fusions. Re-enable it
  with `priorWorkPenalty` if you want it.
- **Level display beyond X.** Vanilla only knows the Roman numerals I through X; from level 11 on, the
  tooltip would show the raw translation key (`enchantment.level.11`). This mod supplies levels 11 to 255,
  still as Roman numerals (XI, XII, … CCLV).

Everything else about the anvil is left alone: plain repairs with material, renaming and ordinary book
applications still run through vanilla logic. The mod only steps in when the sum differs from the vanilla
result — and if another mod has already filled the output slot, this one stays out of the way.

## The 255 ceiling

The mod itself sets no limit. Minecraft does, and it is a hard one:

```java
// net.minecraft.world.item.enchantment.ItemEnchantments
private static final Codec<Integer> LEVEL_CODEC = Codec.intRange(1, 255);

if (i < 0 || i > 255) {
    throw new IllegalArgumentException("Enchantment " + entry.getKey() + " has invalid level " + i);
}
```

Above 255 an enchantment level can no longer be stored or sent to clients — the item would crash the game
or be lost on save. **255 is therefore not a balance decision of this mod, it is the ceiling of the item
format.** That is why it stops at 255, and why the config cannot be set any higher.

In practice you will not notice: Power 255 on a bow is already absurdly far beyond anything vanilla
intends.

## Installation

1. Create a profile with **Minecraft 1.21.3** and **NeoForge** (21.3.0 or newer).
2. Drop the jar into the profile's `mods` folder.
3. Launch.

The mod is required on **both client and server**. In multiplayer the server's config is the one that
counts.

## Configuration

`config/enchantfusion-common.toml` is created on first launch:

| Option | Default | Meaning |
| --- | --- | --- |
| `enabled` | `true` | Master switch. `false` = the anvil behaves exactly like vanilla again. |
| `maxLevel` | `255` | Ceiling for fused levels. Cannot go above 255 (see above). |
| `combineBooks` | `true` | Add levels when combining two books. |
| `applyToItems` | `true` | Apply books to gear beyond the vanilla maximum. |
| `combineItems` | `true` | Add levels when combining two pieces of gear. |
| `respectExclusiveEnchantments` | `true` | Sharpness and Smite stay mutually exclusive. `false` allows any combination. |
| `respectItemApplicability` | `true` | Enchantments only on items they fit. `false` allows e.g. Sharpness on a helmet. |
| `xpCostMultiplier` | `1.0` | Scales the experience cost. Vanilla formula = the enchantment's anvil cost × resulting level. `0.0` = free. |
| `maxXpCost` | `0` | Upper limit for the experience cost, `0` = unlimited. |
| `priorWorkPenalty` | `false` | Vanilla's doubling of repair cost per anvil use. |

## Compatibility

The mod hooks NeoForge's `AnvilUpdateEvent`, which fires before vanilla's anvil logic runs. No mixins are
used, which makes it robust across Minecraft updates and friendly towards other anvil mods.

## License

MIT.

---

# Enchantment Fusion (Deutsch)

Verzauberungsstufen werden am Amboss **addiert** statt auf das Vanilla-Maximum begrenzt.

> Stärke V + Stärke V = **Stärke X**
> Schärfe X + Schärfe X = **Schärfe XX** … und so weiter.

Das gilt für **jede** Verzauberung im Spiel, auch für die aus anderen Mods, weil die Mod nicht auf einer
festen Liste arbeitet, sondern auf dem Verzauberungs-Register.

Drei Fälle werden abgedeckt: Buch + Buch (`combineBooks`), Gegenstand + Buch (`applyToItems`) und
Gegenstand + Gegenstand (`combineItems`). Zusätzlich entfällt bei Fusionen die „Zu teuer!"-Sperre bei 40
Leveln, die Vorarbeits-Strafe ist standardmäßig aus, und die Stufen 11 bis 255 werden als römische Zahlen
angezeigt.

**Obergrenze 255:** Minecraft kann Verzauberungsstufen über 255 nicht mehr speichern oder an Clients
senden. Das ist keine Balance-Entscheidung der Mod, sondern die Decke des Item-Formats.

**Installation:** Minecraft 1.21.3 + NeoForge 21.3.0 oder neuer, Jar in den `mods`-Ordner. Client **und**
Server. Im Mehrspieler entscheidet die Config des Servers.

Alle Optionen stehen in `config/enchantfusion-common.toml` — die Tabelle oben im englischen Teil listet sie
vollständig auf.

The Enchantment Fusion Team

profile avatar
Owner
  • 1
    Projects
  • 4
    Downloads