Nazwa użytkownika w Minecraft to 1–16 znaków dokładnie trzech rodzajów, a UUID ma dwie pisownie
Litery, cyfry, podkreślnik. Bez myślników, bez kropek, bez spacji. A UUID jest akceptowany z myślnikami lub bez nich — dlatego jedno wyszukiwanie zawodzi, a identyczne działa.
Wyszukanie skina oznacza zamianę czegoś, co ktoś wpisał, na coś, co Mojang rozpoznaje — a to może być tylko jedna z dwóch rzeczy. Obie mają precyzyjne zasady, a ta dotycząca UUID ma pewien szczegół, który powoduje mnóstwo zgłoszeń w stylu „pisze, że nie znaleziono”.
Zasada nazwy użytkownika
^[A-Za-z0-9_]{1,16}$
Trzy klasy znaków i nic więcej: litery, cyfry, podkreślnik. Długość od 1 do 16.
To, co jest wykluczone, okazuje się najciekawsze:
- żadnych myślników — to najczęstsza rzecz, której ludzie próbują
- żadnych kropek, spacji ani
@ - nic powyżej 16 znaków i nic pustego
Dlatego nazwa wyświetlana z serwera, nick na Discordzie czy adres e-mail nie zostaną rozpoznane, nawet jeśli wyglądają jak nazwy. Jeśli wyszukiwanie zawodzi, a tekst zawiera myślnik, to prawie zawsze właśnie przyczyna — a myślnik to ten znak, który skłania ludzi do sięgnięcia po inny format.
Zasada UUID i dlaczego ma dwie pisownie
^[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}$
Zwróć uwagę na każde -?: każdy myślnik jest opcjonalny. Oba poniższe zapisy dotyczą tego samego konta i oba są akceptowane:
069a79f4-44e9-4726-a5be-fca90e38aaf5 dashed
069a79f444e94726a5befca90e38aaf5 undashed
32 cyfry szesnastkowe, pogrupowane 8-4-4-4-12. Wielkość liter też nie ma znaczenia — A-F i a-f pasują tak samo.
Ma to znaczenie, bo obie formy pochodzą z różnych miejsc. usercache.json, konfiguracja pluginu i samo API Mojanga nie są zgodne co do tego, którą z nich wysyłają — a /data get gracza nie wyświetla żadnej z nich, tylko tablicę czterech liczb całkowitych ([I; …]) — więc spotkasz obie, a narzędzie, które akceptuje tylko jedną, przez połowę czasu wygląda na zepsute.
-? działa osobno dla każdego separatora, a nie na zasadzie wszystko-albo-nic, więc ciąg z częściowo zachowanymi myślnikami również przechodzi. Jest to bardziej pobłażliwe, niż ściśle poprawne — i celowo: odrzucenie wklejonego tekstu, bo komuś zginął jeden myślnik, nikomu nie pomaga.
Dlaczego nazwa i UUID nie są wymienne
Nazwę użytkownika można zmienić i użyć ponownie; UUID nie. Więc wyszukiwanie po nazwie odpowiada na pytanie „kto ma tę nazwę w tej chwili”, a wyszukiwanie po UUID odpowiada „to konkretne konto, niezależnie od tego, jak się dziś nazywa”.
Dla czegokolwiek, co przechowujesz — whitelisty, tablicy wyników, datapacka, głowy — to UUID pozostaje poprawne. Nazwa użytkownika jest tym, co wygodnie się wpisuje.
Cztery animacje, czyli pozy w czasie
Przeglądarka oferuje idle, walk, run i fly. To animacje, a nie statyczne pozy, co ma znaczenie przy ocenie skina: tekstura, która dobrze wygląda w bezruchu, może wyglądać źle, gdy ramiona się ruszają, bo wtedy odsłaniają się boki ramienia — ściany, których nigdy nie widzisz w płaskim podglądzie.
Właśnie dlatego warto oglądać skina w ruchu, zamiast renderować tylko przód i tył.