Enchantment Fusion

Quick rating

Community listing page, reviews here may not be monitored by the author.

Enchantment Fusion

No reviews yet

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

Mod Loaders
Minecraft

About

Description

# 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.