Руководства / Команды и данные
Никнейм в Minecraft — это 1–16 символов ровно из трёх вещей, а у UUID есть два написания
Буквы, цифры, подчёркивание. Без дефисов, без точек, без пробелов. А UUID принимается и с дефисами, и без них — поэтому один запрос не находит ничего, а точно такой же работает.
Поиск скина — это превращение того, что человек набрал, в то, что Mojang узнаёт, а узнать она может только две вещи. У обеих есть точные правила, и в случае с UUID есть одна загвоздка, из-за которой появляется куча сообщений «пишет, что не найдено».
Правило для никнейма
^[A-Za-z0-9_]{1,16}$
Три класса символов и ничего больше: буквы, цифры, подчёркивание. Длина — от 1 до 16.
Самое полезное здесь — то, что исключается:
- никаких дефисов — чаще всего люди пробуют именно их
- никаких точек, пробелов и
@ - ничего длиннее 16 символов и ничего пустого
Поэтому отображаемое имя с сервера, ник в Discord или адрес электронной почты не найдутся, хотя и выглядят как имена. Если поиск не сработал, а в строке есть дефис — почти всегда причина именно в этом, и именно дефис заставляет людей хвататься за другой формат.
Правило для UUID и почему у него два написания
^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$
Обратите внимание на каждый -?: все дефисы необязательны. Вот это — один и тот же аккаунт, и оба варианта принимаются:
069a79f4-44e9-4726-a5be-fca90e38aaf5 dashed
069a79f444e94726a5befca90e38aaf5 undashed
32 шестнадцатеричные цифры, сгруппированные как 8-4-4-4-12. Регистр тоже не важен — и A-F, и a-f совпадут.
Это важно, потому что две формы приходят из разных мест. usercache.json, конфиг плагина и собственный API Mojang не сходятся в том, какую из них выдавать — а /data get на игрока не выводит ни ту, ни другую, а массив из четырёх целых чисел ([I; …]) — так что вы встретите обе, и инструмент, принимающий только одну из них, половину времени выглядит сломанным.
У -? проверка идёт по каждому разделителю отдельно, а не по принципу «всё или ничего», поэтому строка с частью дефисов тоже пройдёт. Это мягче, чем строго правильно, и намеренно: отклонить вставленный текст только потому, что кто-то потерял один дефис, никому не поможет.
Почему имя и UUID не взаимозаменяемы
Никнейм можно сменить и занять заново; UUID — нельзя. Поэтому поиск по никнейму отвечает на вопрос «у кого это имя прямо сейчас», а поиск по UUID — «этот конкретный аккаунт, как бы он сегодня ни назывался».
Для всего, что вы храните — вайтлиста, таблицы очков, датапака, головы, — правильным остаётся UUID. А никнейм — это то, что удобно набрать.
Четыре анимации, и это позы во времени
Просмотрщик предлагает idle, walk, run и fly. Это анимации, а не статичные позы, и для оценки скина это важно: текстура, которая хорошо читается в неподвижности, может выглядеть неправильно, как только руки придут в движение, потому что в поле зрения попадут боковые стороны руки — грани, которых никогда не видно на плоском превью.
Вот ради чего вообще стоит смотреть скин в движении, а не просто отрисовывать вид спереди и сзади.