
Compreendendo o Figuredata Habbo
2) Antes de começar, precisamos aprender como as roupas são estruturadas. Vamos entender na tabela abaixo, como cada roupa é identificada.
Nome da categoria | Ícone de categoria | Identificador de subcategoria | Nome da subcategoria | Ícone de subcategoria | Exemplos |
---|---|---|---|---|---|
Torso | ![]() |
ca |
Bijuteria/Jóias (acessórios de topo) | ![]() ![]() |
|
Torso | ![]() |
cc |
Casacos/Vestidos/Jaquetas | ![]() ![]() |
|
Torso | ![]() |
ch |
Camisas | ![]() ![]() |
|
Torso | ![]() |
cp |
Estampas/Impressões | ![]() ![]() |
|
Cabeça | ![]() |
ea |
Óculos | ![]() ![]() |
|
Cabeça | ![]() |
fa |
Máscaras (acessórios faciais) | ![]() ![]() |
|
Cabeça | ![]() |
ha |
Chapéus | ![]() ![]() |
|
Corpo | ![]() |
hd |
Rosto e Corpo | ![]() ![]() ![]() ![]() |
|
Cabeça | ![]() |
he |
Acessórios | ![]() ![]() |
|
Cabeça | ![]() |
hr |
Cabelo/Penteados | ![]() ![]() |
|
Pernas | ![]() |
lg |
Calça | ![]() ![]() |
|
Pernas | ![]() |
sh |
Sapato | ![]() ![]() |
|
Pernas | ![]() |
wa |
Cintos (acessórios para a parte inferior) | ![]() ![]() |
🟡 Anteriormente também identificamos as categorias FC (rostos) e EY (olhos) nos arquivos do habbo e que não existem na nova documentação.
3) Vamos analisar os códigos da primeira paleta do figuredata. Note que existem três paletas de cores. A paleta de número 1 é utilizada para dar cor a pele do personagem, a paleta 2 é usada para cor de cabelo e a paleta 3 é utilizada para roupas que possuem uma ou duas cores.
CÓDIGO | INDEX | HC | COR |
---|---|---|---|
14 | 0 | 0 | cor |
10 | 1 | 0 | cor |
1 | 2 | 0 | cor |
8 | 3 | 0 | cor |
12 | 4 | 0 | cor |
1369 | 5 | 0 | cor |
1370 | 6 | 0 | cor |
19 | 7 | 0 | cor |
20 | 8 | 0 | cor |
1371 | 9 | 0 | cor |
30 | 10 | 0 | cor |
1372 | 11 | 2 | cor |
1373 | 12 | 2 | cor |
21 | 13 | 2 | cor |
1374 | 14 | 2 | cor |
1375 | 15 | 2 | cor |
1376 | 16 | 2 | cor |
1377 | 17 | 2 | cor |
1378 | 18 | 2 | cor |
1379 | 19 | 2 | cor |
1380 | 20 | 2 | cor |
1381 | 21 | 2 | cor |
1382 | 22 | 2 | cor |
1383 | 23 | 2 | cor |
1384 | 24 | 2 | cor |
1368 | 25 | 2 | cor |
1367 | 26 | 2 | cor |
1366 | 27 | 2 | cor |
1358 | 28 | 2 | cor |
1385 | 29 | 2 | cor |
1386 | 30 | 2 | cor |
1387 | 31 | 2 | cor |
5 | 32 | 2 | cor |
1389 | 33 | 2 | cor |
4 | 34 | 2 | cor |
1388 | 35 | 2 | cor |
1359 | 36 | 2 | cor |
3 | 37 | 2 | cor |
18 | 38 | 2 | cor |
17 | 39 | 2 | cor |
9 | 40 | 2 | cor |
1357 | 41 | 2 | cor |
1390 | 42 | 2 | cor |
1391 | 43 | 2 | cor |
11 | 44 | 2 | cor |
2 | 45 | 2 | cor |
7 | 46 | 2 | cor |
15 | 47 | 2 | cor |
13 | 48 | 2 | cor |
22 | 49 | 2 | cor |
23 | 50 | 2 | cor |
24 | 51 | 2 | cor |
1361 | 52 | 2 | cor |
1362 | 53 | 2 | cor |
1360 | 54 | 2 | cor |
26 | 55 | 2 | cor |
28 | 56 | 2 | cor |
1392 | 57 | 2 | cor |
1393 | 58 | 2 | cor |
25 | 59 | 2 | cor |
1363 | 60 | 2 | cor |
1364 | 61 | 2 | cor |
1365 | 62 | 2 | cor |
29 | 63 | 2 | cor |
27 | 64 | 2 | cor |
1001 | 65 | 0 | cor |
1002 | 66 | 0 | cor |
1003 | 67 | 0 | cor |
1004 | 68 | 0 | cor |
1005 | 69 | 0 | cor |
1006 | 70 | 0 | cor |
1007 | 71 | 0 | cor |
1008 | 72 | 0 | cor |
1009 | 73 | 0 | cor |
1010 | 74 | 0 | cor |
1011 | 75 | 0 | cor |
1012 | 76 | 0 | cor |
1013 | 77 | 0 | cor |
1014 | 78 | 0 | cor |
1015 | 79 | 0 | cor |
1016 | 80 | 0 | cor |
1017 | 81 | 0 | cor |
1018 | 82 | 0 | cor |
1019 | 83 | 0 | cor |
1020 | 84 | 0 | cor |
1021 | 85 | 0 | cor |
1022 | 86 | 0 | cor |
1023 | 87 | 0 | cor |
1024 | 88 | 0 | cor |
1025 | 89 | 0 | cor |
1026 | 90 | 0 | cor |
6 | 91 | 0 | cor |
16 | 92 | 0 | cor |
(Paleta 1) Cores para pele

