自定义皮肤指南 (Ely.by / LittleSkin)
本指南将解释为什么在 XMCL 中,来自 Ely.by 或 LittleSkin 等第三方皮肤站的自定义皮肤默认可能无法显示,探讨 Minecraft Java 版皮肤渲染的工作原理,并介绍如何正确进行配置。
Minecraft Java 版皮肤渲染工作原理
在默认情况下,Minecraft Java 版客户端会向 Mojang 官方会话服务器请求加载您的皮肤。其渲染流程如下:
为什么 XMCL 默认不显示这些皮肤
在其他启动器(如 Legacy Launcher 或 ElyPrism)中:
- Legacy Launcher 会自动修改游戏内部的
authlib.jar包或强制静默运行自定义 Java Agent 代理,即使玩家使用普通的离线(本地)账号,启动器也会直接通过玩家 ID 强行到 Ely.by 匹配并拉取皮肤,这存在安全隐患。 - ElyPrism 是 Prism Launcher 的一个修改分支,出厂即专门针对 Ely.by 生态进行了硬编码配置。
XMCL 则是一款干净、开源的启动器。在未获得您授权前,它绝对不会修改您的任何游戏源文件,也绝对不会将您的流量强制重定向至任何第三方皮肤服务器。
如何在 XMCL 中配置并显示第三方皮肤
您可以通过以下两种方法之一在 XMCL 中设置并启用自定义皮肤。
方法 1:添加第三方联机/登录账号(推荐)
在启动器中不使用简单的离线/本地账号名登录,而是直接添加您在 Ely.by 或 LittleSkin 的官方账号。这样启动器在启动游戏时就会自动启用 Authlib-Injector:
- 点击启动器侧边栏的 账户(Accounts)图标。
- 点击 添加账户。
- 选择 Ely.by 或 Yggdrasil(对于 LittleSkin,输入其 Yggdrasil API 地址:
https://littleskin.cn/api/yggdrasil)。 - 输入您的第三方账户凭据完成登录。
- 在您的版本设置中,确保 禁用 Authlib Injector(Disable Authlib Injector)选项处于 关闭 状态。
底层工作原理
当您点击启动时,XMCL 会自动在 Java 启动参数中追加 authlib-injector 代理并挂载对应的 API Root 地址:
cmd
java -javaagent:authlib-injector.jar=https://authserver.ely.by/api/ -jar ...方法 2:使用 CustomSkinLoader 模组
如果您希望继续使用本地(离线)角色名,但又想让游戏加载 Ely.by 或 LittleSkin 的皮肤,则必须在游戏实例中安装 CustomSkinLoader 模组。
- 在您的游戏实例中安装模组加载器(Forge、Fabric 或 Quilt)。
- 在 XMCL 的模组下载选项卡中搜索并下载 CustomSkinLoader 模组。
- 运行一次游戏以生成默认配置。游戏目录下会生成配置文件
minecraft/CustomSkinLoader/CustomSkinLoader.json。 - 打开该 JSON 配置文件,配置皮肤源列表:
json
{
"enable": true,
"loadTypes": ["Mojang", "ElyBy", "LittleSkin"],
"skinList": [
{ "type": "Mojang" },
{ "type": "Yggdrasil", "apiRoot": "https://authserver.ely.by/api/" },
{ "type": "Yggdrasil", "apiRoot": "https://littleskin.cn/api/yggdrasil/" }
]
}- CustomSkinLoader 会根据您当前的离线角色名从上述配置的皮肤站拉取相应皮肤,您和其他安装了对应模组/配置的联机玩家就可以互相看到皮肤了!