Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
When Forge 1.20.1 crashes, the log shows method names like m_109093_ instead of render. This mod rewrites those tokens on the fly. The substitution happens in the in-game console, latest.log, and crash-report .txt files, so you can actually read what blew up.
What it looks like
Before:
java.lang.NullPointerException
at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:869)
at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1184)
After:
java.lang.NullPointerException
at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:869)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1184)
Features
- Live deobfuscation for debugging purposes.
- Works on both client and dedicated server.
- Uses Mojang's official 1.20.1 mappings.
- Mappings download once on first launch, then cache locally (~5 MB on disk).
- Covers stack traces, crash reports, and Java's helpful-NPE messages.
- Zero config required. Just drop the jar in
mods/.
Installation
- Download the jar and put it in your
mods/folder. - Launch the game. On first run the mod downloads Mojang's mappings (a few seconds). After that it reads from cache.
Compatibility
- Minecraft: 1.20.1
- Loader: Forge 47+
- Side: client + server (works on either, useful on both)
Optional configuration
config/moderndeobf-common.toml is auto-created on first launch with these toggles:
enabled: master switchremapCrashReports: also rewrite.txtcrash dumpsdownloadMappingsIfMissing: set tofalsefor air-gapped use (prepopulate the cache yourself)
Known limits
- Very early crashes. A handful of Mixin warnings that fire before the mod's constructor runs will keep raw SRG tokens. Same limit StackDeobfuscator has on Fabric.
- Custom log lines. Mods that hand-format SRG names into their own
LOGGER.info()calls aren't caught. Only stack traces and Java's NPE messages are. - Parameter names. Mojang's mappings don't include them; this mod doesn't make them up.
About the mappings
The jar contains no Mojang mapping data. On first launch the mod downloads them directly from Mojang's CDN (the URL listed in version_manifest_v2.json) and composes a local lookup table under <gameDir>/moderndeobf/cache/.
Credits
- StackDeobfuscator by booky10. Fabric equivalent and design template for this one.
- Not Enough Crashes and Crashy. The post-hoc tooling this mod complements.
- SrgUtils. The mapping load / reverse / chain primitives.
Disclaimer
This mod was written for personal use. Claude was used extensively throughout development. No AI-generated assets are otherwise present.
Releases on GitHub also include virustotal scan results with verifiable hashes.
Source / License
MIT. Source on GitHub.


