Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details

Provides you with capes!
You can choose from various providers or add your own.
Improved/Reworked version of the "Capes" mod:
- Improved and easier cape provider integration
- Allows ordering providers
- Support for custom providers
- More options to fine tune how capes are applied
- Written only in Java (no Kotlin needed)
- Various fixes and improvements

Creating a custom cape provider
As a user
This demo showcases how to apply the capes inside custom-cape-demo
.
-
Open the config file located in
config/cape-provider.json5
-
In the
customProviders
section add the following entry:{ "id": "cp1", "name": "CustomProvider1", // You can replace uuid with $id, $name or $idNoHyphen to customize the cape per Player "uriTemplate": "https://raw.githubusercontent.com/litetex-oss/mcm-cape-provider/refs/heads/dev/custom-cape-demo/uuid.png" }
Example for SkinMC
{ "id": "skinmc", "name": "SkinMC", "uriTemplate": "https://skinmc.net/api/v1/skinmcCape/$id" }
-
Restart the game and activate the provider
For more details have a look at CustomProvider and CustomProviderConfig
Maximum size
Images/Textures should not exceed 10MB otherwise they might be ignored.
Texture resolvers / Animated textures
Texture resolvers can be selected using the textureResolverId
attribute.
The following resolvers are currently built-in:
Resolver-ID | Animated | Format | Example | Notes |
---|---|---|---|---|
default / null |
❌ | PNG | uuid.png | |
sprite |
✔ | Stacked PNG | animated.png | |
gif |
✔ | GIF | animated.gif | Usage not recommended GIFs require more resources when compared to more modern formats like PNG. |
Please note that animated textures can be frozen or completely disabled in the settings.
As a developer / Proving capes through mods
If you are a mod developer and want to e.g. display a cape for supporters of your mod, you can provide it using the mod's metadata / fabric.mod.json
.
The overall behavior is similar to how modmenu
handles this.
Here's a simple implementation:
fabric.mod.json
{
...
"custom": {
"cape": "https://raw.githubusercontent.com/litetex-oss/mcm-cape-provider/refs/heads/dev/custom-cape-demo/uuid.png"
}
}
Here's a more detailed variant
fabric.mod.json
{
"custom": {
"cape": {
// Gives everyone a christmas cape
// You can also use variables here, like $uuid. See above for more details
// You may have to escape the $ with \ or you can alternatively use § instead of $
// Alternative: "uriTemplate"
"url": "https://example.org/textures/§uuid.png",
"changeCapeUrl": "https://...",
"rateLimitedReqPerSec": 20 // Default is 20
}
}
}
You can also create a programmatic cape provider.