MC版本:1.21.1-forge
启动器:HMCL
账户:离线模式(即非正版、微软认证等)
首先CustomSkinLoader是一款客户端模组,不需要在服务器端添加。
通过HMCL启动器添加该模组。
添加完模组后,记着先打开一下游戏,然后在关闭,加载模组的配置文件。否则后续步骤无法完成,配置文件都没有,如果配置文件已经有了的话,那无所谓了,继续吧。
为什么我们在服务器中,别人无法看到我们的皮肤 ?
由于我们是离线模式,不具备微软账户认证、Mojang正版账户认证,所以我们只能通过访问本地皮肤文件才可以使用。而服务器中的其他玩家,是无法访问我们自己本地的皮肤文件的,除非有第三方服务器存储我们和其他玩家的皮肤文件。
而拥有正版认证,或是有littleskin账号的玩家,他们具备来自官方和第三方服务器的皮肤存储功能,其余同频玩家也可时时访问官方和第三方服务器来获取自己和其他同频玩家的皮肤。
以上为解决“离线模式玩家的皮肤无法被看到”的原理。
解决方法:
1、修改 “CustomSkinLoader.json” 配置文件。
路径举例:D:\HMCL\.minecraft\CustomSkinLoader\CustomSkinLoader.json
由于配置文件读取是由上往下读取的,原版配置优先读取顺序为:“Mojang→LittleSkin→...”
找到以下这段代码并将其前置到第一位。
{"name": "LocalSkin","type": "Legacy","checkPNG": false,"skin": "LocalSkin/skins/{USERNAME}.png","model": "auto","cape": "LocalSkin/capes/{USERNAME}.png","elytra": "LocalSkin/elytras/{USERNAME}.png"}
效果如下:
这段代码的意思简单说就是访问本地皮肤文件。
注意:每一个代码块 “{}”,末尾通过英文状态下的 “ , ” 来分隔,没有代码开发基础的小白一定要注意,最后一个代码块不需要添加 “ , ” 。
2、接下来我们来处理皮肤文件。
通过配置文件可知,本地的皮肤文件命名需要按照“username.png”的格式来命名。即玩家的名字为Alex,则皮肤文件的命名为:“Alex.png”,披风文件的命名也为:“Alex.png”。
HMCL的左上角即为当前玩家的账户名字,如果有多个账户名字,用哪个账户名字,皮肤文件就改为那个账户名字.png。
举例皮肤文件的存储路径为:D:\HMCL\.minecraft\CustomSkinLoader\LocalSkin\skins
举例披风文件的存储路径为:D:\HMCL\.minecraft\CustomSkinLoader\LocalSkin\capes
将我们的皮肤或披风文件放到对应文件夹下,并做好命名。如果需要看到其他离线模式玩家的皮肤,或者需要其他离线模式玩家看到我们的皮肤,就需要互相在本地存储对方的皮肤。符合原理。
3、进入游戏查看皮肤。
刚进入游戏,皮肤文件可能没那么快被读取,需要等30s左右,如果超过这个时间,在游戏里kill一下自己就可以了。复活后就可以看到新皮肤了,也能看到对方的皮肤了。