Campos clave-valor libres vinculados a una página, con tipo, validación y referencias.

dataSchema#

Define pares clave-valor con un tipo (int, float, seconds, percent, boolean, string) vinculados a la página. Es el "addon comodín" — cuando ninguno de los addons especializados cubre lo que necesitas, este lo hace.

Por qué importa#

El game design tiene muchas situaciones de "necesito anotar X aquí": rareza del arma, nivel requerido, nombre de animación, número mágico de balance. Sin un data schema, esos campos se convierten en strings sueltos dentro de un richDoc — sin validación, sin export estructurado. Aquí obtienes tipo + min/max + referencias a otros addons sin tener que crear un nuevo tipo de addon desde cero.

Dónde suele vivir#

  • Páginas en blanco cuando quieres agregar campos tipados libres.
  • Páginas tipadas cuando necesitas campos extra que el addon principal no cubre.

Singleton — 1 schema por página, con N entradas.

Esquema#

CampoTipoPadrãoDescrição
idstringID interno.
namestringNombre amigable (ej.: Metadata, Stats Extra).
entriesDataSchemaEntry[]Lista de campos.

DataSchemaEntry#

CampoTipoPadrãoDescrição
idstringID interno.
keystringClave técnica (snake_case). Va al JSON exportado.
labelstringNombre amigable mostrado en la UI.
libraryRef{ libraryAddonId, entryId }Cuando está completado, la clave y el label vienen de la Field Library (taxonomía central).
valueType"int" | "float" | "seconds" | "percent" | "boolean" | "string"Tipo de valor — determina la entrada en el panel y cómo se formatea.
valuenumber | boolean | stringEl valor actual.
minnumberPiso (tipos numéricos).
maxnumberTecho (tipos numéricos).
unitstringSufijo visual (kg, km/h, etc.).
unitXpRefstring (sectionId)Cuando el valor representa un nivel, apunta a la curva de XP usada como referencia visual.
economyLinkRefstring (sectionId)Cuando el valor se obtiene de un economyLink — qué sección.
economyLinkFieldEconomyLinkFieldKeyCuando economyLinkRef está definido — qué campo de ese addon (buyValue, sellValue, etc.).
productionRefstring (addonId)Cuando el valor se obtiene de un addon de producción — qué addon (en la misma página).
productionFieldProductionFieldKeyCuando productionRef está definido — qué campo de esa producción.
usePageDataIdbooleanCuando es true, el valor es el dataId de la página donde vive el schema.
notesstringNotas libres.

Ejemplo#

Schema con 3 campos: rareza (string), nivel requerido (int), fecha de descubrimiento (string):

{
  "id": "schema-meta",
  "name": "Metadata",
  "entries": [
    {
      "id": "f1",
      "key": "rarity",
      "label": "Rareza",
      "valueType": "string",
      "value": "epic"
    },
    {
      "id": "f2",
      "key": "required_level",
      "label": "Nivel Requerido",
      "valueType": "int",
      "value": 25,
      "min": 1,
      "max": 100,
      "unit": "nv"
    },
    {
      "id": "f3",
      "key": "discovered_in",
      "label": "Descubierto en",
      "valueType": "string",
      "value": "Parche 1.4"
    }
  ]
}

Referencias computadas#

Los campos economyLinkRef/economyLinkField y productionRef/productionField permiten valores derivados: el panel muestra el valor actual del otro addon en lugar de que lo escribas manualmente. Útil para reflejar el "precio de compra" de un economyLink en el schema sin duplicar el número.

Cuando el addon fuente cambia, el valor lo sigue — si el economyLink cambia de 100 a 120, el schema lo refleja automáticamente.

Wizard#

No tiene wizard propio. Agregas este addon manualmente cuando lo necesitas.

Ver también#