Define produção passiva (galinha → ovo a cada 60s) ou receita (2 madeira + 1 corda → 1 escudo).

production#

Define como um item é produzido: passivamente ao longo do tempo (mode passive) ou via receita com ingredientes (mode recipe). Cada um dos timers/quantidades pode ser vinculado a uma tabela de progressão pra escalar com o nível.

Por que importa#

Production é a coluna vertebral de jogos clicker, farming, crafting e idle. Sem schema dedicado, cada receita vira um JSON ad-hoc no código, e mudanças de balanceamento exigem rebuild. Aqui você define no GDD, exporta pro JSON, e ajusta valores sem tocar código.

Onde costuma viver#

  • Página de tipo 📜 Receita (uma receita por página).
  • Página de tipo 📦 Item produzível (raro — quando é item passivo de produção).

Singleton — 1 production por página.

Schema#

CampoTipoPadrãoDescrição
idSimstringID interno.
nameSimstringNome do addon.
modeSim"passive" | "recipe"passive: produz X por intervalo (galinha põe ovo). recipe: requer ingredientes pra produzir.
outputRefstring (sectionId)Modo passive: qual item é produzido.
minOutputnumberModo passive: quantidade mínima por ciclo.
maxOutputnumberModo passive: quantidade máxima por ciclo (rolagem entre min e max).
intervalSecondsnumberModo passive: intervalo entre ciclos (aceita decimais).
requiresCollectionbooleanModo passive: jogador precisa coletar ativamente, ou cai direto no inventário?
capacitynumberModo passive: estoque máximo acumulável antes do jogador coletar.
ingredientsSimProductionIngredient[]Modo recipe: lista de itemRef + quantity necessários.
outputsSimProductionOutput[]Modo recipe: lista de itemRef + quantity produzidos.
craftTimeSecondsnumberModo recipe: tempo de craft em segundos (aceita decimais).
notesstringNotas livres.

Vínculos com progressionTable#

Quase todos os campos numéricos podem ser vinculados a uma coluna de uma tabela de progressão:

  • minOutputProgressionLink, maxOutputProgressionLink
  • intervalSecondsProgressionLink, craftTimeSecondsProgressionLink
  • capacityProgressionLink

Quando vinculado, o motor lê o valor da tabela no nível atual do jogador, em vez do valor estático do schema. Permite escalar produção/craft conforme o jogador progride.

"intervalSecondsProgressionLink": {
  "progressionAddonId": "section-prog-table",
  "columnId": "col-craft-time",
  "columnName": "Tempo de Craft"
}

Exemplo: produção passiva#

Galinha põe 1-3 ovos a cada 60s, capacidade 10 ovos:

{
  "id": "prod-chicken",
  "name": "Galinha",
  "mode": "passive",
  "outputRef": "section-egg",
  "minOutput": 1,
  "maxOutput": 3,
  "intervalSeconds": 60,
  "requiresCollection": true,
  "capacity": 10,
  "ingredients": [],
  "outputs": []
}

Exemplo: receita#

2 Madeira + 1 Corda → 1 Arco, em 30 segundos:

{
  "id": "prod-bow-recipe",
  "name": "Receita: Arco",
  "mode": "recipe",
  "ingredients": [
    { "itemRef": "section-wood", "quantity": 2 },
    { "itemRef": "section-rope", "quantity": 1 }
  ],
  "outputs": [
    { "itemRef": "section-bow", "quantity": 1 }
  ],
  "craftTimeSeconds": 30
}

Wizard#

A page type 📜 Receita cria automaticamente:

  1. Este addon production em modo recipe
  2. Pre-fill com 1 ingrediente vazio + 1 output vazio
  3. Wizard pede craftTimeSeconds no diálogo inicial

Você completa as referências de itens depois.

Quem aponta pra production#

  • craftTable.entries[].productionRef — uma mesa de craft agrega múltiplas receitas via refs.

Veja também#