StackDeobfuscator
Remaps logged stacktraces to readable mappings
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
StackDeobfuscator
Stack Deobfuscator
> WARNING
> This mod is obsolete for all Minecraft versions newer than 1.21.11. It will still be maintained for older versions.
Discord: https://discord.gg/XSB7jn9
Web Version: https://stackdeobf.net/
See wiki for configuration
What does this mod do?
All errors displayed in the console and all crash reports will be remapped from unreadable production names (e.g. `net.minecraft.class_310`) to readable mapped names (e.g. `net.minecraft.client.MinecraftClient`).
This allows mod developers to more easily identify issues in a non-development environment, as the errors are instantly human-readable.
Comparison
Before
``` [23:13:08] [Render thread/ERROR]: Reported exception thrown! net.minecraft.class_148: Manually triggered debug crash at net.minecraft.class_309.method_1474(class_309.java:509) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1574(class_310.java:1955) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1523(class_310.java:1180) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1514(class_310.java:801) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:237) ~[minecraft-1.19.4-client.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.18.jar:?] at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?] Caused by: java.lang.Throwable: Manually triggered debug crash at net.minecraft.class_309.method_1474(class_309.java:506) ~[client-intermediary.jar:?] ... 10 more ```
After (yarn/quilt mappings)
``` [23:11:25] [Render thread/ERROR]: Reported exception thrown! net.minecraft.util.crash.CrashException: Manually triggered debug crash at net.minecraft.client.Keyboard.pollDebugCrash(Keyboard.java:509) ~[client-intermediary.jar:?] at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1955) ~[client-intermediary.jar:?] at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1180) ~[client-intermediary.jar:?] at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:801) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:237) ~[minecraft-1.19.4-client.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.18.jar:?] at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?] Caused by: java.lang.Throwable: Manually triggered debug crash at net.minecraft.client.Keyboard.pollDebugCrash(Keyboard.java:506) ~[client-intermediary.jar:?] ... 10 more ```
After (mojang mappings)
``` [23:04:12] [Render thread/ERROR]: Reported exception thrown! net.minecraft.ReportedException: Manually triggered debug crash at net.minecraft.client.KeyboardHandler.tick(KeyboardHandler.java:509) ~[client-intermediary.jar:?] at net.minecraft.client.Minecraft.tick(Minecraft.java:1955) ~[client-intermediary.jar:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1180) ~[client-intermediary.jar:?] at net.minecraft.client.Minecraft.run(Minecraft.java:801) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:237) ~[minecraft-1.19.4-client.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.18.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.18.jar:?] at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?] at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?] Caused by: java.lang.Throwable: Manually triggered debug crash at net.minecraft.client.KeyboardHandler.tick(KeyboardHandler.java:506) ~[client-intermediary.jar:?] ... 10 more ```
Mappings Overview
Mappings are downloaded and parsed asynchronously. They are downloaded only once per version. Yarn and Quilt refresh their version every 48 hours to check for updates.
| Mappings | Compatible Minecraft Versions | Download Size (zipped¹)² | Cached Size (gzipped)² | |----------|---------------------------------------------|----------------------------------------|-------------------------------------| | Yarn | 18w49a (1.14 snapshot) or higher | `1.4 MiB` | `1.4 MiB` | | Quilt | 1.18.2 or higher | `1.4 MiB` (+`1.1 MiB` below 1.19.2) | `1.4 MiB` (+`1.1 MiB` below 1.19.2) | | Mojang | 1.14.4 and 19w36a (1.15 snapshot) or higher | `9.0 MiB` (uncompressed) + `559.1 KiB` | `1.3 MiB` + `558.6 KiB` |
¹: Mojang mappings are not compressed
²: Sizes as of 12th May 2024 (1.20.6 is latest)