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

Помогите Плагин хоумов и UUID

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

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

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

    Баллы:
    78
    Имя в Minecraft:
    DoctorBooooom
    Я пишу плагин хоумов и у меня возникла проблема:
    Игрок пишет /home <ник> как узнать UUID игрока с ником <ник>, если getPlayer(String name), больше не будет поддерживаться?
    Я изначально думал сделать так:
    Код:
    this.getServer().getPlayer(<ник>).getUniqueId();
    Но соответственно скоро оно работать не будет. Как быть?
     
  2. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    Покопался в официальном форуме, вот что нашел:
    Код:
    getServer().getPlayer(UUID.fromString(args[0]));
    Работает ли она я не знаю.
     
  3. Автор темы
    DoctorBooooom

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

    Баллы:
    78
    Имя в Minecraft:
    DoctorBooooom
    Дл того что бы оно работало должна быть команда: /home XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, а игрок как мне кажется UUID видеть не будет. Только ник.
     
  4. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    Код:
    String playername = args[0];
    UUID uuid = UUID.fromString(playername);
    this.getServer().getPlayer(uuid);
    Попробуй.
     
  5. Автор темы
    DoctorBooooom

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

    Баллы:
    78
    Имя в Minecraft:
    DoctorBooooom
    UUID.FromString не сделает из имени игрока UUID. Да и к тому же мо сервер уже сгенерировал для игроков UUIDы.
    Код:
    public static UUID fromString(String name) {
            String[] components = name.split("-");
            if (components.length != 5)
                throw new IllegalArgumentException("Invalid UUID string: "+name);
            for (int i=0; i<5; i++)
                components[i] = "0x"+components[i];
    
            long mostSigBits = Long.decode(components[0]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[1]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[2]).longValue();
    
            long leastSigBits = Long.decode(components[3]).longValue();
            leastSigBits <<= 48;
            leastSigBits |= Long.decode(components[4]).longValue();
    
            return new UUID(mostSigBits, leastSigBits);
        }
     
  6. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Где-то на форумах в ресурсах есть такой Lib.
     
  7. Smaylik03

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

    Баллы:
    88
    Skype:
    Bruse_Williams
    Имя в Minecraft:
    Alex_Wells
    Сдурели все? Вам не нужно его генерировать! Я сам незнаю как сделать, но у меня есть библиотека от Mojang и там есть такие функции...
     
  8. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Как же это было давно.. Зачем апать? Да и покажи-ка библиотеку, никогда Mojang не делали никаких библиотек, как я помню.
     
    ПриветОтЛайки нравится это.
  9. Smaylik03

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

    Баллы:
    88
    Skype:
    Bruse_Williams
    Имя в Minecraft:
    Alex_Wells
    Ой, невидел, сильно сильно извиняюсь.. раз попросил библиотеку.. лови:

    На яндекс не заходит, вот ЭрГост: http://rghost.ru/55824556
     
  10. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Будет поддерживаться, никуда оно не денется.
     
    Лайка и makssof нравится это.
  11. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Мелкая поправочка (Не смотря на дату создания темы):
    .getUniqueId() возвращает экземпляр класса UUID. Что бы это, например, записать в конфиг надо .getUniqueId().toString();
     
    Лайка нравится это.

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