--- title: Mod Loaders description: Fabric and Forge installation and management --- # Mod Loaders DropOut supports the two most popular Minecraft mod loaders: Fabric and Forge. Both can be easily installed and managed directly from the launcher. ## Fabric Support ### Overview Fabric is a lightweight, modular modding toolchain focused on: - Fast updates to new Minecraft versions - Clean, minimal API - Strong developer community - Excellent performance ### Installation 1. Navigate to **Versions** tab 2. Click **"Install Fabric"** 3. Select Minecraft version 4. Choose Fabric loader version 5. Click **"Install"** 6. Wait for installation to complete ### How It Works **Meta API Integration:** ```rust // Fetch available Fabric versions let url = format!( "https://meta.fabricmc.net/v2/versions/loader/{}", minecraft_version ); ``` **Profile Generation:** 1. Fetch Fabric loader metadata 2. Download Fabric libraries 3. Generate version JSON with `inheritsFrom` 4. Merge with parent Minecraft version 5. Add to versions list **Version Format:** ```json { "id": "fabric-loader-0.15.0-1.20.4", "inheritsFrom": "1.20.4", "mainClass": "net.fabricmc.loader.impl.launch.knot.KnotClient", "libraries": [...] } ``` ### Fabric Versions **Loader Versions:** - Latest stable (recommended) - Specific versions for compatibility - Beta/snapshot versions **Game Versions:** - All Minecraft versions from 1.14+ - Snapshots supported - Combat Test versions ### Library Management Fabric libraries are resolved from Maven: **Main Library:** ``` net.fabricmc:fabric-loader:0.15.0 ``` **Dependencies:** - `net.fabricmc:tiny-mappings-parser` - `net.fabricmc:sponge-mixin` - `net.fabricmc:access-widener` **Download:** ```rust // Maven resolution let url = format!( "https://maven.fabricmc.net/{}/{}", artifact_path, filename ); ``` ### Fabric API Fabric Loader ≠ Fabric API: - **Fabric Loader**: Mod loader (installed by DropOut) - **Fabric API**: Library mod (download separately) Many mods require Fabric API: 1. Download from [Modrinth](https://modrinth.com/mod/fabric-api) or [CurseForge](https://www.curseforge.com/minecraft/mc-mods/fabric-api) 2. Place in instance's `mods/` folder ## Forge Support ### Overview Forge is the original and most popular Minecraft mod loader: - Extensive mod ecosystem - Mature API - Wide version support - Large community ### Installation 1. Navigate to **Versions** tab 2. Click **"Install Forge"** 3. Select Minecraft version 4. Choose Forge version 5. Click **"Install"** 6. Wait for installer to run 7. Installation complete ### How It Works **Forge Installer:** ```rust // Download Forge installer let installer_url = format!( "https://maven.minecraftforge.net/net/minecraftforge/forge/{}/forge-{}-installer.jar", full_version, full_version ); // Run installer java -jar forge-installer.jar --installClient ``` **Profile Parsing:** 1. Forge installer creates version JSON 2. DropOut parses install profile 3. Extracts library dependencies 4. Processes processors (if any) 5. Generates launcher profile **Version Format:** ```json { "id": "1.20.4-forge-49.0.26", "inheritsFrom": "1.20.4", "mainClass": "cpw.mods.bootstraplauncher.BootstrapLauncher", "libraries": [...] } ``` ### Forge Versions **Release Types:** - **Latest**: Most recent stable - **Recommended**: Most stable for production - **Specific**: Version-locked for compatibility **Minecraft Version Support:** - Legacy versions (1.6.4+) - Modern versions (1.13+) - Latest versions (1.20+) ### Library Management Forge has many libraries: **Core Libraries:** - `net.minecraftforge:forge:` - `net.minecraftforge:fmlloader:` - `org.ow2.asm:asm:` **Resolution:** ```rust // Forge Maven "https://maven.minecraftforge.net/" // Dependencies may use: // - Maven Central // - Minecraft Libraries ``` ### Forge Processors Some Forge versions run "processors" during installation: - Bytecode manipulation - Library patching - Mapping generation DropOut handles these automatically. ## Version Inheritance Both Fabric and Forge use Minecraft's inheritance system: ### Parent Version ```json { "id": "fabric-loader-0.15.0-1.20.4", "inheritsFrom": "1.20.4" // Parent vanilla version } ``` ### Merging Process **Libraries:** ```rust // Merged from both parent_libraries + modded_libraries // Duplicates removed ``` **Arguments:** ```rust // Combined parent_jvm_args + modded_jvm_args parent_game_args + modded_game_args ``` **Assets:** ```rust // Inherited from parent assets = parent.assets ``` **Main Class:** ```rust // Overridden by modded main_class = modded.mainClass ``` ## Comparison | Feature | Fabric | Forge | |---------|--------|-------| | **Performance** | Excellent | Good | | **Update Speed** | Very Fast | Moderate | | **Mod Selection** | Growing | Extensive | | **API Simplicity** | Simple | Complex | | **Version Support** | 1.14+ | 1.6.4+ | | **Developer Friendly** | Very | Moderate | | **Stability** | Excellent | Excellent | ## Installing Mods ### Fabric Mods 1. Create/select instance 2. Ensure Fabric is installed 3. Download mods from: - [Modrinth](https://modrinth.com/) - [CurseForge](https://www.curseforge.com/) - [GitHub Releases](https://github.com/) 4. Place `.jar` files in `instances//mods/` 5. Launch game **Compatibility:** - Check Minecraft version - Check Fabric Loader version - Check for Fabric API requirement - Read mod dependencies ### Forge Mods 1. Create/select instance 2. Ensure Forge is installed 3. Download mods from: - [CurseForge](https://www.curseforge.com/) - [Modrinth](https://modrinth.com/) 4. Place `.jar` files in `instances//mods/` 5. Launch game **Compatibility:** - Check Minecraft version exactly - Check Forge version range - Read mod dependencies - Check for conflicts ## Troubleshooting ### Fabric Issues **"Fabric Loader not found"** - Reinstall Fabric - Check version JSON exists - Verify libraries downloaded **"Mixin apply failed"** - Mod incompatibility - Remove conflicting mods - Update Fabric Loader **"Fabric API required"** - Download Fabric API - Match Minecraft version - Place in mods folder ### Forge Issues **"Forge installer failed"** - Verify Java installation - Check disk space - Try older Forge version - Check logs for details **"Missing dependencies"** - Install required mods - Check mod version compatibility - Read error message carefully **"Class not found"** - Forge version mismatch - Reinstall Forge - Verify libraries downloaded ### General Mod Issues **Crash on Launch:** 1. Check crash report 2. Identify problematic mod 3. Remove or update mod 4. Test with minimal mods 5. Add mods back incrementally **Performance Problems:** 1. Too many mods installed 2. Increase memory allocation 3. Install performance mods: - Fabric: Sodium, Lithium - Forge: OptiFine, Magnesium 4. Remove resource-heavy mods ## API Reference ### Tauri Commands **Install Fabric:** ```typescript await invoke('install_fabric', { minecraftVersion: '1.20.4', loaderVersion: '0.15.0' }); ``` **Install Forge:** ```typescript await invoke('install_forge', { minecraftVersion: '1.20.4', forgeVersion: '49.0.26' }); ``` **List Fabric Versions:** ```typescript const versions = await invoke('get_fabric_versions', { minecraftVersion: '1.20.4' }); ``` **List Forge Versions:** ```typescript const versions = await invoke('get_forge_versions', { minecraftVersion: '1.20.4' }); ``` ### Events **Installation Progress:** ```typescript listen('mod-loader-progress', (event) => { const { stage, percent } = event.payload; // Stages: "downloading", "installing", "processing", "complete" }); ``` ## Best Practices ### For Players 1. **Choose one mod loader** per instance 2. **Match versions exactly** - Minecraft and loader 3. **Read mod requirements** before installing 4. **Start small** - Add mods incrementally 5. **Backup worlds** before adding mods 6. **Check compatibility** lists 7. **Update cautiously** - Test in separate instance ### For Modpack Creators 1. **Document versions** - MC, loader, all mods 2. **Test thoroughly** - All features 3. **List dependencies** - Including API 4. **Provide changelog** - For updates 5. **Version lock** - For stability 6. **Include configs** - Pre-configured 7. **Test updates** - Before release ## Future Features - **Mod browser** - Install mods from launcher - **Automatic updates** - Keep mods current - **Dependency resolution** - Auto-install requirements - **Conflict detection** - Warn about incompatibilities - **Profile export** - Share modpack configurations - **CurseForge integration** - Direct modpack import - **Modrinth integration** - Mod search and install