late-java-core 2.2.9

A Rust library for launching Minecraft Java Edition
use late_java_core::{Launch, MicrosoftAuth, LaunchOptions, MemoryOptions, LoaderOptions, init_logger};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Inicializar logger
    init_logger();

    println!("=== Late Java Core - Ejemplo Básico ===");
    
    // Autenticación Microsoft
    println!("Iniciando autenticación Microsoft...");
    let auth = MicrosoftAuth::new("00000000402b5328".to_string());
    let auth_result = auth.authenticate().await?;
    
    println!("Autenticación exitosa para: {}", auth_result.name);
    
    // Configuración del launcher
    let options = LaunchOptions {
        path: "./minecraft".to_string(),
        version: "1.20.4".to_string(),
        authenticator: auth_result,
        memory: MemoryOptions {
            min: "2G".to_string(),
            max: "4G".to_string(),
        },
        loader: LoaderOptions {
            path: Some("./loader".to_string()),
            loader_type: Some("fabric".to_string()),
            build: Some("0.15.9".to_string()),
            enable: true,
        },
        ..Default::default()
    };
    
    println!("Configuración del launcher completada");
    println!("Versión: {}", options.version);
    println!("Memoria: {} - {}", options.memory.min, options.memory.max);
    println!("Loader: {:?}", options.loader.loader_type);
    
    // Lanzar Minecraft
    println!("Iniciando Minecraft...");
    let launcher = Launch::new();
    launcher.launch(options).await?;
    
    println!("Minecraft cerrado");
    Ok(())
}