我正在为我的网络制作一个昵称插件。我设法改变了玩家的名字。真的......它在插口服务器上到处都是变化的。 Eaven其他插件没有真正的名字。 但现在我坚持改变玩家的皮肤,我有一个主要问题......谁设置了皮肤? Bungeecord或Spigot。事实上,Bungeecord服务器是一个在线服务器,所有游戏服务器都是离线服务器,我认为可能是bungeecord-server能够改变玩家的皮肤。在那种情况下......有没有人有工作方法?因为我尝试了几乎所有我在google中找到的东西。 非常感谢。
答案 0 :(得分:3)
皮肤来自Mojang服务器,这个皮肤是在玩家登录时由Bungeecord取出的,然后通过连接传递给Spigot。
然后,Spigot负责以GameProfile
对象的形式将这些玩家皮肤发送给服务器上的其他玩家。如果我们检查这个GameProfile对象包含的内容,我们会看到它包含signature
和skin data
,签名是由Mojang在皮肤更改广告基于皮肤的时刻生成的,皮肤数据包含用于皮肤和斗篷的纹理。如果你想改变皮肤,你应该在你使用的皮肤上注册一个新的Minecraft帐户(或者希望找到皮肤上的现有帐户),并使用他的皮肤数据和签名。
在这些Minecraft版本中,使用播放器的名称解析皮肤。已向http://minecraft.net/skin/<username>.png
发出请求。这将返回一个带有皮肤内容的简单png文件。如果您在1.8中更改名称的人尝试此方法,则会失败,因为此服务无法识别1.8用户名。