#minecraft #minecraft-launcher #minecraft-downloader

bin+lib minecraft_downloader_core

用 Rust 编写的 Minecraft 下载器

7 个版本

0.1.6 2023 年 1 月 29 日
0.1.5 2023 年 1 月 29 日
0.1.4 2022 年 11 月 22 日

#661算法


2 crates 使用

BSD-2-Clause

50KB
565

mcdl_core_rs

用 Rust 编写的 Minecraft 下载器

变更日志 v0.1.4

移除了所有已弃用的函数。

变更日志 v0.1.5

添加了 Linux 支持。

特性

截至目前,下载器的初始版本仅支持 vanilla mc 的 release 版本。在后续更新中还将添加更多支持,如下载 snapshots,modloaders 如 fabricforge 等。

src/main.rs 用于我进行的手动测试

文档

配置更新器

minecraft_downloader_core::main::config_updater::update_configs

此功能用于更新 release 和 snapshot 版本的配置文件,尽管我还没有编写 snapshot 支持的代码。

用法:update_configs("你的安装目录"").expect("错误信息!"")

其中安装目录是 .minecraft 文件夹将被生成的目录。

游戏下载器

jarFile 下载器。

minecraft_downloader_core::main::game_downloader::version_downloader

此功能下载给定游戏版本的相应 jar 文件

用法:version_downloader("1.19.2"", "你的安装目录"", "release"").expect("错误信息"")

其中安装目录将与上面的函数中使用的一致。

库下载器

minecraft_downloader_core::main::game_downloader::lib_downloader

下载给定游戏版本的相应库

本地解析(目前仅下载 Windows 的平台相关库,与平台无关的库一起下载)

用法:lib_downloader("1.19.2", "your_installation_directory").expect("Error message")

其中安装目录将与上面的函数中使用的一致。

资源下载器

下载指定游戏版本的相应资源

minecraft_downloader_core::main::game_downloader::assets_downloader

用法

assets_downloader("1.19.2", "您的安装目录").expect("错误信息")

其中安装目录将与上面的函数中使用的一致。

更新日志 v0.1.2

添加了一些与Minecraft启动器相关的新功能,这些功能也将被我的下一个即将发布的crate使用

函数

extract_natives

将指定游戏版本的本地库下载到指定的路径。注意:此函数假定游戏已经安装,即jarFile、库和资源已经被下载。此函数可以被Minecraft启动器库用于提取本地库到现有的.minecraft目录,并将其传递给Minecraft启动命令。

use minecraft_downloader_core::main::game_downloader::extract_natives;

extract_natives("1.19.2", "minecraft_installation_directory", "windows/linux/osx");

目前仅支持Windows和Linux。

get_logging_arg

获取指定游戏版本的log4j2FilePath参数

注意:此函数假定游戏已经安装,即jarFile、库和资源已经被下载

此函数可以被Minecraft启动器库用于获取log4j2配置文件路径,并将其传递给Minecraft启动命令。

use minecraft_downloader_core::main::game_downloader::get_logging_arg;

get_logging_arg("1.19.2", "minecraft_installation_path")

更新日志 v0.1.3

添加了新的函数get_class_path

get_main_class

获取指定游戏版本的Minecraft的主类。

注意:此函数假定游戏已经安装,即jarFile、库和资源已经被下载。

此函数可以被Minecraft启动器库用于获取主类,并将其传递给Minecraft启动命令。

use minecraft_downloader_core::main::game_downloader::get_main_class;

get_main_class("1.19.2", "minecraft_installation_path")

get_class_path

为给定版本的Minecraft命令生成-classpath参数,并以字符串形式返回

注意:此函数假定游戏已经安装,即jarFile、库和资源已经被下载。

此函数可以被Minecraft启动器库用于获取主类,并将其传递给Minecraft启动命令。

use minecraft_downloader_core::main::game_downloader::get_class_path;

get_class_path("minecraft_installation_path", "1.19.2")

本项目使用https://github.com/shasankp000/requests_rs(更新到v0.1.6)

依赖项

~6–22MB
~295K SLoC