OneLauncher-Cracked/packages/core/examples/download_minecraft.rs

28 lines
931 B
Rust

use anyhow::anyhow;
use onelauncher_core::api::game::metadata::{download_minecraft_ingressed, download_version_info};
use onelauncher_core::api::proxy::ProxyDynamic;
use onelauncher_core::error::LauncherResult;
use onelauncher_core::initialize_core;
use onelauncher_core::store::{CoreOptions, State};
#[tokio::main]
async fn main() -> LauncherResult<()> {
initialize_core(CoreOptions::default(), ProxyDynamic::new()).await?;
let state = State::get().await?;
let mut metadata = state.metadata.write().await;
let versions = metadata.get_vanilla_or_fetch().await?;
let version = versions
.versions
.iter()
.find(|v| v.id == "1.20.4")
.ok_or_else(|| anyhow!("couldn't find 1.20.4 in version list"))?;
let version_info = download_version_info(version, None, None, Some(true)).await?;
let minecraft_updated = true;
download_minecraft_ingressed(&version_info, "x86", minecraft_updated, Some(true)).await?;
Ok(())
}