
Modern Runtime Deobfuscation
Rewrites SRG method and field tokens in stack traces of logs & crash reports into readable Mojang names at runtime.
⬇ Download on ModrinthWhen 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.
Source / License
MIT. Source on GitHub.
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.20.1
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as moderndeobf-forge-1.0.5-all.jar — drop this file into the mods folder
- Download size: 102 KB
- Download link checked 22 Aug 2026 — working
These come from our own check of the pack file, not from the source page.