Guides / Commands & Data

Głowy graczy po nazwie użytkownika: jak działa komponent profilu i dlaczego głowy są puste

Głowa przechowuje migawkę skina, a nie aktywne łącze. Oto komponent profilu, wyjaśnienie, dlaczego stara głowa pokazuje zły skin i jak w to wszystko wpisuje się wyszukiwanie UUID.

Nadanie głowy gracza wydaje się być prostym argumentem. I jest, ale to, co zostaje zapisane, nie jest tym, czego ludzie się spodziewają, i to wyjaśnia większość dziwactw związanych z głowami.

Komenda

/give @p player_head[profile="Notch"]

Komponent profile zastąpił stary NBT SkullOwner. Fragmenty kodu używające {SkullOwner:"Notch"} pochodzą sprzed wersji 1.20.5 i obecnie nie działają.

Co faktycznie jest przechowywane

Głowa nie przechowuje nazwy użytkownika i nie pobiera skina później. Kiedy głowa jest tworzona, serwer rozwiązuje nazwę do UUID i migawki tekstury, a następnie zapisuje to w przedmiocie:

"profile": {
  "name": "Notch",
  "id": [I; …],
  "properties": [{ "name": "textures", "value": "<base64>" }]
}

Dwie konsekwencje:

  • Głowa stworzona rok temu pokazuje skin z tamtego roku. Zmiana skina przez gracza nie aktualizuje głów już znajdujących się w świecie. To nie jest błąd i nie ma odświeżania.
  • Głowy działają offline. Po zapisaniu, nie jest potrzebny żaden Zew (Call) API Mojang do jej renderowania, dlatego głowy przetrwają na serwerach w trybie offline, podczas gdy /give ... profile="Name" nie zostanie tam rozwiązane.

Dlaczego głowa jest pusta lub pokazuje Steve'a

W kolejności prawdopodobieństwa:

  1. Nazwa nie została rozwiązana. Serwer w trybie offline lub API było niedostępne, gdy uruchomiono komendę. Nic do zapisania, więc otrzymujesz domyślną głowę.
  2. Nazwa nie istnieje. Mojang nie zwraca nic dla usuniętych lub nigdy niezarejestrowanych kont.
  3. Chunk nie został ponownie załadowany. Głowa rozwiązuje się asynchronicznie; czasami trzeba odwrócić wzrok i spojrzeć ponownie.

Czekanie rzadko pomaga — jeśli profil nie został zapisany podczas tworzenia, pozostaje pusty. Nadaj głowę ponownie.

Niestandardowe głowy używają tekstury, a nie nazwy

Dekoracyjne głowy — meble, jedzenie, głowy mobów z katalogów — nie mają właściciela. Przenoszą tylko wartość tekstury properties z blobem base64 wskazującym na URL tekstury. Dlatego można je udostępniać jako pojedynczą długą komendę give i dlatego nigdy się nie psują, gdy gracz zmienia nazwę.

Base64 dekoduje się do małego JSON-a zawierającego textures.SKIN.url na textures.minecraft.net. Nic innego w nim nie ma znaczenia dla renderowania.

Formaty UUID

Istnieją dwie formy i nie są one zamienne w każdym kontekście:

trimmed   069a79f444e94726a5befca90e38aaf5
dashed    069a79f4-44e9-4726-a5be-fca90e38aaf5

Komendy i NBT zazwyczaj wymagają formy z myślnikami lub tablicy liczb całkowitych. Web API zazwyczaj zwracają skróconą formę. Konwersja między nimi jest mechaniczna — wstaw myślniki po 8, 12, 16 i 20 znakach.

Nadaj głowę na podstawie nazwy użytkownika, przeglądaj katalogi dekoracyjnych głów lub konwertuj między formatami UUID w Narzędziach do Głów Graczy i Nazw Użytkowników.

Głowy i nicki graczy →

More guides

Browse all →

Szukasz innych narzędzi do Minecrafta?

Zestaw generatorów, podglądów i konwerterów działających w przeglądarce — wszystkie za darmo.