为你提供披风!
你可以从各种提供者中进行选择,或者添加你自己的提供者。
这是 "Capes" mod 的改进/重制版本:
- 改进且更易于集成披风提供者
- 允许对提供者进行排序
- 支持自定义提供者
- 提供更多选项来微调披风的应用方式
- 仅使用 Java 编写(无需 Kotlin)
- 各种修复与改进
创建自定义披风提供者
该模组提供了多种添加提供者的方式。
以下可能性按简单程度排序:
简单本地提供者
> 适用于:
> * 只想要一个可自定义披风的用户
> * 整合包(使用 config/cape-provider/simple-custom)
显示披风的最简单方式是进入 config/cape-provider 目录,并创建一个名为 cape.png 的披风纹理文件。
此外,还有以下可选文件:
-
owners.txt- 决定哪些玩家名称或 UUID 会显示该披风。如果此文件不存在,则所有玩家都会显示该披风。 -
name.txt- 用于覆盖提供者的显示名称
你还可以通过在 config/cape-provider/simple-custom 中创建相应目录来添加更多提供者。
示例:config/cape-provider/simple-custom/my-super-cool-provider/cape.png
配置中的远程提供者
> 适用于:
> * 想要添加自定义远程提供者的用户
此演示展示了如何应用位于 `custom-cape-demo` 中的披风。
- 打开位于 `
config/cape-provider/config.json` 的配置文件 - 在 `
remoteCustomProviders` 部分中添加以下条目:
{
"id": "cp1",
"name": "CustomProvider1",
// 你可以将 uuid 替换为 $id、$name 或 $idNoHyphen,以便为每位玩家自定义披风
"uriTemplate": "https://raw.githubusercontent.com/litetex-oss/mcm-cape-provider/refs/heads/dev/custom-cape-demo/uuid.png"
}
SkinMC 示例
{
"id": "skinmc",
"name": "SkinMC",
"uriTemplate": "https://skinmc.net/api/v1/skinmcCape/$id"
}
- 重启游戏并启用该提供者
更多细节请查看 RemoteCustomProvider 和 RemoteCustomProviderConfig
注意:可以使用 textureResolverId 属性选择纹理解析器(详见下文)。
通过 Mods
> 适用于:
> * Mods
如果你是模组开发者,并且想例如为你的模组支持者或贡献者显示披风,你可以通过模组的资源和/或 `fabric.mod.json` 中的元数据来提供。
整体行为类似于 `modmenu` 的处理方式。
本地/简单(推荐)
这种方式不需要网络通信,是推荐的方案。
它通过读取 cape 目录中的元数据和资源来工作。
以下是一个示例:
- 添加以下模组元数据:
`fabric.mod.json`
{
...
"custom": {
"cape": "Contributors"
}
}
- 在
resources中创建一个cape目录 - 将披风纹理添加到
cape/cape.png - 在
cape/owners.txt中添加应获得该披风的玩家 UUID 或名称
注意:还有一个更详细的变体
`fabric.mod.json`
{
"custom": {
"cape": {
"name-extra": "Contributors",
"owners": {
// 你也可以使用 UUID
"names": [
"Notch"
]
}
}
}
}
该模组自身就使用了这一策略。详情请参见 fabric.mod.json 或 cape 目录。
远程
下面是一个展示如何添加远程披风提供者的实现示例:
`fabric.mod.json`
{
...
"custom": {
"cape": "https://raw.githubusercontent.com/litetex-oss/mcm-cape-provider/refs/heads/dev/custom-cape-demo/uuid.png"
}
}
这里有一个更详细的变体
`fabric.mod.json`
{
"custom": {
"cape": {
// 给所有人一个圣诞披风
// 你也可以在这里使用变量,例如 $uuid。更多细节见上文
// 你可能需要用 \ 对 $ 进行转义,或者你也可以用 § 替代 $
// 替代写法:"uriTemplate"
"url": "https://example.org/textures/§uuid.png",
"changeCapeUrl": "https://...",
"rateLimitedReqPerSec": 20 // 默认为 20
}
}
}
以编程方式
你也可以创建一个 programmatic cape provider。
进一步说明
最大大小
图片/纹理不应超过 10MB。否则它们可能会被忽略。
纹理解析器 / 动画纹理
当前内置了以下解析器:
| Resolver-ID | Animated | Format | Example | Notes |
|---|---|---|---|---|
default / null |
❌ | PNG | uuid.png | |
sprite |
✔ | 堆叠式 PNG | animated.png | |
gif |
✔ | GIF | animated.gif | 不推荐使用 |
与 PNG 这类更现代的格式相比,GIF 需要更多资源。 |
请注意,动画纹理可以在设置中被冻结或被完全禁用。