StackDeobfuscator

Remaps logged stacktraces to readable mappings

4,9M

StackDeobfuscator

Stack Deobfuscator

> WARNING<br/> > 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<br> 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<br> ²: Sizes as of 12th May 2024 (1.20.6 is latest)

ADS