2 个不稳定版本
0.2.0 | 2024年2月20日 |
---|---|
0.1.0 | 2023年8月2日 |
#662 在 算法
35KB
433 行
mc_launcher_core_msa
用 Rust 编写的 Minecraft 启动器库
https://crates.io/crates/minecraft_launcher_core_msa
支持的平台
由于这个库使用 https://github.com/shasankp000/mcdl_core_rs/ 作为底层依赖,目前只支持 Windows,因此这个库(这个库中的所有函数)目前也只支持 Windows。
但是,很快将扩展到 Linux 和 macOS。
注意
要启动 mc,您需要拥有一个拥有 Minecraft 的 Microsoft 帐户或在 www.ely.by 的帐户,因为启动器库目前只支持从 www.ely.by 进行用户身份验证。如果您决定使用 MSA 身份验证,您将需要自己处理获取 MSA 令牌。
函数
download_runtime
下载 Minecraft 的最新 JDK 运行时(目前是 JDK 17)。目前只支持 Windows。我很快将扩展到 Linux。
minecraft_launcher_core_msa::main::runtime_downloader::download_runtime;
download_runtime()
is_java_installed
检查系统上是否安装了 Java
目前只检查 Windows
``` minecraft_launcher_core_msa::main::launcher_cli::is_java_installed`; ``
letis_java_installed= is_java_installed();
println!("{}", is_java_installed)
(true/false)
get_total_sys_mem
以字符串形式获取总系统内存。
minecraft_launcher_core_msa::main::launcher_cli::get_total_sys_mem;
lettotal_mem= get_total_sys_mem();
println!("{}",total_mem)
对于 2GB,它是 "2",4GB,它是 "4",8GB,它是 "8" 等等...
init()
基本初始化工作。所有与 mc 启动器相关的函数都应该首先调用 init()。
或者,init() 函数也可以在首次运行时调用。
use minecraft_launcher_core_msa::main::launcher_cli::init;
init("{}", refresh_data:true)
如果将refresh_data设置为true,则每次都会用默认值覆盖settings.json文件。
ely_by_authenticator
在www.ely.by进行用户身份验证,并将数据保存到settings.json。
使用 minecraft_launcher_core_msa::main::launcher_cli::ely_by_authenticator;
ely_by_authenticator("在ely.by上的您的用户名", "在ely.by上的您的密码", "minecraft_installation_directory")
download_ely_authlib
下载ely_by authlib
使用 minecraft_launcher_core_msa::main::launcher_cli::download_ely_authlib;
download_ely_authlib("minecraft安装目录")
launch_mc_vanilla
启动指定game_version、类型(发布版或快照)和身份验证类型的minecraft。此功能仅在minecraft的"发布"版本上进行了测试。在下一个版本中,将在底层依赖项和此库中添加快照支持。
此功能仅在minecraft的"发布"版本上进行了测试。在下一个版本中,将在底层依赖项和此库中添加快照支持。
目前支持Microsoft和www.ely.by身份验证
目前仅支持Windows。我很快会将此扩展到Linux和macOS。
如果您使用msa身份验证,可以忽略"密码"和"用户名"。
如果您使用ely.by身份验证,可以忽略"令牌"。
使用 minecraft_launcher_core_msa::launcher_cli::launch_mc_vanilla;
launch_mc_vanilla(auth_type:"ely_by/msa",game_version:"1.19.2",r#type: "release/snapshot",username: "您在ely.by上的用户名",password: "您在ely.by上的密码",token: "微软身份验证方案中的最终令牌"alloc_mem: "2")
alloc_mem是指您想要分配给minecraft的内存量(仅对GB使用整数)
依赖项
~7–23MB
~312K SLoC