promotional bannermobile promotional banner

ModRegFixer

A simple client-side mod for minecraft resolving issues where gameplay mods don't allow a player to connect to a vanilla server.

ModRegFixer

Join vanilla, Paper, Folia and Velocity servers with your content mods still installed. No need to swap to a second instance or swap jars.

ModRegFixer is a small client-side Fabric mod for Minecraft 26.1 – 26.3. It stops the crash you get when you join a server that doesn't have one of your content mods (Biomes O' Plenty, for example):

java.lang.IllegalStateException: Missing element ResourceKey[minecraft:trim_material / biomesoplenty:glowworm_silk]

Install it, keep your normal modpack, and join any server.


✨ What it does

Where you play What happens
🏠 Singleplayer Nothing changes. Every mod, item, trim material and worldgen feature works normally.
🧩 Modded server that has your mods Nothing changes. The server provides the content, so nothing gets filtered.
🌐 Vanilla / Paper / Folia / Velocity You can connect. Item data that points at content the server doesn't have (like "glowworm silk is a trim material") is skipped for that connection only. Everything else keeps working.

This is not "disable all mods in multiplayer"

Sodium, Iris, AppleSkin, Xaero's, JEI, Litematica, ModernFix and the rest are never touched. ModRegFixer works on individual registry entries and treats the server's own registry data as the source of truth. It only removes what would crash you.


πŸ“¦ Installation

  1. Install Fabric Loader 0.19.5+ and Fabric API.
  2. Download the file that matches your Minecraft version:
    • modregfixer-<version>+26.3.jar β†’ 26.3
    • modregfixer-<version>+26.2.jar β†’ 26.2
    • modregfixer-<version>+26.1.jar β†’ 26.1, 26.1.1, 26.1.2
  3. Put it in your mods folder. That's all.

βœ… Client only. Servers don't need to install anything.


πŸ”§ How it works (short version)

When you join a remote server, Minecraft 26.x re-checks every item's default components against the server's registries. If a modded item says "I am the trim material biomesoplenty:glowworm_silk" and the server has never heard of it, vanilla crashes.

ModRegFixer checks each server-dependent component of each item on its own. When a component points at something the server doesn't have, that component is left out and the item keeps everything else.

  • Nothing is faked
  • No registries are modified
  • Singleplayer rebuilds everything fresh every time you load a world

Example: with Biomes O' Plenty on a vanilla server, ModRegFixer filters exactly 3 components:

biomesoplenty:glowworm_silk       -> provides_trim_material
biomesoplenty:rose_quartz_chunk   -> provides_trim_material
biomesoplenty:music_disc_wanderer -> jukebox_playable

πŸ’¬ Commands (client-side)

Command Description
/modregfixer Shows the current connection: server, brand, and what was filtered from which mod
/modregfixer report Writes a full report to logs/latest.log
/modregfixer debug on / off Turns verbose logging on every join on or off (saved to config)

βš™οΈ Configuration

File: config/modregfixer.properties

enabled=true                       # false = the mod does nothing at all
debug=false                        # log every filtered component + full server report on join
hideUnsupportedCreativeItems=true  # on non-Fabric servers, hide creative items the server can't know

You can also force any option with a JVM argument, for example -Dmodregfixer.debug=true.


⚠️ Limitations

  • Modded items don't become usable on vanilla servers. The server doesn't have them. ModRegFixer gets you connected and keeps your client mods working. It doesn't invent content.
  • Only standard registration paths are filtered. That covers Item.Properties delayed components (trim materials, jukebox songs, fire resistance, pot patterns, tools and similar) and Fabric API's DefaultItemComponentEvents. If a mod registers things another way and that fails, ModRegFixer logs a precise report (item, mod, missing entry) and the connection fails the same way it would without the mod. Nothing gets corrupted. Please open an issue with the log.
  • It only fixes the configuration-phase component crash. Mods that send custom packets the server rejects, or that need a server-side counterpart for gameplay, still need that server support.
  • Not for 1.21.x or older. This crash can't happen there; the system involved was added in 26.1.

πŸ—‘οΈ Uninstalling

Delete mods/modregfixer-*.jar and, if you want, config/modregfixer.properties. The mod writes nothing else to disk.


πŸ› Bugs & Source

Found a mod that still crashes? Please open an issue and attach your latest.log (run /modregfixer report first if you can connect).

Source code & issues: GitHub

Licensed under MIT.

ModRegFixer Team

profile avatar
  • 2
    Projects
  • 825
    Downloads

Getting into programming and dev stuff.

More from cmdralph