# Conjuntos

Los Outfits son los outfits guardados de un jugador. Un outfit está compuesto por body shape, skin, hair, eyes y configuraciones de wearables.

### Punteros <a href="#pointers" id="pointers"></a>

Outfits [pointers](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) son la dirección de Ethereum del propietario con un "`:outfits`" sufijo. Por ejemplo:

```
0x210c4415d6a71195af76beef9b85dd0eb43f35df:outfits
```

### Campos de metadata

| Campo                | Valor                                                                                                            |
| -------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `outfits`            | Un arreglo de descripciones para cada outfit (ver abajo).                                                        |
| `namesForExtraSlots` | Un arreglo de names owned usado para validar extra slots. Por cada name owned, se concede un extra slot hasta 5. |

### Outfits

Cada outfit en `metadata.outfits[]` representa un outfit del usuario, y tiene una serie de propiedades:

| Campo    | Valor                               |
| -------- | ----------------------------------- |
| `slot`   | Número de slot del outfit guardado. |
| `outfit` | El outfit guardado (ver abajo).     |

Un ejemplo:

```json
{
  "slot": 1,
  "outfit": {
    // Ver abajo
  }
}
```

#### Campo del Outfit

El `metadata.outfits[].outfit` campo tiene toda la información para guardar el outfit de un jugador y renderizarlo.

| Campo       | Valor                                                                                                                                                         |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bodyShape` | El [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) al entity de body shape del avatar.                               |
| `eyes`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para los ojos del avatar.                                                                     |
| `hair`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para el hair del avatar.                                                                      |
| `skin`      | Un objeto con un `color` en la forma de un `{ r, g, b }` objeto para el skin del avatar.                                                                      |
| `wearables` | Un arreglo de [wearable pointers](https://github.com/decentraland/docs/blob/main/contributor/entity-types/wearables/README.md#pointers) en uso por el avatar. |

Para ilustrar:

```json
{
  "bodyShape": "urn:decentraland:off-chain:base-avatars:BaseMale",
  "eyes": {
    "color": { "r": 0.37109375, "g": 0.22265625, "b": 0.1953125 }
  },
  "hair": {
    "color": { "r": 0.234375, "g": 0.12890625, "b": 0.04296875 }
  },
  "skin": {
    "color": { "r": 0.80078125, "g": 0.609375, "b": 0.46484375 }
  },
  "wearables": [
    "urn:decentraland:off-chain:base-avatars:eyes_00",
    "urn:decentraland:off-chain:base-avatars:eyebrows_00",
    "urn:decentraland:off-chain:base-avatars:mouth_00",
    "urn:decentraland:off-chain:base-avatars:m_mountainshoes.glb",
    "urn:decentraland:off-chain:base-avatars:sport_jacket",
    "urn:decentraland:off-chain:base-avatars:brown_pants",
    "urn:decentraland:off-chain:base-avatars:aviatorstyle",
    "urn:decentraland:off-chain:base-avatars:casual_hair_03",
    "urn:decentraland:off-chain:base-avatars:Mustache_Short_Beard"
  ]
}
```
