Crates.io | uranium-rs |
lib.rs | uranium-rs |
version | 1.0.3 |
created_at | 2025-07-23 11:54:58.669683+00 |
updated_at | 2025-08-03 09:53:04.344477+00 |
description | Lib for downloading/making minecraft and modpacks |
homepage | |
repository | https://github.com/sergious234/uranium-rs |
max_upload_size | |
id | 1764706 |
size | 3,464,039 |
Uranium is a Rust library for downloading Minecraft game files and Modrinth mods or modpacks. It provides:
This crate is made for users who want to make their own minecraft launcher but dont want to write all the process from scratch. Uranium provides an easy way to download the minecraft files and also modpacks from ModRinth (Curse is in progress). Uranium also has functions to interact with the default minecraft launcher profiles, so you can read already existing profiles and add new ones (it is interoperable with other launchers).
It's that simple:
let mut downloader = MinecraftDownloader::<Downloader>::init("/home/user/.minecraft", "1.20.1").await?;
downloader.start().await;
Uranium's FileDownloader trait enables users to implement custom downloaders to their needs. If you feel the Downloader Uranium provides is slow or it doesn't satisfy your need go and write your own !
Then change the generic parameter like this and you'll be using your own downloder:
let mut downloader = MinecraftDownloader::<MyDownloader>::init("/home/user/.minecraft", "1.20.1").await?;
downloader.start().await;
Uranium also can download modpacks with the modrith format with RinthDownloader
.
RinthDownloader::<Downloader>::new("path/to/modpack", "installation/path")?;
Curse is under developing right now, it has a specific downloader but with no guarantees. Same API as Rinth:
CurseDownloader::<Downloader>::new("path/to/modpack", "installation/path").await;