Parâmetros de inventário de um item: pilha, peso, categoria, durabilidade, vínculo.

inventory#

Define como um item se comporta no inventário do jogador: peso, pilha máxima, durabilidade, categoria, vínculo (none/on-pickup/on-equip), volume, e visibilidade no shop.

Por que importa#

Quase todo motor de RPG/RTS/survival precisa dessas mesmas informações por item — e quase todos as implementam à mão, item por item. Aqui você define uma vez via UI, exporta pro JSON, e o motor lê. Bonus: campos como categoryLibraryRef permitem reaproveitar uma taxonomia central de categorias (Field Library) em vez de digitar "Espada" 50 vezes.

Onde costuma viver#

  • Página de tipo 🎒 Itens ou ⚔️ Itens com efeito. Default.
  • Páginas em branco quando você quer modelar containers exóticos (carteira, sacola de fadas).

Singleton — 1 inventory por página de item.

Schema#

CampoTipoPadrãoDescrição
idSimstringID interno.
nameSimstringNome do addon (default: Inventário).
weightSimnumberPeso unitário do item (kg, lb, ou unidade arbitrária do seu motor).
stackableSimbooleanTrue se vários do mesmo item podem ocupar 1 slot.
maxStackSimnumberLimite por slot quando stackable=true (ex.: 99).
inventoryCategorySimstringCategoria livre (Espada, Poção, Crafting). Usado pra filtrar/agrupar.
categoryLibraryRef{ libraryAddonId, entryId }Quando você quer linkar a categoria a uma entry da Field Library (taxonomia central) em vez de string solta.
slotSizeSimnumberSlots ocupados (1 = normal; 2x1, 2x2 pra Tetris-like inventories).
hasDurabilityConfigbooleanLiga/desliga campos de durabilidade.
durabilitySimnumberDurabilidade atual (mantida em 0 quando hasDurabilityConfig=false).
maxDurabilitynumberDurabilidade máxima (capacidade).
hasVolumeConfigbooleanLiga/desliga campo de volume.
volumenumberVolume ocupado (litros, ou unidade arbitrária).
bindTypeSim"none" | "onPickup" | "onEquip"none: pode trocar/vender. onPickup: vincula ao pegar (não troca). onEquip: vincula ao equipar.
showInShopSimbooleanAparece em shops do motor? Útil pra esconder loot exclusivo.
consumableSimbooleanSome ao usar? Poções = true, Espada = false.
discardableSimbooleanJogador pode descartar? Falsa pra quest items.
notesstringNotas livres pro time.

Exemplo#

Espada de Ferro — equipável, vinculável ao pegar, não-consumível:

{
  "id": "inv-iron-sword",
  "name": "Inventário",
  "weight": 5.0,
  "stackable": false,
  "maxStack": 1,
  "inventoryCategory": "Espada",
  "slotSize": 1,
  "hasDurabilityConfig": true,
  "durability": 100,
  "maxDurability": 100,
  "bindType": "onEquip",
  "showInShop": true,
  "consumable": false,
  "discardable": true
}

Poção de Vida — empilhável, sem durabilidade, consumível:

{
  "id": "inv-hp-potion",
  "name": "Inventário",
  "weight": 0.2,
  "stackable": true,
  "maxStack": 99,
  "inventoryCategory": "Consumível",
  "slotSize": 1,
  "durability": 0,
  "bindType": "none",
  "showInShop": true,
  "consumable": true,
  "discardable": true
}

categoryLibraryRef vs string#

Use inventoryCategory (string solta) pra protótipos. Quando o jogo amadurecer e você tiver 30+ itens, migre pra categoryLibraryRef apontando pra uma página de fieldLibrary — assim renomear "Espada" → "Lâmina" se reflete em todos os itens automaticamente.

Wizard#

Não tem wizard próprio. Seedado por:

  • 🎒 Itens (junto com economyLink)
  • ⚔️ Itens com efeito (junto com economyLink + attributeModifiers)

Os defaults do wizard são razoáveis pra "item genérico" — você ajusta os booleans (consumable, stackable, etc.) e tá pronto.

Quem aponta pra inventory#

  • production.ingredients[].itemRef e production.outputs[].itemRef — receitas referenciam páginas de itens.
  • craftTable.unlock.item.itemRef — receitas que precisam de item específico pra desbloquear.
  • skills.unlock.item.itemRef — skills que precisam de item de catalisador.
  • economyLink.producedItemRef — uma página produz outro item (galinha → ovo).

Veja também#