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
🎒 Itensou⚔️ 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#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSim | string | ID interno. | |
nameSim | string | Nome do addon (default: Inventário). | |
weightSim | number | Peso unitário do item (kg, lb, ou unidade arbitrária do seu motor). | |
stackableSim | boolean | True se vários do mesmo item podem ocupar 1 slot. | |
maxStackSim | number | Limite por slot quando stackable=true (ex.: 99). | |
inventoryCategorySim | string | Categoria 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. | |
slotSizeSim | number | Slots ocupados (1 = normal; 2x1, 2x2 pra Tetris-like inventories). | |
hasDurabilityConfig | boolean | Liga/desliga campos de durabilidade. | |
durabilitySim | number | Durabilidade atual (mantida em 0 quando hasDurabilityConfig=false). | |
maxDurability | number | Durabilidade máxima (capacidade). | |
hasVolumeConfig | boolean | Liga/desliga campo de volume. | |
volume | number | Volume 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. | |
showInShopSim | boolean | Aparece em shops do motor? Útil pra esconder loot exclusivo. | |
consumableSim | boolean | Some ao usar? Poções = true, Espada = false. | |
discardableSim | boolean | Jogador pode descartar? Falsa pra quest items. | |
notes | string | Notas 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[].itemRefeproduction.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).