MCPcopy Index your code
hub / github.com/WendellCraft/ModpackDebuggerKit

github.com/WendellCraft/ModpackDebuggerKit @3.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.3.0 ↗ · + Follow
79 symbols 160 edges 5 files 10 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Modpack Debugger Kit

The Modpack Debugger Kit is a Go (Wails v2) application designed to help creators of modpacks easily find mods causing crashes along with various small other helpful features.

GitHub Downloads GitHub License Latest Release

Features

  • Project Management: Save and load project configurations, including mod folder path and dependency rules.
  • Mod Folder Snapshotting: Create a snapshot of your current mod list to easily detect new additions.
  • New Mod Detection: Automatically identify which mods have been added since the last snapshot.
  • Binary Search Debugging: Automate the process of splitting your mod list into testable groups to isolate problematic mods quickly.
    • Mode 1 (All Mods): Debug the entire modpack using a binary search.
    • Mode 2 (Specific New Mods): Focus the search only on recently added mods.
  • Dependency Awareness: Maintain a list of mod dependencies to ensure essential libraries are always included in the test group of their dependent mods.
  • Modrinth Dependency Syncing: Automatically bind mods to their dependencies via the Modrinth API instead of having to do it manually.
  • Hanging Library Detection: Identify library mods that remain in the folder but are no longer required by any main mod (useful for cleanup).
  • Theming: Toggle between dark and light themes.

Prerequisites

  • Go 1.23+ - Download
  • Wails v2.12.0 - Install via go install github.com/wailsapp/wails/v2/cmd/wails@v2.12.0
  • Platform-specific dependencies:
  • Linux: libgtk-3-dev, libwebkit2gtk-4.0-dev
  • macOS: Xcode Command Line Tools
  • Windows: WebView2 Runtime (pre-installed on Windows 11)

If you plan to run from the executable and not the source you should not need any prerequisites.

Installation and Setup

Option 1: Running from Executable

Download the appropriate executable from https://github.com/WendellCraft/ModpackDebuggerKit/releases/latest

Run it!

Option 2: Running from Source

  1. Clone the Repository:

    bash git clone https://github.com/WendellCraft/ModpackDebuggerKit.git cd ModpackDebuggerKit

  2. Build:

    bash wails build

    The binary will be at build/bin/ModpackDebuggerKit.

    Or use the Makefile:

    bash make build

  3. Run in dev mode (with hot-reload):

    bash wails dev

Usage Guide

1. Initial Setup

  1. New or Load Project: Start a New Project or Load Project if you have saved one previously.
  2. Select Mod Folder: Click 📁 Select Mod Folder and choose the actual mods directory of your Minecraft instance (e.g., C:\Users\User\AppData\Roaming\.minecraft\mods).

2. Preparing for Debugging (New Mod Tracker)

If you are tracking new mods:

  1. Create Snapshot: Click 📸 Create Snapshot. This logs all current mods. You only need to do this once, then whenever you add new mods simply press detect new mods and it will update your snapshot accordingly.
  2. Add New Mods to Folder.
  3. Detect New Mods: Click 🔍 Detect New Mods. The application will compare the current mod list with the snapshot and list the new mods. You can then save them and debug them.

3. Managing Dependencies

For accurate binary searching, it is crucial to tell the tool which mods require which libraries:

  1. Click ⚙️ Manage Dependencies.
  2. Add rules (e.g., Mod A requires Library X, Y, Z). When the debugger tests Mod A, it will automatically ensure X, Y, and Z are included in the test group, even if they were originally in the opposite half of the split.

4. Starting the Debug Session

  1. Select Debug Mode:
    • Mode 1 (All Mods): Tests every mod in your folder. Ideal for finding a long-standing conflict.
    • Mode 2 (Specific New Mods): Tests only the mods you selected from the new mod detection step. Ideal for finding the culprit in a new update batch.
  2. Start Debug: Click 🚀 Start Debug.

5. Binary Search Process

  1. The application will move the majority of your mods to a temporary folder (temp_mods created next to the script).
  2. It will move the first test group into your main mods folder.
  3. A dialog will appear: "Testing X mods. Launch Minecraft now and test if it loads."
  4. Launch Minecraft (from your launcher).
  5. Report Result:
    • Click ✅ Game Worked if Minecraft loads successfully (indicating the culprit is in the remaining half).
    • Click ❌ Game Crashed if Minecraft crashes (indicating the culprit is in the current test group).
  6. Repeat the process until a single mod is isolated.

Important: Do not manually close the debug dialog until you have launched and tested Minecraft. If you close the application during an active scan, you may need to manually restore the mods from the temp_mods folder.

6. Cleanup

  1. Once the debug is complete, all mods are automatically restored.
  2. Check the ⚠️ Hanging Libraries button if it is highlighted (yellow/orange). This indicates dependencies that are present but no longer needed. You can delete them from the resulting dialog.

Technical Details

The application uses Wails v2 (Go backend + HTML/JS/CSS frontend) with the following directories:

  • main.go, app.go, debug.go, modrinth.go, types.go (Go backend source)
  • frontend/dist/ (Frontend HTML, JavaScript, and CSS)
  • build/ (Build output)
  • [ProjectName].json (Saved project files, containing settings and dependency rules)

Star History

Star History Chart

Core symbols most depended-on inside this repo

emitLog
called by 59
app.go
getScanCancelled
called by 9
debug.go
updateHangingLibraries
called by 9
app.go
moveFile
called by 4
debug.go
binarySearch
called by 3
debug.go
joinStrings
called by 3
debug.go
getSyncCancelled
called by 3
app.go
restoreAllMods
called by 2
debug.go

Shape

Method 55
Function 13
Struct 11

Languages

Go100%

Modules by API surface

app.go54 symbols
debug.go13 symbols
types.go8 symbols
modrinth.go3 symbols
main.go1 symbols

For agents

$ claude mcp add ModpackDebuggerKit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact