Slim ou clássico: o jogo lê a sua conta, e uma ferramenta precisa adivinhar a partir de 24 pixels
O jogo usa slim ou clássico a partir da configuração de skin da sua conta, não do PNG. Uma ferramenta que recebe só um PNG precisa adivinhar a partir de duas colunas que um braço slim deixa vazias. Além disso, o mapa UV completo e por que skins antigas de 64×32 são espelhadas.
Nada em um PNG de skin diz "slim". Não existe flag nem convenção de nome de arquivo — e o jogo nunca olha para os pixels para descobrir. Ele pega o modelo da configuração model que a sua conta anexa à skin (a escolha que você faz ao enviá-la), e um perfil sem skin recebe uma das 18 skins padrão, 9 slim e 9 clássicas, escolhida a partir do UUID.
Só uma ferramenta que recebe um PNG puro — um editor, um criador de pacotes, um visualizador — precisa inferir o modelo, e faz isso olhando para um retângulo específico de 2 × 12 e contando quantos dos seus pixels realmente estão lá.
O teste
sample x 54–55, y 20–31 — 2 wide, 12 tall = 24 pixels
count pixels with alpha > 0
slim if fewer than 6 are opaque
Braços clássicos têm 4 pixels de largura; braços slim têm 3. As faces de um braço slim são compactadas um pixel mais estreitas, então as faces lateral e traseira se deslocam para a esquerda e as duas últimas colunas do bloco do braço, x 54–55, ficam vazias. Nas próprias skins padrão da Mojang, esse retângulo tem 0 de 24 opacos em todas as nove slim e 24 de 24 em todas as nove clássicas — vinte e quatro pixels bastam para distinguir.
O limite é 6 de 24, não 1 — um quarto da coluna precisa estar preenchido para contar como clássico. Essa tolerância importa: uma skin slim com alguns pixels perdidos na coluna morta ainda é lida como slim, o que é o desejado, porque esses pixels perdidos quase sempre são um acidente de edição e não uma intenção.
Isso também significa que o modo de falha é silencioso. Se você desenha uma skin clássica mas usa essas colunas de forma leve — um contorno fino, alguns pixels de sombreamento — pode ficar abaixo de 6 e ser detectada automaticamente como slim, perdendo um pixel de largura do braço sem nada que explique o motivo. Se uma skin sai com o modelo errado em uma ferramenta, essas colunas são o lugar para olhar — e, no jogo, a configuração na sua conta é.
O mapa UV, por completo
Cada parte da skin é um retângulo fixo, e cada uma tem uma camada de sobreposição em outro lugar da folha:
| parte | base | sobreposição | deslocamento | tamanho |
|---|---|---|---|---|
| cabeça | (8, 8) | chapéu (40, 8) | 32 à direita | 8 × 8 |
| corpo | (20, 20) | jaqueta (20, 36) | 16 para baixo | 8 × 12 |
| braço direito | (44, 20) | manga (44, 36) | 16 para baixo | 4 × 12 |
| perna direita | (4, 20) | calça (4, 36) | 16 para baixo | 4 × 12 |
| braço esquerdo | (36, 52) | manga (52, 52) | 16 à direita | 4 × 12 |
| perna esquerda | (20, 52) | calça (4, 52) | 16 à esquerda | 4 × 12 |
Cinco das seis sobreposições ficam exatamente 16 pixels da sua base — mas não na mesma direção. As três partes originais vão 16 para baixo. O braço esquerdo e a perna esquerda, adicionados depois e espremidos na metade inferior, onde não havia espaço abaixo deles, vão 16 para o lado — e em direções opostas entre si.
O chapéu é o único que não fica a 16 de distância: ele fica 32 à direita, na mesma linha da cabeça.
Então "a sobreposição fica abaixo da base" é uma regra que vale para exatamente metade da folha. Copiar um retângulo base e deslocá-lo para baixo para encontrar sua sobreposição funciona para o corpo, o braço direito e a perna direita, e cai silenciosamente na parte errada para as outras três.
Em uma skin slim, todo retângulo de braço com 4 de largura é lido como 3 de largura. As faces frontais não se movem, mas tudo depois delas sim: a face lateral e a face traseira começam um pixel mais à esquerda, e a face traseira é um pixel mais estreita, o que deixa x 54–55 vazios.
O formato legado 64 × 32 não tem lado esquerdo nenhum
Uma skin anterior à 1.8 tem 64 × 32 — a metade inferior da folha simplesmente não existe, que é onde ficam o braço esquerdo e a perna esquerda. Não há de onde desenhá-los.
A solução é o espelhamento: a perna direita (0, 16) é copiada para (16, 48) e o braço direito (40, 16) para (32, 48), ambos invertidos horizontalmente. É por isso que skins antigas são perfeitamente simétricas e as modernas não precisam ser — a assimetria é a única coisa que o formato 64 × 32 não consegue expressar, e qualquer skin antiga que você converter recebe simetria imposta, querendo ou não.
Um arquivo de editor 128 × 128 é o mesmo layout, o dobro do tamanho
O Java aceita 64 × 64 ou o legado 64 × 32 e rejeita qualquer outra coisa. O editor de skins de Bedrock deste site trabalha em 128 × 128 e não aceita nada além disso — mas esse arquivo é o mesmo layout UV desenhado com o dobro da resolução, cada parte com o dobro das coordenadas do Java, não um formato diferente.
A barreira está nas ferramentas, não no layout. O pipeline de texturas de cada build de editor é dimensionado para o seu próprio número, então nenhum abre o arquivo do outro, e um PNG 128 × 128 entregue ao Java é rejeitado em vez de exibido pela metade. Converter é uma escala mecânica de 2×, e é por isso que o editor de skins trata os dois como builds separados em vez de uma única tela.