Crate cobble_core
source · [−]Expand description
cobble-core
A Rust library for managing, installing and launching Minecraft instances.
Usage
Authentication
let client_id = "<MS Graph Client ID>".to_string();
let client_secret = "<MS Graph Client Secret>".to_string();
let cancel = Arc::new(AtomicBool::new(false));
let (url, result) = Profile::authenticate(client_id, client_secret, cancel)?;
println!("{}", url);
let profile: Profile = result.recv()??;
println!("Minecraft Playername: {}", profile.player_name);
Installing
let instance: Instance = InstanceBuilder::default()
.name("Test Instance".to_string())
.version("1.18.2".to_string())
.instance_path("./instance".to_string())
.libraries_path("./libraries".to_string())
.assets_path("./assets".to_string())
.build()?;
let (tx, _rx) = Instance::update_channel();
let cancel = Arc::new(AtomicBool::new(false));
instance.full_install(tx, cancel)?;
Launching
let instance: Instance = InstanceBuilder::default()
.name("Test Instance".to_string())
.version("1.18.2".to_string())
.instance_path("./instance".to_string())
.libraries_path("./libraries".to_string())
.assets_path("./assets".to_string())
.build()?;
instance.launch(&LaunchOptionsBuilder::default().build()).unwrap();
Cargo Features
Feature | Description |
---|---|
gobject | Provides glib objects for the primary structs |
Future Development
-
Minecraft
-
Installation
- Current Versions
- Old Versions (needs testing)
-
Launching
- Current Versions
- Old Versions (needs testing)
- Saves
- Servers
- Resourcepacks
- Logs
-
Installation
- Support other platforms than linux (process forking)
-
Instances
- Installation
- Launching
- Installed status
- Removing
- Export / Import
-
Fabric
- Installation
- Updating
- Mods
- Mod Manager
Re-exports
pub use error::CobbleResult;
pub use instance::Instance;
pub use instance::InstanceBuilder;
pub use minecraft::launch_options::LaunchOptions;
pub use minecraft::launch_options::LaunchOptionsBuilder;
pub use profile::Profile;