MC Toolkit

Guias / Comandos e dados

Cabeças de jogador por nome de usuário: como o componente de perfil funciona e por que elas ficam em branco

Uma cabeça armazena um snapshot da skin, não um link dinâmico. Entenda o componente de perfil, por que uma cabeça antiga mostra a skin errada e como a busca por UUID se encaixa nisso.

Dar uma cabeça de jogador parece exigir um argumento simples. E exige, mas o valor armazenado não é o que as pessoas esperam — daí vem a maioria dos comportamentos estranhos dessas cabeças.

O comando

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

O componente profile substituiu o antigo NBT SkullOwner. Trechos de código usando {SkullOwner:"Notch"} são anteriores à versão 1.20.5 e não funcionam mais.

O que realmente é armazenado

Uma cabeça não armazena um nome de usuário para buscar a skin depois. Quando a cabeça é criada, o servidor resolve o nome para um UUID e um snapshot da textura, e incorpora isso ao item:

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

Duas consequências:

  • Uma cabeça feita há um ano mostra a skin daquele ano. O jogador mudar sua skin não atualiza as cabeças já existentes no mundo. Isso não é um bug e não há atualização.
  • As cabeças funcionam offline. Uma vez incorporadas, nenhuma chamada à API da Mojang é necessária para renderizá-las, e é por isso que as cabeças sobrevivem em servidores offline, enquanto /give ... profile="Name" não é resolvido lá.

Por que uma cabeça está em branco ou mostra o Steve

Em ordem de probabilidade:

  1. O nome não foi resolvido. Servidor em modo offline, ou a API estava inacessível quando o comando foi executado. Nada para incorporar, então você recebe um padrão.
  2. O nome não existe. A Mojang não retorna nada para contas excluídas ou nunca registradas.
  3. Chunk não recarregado. A cabeça é resolvida assincronamente; ocasionalmente você precisa desviar o olhar e olhar de volta.

Esperar raramente ajuda — se o perfil não foi incorporado na criação, ele permanece vazio. Dê a cabeça novamente.

Cabeças personalizadas usam a textura, não um nome

Cabeças decorativas — móveis, comida, cabeças de criaturas de catálogos — não têm proprietário. Elas carregam apenas o valor de textura properties com um blob base64 apontando para uma URL de textura. É por isso que elas podem ser compartilhadas como um único comando give longo e por que nunca quebram quando um jogador muda de nome.

O base64 decodifica para um pequeno JSON contendo um textures.SKIN.url em textures.minecraft.net. Nada mais nele importa para a renderização.

Formatos de UUID

Existem duas formas e elas não são intercambiáveis em todos os contextos:

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

Comandos e NBT geralmente querem a forma com hífens ou um array de inteiros. As APIs web geralmente retornam a forma sem hífens. Converter entre elas é mecânico — insira hífens após 8, 12, 16 e 20 caracteres.

Dê uma cabeça a partir de um nome de usuário, navegue por catálogos de cabeças decorativas ou converta entre formatos de UUID nas Ferramentas de Cabeça de Jogador e Nome de Usuário.

Cabeças e nomes de jogador →

Mais guias

Ver todos →

Procurando mais ferramentas de Minecraft?

Um conjunto de geradores, visualizadores e conversores que rodam no navegador — tudo grátis.