3 个版本
0.1.2 | 2023 年 2 月 2 日 |
---|---|
0.1.1 | 2022 年 12 月 15 日 |
0.1.0 | 2022 年 11 月 22 日 |
#1727 在 算法
30KB
378 行
mc_launcher_core_rs
用 Rust 编写的 Minecraft 启动器库
支持的平台
由于这个库使用了 https://github.com/shasankp000/mcdl_core_rs/ 作为底层依赖,目前只支持 Windows,因此这个库(这个库中的所有函数)目前也只支持 Windows。
但是很快就会扩展到 Linux 和 MacOS。
注意
要启动 mc,您需要在 www.ely.by 上有一个账户,因为启动器库目前只支持来自 www.ely.by 的用户身份验证。
功能
download_runtime
下载 Minecraft 的最新 JDK 运行时(目前是 JDK 17)。目前只支持 Windows。我很快就会将其扩展到 Linux。
minecraft_launcher_core::main::runtime_downloader::download_runtime;
download_runtime()
is_java_installed
检查系统上是否已安装 Java
目前只检查 Windows
```minecraft_launcher_core::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::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::main::launcher_cli::init;
init("{}", refresh_data:true)
如果 refresh_data 设置为 true,则每次都会用默认值覆盖 settings.json 文件
ely_by_authenticator
在 www.ely.by 进行用户身份验证并将数据保存到 settings.json
使用 minecraft_launcher_core::main::launcher_cli::ely_by_authenticator;
ely_by_authenticator("ely.by 的用户名", "ely.by 的密码", "minecraft_installation_directory")
下载_ely_authlib
下载ely_by authlib
使用 minecraft_launcher_core::main::launcher_cli::下载_ely_authlib;
下载_ely_authlib("minecraft安装目录")
启动_mc_vanilla
根据指定的游戏版本、类型(发行版或快照)和使用的身份验证类型启动minecraft。
此功能仅针对minecraft的"发行版"版本进行了测试。在下一个版本中,将添加对快照的支持,包括底层依赖和此库。
目前支持www.ely.by身份验证
目前仅支持Windows。我很快会将此扩展到Linux和MacOS。
使用 minecraft_launcher_core::launcher_cli::启动_mc_vanilla;
启动_mc_vanilla(auth_type:"ely_by",game_version:"1.19.2",r#type: "release/snapshot",username: "你在ely.by上的用户名",password: "你在ely.by上的密码",alloc_mem: "2")
alloc_mem是你想分配给minecraft的内存量(仅以GB为单位,取整数)
依赖项
~7–21MB
~306K SLoC