Cape Provider

Cape Provider

Mod

Provides you with capes! You can choose from various providers or add your own

Client DecorationEquipmentSocialUtility

86.2k downloads
39 followers
Follow Save

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.

  1. Open the config file located in config/cape-provider.json5

  2. 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"
    }
    
  3. 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.


Project members

litetex

Member

Details

Licensed LGPL-2.1-or-later
Published 8 months ago
Updated 2 days ago