远程资源包

远程资源包

从互联网加载资源包内容

工具

远程资源包

这个模组使您能够加载内容从互联网下载的资源包。

为什么我需要这个?

某些玩家、模组和整合包可能需要保持其资源的最新状态。

此外,有些资源可能不允许直接分发,因此需要在运行时下载。

配置文件格式

将配置文件放在 .minecraft/config/RemoteResourcePack/ 目录(或其子目录)中,文件后缀为 .json

以下是一个示例。请注意,配置文件中 允许使用注释。

{
  "schema": 1,          // 必填
  // 资源包过期并需要重新下载的时间
  // 例如 2min / 3d / 11h45min14s
  // 可以是 "always" 或 "never"
  "autoUpdate": "2h",
  // 资源包配置,控制包含哪些文件
  "zipconfig": "https://featurehouse.github.io/epx_packs/v2/dl/zipconfig.json",
  "args": {             // 动态内容参数
    "poem": "random",   // 可以是字面量 "random"
    "splashes": 0       // 可以是数字索引
  },
  // 远程内容 URL 的基础 URL
  "base": "https://featurehouse.github.io/epx_packs/v2/dl/index.html"
}

zipconfig 格式(同样不允许注释):

{
    "static": { // 始终包含的文件
        "pack.mcmeta": {                // 可以直接定义
            "raw": "{\"pack\":{\"pack_format\":18,\"description\":\"Hello World\"}}"
        },
        "assets/example/test.bin": {    // 可以定义为 base64
            "base64": "TmV2ZXIgR29ubmEgR2l2ZSBZb3UgVXAh"
        },
        "assets/example/songs/dynamic/rickroll.ogg": {  // 可以从互联网下载
            "fetch": "https://www.example.net/songs/Rick%20Astley/Never_Gonna_Give_You_Up-HiRes.ogg"
        },
        "assets/example/lang/fr_fr.json": {     // 可以是相对 URL,其基本 URL 在上述配置中定义
            "fetch": "/my-interesting-example-mod/resources/i18n/fr_fr.json"
        }
    },
    "dynamic": {
        "example-arg": {    // 请参阅上述配置中的 "args"
            "default": "random",    // 随机选择一个项目。可以在 args.example-arg 中覆盖。
            "items": [{
                "weight": 250,      // 可以省略,默认为 100
                "files": {  // 与 "static" 中相同
                    "assets/example/news/content.json": {"fetch": "/my-interesting-example-mod/news-channel/1.json"},
                    "assets/example/news/timestamp.txt": {"raw": "2023-10-10T09:24:30+08:00"}
                }
            }, {
                "files": {
                    "assets/example/news/content.json": {"fetch": "/my-interesting-example-mod/news-channel/2.json"},
                    "assets/example/news/timestamp.txt": {"raw": "2023-10-10T09:25:21+08:00"}
                }
            }]
        },
        "another_arg": {
            "default": 0,
            "items": [
                {},
                {
                    "files": {
                        "assets/example/textures/items/silver_ingot.png": {
                            "fetch": "/my-interesting-example-mod/experimental/resources/silver_ingot/2023-10-10.png"
                        }
                    }
                }
            ]
        }
    }
}

模组的内置配置

模组可以将其配置包含在 JAR 根目录下的 RemoteResourcePack.json 中。

这是一个示例:

{
  "end-poem-extension/recommended-pack-v2.json": {
    "schema": 1,
    "_description": [
      "末影诗扩展推荐资源包",
      "每次下载的内容可能不同,因为它们是随机选取的"
    ],
    "autoUpdate": "2h",
    "args": {
      "poem": "random",
      "splashes": 0
    },
    "base": "https://featurehouse.github.io/epx_packs/v2/dl/index.html",
    "zipconfig": "https://featurehouse.github.io/epx_packs/v2/dl/zipconfig.json"
  }
}

配置将被写入 .minecraft/config/RemoteResourcePack/end-poem-extension/recommended-pack-v2.json(如果不存在),然后被加载。