Guía técnica paso a paso para crear items, áreas/niveles, mobs, ofertas y ahora componentes RPG avanzados (durabilidad por instancia, efectos de estado, penalizaciones de muerte, rachas, riskFactor de áreas). Requiere permiso Manage Guild o rol de staff.
1) Crear base
!item-crear iron_sword
Base → Nombre: "Espada de Hierro", Descripción, Stackable: false,1
Tags → weapon, tier2
2) Props (JSON) comunes
{
"tool": { "type": "sword", "tier": 2 },
"damage": 15,
"breakable": { "enabled": true, "maxDurability": 200 }
}
3) Receta (modal ⭐)
Habilitar: true
Produce: 1
Ingredientes: iron_ingot:3, wood_plank:1
4) Guardar → ✅ Item creado
Prueba: !craftear iron_sword
Usa !item-editar, !item-ver, !items-lista. Para herramientas NO apilables la durabilidad se gestiona por instancias dentro de inventory.state.instances.
{ "usable": true, "purgeAllEffects": true } y usarla con !efectos purgar.1) Crear área
!area-crear mine.iron_cavern
Config (JSON): {
"cooldownSeconds": 60,
"description": "Caverna rica en hierro",
"icon": "⛏️",
"riskFactor": 2
}
Guardar → ✅ Área creada
2) Crear nivel 1
!area-nivel mine.iron_cavern 1
Requisitos (JSON): {
"tool": { "required": true, "toolType": "pickaxe", "minTier": 2 }
}
Recompensas (JSON): {
"draws": 2,
"table": [
{ "type": "coins", "amount": 50, "weight": 10 },
{ "type": "item", "itemKey": "iron_ore", "qty": 2, "weight": 8 }
]
}
Mobs (JSON, opcional): {
"draws": 1,
"table": [ { "mobKey": "cave_spider", "weight": 10 } ]
}
Guardar → ✅ Nivel guardado
1) Crear mob
!mob-crear goblin
Base → Nombre: Goblin, Categoría: enemies
Stats (JSON): { "attack": 10, "hp": 50, "defense": 3, "xpReward": 25 }
Drops (JSON): {
"draws": 2,
"table": [
{ "type": "coins", "amount": 20, "weight": 10 },
{ "type": "item", "itemKey": "leather", "qty": 1, "weight": 5 }
]
}
Guardar → ✅ Mob creado
Revisa con !mobs-lista y !mob-eliminar <key> si necesitas limpiar datos de prueba.
1) Crear oferta
!offer-crear
Base → itemKey: iron_sword, Habilitada: true
Precio (JSON): { "coins": 100 }
— o —
Precio (JSON): {
"coins": 50,
"items": [ { "itemKey": "iron_ore", "qty": 5 } ]
}
Límites → por usuario: 5, stock global: 100
Ventana → inicio/fin ISO (opcional)
Guardar → ✅ Oferta guardada
area.config.riskFactor: 0-3 (aumenta % oro perdido)
item.props.breakable.maxDurability / durabilityPerUse
item.props.tool { type, tier }
item.props.purgeAllEffects = true (ítem purga)
status effects: almacenados en DB (PlayerStatusEffect)
death penalty: porcentaje dinámico + fatiga escalada