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

Работа с UUID (%username% <-> uuid)

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

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

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Есть ли в API ведра методы для запроса UUID игрока по нику и наоборот? Каким образом это сделать, когда нужный игрок оффлайн?
     
  2. Хостинг MineCraft
    <
  3. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Чисто технически у нескольких оффлайн игроков может быть одновременно одинаковое имя.
    То есть считается, что ник, сохранённый в мир/.../<uuid>.dat файле является "ником, с которым игрока видели последний раз". В Бакките обещали убрать метод OfflinePlayer.getName(), но после известных всем событий баккит не развивается, а md_5 оставил эту функцию в Spigot-е и она вполне себе работает.
    Основываясь на ней, можно сделать две вещи:
    • Зная UUID, получить .dat файл с OfflinePlayer и взять его last seen name.
    • Зная ник, прогнать цикл по всем известным серверу игрокам и выбрать того, у которого этот ник появлялся позже остальных.
    upload_2015-9-3_17-39-55.png

    Чтобы по нику игрока узнать точный UUID, кому он сейчас принадлежит, нужно делать вызов веб-метода UUID --> Name history. Ну не прям туда, но хотя бы на собственную php-обвязку.
     
  4. Автор темы
    saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Ясно. Встроенных средств толком нет. Придётся дергать authlib.
     

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