(Paleta 2) Cores para cabelo

(Paleta 3) Cores para roupas de 1 cor

(Paleta 3) Cores para roupas de 2 cores

4) Recapitulando:
Paleta 1 - Cores para sua pele.
Paleta 2 - Cores para seu cabelo.
Paleta 3 - Cores para roupas de 1 ou 2 cores.
5) Para fins de identificação das categorias das roupas, utilizamos as separações abaixo, sendo que todas as roupas de cada categoria são separadas e estão dentro de um "type".
type="hr" paletteid="2"
type="hd" paletteid="1"
type="ch" paletteid="3"
type="lg" paletteid="3"
type="sh" paletteid="3"
type="ha" paletteid="3"
type="he" paletteid="3"
type="ea" paletteid="3"
type="fa" paletteid="3"
type="ca" paletteid="3"
type="wa" paletteid="3"
type="cc" paletteid="3"
type="cp" paletteid="3"
🟡 Como você viu, as roupas identificadas como HR utilizam a paleta 2 que são as cores para Cabelo/Penteados. Já as roupas HD utilizam a cor da paleta 1, que são as cores para o Rosto e Corpo do personagem. Por fim, a paleta 3 será utilizada para colorir todas as demais roupas que possuem um ou dois tons.

6) Vamos utilizar como exemplo a roupa de id="3811". Com isso conseguimos saber:
- id="3811" - o identificador da roupa dentro do jogo.
- gender="U" - Gêneros que podem utilizar (F - Exclusivo para personagem Feminino), (M - Exclusivo para personagem Masculino), (U - Unissex/todos)
- club="0" - Se "2" é Exclusivo para Habbo Club e se "0" não é exclusivo do clube de assinaturas.
- colorable="0" - Se "1" é possível utilizar as cores da paleta para colorir a peça de roupa ou se "0" é possível utilizar apenas a cor padrão da roupa comprada já definida pelo jogo.
- selectable="1" - Sem informação.
- preselectable="0" - Se "1", pode presentear, já se "0" não pode presentear.
- sellable="1" - Se "1" pode vender/negociar, já se "0" não é negociável.

7) Agora vamos encontrar a imagem da roupa.
Como já sabemos que o item pertence à categoria HR, isso indica que se trata de um cabelo/penteado. O código encontrado para esse cabelo é 3811, e podemos visualizar a imagem diretamente no servidor do Habbo. Para isso, utilize o seguinte formato de link:
Exemplo: https://www.habbo.com/habbo-imaging/avatarimage?size=l&figure=hr-3811
Basta adicionar o código do item (neste caso, hr-3811) ao final da URL, como demonstrado acima.

