Here we'll see how to add your own recipe
IMPORTANT NOTE :
Only recipes that use the "handcraft" animation type are available through the quick access crafting menu.
If you want to add your own category, you need to add it to one of the menu configs, depending on where you want it to appear:
Crafting menu: Config.CraftingMenu
Cooking menu: Config.CookingMenu
Stew menu: Config.MainStewPotMenu
The value you set in the category’s param field is important. This is the key that will be used to link the menu category to the corresponding table in your config.
If you add a category with:
param = "CraftingItems"
…then you must have a matching table with the same name (or key) in your custom config below.
So in this example, the category param (CraftingItems) matches the table name/key (CraftingItems), which is how the script knows which recipes to load for that category.
Now let's review every param :
Role: Defines which animation set plays during crafting (here: hand crafting).
Available ANIMATION_TYPE list :
-- "HANDCRAFT"
-- "MEAT"
-- "BREWING"
-- "BREWING_NO_CONSUME"
-- "BULLET_SPLIT"
-- "BULLET_EXPLOSIVE"
-- "TOSS"
Duration (in ms) for an auto-fill hold prompt
Duration (in ms) for a manual-fill prompt
5 seconds → faster than auto.
Name displayed in the crafting menu/UI.
Quantity of the crafted item given per craft.
Enables job restriction.
Important: If JOBREQ = true but JOBS is empty or misconfigured, you may unintentionally block the recipe for everyone (depending on your validation logic).
Whitelist of allowed jobs that can use this recipe. (If you don't have the right job you'll see the recipe greyed out)
JOBLABEL → UI/display label (cosmetic).
DBJOB → The actual job value that must match the framework job in the database player table.
Common issues:
Case mismatch (HorseTrainer vs horsetrainer)
UI icon path.
Watch out: Make sure the path format matches what your NUI expects (items/file.png).
Description displayed in UI.
Internal item name added to the inventory.
Important: Must exactly match your inventory/database item config.
Localization keys.
TXTD = dictionary
TXTI = item key inside that dictionary
UI icons showing stat effects/bonuses.
Current state: Empty → no bonus displayed.
Instant stat bonuses applied when consumed.
Gold Boost effects
Defines required ingredients.
Each ingredient contains:
Display name in UI.
Internal inventory item name.
Important: Must match exactly or crafting will fail (or worse, remove wrong items).
Ingredient icon for UI. (image is taken from sire_menu/html/items)
Required quantity.
Removes ingredient when crafting is completed.