Parámetros de inventario para un ítem: apilado, peso, categoría, durabilidad, vinculación.
inventory#
Define cómo se comporta un ítem en el inventario del jugador: peso, apilado máximo, durabilidad, categoría, vinculación (ninguna/al recoger/al equipar), volumen y visibilidad en tienda.
Por qué importa#
Casi todos los motores de RPG/RTS/survival necesitan esta misma información para cada ítem — y casi todos la implementan a mano, ítem por ítem. Aquí la defines una vez a través de la UI, exportas a JSON y el motor la lee. Bonus: campos como categoryLibraryRef te permiten reutilizar una taxonomía central de categorías (Field Library) en lugar de escribir "Espada" 50 veces.
Dónde suele vivir#
- Páginas de tipo
🎒 Ítemso⚔️ Ítems con Efecto. Por defecto. - Páginas en blanco cuando quieres modelar contenedores exóticos (billeteras, bolsas mágicas).
Singleton — 1 inventario por página de ítem.
Esquema#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSí | string | ID interno. | |
nameSí | string | Nombre del addon (por defecto: Inventario). | |
weightSí | number | Peso unitario del ítem (kg, lb, o cualquier unidad que use tu motor). | |
stackableSí | boolean | True si múltiples del mismo ítem pueden compartir 1 slot. | |
maxStackSí | number | Límite por slot cuando stackable=true (ej.: 99). | |
inventoryCategorySí | string | Categoría libre (Espada, Poción, Crafteo). Usada para filtrar/agrupar. | |
categoryLibraryRef | { libraryAddonId, entryId } | Cuando quieres vincular la categoría a una entrada de Field Library (taxonomía central) en lugar de un string suelto. | |
slotSizeSí | number | Slots ocupados (1 = normal; 2x1, 2x2 para inventarios tipo Tetris). | |
hasDurabilityConfig | boolean | Activa/desactiva los campos de durabilidad. | |
durabilitySí | number | Durabilidad actual (se mantiene en 0 cuando hasDurabilityConfig=false). | |
maxDurability | number | Durabilidad máxima (capacidad). | |
hasVolumeConfig | boolean | Activa/desactiva el campo de volumen. | |
volume | number | Volumen ocupado (litros, o unidad arbitraria). | |
bindTypeSí | "none" | "onPickup" | "onEquip" | none: puede comerciarse/venderse. onPickup: se vincula al recoger (sin comercio). onEquip: se vincula al equipar. | |
showInShopSí | boolean | ¿Aparece en tiendas del motor? Útil para ocultar botín exclusivo. | |
consumableSí | boolean | ¿Desaparece al usarse? Pociones = true, Espada = false. | |
discardableSí | boolean | ¿Puede el jugador descartarlo? False para ítems de misión. | |
notes | string | Notas libres para el equipo. |
Ejemplo#
Espada de Hierro — equipable, se vincula al equipar, no consumible:
{
"id": "inv-iron-sword",
"name": "Inventario",
"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
}
Poción de Vida — apilable, sin durabilidad, consumible:
{
"id": "inv-hp-potion",
"name": "Inventario",
"weight": 0.2,
"stackable": true,
"maxStack": 99,
"inventoryCategory": "Consumible",
"slotSize": 1,
"durability": 0,
"bindType": "none",
"showInShop": true,
"consumable": true,
"discardable": true
}
categoryLibraryRef vs string#
Usa inventoryCategory (string suelto) para prototipos. Cuando el juego madure y tengas 30 o más ítems, migra a categoryLibraryRef apuntando a una página de fieldLibrary — así renombrar "Espada" → "Hoja" se refleja en todos los ítems automáticamente.
Wizard#
No tiene wizard propio. Lo inicializan:
🎒 Ítems(junto con economyLink)⚔️ Ítems con Efecto(junto con economyLink + attributeModifiers)
Los valores por defecto del wizard son razonables para un "ítem genérico" — solo ajustas los booleanos (consumible, apilable, etc.) y listo.
Quién referencia inventory#
production.ingredients[].itemRefyproduction.outputs[].itemRef— las recetas referencian páginas de ítem.craftTable.unlock.item.itemRef— recetas que requieren un ítem específico para desbloquearse.skills.unlock.item.itemRef— habilidades que requieren un ítem catalizador.economyLink.producedItemRef— una página que produce otro ítem (gallina → huevo).