Получение скина с сервера клиентом

Версия Minecraft
1.7.10
1,015
9
102
Когда игрок заходит на сервер, сервак видимо как-то подгружает его скин. Как по нику с клиента можно получить скин другого игрока для его рендера?
 
1,200
37
237
Там же метод получения скина, переделай как нужно)

Java:
    public static ThreadDownloadImageData getDownloadImageSkin(ResourceLocation p_110304_0_, String p_110304_1_)
    {
        TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
        Object object = texturemanager.getTexture(p_110304_0_);

        if (object == null)
        {
            object = new ThreadDownloadImageData((File)null, String.format("http://skins.minecraft.net/MinecraftSkins/%s.png", new Object[] {StringUtils.stripControlCodes(p_110304_1_)}), locationStevePng, new ImageBufferDownload());
            texturemanager.loadTexture(p_110304_0_, (ITextureObject)object);
        }

        return (ThreadDownloadImageData)object;
    }

    public static ResourceLocation getLocationSkin(String p_110311_0_)
    {
        return new ResourceLocation("skins/" + StringUtils.stripControlCodes(p_110311_0_));
    }
 

timaxa007

Модератор
5,831
409
672
@MJaroslav, он имеет виду p2p, т.е. получение скина из чужого клиента для своего клиента, а не из сервера (и не с сайта). Если только сервер можно использовать (можно просто в чате скинуть информацию для соединения), чтобы типа передать IP для соединения по p2p.
Подобное я тоже хотел написать, только вот времени не было, да и испытать тоже было не с кем. По этому я и отложил эту идею и испытания.
 

Icosider

Kotliner
Администратор
3,600
99
663
Если с клиента, то при коннекте(есть спец событие, не playerLoggedIn) отправлять моду "байты" изображения, затем пропарсить, сохранить где нибудь на сервере и рендерить. Под байтами имеется ввиду пиксели и imageData с геотегами, дескрипшином и т.п.(хотя лучше это говно чистить, а то нашлись такие кто вирус могут запихнуть в эту дату, а нам же это не нужно?;) )
 
1,015
9
102
Т.е. тип у клиента нет скина другого клиента по стандарту? А как тогда игроки рендрятся со скинами? Я говорю не про лицуху, а про свои сервера, со своей лог. системой. Там в коде просто ссылка другая для скинов что ли?
 

Icosider

Kotliner
Администратор
3,600
99
663
Нет, прикол в том что при online-mode false, скины и плащи не будут работать и простой заменой ссылки решить проблему не получится.

Т.е. тип у клиента нет скина другого клиента по стандарту? А как тогда игроки рендрятся со скинами? Я говорю не про лицуху, а про свои сервера, со своей лог. системой. Там в коде просто ссылка другая для скинов что ли?
Конкретизировать надо, тогда тебе нужно заменить ссылку на скины и изменить аутхлибу. Патчи аутхлибы можешь у сашки глянуть
 
Сверху