Campos livres (key-value) que ficam atrelados à página com tipo, validação e refs.

dataSchema#

Define pares chave-valor com tipo (int, float, seconds, percent, boolean, string) que ficam vinculados à página. É o "addon coringa" — quando nenhum dos addons especializados cobre o que você precisa, este resolve.

Por que importa#

Game design tem muito caso "preciso anotar X aqui": rarity da arma, nível requerido, animação, número mágico de balanceamento. Sem o data schema, esses campos viram strings soltas no richDoc, sem validação, sem possibilidade de export estruturado. Aqui você ganha tipo + min/max + ref a outros addons sem precisar criar um novo tipo de addon.

Onde costuma viver#

  • Páginas em branco quando você quer adicionar campos livres tipados.
  • Páginas tipadas quando precisa de campos extras que o addon principal não cobre.

Singleton — 1 schema por página, com N entries.

Schema#

CampoTipoPadrãoDescrição
idSimstringID interno.
nameSimstringNome amigável (ex.: Metadados, Stats Extras).
entriesSimDataSchemaEntry[]Lista de campos.

DataSchemaEntry#

CampoTipoPadrãoDescrição
idSimstringID interno.
keySimstringChave técnica (snake_case). Vai pro JSON exportado.
labelSimstringNome amigável que aparece na UI.
libraryRef{ libraryAddonId, entryId }Quando preenchido, key e label vêm da Field Library (taxonomia central).
valueTypeSim"int" | "float" | "seconds" | "percent" | "boolean" | "string"Tipo do valor — define input no painel e formatação.
valueSimnumber | boolean | stringO valor atual.
minnumberPiso (numéricos).
maxnumberTeto (numéricos).
unitstringSufixo visual (kg, mph, etc.).
unitXpRefstring (sectionId)Quando o valor representa nível, aponta pra curva de XP usada como referência visual.
economyLinkRefstring (sectionId)Quando o valor é puxado de um economyLink — qual seção.
economyLinkFieldEconomyLinkFieldKeyQuando economyLinkRef preenchido — qual campo daquele addon (buyValue, sellValue, etc.).
productionRefstring (addonId)Quando o valor é puxado de um production — qual addon (na mesma seção).
productionFieldProductionFieldKeyQuando productionRef preenchido — qual campo do production.
usePageDataIdbooleanQuando true, o valor é o próprio dataId da página onde o schema vive.
notesstringNotas livres.

Exemplo#

Schema com 3 campos: rarity (string), required level (int), discovery date (string):

{
  "id": "schema-meta",
  "name": "Metadados",
  "entries": [
    {
      "id": "f1",
      "key": "rarity",
      "label": "Raridade",
      "valueType": "string",
      "value": "épico"
    },
    {
      "id": "f2",
      "key": "required_level",
      "label": "Nível requerido",
      "valueType": "int",
      "value": 25,
      "min": 1,
      "max": 100,
      "unit": "lv"
    },
    {
      "id": "f3",
      "key": "discovered_in",
      "label": "Descoberto em",
      "valueType": "string",
      "value": "Patch 1.4"
    }
  ]
}

Refs computadas#

Os campos economyLinkRef/economyLinkField e productionRef/productionField permitem valores derivados: o painel mostra o valor atual do outro addon em vez de você digitar. Útil pra refletir "preço de compra" da economyLink no schema sem duplicar o número.

Quando o addon-fonte muda, o valor "viaja" — se o economyLink mudar de 100 pra 120, o schema reflete automaticamente.

Wizard#

Não tem wizard próprio. Você adiciona o addon manualmente quando precisa.

Veja também#