๐ Recipe Engineering Guide (config/recipes.lua) โ
Every recipe in the compendium supports detailed historical lore, level locks, job restrictions, custom animations, and ingredient alternatives.
๐ Complete Recipe Field Reference โ
| Parameter | Type | Description |
|---|---|---|
title | string | Display name of the item in the compendium. |
subtitle | string | Historical subtext / description line. |
description | string | Detailed lore text displayed in the recipe sidebar. |
category | string | Compendium category ('food', 'saloon', 'smithing', 'moonshine', 'supplies', 'criminal'). |
image | string | Preview icon image located in ui/img/ or native inventory name. |
craftTime | number | Active hand-crafting duration in seconds. |
queueTime | number | Background asynchronous station brewing duration in seconds. |
requiredLevel | number | Minimum trade / outlaw level required to craft (1 to 10). |
xp | number | Experience points awarded upon successful craft. |
jobs | table|number | 0 for all players, or table of allowed jobs { 'saloon', 'bartender' }. |
stations | table|number | 0 for anywhere, or table of allowed station IDs { 'criminal_thieves' }. |
materials | table | List of consumed ingredient items (item, amount, take, alternatives). |
output | table | List of rewarded items (item, amount). |
type | string | 'item' or 'weapon'. |
animation | string | Key from Config.Animations executed during workbench crafting. |
campfireAnimation | string | Key from Config.Animations executed when crafted at a campfire. |
๐ Example 1: Campfire Trail Ration Recipe โ
lua
Config.Recipes['venison_roasted'] = {
title = 'Roasted Venison',
subtitle = 'Cooked over hardwood coals',
description = 'Tender deer venison steak seasoned with salt over slow burning coals.',
category = 'food',
image = 'items/cooked_meat.png',
craftTime = 5,
queueTime = 30,
requiredLevel = 1,
xp = 15,
jobs = 0,
stations = 0,
materials = {
{ item = 'meat', amount = 1 },
{ item = 'salt', amount = 1 },
},
output = {
{ item = 'cooked_meat', amount = 1 },
},
type = 'item',
campfireAnimation = 'knifecooking', -- Holds meat and knife over fire
}๐งจ Example 2: Location-Locked Outlaw Explosive โ
Only craftable at the secret Thieves Landing Outlaw Cache:
lua
Config.Recipes['dynamite_stick'] = {
title = 'Blasting Dynamite Stick',
subtitle = 'Nitroglycerin wrapped in sawdust paper',
description = 'Frontier explosive charge engineered for bank vaults and quarry boulders.',
category = 'criminal',
image = 'items/dynamite.png',
craftTime = 12,
queueTime = 45,
requiredLevel = 3,
xp = 40,
jobs = 0,
stations = { 'criminal_thieves' }, -- Strictly exclusive to Thieves Landing Cache!
materials = {
{ item = 'gunpowder', amount = 2 },
{ item = 'paper', amount = 1 },
},
output = {
{ item = 'dynamite', amount = 1 },
},
type = 'item',
animation = 'craft',
}๐ Ingredient Alternatives โ
Allow players to substitute different herbs or meats for the same recipe:
lua
materials = {
{
item = 'wild_mint',
amount = 1,
alternatives = { 'oregano', 'thyme' } -- Accepts mint, oregano, or thyme
}
}