Nazwa użytkownika Minecrafta to 1–16 znaków z dokładnie trzech rodzajów, a UUID ma dwie formy
Litery, cyfry, podkreślenie. Bez myślników, bez kropek, bez spacji. A UUID jest akceptowane z myślnikami lub bez nich — dlatego jedno wyszukiwanie zawodzi, a identyczne działa.
Wyszukiwanie skina oznacza przekształcenie czegoś, co ktoś wpisał, w coś, co Mojang rozpoznaje, a mogą to być tylko dwie rzeczy. Obie mają precyzyjne zasady, a UUID ma pewną specyfikę, która powoduje wiele zgłoszeń typu „nie znaleziono”.
Zasada nazwy użytkownika
^[A-Za-z0-9_]{1,16}$
Trzy klasy znaków i nic więcej: litery, cyfry, podkreślenie. Długość od 1 do 16.
To, co jest wykluczone, jest istotne:
- bez myślników — najczęstsza rzecz, którą ludzie próbują wpisać
- bez kropek, bez spacji, bez
@ - nic powyżej 16 znaków i nic pustego
Więc nazwa wyświetlana z serwera, uchwyt Discorda czy adres e-mail nie zostaną rozpoznane, mimo że wyglądają jak nazwy. Jeśli wyszukiwanie zawodzi, a tekst zawiera myślnik, to prawie zawsze jest to powód — a myślnik to znak, który sprawia, że ludzie sięgają po inny format.
Zasada UUID i dlaczego ma dwie formy
^[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żdy -?: każdy myślnik jest opcjonalny. Obie te formy to to samo konto i obie są akceptowane:
069a79f4-44e9-4726-a5be-fca90e38aaf5 dashed
069a79f444e94726a5befca90e38aaf5 undashed
32 cyfry szesnastkowe, zgrupowane 8-4-4-4-12. Wielkość liter również nie ma znaczenia — A-F i a-f pasują.
Ma to znaczenie, ponieważ te dwie formy pochodzą z różnych miejsc. /data get na Graczu, usercache.json, konfiguracja wtyczki i własne API Mojang nie zgadzają się co do tego, którą formę emitują, więc spotkasz obie, a narzędzie, które akceptuje tylko jedną z nich, wygląda na zepsute przez połowę czasu.
-? jest na zasadzie separatora, a nie wszystko albo nic, więc częściowo myślnikowy ciąg znaków również przechodzi. Jest to bardziej liberalne niż ściśle poprawne, i celowo tak jest: odrzucanie wklejonego tekstu, ponieważ ktoś zgubił jeden myślnik, nikomu nie pomaga.
Dlaczego nazwa i UUID nie są zamienne
Nazwa użytkownika może być zmieniona i ponownie użyta; UUID nie. Więc wyszukiwanie nazwy użytkownika odpowiada na pytanie „kto ma tę nazwę w tej chwili”, a wyszukiwanie UUID odpowiada na pytanie „to konkretne konto, niezależnie od tego, jak się dziś nazywa”.
Dla wszystkiego, co przechowujesz — biała lista, tablica wyników, pakiet danych, głowa — UUID jest tym, co pozostaje poprawne. Nazwa użytkownika jest wygodna do wpisania.
Cztery animacje, to pozy w czasie
Przeglądarka oferuje animacje bezczynności (idle), chodzenia (walk), biegania (run) i latania (fly). Są to animacje, a nie statyczne pozy, co ma znaczenie przy ocenie skina: tekstura, która dobrze wygląda stojąc w miejscu, może wyglądać źle, gdy ramiona się poruszają, ponieważ boki ramienia — powierzchnie, których nigdy nie widać na płaskim podglądzie — stają się widoczne.
To jest argument za podglądem skina w ruchu, a nie tylko renderowaniem przodu i tyłu.