Download Enchantment Control — Minecraft Mods — ModStock

Enchantment Control

Active

Downloads

0

Last update

5 years ago
Client
Fabric
Quilt
Forge
Neoforge
Utils

Overview

 

This mod is for restricting access to specific enchants from appearing in most places, especially an issue with modded enchants.  A common fix in the past was to outright prevent enchants from registering if they were disabled.  But this could cause desync between client and server if the owner disabled some enchants and post 1.12, configurable registration isn't as easy.  Lets do something about that

 

Summary of obtaining enchants

 

Enchants can show up in several ways:

 

Enchanting table: mods can control this

Enchanting a book at the table: mods can control this

Via a loot table such as fishing or treasure chests: normal items are fine as they use the enchantment to determine application, BUT mods can't prevent enchanted books from having disabled enchants as the game will always apply it regardless.

A possible workaround here is to make a datapack that removes all enchanted books from all loot tables, but that may be impractical for larger packs and it would mean that enchanted books are no longer an option as a reward. Also bad for mod compat because only one mod can override a loot table at a time.

 

Villager trades: Trades cannot be controlled at all outside of the game, even by mods.  The game determines a possible book trade by picking an enchant out of the registry at random, including modded enchants which circumvents the whole point of disabling them.

 

So, what do we do?

 

 That's where this mod comes to the rescue.  This mod doesn't change whether enchants can be applied to an item or not, but rather the last 2 cases of loot tables and villager trades

 

First, there is a loot table blacklist.  Any enchants added to that list will not show up in loot tables via items or enchanted books.

 

Second, anything in the villager trades blacklist will no longer be obtainable by trading.

 

Enchants are specified by their registry name, for example `minecraft:fortune`

 

This mod requires mixin bootstrap until forge ships mixin https://github.com/LXGaming/MixinBootstrap/releases/download/v1.0.1/MixinBootstrap-1.0.1.jar

 

Need a custom mod for a reasonable fee? Just want to chat? Have a complex issue needing additional discussion? Come join the Discord:

 

Project members
tfarecnim

tfarecnim