#优化 #minecraft #jar #gamedev #resources #processing

app mc-repack

一个用于重新打包Minecraft模组和资源包的命令行界面,以优化大小和加载速度

37个版本 (破坏性更新)

0.27.1 2024年7月29日
0.26.0 2024年6月25日
0.18.1 2024年3月6日
0.18.0 2023年11月4日
0.9.0 2023年3月31日

#27游戏开发

Download history 222/week @ 2024-05-12 231/week @ 2024-05-19 161/week @ 2024-05-26 300/week @ 2024-06-02 162/week @ 2024-06-09 213/week @ 2024-06-16 131/week @ 2024-06-23 33/week @ 2024-06-30 126/week @ 2024-07-14 317/week @ 2024-07-28 2/week @ 2024-08-04

每月下载量 325次

MIT 许可证

75KB
1.5K SLoC

MC-Repack

Logo

Crates.io Version Rust Build dependency status

Minecraft模组和资源包的重新打包工具,用于优化大小和加载速度。

功能

  • 使用 serde-json 最小化JSON文件,并删除注释
  • 使用 oxipng 优化PNG文件
  • 使用 toml 优化TOML文件
  • 使用 optivorbis 优化OGG文件
  • 优化NBT文件
  • 删除不需要的文件 - 一些项目文件(来自Blender、Photoshop等)错误地打包在模组中。此操作将检测并删除(重新打包时忽略)这些文件。
  • 去除Unicode BOM
  • 删除许多文件类型的注释行:.cfg, .obj, .mtl, .zs, .vsh, .fsh
  • 更有效地压缩文件
  • 现在支持Zopfli(压缩速度较慢,但压缩效果更好)
  • 可配置(它读取 mc-repack.toml 或由 --config 参数指定的其他TOML文件)

比较表

以下模组由MC-Repack测试并重新打包,结果如下

文件名 原始 0.18 0.20 (*) 0.21 (*)
minecolonies-1.19.2-1.0.1247-BETA.jar 72.8 MB 63.7 MB 63.4 MB 62.7 MB
twilightforest-1.19.3-4.2.1549-universal.jar 22.5 MB 21.9 MB 21.8 MB 21.2 MB
TConstruct-1.18.2-3.6.3.111.jar 15.2 MB 14.0 MB 13.9 MB 13.6 MB
BloodMagic-1.18.2-3.2.6-41.jar 13.6 MB 11.9 MB 11.7 MB 11.6 MB
create-1.19.2-0.5.0.i.jar 13.1 MB 12.8 MB 12.7 MB 12.6 MB
Botania-1.19.2-437-FORGE.jar 10.9 MB 10.1 MB 10.1 MB 10.0 MB
ImmersiveEngineering-1.19.3-9.3.0-163.jar 10.3 MB 10.0 MB 9.65 MB 9.46 MB
thermal_foundation-1.19.2-10.2.0.47.jar 4.58 MB 4.38 MB 4.35 MB 4.35 MB
cfm-7.0.0-pre35-1.19.3.jar 2.11 MB 1.92 MB 1.87 MB 1.84 MB

* - 使用Deflate(更快)

更多模组可在我的网站找到。

安装

最快的方法是从发布页面获取最新版本。

您也可以通过Cargo安装此应用程序

cargo install mc-repack

如果您想直接从此存储库测试最新提交

cargo install --git https://github.com/szeweq/mc-repack

使用方法

安装后,可以通过输入以下命令之一来使用此工具

mc-repack jars --in <file|directory> --out <path>
mc-repack files --in <file|directory> --out <path>
  • jars子命令在.jar(或.zip)文件中查找条目。
  • files子命令直接转换文件树。文件将被压缩或复制。当提供文件路径时,MC-Repack将重新打包文件内容。如果路径是目录,则(非递归)内部的所有文件都将被重新打包。

在shell/终端中输入mc-repack --help可以提供更多选项。

MC-Repack也可以用于创建自己的重新打包工具版本。有关更多技术细节,请参阅mc-repack-core crate on crates.io

为什么?

MC-Repack旨在展示多少Minecraft模组和资源包带有未优化的文件(我说的不只是格式化的JSON文件)。您可能会惊讶地发现,在某些情况下,Photoshop添加的PNG文件元数据的大小可能比其内容大得多。

另一件重要的事情是,MC-Repack确定文件是否真的需要压缩。大多数PNG文件和较小的JSON文件通常以未压缩形式存储。这种操作在“压缩”形式大于原始文件时可以节省字节。此外,未压缩的数据可以更快地加载。

这是一个非常棒的工具,可以用于以下方面

  • 模组开发者和服务端制作人员 – 他们可以提供文件大小更小、优化过的PNG和正确格式的JSON的模组
  • 玩家和服务器所有者 – 优化和重新打包的文件可以加快Minecraft的加载时间,同时使用更少的内存。

MC-Repack会显示重新打包过程中发生的所有错误。其中大多数是简单的错误,可以忽略(例如行X列Y的尾随逗号)。

如何贡献?

最简单的方法是在社交媒体上与他人分享此内容。

有许多事情应该修复或优化。欢迎提出新功能想法,只需提交一个问题即可。

我可以在Minecraft之外使用它吗?

当然可以!此工具目前无法识别存档不是Minecraft模组或资源包。

依赖项

~7–35MB
~510K SLoC