A Minecraft Fabric mod that allows custom skins and capes for offline players, while keeping full support for official skins for premium players.
By default, LittleSkin is used as the skin provider.
Skin
https://littleskin.cn/skin/%name%.png
Cape
https://littleskin.cn/cape/%name%.png
%name% will automatically be replaced with the player’s username.
Recommended method.
Configuration file location:
.minecraft/config/wskinloader.json
{
"skinUrls": [
"https://littleskin.cn/skin/%name%.png",
"https://example.com/skins/%name%.png"
],
"capeUrls": [
"https://littleskin.cn/cape/%name%.png"
],
"enableTabListHeads": true
}
true.You can configure custom rules for specific players.
{
"skinUrls": ["https://littleskin.cn/skin/%name%.png"],
"capeUrls": ["https://littleskin.cn/cape/%name%.png"],
"playerOverrides": {
"PlayerName": {
"skipPremiumCheck": true,
"skin": {
"useCustomApi": true,
"apiIndex": 0
},
"cape": {
"useCustomApi": true,
"apiIndex": -1
}
},
"AnotherPlayer": {
"skipPremiumCheck": false,
"skin": {
"useCustomApi": true,
"apiIndex": 0
},
"cape": {
"useCustomApi": false
}
}
}
}
skipPremiumCheck
Skip Mojang premium check.
true = always use custom API.
skin.useCustomApi
Whether to use a custom API for skins.
false = Mojang skin.
skin.apiIndex
0 → first API1 → second API-1 → try all APIs in ordercape.useCustomApi Whether to use a custom API for capes.
"PlayerName": {
"skipPremiumCheck": true,
"skin": { "useCustomApi": true, "apiIndex": 0 },
"cape": { "useCustomApi": true, "apiIndex": 0 }
}
Official skin + custom cape
"PlayerName": {
"skipPremiumCheck": false,
"skin": { "useCustomApi": false },
"cape": { "useCustomApi": true, "apiIndex": 0 }
}
"PlayerName": {
"skipPremiumCheck": true,
"skin": { "useCustomApi": true, "apiIndex": 1 },
"cape": { "useCustomApi": true, "apiIndex": 1 }
}
https://api.mojang.com/users/profiles/minecraft/{name}
https://sessionserver.mojang.com/session/minecraft/profile/{UUID}
Downloaded textures are cached in SkinCache.
If all sources fail, Minecraft’s default skin will be used.
Player type detection:
For premium players, the mod directly retrieves the skin and cape URLs from the Mojang Session Server and downloads them immediately, ensuring the correct head texture appears in the Tab list without waiting for vanilla logic.
一个 Minecraft Fabric 模组,支持为 离线玩家加载自定义皮肤和披风,同时保持 正版玩家使用 Mojang 官方皮肤系统。
默认使用 LittleSkin 作为皮肤源。
皮肤
https://littleskin.cn/skin/%name%.png
披风
https://littleskin.cn/cape/%name%.png
%name% 会被自动替换为玩家名。
配置文件路径:
.minecraft/config/wskinloader.json
{
"skinUrls": [
"https://littleskin.cn/skin/%name%.png",
"https://example.com/skins/%name%.png"
],
"capeUrls": [
"https://littleskin.cn/cape/%name%.png"
],
"enableTabListHeads": true
}
enableTabListHeads
是否在 Tab 玩家列表中显示玩家头像。
默认值:
true
可以为特定玩家设置独立规则。
{
"skinUrls": ["https://littleskin.cn/skin/%name%.png"],
"capeUrls": ["https://littleskin.cn/cape/%name%.png"],
"playerOverrides": {
"PlayerName": {
"skipPremiumCheck": true,
"skin": {
"useCustomApi": true,
"apiIndex": 0
},
"cape": {
"useCustomApi": true,
"apiIndex": -1
}
},
"AnotherPlayer": {
"skipPremiumCheck": false,
"skin": {
"useCustomApi": true,
"apiIndex": 0
},
"cape": {
"useCustomApi": false
}
}
}
}
skipPremiumCheck
是否跳过正版检测。
true = 直接使用自定义 API
false = 按正常流程检测正版
skin.useCustomApi
皮肤是否使用自定义 API。
false = 使用 Mojang 官方皮肤
true = 使用自定义皮肤 API
skin.apiIndex
指定使用哪个 API。
0 = 第一个 API
1 = 第二个 API
-1 = 按顺序尝试所有 API
cape.useCustomApi
披风是否使用自定义 API。
false = 使用官方披风
true = 使用自定义披风
"PlayerName": {
"skipPremiumCheck": true,
"skin": { "useCustomApi": true, "apiIndex": 0 },
"cape": { "useCustomApi": true, "apiIndex": 0 }
}
正版皮肤 + 第三方披风
"PlayerName": {
"skipPremiumCheck": false,
"skin": { "useCustomApi": false },
"cape": { "useCustomApi": true, "apiIndex": 0 }
}
"PlayerName": {
"skipPremiumCheck": true,
"skin": { "useCustomApi": true, "apiIndex": 1 },
"cape": { "useCustomApi": true, "apiIndex": 1 }
}
https://api.mojang.com/users/profiles/minecraft/{name}
https://sessionserver.mojang.com/session/minecraft/profile/{UUID}
下载后的皮肤材质会缓存到 SkinCache 中。
如果所有来源都失败,则使用 Minecraft 默认皮肤。
玩家类型判断方式:
对于正版玩家,模组会直接通过 Mojang Session Server 获取皮肤和披风的真实 URL 并下载,从而在 Tab 列表中立即显示正确的头像,而无需等待原版逻辑。