Modern Enchantments Limiter
✨ Not every sword needs every enchantment. Modern Enchantments Limiter caps how many enchantments a single item can carry, so gear stays interesting instead of turning into a wall of purple text. Each item gets its own limit, built from a base value, its rarity and optional random rolls — and with Apotheosis installed, the limit can depend on the item's affix rarity and gets re-rolled when you reforge it.
🔎 Overview
| Parameter |
Specification |
| 🎮 Minecraft |
1.21.1 |
| ⚙️ Modloader |
NeoForge |
| 🖥️ Side |
Client & Server (required on both) |
| 🤝 Works with |
Apotheosis (optional) and any mod that adds enchantments or its own enchanting UI |
⚔️ How the Limit Is Built
Every limited item gets a limit put together from a few layers, all configurable:
- Base limit — the starting number of enchantments any item may have (default: 3).
- Tag & rarity overrides — replace the base limit for specific item tags (e.g.
#c:tools/pickaxes) or Apotheosis affix rarities, either as a fixed value or as a range like 3-5.
- Rarity bonus — Uncommon, Rare and Epic items can get extra slots on top. This uses the item's own rarity, not the boost vanilla gives to any item once it's enchanted.
- Random variance — an optional small bonus on top, rolled per item.
- Min / max clamp — the final value always stays inside a floor and ceiling you choose.
🎲 Rolled Once, Then Fixed
Ranges and variance are rolled from the item itself: its type, the matching rule and — for Apotheosis items — its rarity and affixes.
- The limit never changes while you enchant the item. The number in the tooltip is exactly the number the game enforces.
- It stays the same after restarts and is identical on client and server.
- Reforging an Apotheosis item at the Reforging Table gives it new affixes and therefore a new roll — the three reforge previews already show their limit before you pick one.
🛡️ Where It's Enforced
- Anvil — if a merge would push an item over its limit, the result is blocked and you get a message instead of silently losing a book.
- Enchanting table — the enchantments you get are cut down to what still fits.
- Enchanted books — books have a limit too (can be turned off).
- Everything else — as a catch-all, the limit is checked whenever enchantments are written onto an item, so commands, loot and other mods' enchanting systems can't go past it either.
- When something has to be cut, enchantments the item already has are kept first.
🏷️ Tooltip
A line like Enchantments: 2/4 appears right under an item's enchantments, so you always know how many slots are left. Items covered by an override rule (for example a freshly reforged Apotheosis item) show it even before they're enchanted. The color is configurable.
🌐 Multiplayer & Servers
All gameplay values live in the server config and are synced to every player when they join, so everyone sees the same limits the server enforces. The tooltip color is a separate client setting.
📌 Good to Know
- Apothic Enchanting's table uses its own enchantment selection, so it may show more enchantments than the limit allows. The extra ones are removed when the item is enchanted.
- Items already over their limit (for example after you lowered the config) keep their enchantments, but the anvil won't accept them — not even for repairing or renaming — until they fit again.
- Range rules on plain item tags (without Apotheosis data) give one fixed value per item type, since there's nothing on the item to roll from.
- Updating from 0.0.2: the rarity bonus now uses the item's own rarity. Before, every enchanted item quietly counted as one rarity higher, so some limits are 1 lower now. Raise your base limit or ranges by 1 if you want the old feel back.
⚙️ Configuration
Gameplay settings are in config/modern_enchantments_limiter-server.toml (also editable in-game via Mods → Modern Enchantments Limiter → Config):
baseLimit = 3
useRarityBonus = true
rarityBonusUncommon = 0
rarityBonusRare = 1
rarityBonusEpic = 2
randomVariance = 0
tagOverrides = [
"#c:tools/pickaxes;5",
"apotheosis:rarity=apotheosis:rare;3-4",
"apotheosis:rarity=apotheosis:epic;3-5"
]
- Rules in
tagOverrides are checked from top to bottom; the first match wins.
- You can also give a single item its own fixed limit with a data component:
/give @p minecraft:diamond_sword[modern_enchantments_limiter:enchantment_limit=5]
- Changes are picked up automatically. If not, run
/modernenchantmentslimiter reload.
debugLogging = true writes a line to the log every time enchantments are written onto a limited item — handy for testing your rules, but very chatty, so turn it off again afterwards.
- The tooltip color is in
config/modern_enchantments_limiter-client.toml.
🙏 Credits
- Apotheosis integration built for Apotheosis by Shadows_of_Fire — this mod is not affiliated with Apotheosis.
- Source code on GitHub under the MIT license. Bug reports and suggestions are welcome in the issue tracker or in the comments.