# Workbench

## Crafting Categories

Our built in crafting system has a category system to easily craft the required items.

Each category will have:

* `label` (string) — the title of the category
* `description`(string) — the description of the category
* `icon` (string) — an icon for the category
* `recipe` (table) — the items to craft as index and recipe as the value.

## Recipes

The setup of a recipe is indexed by the item name you want to craft:

```lua
["t1ger_vehicledoor"] = { -- output item name
                icon = "https://i.postimg.cc/hvHDrP2S/t1ger-vehicledoor.png", -- output item icon
                materials = { -- materials to craft one piece
                    ["steel"] = 5, -- item name and required amount
                    ["plastic"] = 2, -- item name and required amount
                    ["rubber"] = 2, -- item name and required amount
                }
            },
```

* `icon` (string) — the icon of the item to craft
* `materials` (table) — the materials required to craft the item
  * `index` is the item name
  * `number` is the required amount of materials

You can add whatever items you like and require whatever materials and amount that fits your server.

```lua
return {
    { -- BODY PARTS
        label = "Body Parts",
        description = "Body Parts are used by mechanics to repair visuals of the vehicle.",
        icon = "https://i.postimg.cc/hvHDrP2S/t1ger-vehicledoor.png",
        recipe = {
            ["t1ger_vehicledoor"] = { -- output item name
                icon = "https://i.postimg.cc/hvHDrP2S/t1ger-vehicledoor.png", -- output item icon
                materials = { -- materials to craft one piece
                    ["steel"] = 5, -- item name and required amount
                    ["plastic"] = 2, -- item name and required amount
                    ["rubber"] = 2, -- item name and required amount
                }
            },
            ["t1ger_vehiclehood"] = {
                icon = "https://i.postimg.cc/5yH9LFq7/t1ger-vehiclehood.png",
                materials = {
                    ["steel"] = 6,
                    ["aluminium"] = 3,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_vehicletrunk"] = {
                icon = "https://i.postimg.cc/WpK1jXTQ/t1ger-vehicletrunk.png",
                materials = {
                    ["steel"] = 5,
                    ["aluminium"] = 2,
                    ["plastic"] = 2,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_vehiclewheel"] = {
                icon = "https://i.postimg.cc/15q5zwz4/t1ger-vehiclewheel.png",
                materials = {
                    ["steel"] = 4,
                    ["rubber"] = 5,
                    ["carbon_fiber"] = 2,
                    ["brass"] = 1,
                }
            },
            ["t1ger_vehiclewindow"] = {
                icon = "https://i.postimg.cc/pLMV5r9C/t1ger-vehiclewindow.png",
                materials = {
                    ["glass"] = 4,
                }
            },
        }
    },
    { -- CORE PARTS
        label = "Core Parts",
        description = "These parts are used by mechanics to repair worn, critical or failured parts.",
        icon = "https://i.postimg.cc/XY9JsdMt/t1ger-powersteeringpump.png",
        recipe = {
            ["t1ger_alternator"] = {
                icon = "https://i.postimg.cc/CM6z5wHr/t1ger-alternator.png",
                materials = {
                    ["steel"] = 5,
                    ["copper"] = 4,
                    ["electric_scrap"] = 3,
                }
            },
            ["t1ger_brakes"] = {
                icon = "https://i.postimg.cc/X7GXytsj/t1ger-brakes.png",
                materials = {
                    ["steel"] = 5,
                    ["rubber"] = 3,
                    ["brass"] = 2,
                }
            },
            ["t1ger_electricmotor"] = {
                icon = "https://i.postimg.cc/J0gn2QzC/t1ger-electricmotor.png",
                materials = {
                    ["steel"] = 8,
                    ["copper"] = 7,
                    ["electric_scrap"] = 6,
                    ["carbon_fiber"] = 4,
                }
            },
            ["t1ger_evbattery"] = {
                icon = "https://i.postimg.cc/ZKGnPjQr/t1ger-evbattery.png",
                materials = {
                    ["aluminium"] = 6,
                    ["copper"] = 5,
                    ["electric_scrap"] = 7,
                    ["acid"] = 5,
                }
            },
            ["t1ger_fuelinjector"] = {
                icon = "https://i.postimg.cc/Pqhq9JTJ/t1ger-fuelinjector.png",
                materials = {
                    ["steel"] = 4,
                    ["aluminium"] = 3,
                    ["plastic"] = 2,
                    ["electric_scrap"] = 2,
                }
            },
            ["t1ger_powersteeringpump"] = {
                icon = "https://i.postimg.cc/XY9JsdMt/t1ger-powersteeringpump.png",
                materials = {
                    ["steel"] = 8,
                    ["aluminium"] = 6,
                    ["synthetic_oil"] = 2,
                    ["electric_scrap"] = 3,
                }
            },
            ["t1ger_radiator"] = {
                icon = "https://i.postimg.cc/0NfNsvyf/t1ger-radiator.png",
                materials = {
                    ["steel"] = 6,
                    ["aluminium"] = 5,
                    ["plastic"] = 3,
                    ["synthetic_oil"] = 1,
                }
            },
            ["t1ger_transmission"] = {
                icon = "https://i.postimg.cc/bJwwY5Gj/t1ger-transmission.png",
                materials = {
                    ["steel"] = 10,
                    ["aluminium"] = 6,
                    ["synthetic_oil"] = 3,
                    ["brass"] = 2,
                }
            },
        }
    },
    { -- SERVICE PARTS
        label = "Service Parts",
        description = "These parts are used by mechanics to do service on vehicles.",
        icon = "https://i.postimg.cc/Y02YH874/t1ger-coolant.png",
        recipe = {
            ["t1ger_airfilter"] = {
                icon = "https://i.postimg.cc/hj1T66kW/t1ger-airfilter.png",
                materials = {
                    ["plastic"] = 2,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_batterycoolant"] = {
                icon = "https://i.postimg.cc/26DnHrX7/t1ger-batterycoolant.png",
                materials = {
                    ["acid"] = 2,
                    ["plastic"] = 1,
                }
            },
            ["t1ger_brakefluid"] = {
                icon = "https://i.postimg.cc/jjNzQLvj/t1ger-brakefluid.png",
                materials = {
                    ["acid"] = 2,
                    ["synthetic_oil"] = 1,
                }
            },
            ["t1ger_brakepad"] = {
                icon = "https://i.postimg.cc/jSBH7zH9/t1ger-brakepad.png",
                materials = {
                    ["steel"] = 3,
                    ["rubber"] = 2,
                }
            },
            ["t1ger_coolant"] = {
                icon = "https://i.postimg.cc/Y02YH874/t1ger-coolant.png",
                materials = {
                    ["acid"] = 2,
                    ["plastic"] = 1,
                }
            },
            ["t1ger_drivebelt"] = {
                icon = "https://i.postimg.cc/bYL1TX01/t1ger-drivebelt.png",
                materials = {
                    ["rubber"] = 3,
                    ["steel"] = 2,
                }
            },
            ["t1ger_fuelfilter"] = {
                icon = "https://i.postimg.cc/3NLpJprt/t1ger-fuelfilter.png",
                materials = {
                    ["steel"] = 2,
                    ["plastic"] = 2,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_hvwiring"] = {
                icon = "https://i.postimg.cc/g09hJGdb/t1ger-hvwiring.png",
                materials = {
                    ["copper"] = 5,
                    ["electric_scrap"] = 4,
                    ["carbon_fiber"] = 1,
                }
            },
            ["t1ger_oilfilter"] = {
                icon = "https://i.postimg.cc/bNBb7QBJ/t1ger-oilfilter.png",
                materials = {
                    ["steel"] = 2,
                    ["synthetic_oil"] = 1,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_sparkplugs"] = {
                icon = "https://i.postimg.cc/NfMmCNbS/t1ger-sparkplugs.png",
                materials = {
                    ["steel"] = 2,
                    ["copper"] = 2,
                    ["electric_scrap"] = 1,
                }
            },
            ["t1ger_steeringfluid"] = {
                icon = "https://i.postimg.cc/rwRWMKB9/t1ger-steeringfluid.png",
                materials = {
                    ["synthetic_oil"] = 2,
                    ["acid"] = 1,
                }
            },
            ["t1ger_tires"] = {
                icon = "https://i.postimg.cc/BvxKPRQL/t1ger-tires.png",
                materials = {
                    ["rubber"] = 5,
                    ["steel"] = 2,
                }
            },
            ["t1ger_transmissionfluid"] = {
                icon = "https://i.postimg.cc/4dsh6wm8/t1ger-transmissionfluid.png",
                materials = {
                    ["synthetic_oil"] = 3,
                    ["acid"] = 1,
                }
            },
        }
    },
    { -- KITS
        label = "Kits",
        description = "Kits are used by mechanics for different stuff.",
        icon = "https://i.postimg.cc/W4jRTJDR/t1ger-carjack.png",
        recipe = {
            ["t1ger_repairkit"] = {
                icon = "https://i.postimg.cc/Tw7BV7tG/t1ger-repairkit.png",
                materials = {
                    ["steel"] = 3,
                    ["rubber"] = 2,
                    ["plastic"] = 2,
                    ["electric_scrap"] = 1,
                }
            },
            ["t1ger_repairkit_adv"] = {
                icon = "https://i.postimg.cc/9Xkvzk4Y/t1ger-repairkit-adv.png",
                materials = {
                    ["steel"] = 5,
                    ["rubber"] = 3,
                    ["plastic"] = 3,
                    ["electric_scrap"] = 2,
                    ["carbon_fiber"] = 1,
                }
            },
            ["t1ger_carjack"] = {
                icon = "https://i.postimg.cc/W4jRTJDR/t1ger-carjack.png",
                materials = {
                    ["steel"] = 8,
                    ["rubber"] = 4,
                    ["aluminium"] = 2,
                }
            },
            ["t1ger_patchkit"] = {
                icon = "https://i.postimg.cc/NFKSp6nX/t1ger-patchkit.png",
                materials = {
                    ["rubber"] = 5,
                    ["plastic"] = 2,
                    ["synthetic_oil"] = 1,
                }
            },
            ["t1ger_fuelcan"] = {
                icon = "https://i.postimg.cc/528chm2q/t1ger-fuelcan.png",
                materials = {
                    ["steel"] = 3,
                    ["plastic"] = 2,
                }
            },
            ["t1ger_jumpstarter"] = {
                icon = "https://i.postimg.cc/QtxRWGk0/t1ger-jumpstarter.png",
                materials = {
                    ["steel"] = 2,
                    ["electric_scrap"] = 3,
                    ["plastic"] = 2,
                    ["copper"] = 1,
                }
            },
            ["t1ger_repairkit_tire"] = {
                icon = "https://i.postimg.cc/6qFSS7sm/t1ger-repairkit-tire.png",
                materials = {
                    ["rubber"] = 4,
                    ["steel"] = 2,
                    ["synthetic_oil"] = 1,
                }
            },
            ["t1ger_diagnostictool"] = {
                icon = "https://i.postimg.cc/P5zPyYYN/t1ger-diagnostictool.png",
                materials = {
                    ["plastic"] = 5,
                    ["electric_scrap"] = 6,
                    ["copper"] = 4,
                    ["glass"] = 2,
                    ["carbon_fiber"] = 1,
                }
            },
            ["t1ger_servicebook"] = {
                icon = "https://i.postimg.cc/wxFCGD6f/t1ger-servicebook.png", -- placeholder image, replace if needed
                materials = {
                    ["plastic"] = 3,        -- for binding or cover
                    ["electric_scrap"] = 2, -- simulates digital storage or RFID
                    ["glass"] = 1,          -- maybe for display panel or screen
                    ["scrap_metal"] = 2     -- for casing or internal structure
                }
            }
        }
    },
    { -- PROPS
        label = "Props",
        description = "Props are used by mechanics to do different prop emotes.",
        icon = "https://i.postimg.cc/xdksrf5r/t1ger-roadbarrier.png",
        recipe = {
            ["t1ger_roadcone"] = {
                icon = "https://i.postimg.cc/8zzKHBrz/t1ger-roadcone.png",
                materials = {
                    ["plastic"] = 3,
                    ["rubber"] = 1,
                }
            },
            ["t1ger_toolstrolley"] = {
                icon = "https://i.postimg.cc/pTzqTs3q/t1ger-toolstrolley.png",
                materials = {
                    ["steel"] = 6,
                    ["rubber"] = 2,
                    ["plastic"] = 3,
                }
            },
            ["t1ger_toolbox"] = {
                icon = "https://i.postimg.cc/Jh9pMfYs/t1ger-toolbox.png",
                materials = {
                    ["steel"] = 4,
                    ["plastic"] = 2,
                }
            },
            ["t1ger_consign"] = {
                icon = "https://i.postimg.cc/kgYjh6xF/t1ger-consign.png",
                materials = {
                    ["steel"] = 3,
                    ["plastic"] = 2,
                }
            },
            ["t1ger_roadbarrier"] = {
                icon = "https://i.postimg.cc/xdksrf5r/t1ger-roadbarrier.png",
                materials = {
                    ["steel"] = 5,
                    ["plastic"] = 3,
                    ["rubber"] = 1,
                }
            },
        }
    },
}
```

## How to integrate my own crafting script?

To integrate your own crafting resource follow these steps.

{% stepper %}
{% step %}

### Disable the built-in crafting

Navigate to `t1ger_mechanic/shared/shop.lua` and find the option called `Config.Shop.Workbench` and set the `enable` value to `false`.
{% endstep %}

{% step %}

### Find function to modify

Navigate to `t1ger_mechanic/client/shop/markers/workbench.lua` and find the function called `WorkbenchMain`.
{% endstep %}

{% step %}

### Add your export or event

You will see this section:

```lua
    if not Config.Shop.Workbench.enable then
        -- add export/event to open your own crafting stuff 
    else
```

Inside the if statement, you can add your own export/event.
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.t1ger.net/resources/t1ger-mechanic/configuration/shop/workbench.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
