lighty-loaders
Minecraft mod loader support for LightyLauncher.
Note
This is an internal crate for the LightyLauncher ecosystem. Most users should use the main lighty-launcher crate instead.
Features
- Multiple Loaders: Vanilla, Fabric, Quilt, Forge, NeoForge, OptiFine, LightyUpdater
- Smart Caching: Dual cache system with configurable TTL
- Version Management: Query and resolve loader versions
- Metadata Merging: Combine multiple loader metadata
- Feature Flags: Compile only the loaders you need
Structure
lighty-loaders/
└── src/
├── lib.rs # Module declarations and re-exports
├── loaders/ # Loader implementations
│ ├── mod.rs
│ ├── vanilla/ # Vanilla Minecraft
│ │ ├── vanilla.rs
│ │ └── vanilla_metadata.rs
│ ├── fabric/ # Fabric loader
│ │ ├── fabric.rs
│ │ └── fabric_metadata.rs
│ ├── quilt/ # Quilt loader
│ │ ├── quilt.rs
│ │ └── quilt_metadata.rs
│ ├── forge/ # Forge loader
│ │ ├── forge.rs
│ │ ├── forge_legacy.rs
│ │ └── forge_metadata.rs
│ ├── neoforge/ # NeoForge loader
│ │ ├── neoforge.rs
│ │ └── neoforge_metadata.rs
│ ├── optifine/ # OptiFine
│ │ ├── optifine.rs
│ │ └── optifine_metadata.rs
│ └── lighty_updater/ # Custom updater system
│ ├── lighty_updater.rs
│ ├── lighty_metadata.rs
│ └── merge_metadata.rs
├── types/ # Common types
│ ├── mod.rs # Type declarations
│ └── version_metadata.rs # Version metadata structures
├── utils/ # Utilities
│ ├── mod.rs
│ ├── cache.rs # Dual cache system
│ ├── error.rs # Error types
│ ├── manifest.rs # Manifest repository
│ └── query.rs # Query trait
└── lib.rs # Main exports
Usage
[]
= { = "0.6.3", = ["all-loaders"] }
use ;
use ProjectDirs;
async
Supported Loaders
Vanilla
Pure Minecraft without modifications.
use ;
let version = new;
Status: Stable
Fabric
Lightweight mod loader with excellent performance.
let version = new;
Status: Stable Example Versions: 0.15.11, 0.16.0, 0.16.9
Quilt
Fork of Fabric with additional features.
let version = new;
Status: Stable Example Versions: 0.26.0, 0.27.0, 0.27.1
Forge
Traditional mod loader with extensive mod support.
let version = new;
Status: Testing Example Versions: 47.3.0, 50.1.0, 51.0.38
NeoForge
Modern fork of Forge for newer Minecraft versions.
let version = new;
Status: Testing Example Versions: 20.4.109, 21.0.167, 21.1.80
OptiFine
Performance and graphics optimization mod.
let version = new;
Status: Experimental Example Versions: HD_U_I8, HD_U_I9
Features Flags
Control which loaders are compiled:
# All loaders
= { = "0.6.3", = ["all-loaders"] }
# Specific loaders
= { = "0.6.3", = ["vanilla", "fabric", "quilt"] }
Available features:
vanilla- Vanilla Minecraftfabric- Fabric loaderquilt- Quilt loaderneoforge- NeoForge loaderforge- Forge loaderforge_legacy- Legacy Forge (1.7.10-1.12.2)lighty_updater- Custom updater systemall-loaders- Enable all loaders
Caching System
The loader uses a dual cache architecture:
- Raw Version Cache: Stores complete JSON manifests
- Query Cache: Stores extracted data by query
Each cache features:
- Configurable TTL per data type
- Automatic cleanup
- Thread-safe with
Arc<RwLock<HashMap>>
License
MIT
Links
- Main Package: lighty-launcher
- Repository: GitHub
- Documentation: docs.rs/lighty-loaders