8) Gerando os links direto do servidor
Agora podemos entender como nosso avatar do link acima é gerado. Ele é acompanhado pelos códigos necessários para gerar a roupa que está utilizando. Quanto mais coisas um avatar estiver utilizando, mais você verá esse link preenchido com as informações do tipo, roupa e cor.
https://www.habbo.com/habbo-imaging/avatarimage?figure=hr-3811-61.hd-190-7.ch-3030-66.lg-275-82.sh-290-80&gender=M&direction=2&head_direction=2&img_format=png&action=gesture=nrm&&size=l
.hr-3811 - Cabelos/penteados
.hd-190 - Tons da pele
.ch-3030 - Camiseta básica
.lg-275 - Shorts básico
.sh-290 - Sapatos básicos
Sendo assim, o link gerador de guarda-roupa/avatar imager utilizará a categoria, seguido do ID da roupa e da cor da peça, seguindo a paleta Habbo. Se for da categoria HR utilizará a cor da paleta 2, se for HD utilizará as cores da paleta 1 e se for qualquer outra categoria, utilizará as cores da paleta 3.
.hr-3811-61
.hd-190-7
.ch-3030-66
.lg-275-82
.sh-290-80
9) Agora vamos aprender a identificar manualmente as peças como normais, NFT, HC, Raro ou LTD.
- • As roupas normais e antigas do personagem no Habbo são permanentes no guarda-roupa e foram introduzidas nos primeiros anos do jogo. Com o passar do tempo, o Habbo começou a lançar roupas exclusivas para venda, criando uma nova economia dentro do jogo. No figuredata.xml elas não possuem a termologia sellable="1" no final do seu código.
- • Como já vimos, as roupas HC são identificadas dentro do figuredata como club="2".
- • As roupas NFT são catalogadas dentro de coleções no furnidata.json. Exemplo "furniline":"nft2025", sendo que até o momento da publicação desse tutorial tinhamos as coleções ["nft2025", "nft2024", "nft2023", "nft", "nftmint", "testing"];
- • As roupas classificadas como raro são nomeadas no furnidata.json com o "classname" iniciado com o nome "clothing_r...", exemplo "classname":"clothing_r16_helmhero".
- • As roupas classificadas como LTD seguem essa mesma premissa e são nomeadas no furnidata.json com o "classname" iniciado com o nome "clothing_ltd...", exemplo "classname":"clothing_ltd23_solarpunkbunny".
10) Identificando roupas com 2 tons
As roupas em que a paleta 3 é utilizada e possuem dois tons de cor, utilizam no figuredata.xml a identificação colorindex="1" e colorindex="2", ou seja, se houver partes com colorindex 1 e 2, a roupa será definida como duotone.

🟡 Interprete "colorindex" como uma propriedade z-index do HTML que define as partes do personagem que serão coloridas. Se houver mais partes para colorir, o programa indicará quais partes serão coloridas. Entenda mais em Z-Index Developer.
11) Identificando roupas por sexo/gênero Habbo (gender system)
No figuredata.xml as roupas possuem três tipos de classificação.
gender="F" - Roupas femininas.
gender="M" - Roupas masculinas.
gender="U" - Roupas Unissex/todos podem usar.

Além disso, algumas roupas possuem duas versões dela mesma, sendo uma para o gênero masculino e outra para o gênero feminino.
Veja os exemplos abaixo:
Yukata Onsen - 5029, 5030
(Masculina/Feminina)
Camisa Estampada Boho - 4350, 4351
(Masculina/Feminina)
12) Conjuntos de roupas e suas partes
Algumas roupas são vendidas como um conjunto na Habbo Loja/catálogo mas são várias partes separadas no avatar imager/vestiário Habbo.
Macacão Coelhinho - .ch-3923 .ha-3922 .lg-3924
Traje Governanta - .ch-4289 .hr-4273
Testes - DEV
Acesse nosso código aberto no codepen e aprenda mais sobre isso manipulando o código do vestiário em Guarda-roupa Habbo.
Aprenda também a alimentar o json do código de vestiário acima utilizando nosso Conversor de Json Figuredata de XML para Json Versão Habbo, verique o JS do código para explicação do preenchimento e uso do código.
Veja mais também em Habbo Avatar Figure Notation (HAFN) v2.0
{getProduct} $button1={Leitura Anterior - Descobrindo a imagem de novas roupas} $link1={https://viajovem.blogspot.com/2025/05/vida-de-jornalete-descobrindo-imagem-de.html} $button2={Próxima leitura - Construindo o personagem Habbo} $link2={https://viajovem.blogspot.com/2025/01/vida-de-jornalete-construindo-o.html} $price={Série Vida de Jornalete} $free={yes} $icon={series} $style={1}