Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

saharin94

Старожил
Заблокирован
Пользователь
Баллы
173
Имя в Minecraft
RubukkitDniwe
Есть ли в API ведра методы для запроса UUID игрока по нику и наоборот? Каким образом это сделать, когда нужный игрок оффлайн?
 
Чисто технически у нескольких оффлайн игроков может быть одновременно одинаковое имя.
То есть считается, что ник, сохранённый в мир/.../<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-обвязку.
 
Ясно. Встроенных средств толком нет. Придётся дергать authlib.
 

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

Назад
Верх