# Wearables

Los wearables son los [entidades](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md) que contienen artículos para que los jugadores los lleven y personalicen sus avatares.

El `wearables` campo en el [perfil](https://github.com/decentraland/docs/blob/main/contributor/entity-types/profiles/README.md) de un jugador contiene una lista de punteros a los artículos que está usando actualmente.

Cada wearable pertenece a una *categoría*, que indica el lugar que ocupa en el cuerpo del avatar y puede ocultar o reemplazar otras categorías (por ejemplo, un vestido largo puede usarse como prenda superior pero cubrir por completo las piernas).

Hay 18 categorías de wearables, referenciadas en varios campos de metadatos: `body_shape`, `hair`, `eyes`, `eyebrows`, `facial_hair`, `mouth`, `upper_body`, `lower_body`, `feet`, `hat`, `helmet`, `mask`, `tiara`, `top_head`, `earring`, `eyewear`, `skin` y `hands_wear`.

Las entidades wearable incluyen archivos en formato GLB para diferentes body shapes.

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

Los wearables tienen exactamente un asociado [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md), que indica la [collection](https://github.com/decentraland/docs/blob/main/contributor/entity-types/collections/README.md) a la que pertenecen y su identificador dentro de la misma.

Cuando el wearable es un activo on-chain, el puntero es un URN de esta forma:

```
urn:decentraland:<blockchain>:collections-v2:<collection address>:<item index>
```

Para ilustrar, la `pointers` matriz para un wearable on-chain se ve así:

```json
{
  "pointers": [
    "urn:decentraland:matic:collections-v2:0x2d9560df9dd8ba8b2dc3746bc1d217698d258fb5:0"
  ],
  // ... otras propiedades de la entidad
}
```

Cuando el wearable es un activo off-chain, como los wearables predeterminados para nuevos avatares, tendrá esta forma:

```
urn:decentraland:off-chain:<collection>:<item name>
```

La colección en este caso es un nombre, no una dirección, y el identificador del artículo también es un nombre en lugar de un índice.

El `pointers` la matriz para un wearable off-chain tiene este aspecto:

```json
{
  "pointers": [
    "urn:decentraland:off-chain:base-avatars:BaseFemale"
  ],
  // ... otras propiedades de la entidad
}
```

### Campos de metadata

Los wearables comparten la mayoría de sus campos básicos con [emotes](https://github.com/decentraland/docs/blob/main/contributor/entity-types/emotes/README.md). El `data` propiedad es donde se encuentra la información específica del wearable.

| Campo               | Valor                                                                                                                                                     |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                | El [pointer](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) que resuelve (o solía resolver) a este wearable.              |
| `name`              | El título para mostrar de este wearable en un [collection](https://github.com/decentraland/docs/blob/main/contributor/collections/README.md).             |
| `description`       | Una descripción extendida para este wearable.                                                                                                             |
| `image`             | El [nombre de archivo interno](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md#files) de una imagen para este wearable.     |
| `thumbnail`         | El [nombre de archivo interno](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md#files) de una versión 256x256 de la `image`. |
| `rarity`            | Uno de `common`, `uncommon`, `rare`, `epic`, `legendary`, `exotic`, `mythic` o `unique`.                                                                  |
| `i18n`              | Una matriz de traducciones para el campo `name` .                                                                                                         |
| `collectionAddress` | La dirección de Ethereum de la colección que contiene este wearable.                                                                                      |
| `metrics`           | Algunas medidas útiles sobre las animaciones (ver más abajo).                                                                                             |
| `data`              | Los metadatos extendidos para este wearable (ver más abajo).                                                                                              |

En forma JSON típica:

```json
{
  "id": "urn:decentraland:matic:collections-v2:0x11a6879861f36cbad632b4e7226816a16139fb33:0",
  "name": "Pretty Dress",
  "description": "Very nice to wear",
  "image": "image.png",
  "thumbnail": "thumbnail.png",
  "rarity": "uncommon",
  "i18n": [
    { "code": "es", "text": "Vestido Lindo" }
  ],
  "collectionAddress": "0x11a6879861f36cbad632b4e7226816a16139fb33",
  "metrics": {
    // Objeto Measurements (ver más abajo).
  },
  "data": {
    // Metadatos extendidos (ver más abajo).
  }
}
```

### Métricas

En la `metadata.metrics` objeto, encontrarás algunas medidas simples para los modelos empaquetados con este wearable. Un ejemplo:

```json
{
  "entities": 1,
  "bodies": 12,
  "materials": 2,
  "meshes": 12,
  "textures": 2,
  "triangles": 3321
}
```

### Datos

El `metadata.data` objeto es donde se encuentran las propiedades específicas del wearable.

| Campo             | Valor                                                                      |
| ----------------- | -------------------------------------------------------------------------- |
| `categoría`       | Una de las categorías de wearables listadas arriba.                        |
| `representations` | Una matriz de archivos asociados a diferentes body shapes (ver más abajo). |
| `hides`           | Una matriz de categorías que este wearable oculta.                         |
| `reemplaza`       | Una matriz de categorías que este wearable reemplaza por completo.         |
| `tags`            | Una matriz de etiquetas de cadena descriptivas de este wearable.           |

#### Representaciones

Cada elemento en la matriz representations asocia un body shape con una colección de modelos, y puede añadir reglas sobre qué wearables se muestran en cada categoría.

| Campo              | Valor                                                                                                                                                                                                             |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bodyShapes`       | Un arreglo de [pointers](https://github.com/decentraland/docs/blob/main/contributor/pointers/README.md) a entidades body shape.                                                                                   |
| `mainFile`         | El archivo del modelo 3D para iniciar el renderizado.                                                                                                                                                             |
| `contents`         | Una matriz de nombres de archivo (presentes en el nivel superior del campo [`content` ) usados por el](https://github.com/decentraland/docs/blob/main/contributor/entities/README.md#properties)field `mainFile`. |
| `overrideHides`    | Sustituye la lista de `hides` anterior para esta representación.                                                                                                                                                  |
| `overrideReplaces` | Sustituye la lista de `reemplaza` anterior para esta representación.                                                                                                                                              |

Este es un elemento típico de `representations` :

```json
{
  "bodyShapes": [
      "urn:decentraland:off-chain:base-avatars:BaseFemale"
  ],
  "mainFile": "male/190.glb",
  "contents": [
      "male/190.glb"
  ],
  "overrideHides": [ "lower_body" ],
  "overrideReplaces": []
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/contributor/contributor-es/contenido/tipos-de-entity/wearables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
