Skip to content

KostromDan/Crash-Assistant

Repository files navigation

Crash Assistant
Supported Versions CF Modrinth

Shows a GUI after Minecraft crashes, immediately displaying all affected game/launcher logs, crash reports, or hs_err files. Provides a one-click solution to upload them, copy the link, and perform other actions for easier reporting, debugging, and troubleshooting. Analyzes logs for many known crash reasons. Provides many useful analysis tools. Warns if Minecraft is running on an integrated GPU when a dedicated one is available. Includes auto-fixes for many common issues.

image

How to build / test:

For localization go crash_assistant_localization

Testing Crash Assistant GUI:

Run gradle application/runCrashAssistantApp task. After compilation, GUI will be launched.

Compiling and testing mod for specific Minecraft version(s):

  1. Compile main branch app-common-config. It will generate a shared code for all other branches.
  2. Checkout to Minecraft version branch (e.g. 1.20.6-1.21.4).
  3. Compile mod via gradle build task. It will generate mod jars in build\libs folder.

⚠️ Note: If there is no code for a specific modloader in a given branch, but a mod for that modloader exists for that Minecraft version, it means the JAR for that version is generated by a previous branch. This is intentional, as there is no need to produce an additional JAR if an older one works perfectly. Example: 1.21.9–1.21.11 lacks Forge and Fabric subprojects. This means the 1.21.5–1.21.8 branch generates Forge and Fabric JARs compatible with 1.21.5–1.21.11.

Don't try to use loom runClient() functions in Minecraft version branches, as they are broken from the moment of mod creation, due to complicated structure of mod. They may work on some legacy versions but if they don't, this is not a bug, this is expected. To debug, copy mod jar from build\libs folder to your game.

Project structure:

Main branch (app-common-config)

Has shared code for all mc versions. Generates in app_common-config_libs folder jars which used and included to mod jar by other Minecraft version branches.

\app has code of gui app

\common_config has shared code for app, fabric, forge_coremod, neoforge_coremod used for runtime config, lang, launching gui app.

  • app is inluded in jar in jar

jar_generation generates actual jars for other branches. Has many sub-projects, this is needed because to different versions of Minecraft we need to ship slightly different libs.

Minecraft version branches (e.g 1.20.6-1.21.4)

Have minimal Minecraft version specific code, e.g. entrypoint, commands, events, mixins.

\fabric has code of fabric mod

\forge has code of forge mod

\neoforge has code of neoforge mod

\common has code for fabric, neoforge, forge mods shared code.

\forge_coremod has code of forge coremod from which forge mod and app launched.

\neoforge_coremod has code of forge coremod from which neoforge mod and app launched.

Partners

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

YourKit

About

GUI after Minecraft crashed

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors