You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Complete Phase 3 mod analysis with decompilation and search
Implements comprehensive third-party mod analysis capabilities including
decompilation, search, and indexing. Completes Phase 3 milestone.
New Features:
- mod-decompile-service: Decompiles mod JARs to readable Java source
- Auto-detection: remap_mod_jar now auto-detects MC version from mod metadata
- Mod search: Full regex and FTS5 search across decompiled mod source
- Database: Added mod_decompile_jobs table with progress tracking
- Test suite: 12 tests validating all mod tools end-to-end
Technical Changes:
- Fixed database initialization to always create tables (handles schema updates)
- Added Yarn mapping validation in tests (verifies class names remapped)
- Extended cache manager with mod-specific operations
- Added WSL/Windows path support throughout mod tools
- Updated documentation to reflect Phase 3 completion
Tools Added:
- decompile_mod_jar: Decompile mod JARs with auto-detected metadata
- search_mod_code: Regex search in decompiled mod source
- index_mod: Create FTS5 index for fast searching
- search_mod_indexed: Fast full-text search on indexed mods
- remap_mod_jar: Enhanced with optional auto-detected MC version
All 12 integration tests pass including validation that remapping
correctly converts Minecraft class references from intermediary to Yarn.
@@ -8,8 +8,8 @@ This is a **Model Context Protocol (MCP) server** that provides AI assistants wi
8
8
9
9
## Release Status
10
10
11
-
- Phase 1 & 2 complete (core services, remap/decompile/search/compare) as of 2025-12-06; 29 integration tests pass end-to-end.
12
-
- Phase 3 focus: third-party mod analysis; missing piece is decompiling remapped mod JARs (see TODO below).
11
+
-**Phase 1 & 2 complete** (core services, remap/decompile/search/compare) as of 2025-12-06; 29 integration tests pass end-to-end.
12
+
-**Phase 3 complete** (third-party mod analysis) as of 2025-12-15; includes full mod decompilation, search, and indexing capabilities with WSL support.
13
13
14
14
## Architecture
15
15
@@ -309,6 +309,10 @@ The code should work automatically, but be aware:
309
309
310
310
### Phase 3 Tools (Mod Analysis)
311
311
16.**`analyze_mod_jar`** - Analyze third-party mod JAR files
312
+
17.**`decompile_mod_jar`** - Decompile mod JARs to readable Java source
313
+
18.**`search_mod_code`** - Search decompiled mod source code
314
+
19.**`index_mod`** - Create full-text search index for mod source
315
+
20.**`search_mod_indexed`** - Fast FTS5 search on indexed mod source
312
316
313
317
#### `analyze_mod_jar` Tool
314
318
@@ -357,32 +361,106 @@ Analyzes third-party mod JARs without requiring Java. Performs:
357
361
-`ModClass`: Class metadata including mixin detection
358
362
-`ModMixinConfig`: Parsed mixin configuration
359
363
360
-
##Missing Functionality / Future Enhancements
364
+
### `mod-decompile-service.ts`
361
365
362
-
### Mod JAR Decompilation (TODO)
366
+
Decompiles mod JARs to readable Java source code. Supports both original (intermediary) and remapped JARs.
363
367
364
-
**Current State**: The `remap_mod_jar` tool successfully remaps Fabric mod JARs from intermediary to human-readable mappings (yarn/mojmap), converting all Minecraft class references inside the JAR to use named mappings.
368
+
**Key features**:
369
+
1.**Auto-detection**: Automatically detects mod ID and version from JAR metadata
370
+
2.**Caching**: Decompiled sources cached in `AppData/decompiled-mods/{modId}/{modVersion}/{mapping}/`
371
+
3.**Progress tracking**: Database-backed job tracking with progress updates
372
+
4.**VineFlower integration**: Reuses same decompiler as Minecraft decompilation
373
+
5.**WSL compatibility**: Full support for WSL and Windows path formats
365
374
366
-
**Missing**: There is no tool to **decompile the remapped JAR** to readable source code.
375
+
**Workflow**:
376
+
1.`remap_mod_jar` - Remap mod JAR from intermediary → yarn/mojmap (optional, can skip if JAR already remapped)
377
+
2.`decompile_mod_jar` - Decompile JAR to readable Java source
378
+
3.`search_mod_code` OR `index_mod` + `search_mod_indexed` - Search through decompiled source
0 commit comments