Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Установка текстуры на голову

Тема в разделе "Разработка плагинов для новичков", создана пользователем MrTrojan, 25 сен 2016.

  1. Автор темы
    MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Добрейший вечерочек. Вообщем, как установить текстуру на голову?

    Пробовал получать у класса SkullMeta получать поле profile, его нет, а также у super-класса, там тоже не видно.
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
  4. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В ОБЩЕМ || ВООБЩЕ

    nms в руки тебе.
     
  5. kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    CustomHeadApi - (НЕ [Broken])

    Только с 1.8 можно использовать ссылки исключительно на textures.minecraft.net (Скины хранятся даже после замены их в профиле)
    Скины с профилей можно вытащить через MojangAPI
    Ну а если слишком лень то вот Quality Heads . После нажатия в буфер обмена копируется это
    Код:
    /give @p skull 1 3 {display:{Name:"Vegemite"},SkullOwner:{Id:"3fd44f85-9f07-4a4e-9854-ee57476ce1b8",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWU4ODkwODc0YTMwNjZmNDI2ZTY2ZTM3NDM4ZjQ1YWIyOWE1YmYyNTgyZGI3M2NiNGNmZjY5NTRhNTc4ZWYifX19"}]}}}
    Берешь value и декодируешь через base64
    Код:
    {"textures":{"SKIN":{"url":"http://textures.minecraft.net/texture/ae8890874a3066f426e66e37438f45ab29a5bf2582db73cb4cff6954a578ef"}}}
    И эту ссылку в API
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Это все лишнее. Достаточно выдать голову с ником, она сама через можанг апи прочекает свой уид и текстурку.
     
  7. kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Мой вариант полезен если нужно несколько текстур с одного аккаунта .
     
  8. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Скорее всего тс имеет только значение текстурки, а ник не знает.
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Такого быть не может. Все скины идут на игроков.[DOUBLEPOST=1474960286,1474960208][/DOUBLEPOST]P.s и ник с уидом конвертируются на можанг апи в обе стороны.
     
  10. Автор темы
    MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Да.
     
  11. kvqplay

    kvqplay Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    kvq_play
    Тогда мой вариант . Поставь нужные скины на аккакунт , для каждого получи url . Потом через api. Напрямую с сервера никак
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ты их не подпишешь, без сигнатуры твои скины бесполезные для ванилького клиента. Можно юзать только скины моджанг. Или использовать хакнутую аутчлибу на клиенте.
    Так что ищи ники со скинами.
     
  13. Автор темы
    MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Решил.

    Код:
    Field profileField = meta.getClass().getDeclaredField("profile"); // получаем поле profile у SkullMeta
               
                if(profileField == null) {
                    throw new NoSuchFieldException("Field 'profile' not found!");
                }
               
                if(!profileField.isAccessible()) {
                    profileField.setAccessible(true);
                }
               
                profileField.set(meta, getProfile()); // meta - SkullMeta, getProfile() - GameProfile
     

Поделиться этой страницей