Имя пользователя 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 оба совпадают.
Это важно, потому что две формы приходят из разных мест. /data get на Игроке, usercache.json, конфигурация плагина и собственный API Mojang не согласуются в том, какой из них они выдают, поэтому вы встретите оба, и инструмент, который принимает только один из них, будет выглядеть неисправным половину времени.
-? применяется к каждому разделителю, а не по принципу «всё или ничего», поэтому частично разделённая дефисами Нить также проходит проверку. Это более разрешительно, чем строго правильно, и сделано намеренно: отклонение вставки из-за того, что кто-то потерял один дефис, никому не помогает.
Почему имя и UUID не взаимозаменяемы
Имя пользователя можно изменить и повторно использовать; UUID нельзя. Таким образом, поиск по имени пользователя отвечает на вопрос «кто имеет это имя прямо сейчас», а поиск по UUID отвечает на вопрос «эта конкретная учётная запись, как бы она ни называлась сегодня».
Для всего, что вы храните — белый список, таблица результатов, набор данных, голова — UUID остаётся правильным. Имя пользователя удобно вводить.
Четыре анимации, и это позы во времени
Просмотрщик предлагает бездействие (idle), ходьбу (walk), бег (run) и полёт (fly). Это анимации, а не статические позы, что важно для оценки скина: текстура, которая хорошо выглядит в неподвижном состоянии, может выглядеть неправильно, когда руки начинают двигаться, потому что боковые стороны руки — грани, которые вы никогда не видите на плоском предварительном просмотре — становятся видимыми.
Это аргумент в пользу предварительного просмотра скина в движении, а не просто отрисовки спереди и сзади.