MCInstance Loader

MCInstance Loader

一个允许安装mcinstance文件的小型模组,这是一种可包含覆盖文件和下载文件的整合包格式。

工具

模组标志。

GitHub Modrinth Curseforge Discord Ko-fi

一个小型模组,允许 Minecraft 直接安装 .mcinstance 格式的整合包。这是一种简化的整合包分发格式,支持下载文件、捆绑覆盖文件等功能。游戏在安装后要求重启,并禁用 mcinstance 文件以便游戏正常重启。

你会将这个模组移植到其他版本吗?

我目前尚未着手移植工作,但有此计划。目标是为尽可能多的玩家提供 mcinstance 格式。

目前仅从 1.7.10 开始,若感觉模组成熟后,或许会移植到其他版本。

你也可以通过查看 Github 来帮助移植。毕竟这是一个 MIT 许可的模组,欢迎尝试提交拉取请求以将其移植到任何你想要的版本(无论是 1.3.2、1.18,还是 Forge、Fabric 等)。

那么 .mcinstance 格式到底是什么?

MCInstance 格式(.mcinstance)由重新利用的 ZIP 文件组成,内部有特定布局,并包含类似 INI 格式的 .packconfig 文件。 该模组实现在游戏内安装此格式,以便其成为跨平台的整合包格式。第三方启动器也可增加支持,让玩家直接双击文件即可安装整合包。

功能

以下是此模组及格式包含的一些功能:

  • 在 overrides 文件夹中捆绑任意文件,与其他格式类似。这里的文件会复制到 Minecraft 根目录(通常为 .minecraft)。

  • 为整合包玩家提供 carryover 文件夹,玩家可将任意文件放入其中,这些文件会与包内容合并,并覆盖整合包之前下载或捆绑的文件。

  • 从互联网下载文件(任意 URL),并保存到 Minecraft 文件夹中的任意位置。

  • 支持 Modrinth 和 Curseforge 的 API(并设有多种模式以应对故障)。

  • 对下载文件进行哈希校验(暂支持 SHA-512、SHA-256、SHA-1、MD5 或 CRC32)。

  • 哈希文件的缓存系统(若从 API 下载文件,也会尝试从 API 获取哈希),避免更新后重新下载所有内容。

  • StopModReposts 检查,以抑制转载网站的使用。可根据需要关闭。

  • 支持分端文件(side/edge),可仅在服务端或客户端下载特定文件,适用于 GUI 类模组等。

  • 非常灵活的附加文件系统,包含菜单、分组支持、多菜单和多选 GUI,可配置可切换项目数量。(目前为客户端,稍后将为服务端提供实现)

  • 完整的日志系统,便于查看针对此模组的具体问题。结合 Forge 日志的详细输出选项。

  • 一个可切换的更新检查器,让模组保持最新。

  • 与 Forge 进度条集成,在加载界面显示新的进度条,以便玩家查看剩余需要下载的模组数量。

  • 一个可自定义的信息 GUI,替换主菜单,通知用户错误或成功信息。确保玩家重启游戏并正确加载可能新增的模组。支持自动退出定时器、自定义成功消息或任何更改菜单的模组(可设置类列表)。

  • 成功后自动禁用 pack.mcinstance 文件,也可选择删除文件或关闭此功能。这对于玩家在安装成功后能正常游玩是必需的。

如何使用?

请查看 wiki 页面,了解此模组和 mcinstance 格式的更多信息。

致谢与许可

许可证:

尽管此模组以 MIT 许可分发,但许可不适用于 net.lingala.zip4j 包中的任何文件,因为这是 zip4j 库的源代码,仅为方便使用而在此分发。zip4j 库基于 Apache 许可证 2.0 授权,这里捆绑的是 2.9.1 版本。

致谢:

  • Srikanth-lingala 创建了此模组使用的 zip4j 库。
  • AstroTibs 制作的 OptionsEnforcer 为我提供了灵感。
  • Janrupf 和 HansWasser 创建的 ModDirector 也启发了此模组。