1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Получить текстуру из Property

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

Статус темы:
Закрыта.
  1. Автор темы
    maxim0098

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

    Баллы:
    66
    Имя в Minecraft:
    Nanit
    Как можно вытащить параметр value из профиля игрока? Пробовал создать PropertyMap, но так и не вышло получить нужные данные. Я пока что не совсем понимаю что оно возвращает.
     
  2. alexandrage

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

    Баллы:
    173
    А никак. Нету там текстуры. То бейс64 урл на скин.
     
  3. Автор темы
    maxim0098

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

    Баллы:
    66
    Имя в Minecraft:
    Nanit
    Так мне и нужно получить закодированную строку. Как ее декодировать я знаю.
     
  4. alexandrage

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

    Баллы:
    173
    После снятия бейс64.
    Код:
    public class Skins {
     
        long timestamp;
        String profileId;
        String profileName;
        Map<String, Map<String,String>> textures;
        //TODO гетеры
    }
    Gson gson = new Gson();
    gson.fromJson(json, Skins.class);
     
  5. Автор темы
    maxim0098

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

    Баллы:
    66
    Имя в Minecraft:
    Nanit
    Это понятно, у меня ступор на этот моменте
    PHP:
    CraftPlayer cp = (CraftPlayer)player;
    GameProfile profile cp.getProfile();
    Property property = (Property)profile.getProperties().get("textures");
    Я не понимаю почему property возвращает null. Скин на игроке есть.
     
  6. alexandrage

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

    Баллы:
    173
    Профиль как он идет с hasJoined можно в такой класс поместить.
    Код:
    public class Profile {
        String id;
        String name;
        Map<String, String> properties;
        //TODO гетеры
    }
    
     
  7. Автор темы
    maxim0098

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

    Баллы:
    66
    Имя в Minecraft:
    Nanit
    Все, понял как это делается, закрываю тему.
    Код:
    CraftPlayer cp = (CraftPlayer)player;
    GameProfile profile = cp.getProfile();
    Property property = (Property)profile.getProperties().get("textures").iterator().next();
    String value = property.getValue();
     
Статус темы:
Закрыта.

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