Skip to content

Workbenches

Core Crafting supports three types of workbenches: static, placeable, and prop-based.

Overview

Static Workbenches
Permanent workbenches placed at fixed coordinates via config. Always available, perfect for public crafting spots.
Placeable Workbenches
Portable workbenches that players craft as items and deploy in the world. Saved to database, persist across restarts.
Prop-Based Workbenches
Automatically attach crafting to existing map props like campfires or benches. No coordinates needed — auto-detected.

Static Workbenches

Permanent workbenches placed at fixed coordinates. Configured in Config.Workbenches.

lua
Workbenches = {
    {
        coords = vector3(0, 0, 0),
        jobs = {},                -- Empty = all jobs
        gangs = {},               -- Empty = all gangs
        blip = true,
        recipes = {},             -- Empty = all recipes
        categories = {},          -- Empty = all categories
        radius = 3.0,
        label = 'Main Workbench',
        image = 'drug_workbench_item',
        model = 'ba_dlc_ba_int2_bench003',
        heading = 90.0
    },
}

Restricting Access

You can restrict a workbench by job, gang, recipe, or category:

lua
-- Only mechanics, only the 'repairkit' recipe
{
    coords = vector3(0, 0, 0),
    jobs = {'mechanic'},
    gangs = {},
    blip = true,
    recipes = {'repairkit'},
    categories = {},
    radius = 3.0,
    label = 'Mechanic Workbench',
    image = 'mechanic_workbench_item',
    model = 'imp_prop_impexp_mechbench',
    heading = 0.0
},

-- Hidden illegal workbench, drugs & weapons only
{
    coords = vector3(0, 0, 0),
    jobs = {},
    gangs = {},
    blip = false,
    recipes = {},
    categories = {'drugs', 'weapons'},
    radius = 2.5,
    label = 'Illegal Crafting',
    image = 'drug_workbench_item',
    model = 'ba_dlc_ba_int2_bench003',
    heading = 270.0
},

TIP

Leave recipes and categories empty to allow all recipes at that workbench. Specifying recipes overrides categories.

Placeable Workbenches

Players can craft a workbench item and place it in the world. These are saved to the database and persist across restarts.

Configured in Config.PlaceableWorkbenches:

lua
PlaceableWorkbenches = {
    ['drug_workbench_item'] = {
        label = 'Drug Lab Bench',
        image = 'drug_workbench_item',
        model = 'ba_dlc_ba_int2_bench003',
        recipes = {},
        categories = {'drugs'},
        radius = 2.5,
    },
    ['weapon_workbench_item'] = {
        label = 'Weapon Assembly Station',
        image = 'drug_workbench_item',
        model = 'imp_prop_impexp_mechbench',
        recipes = {},
        categories = {'weapons'},
        radius = 3.0,
    },
},

The key (e.g., drug_workbench_item) must match an item in your inventory system. Players use the item to place the workbench in the world.

WARNING

You need a recipe in Config.Recipes for the workbench item itself so players can craft it. See the Recipes page.

Prop-Based Workbenches

Automatically attach crafting functionality to existing props already on the map (e.g., campfires, benches).

Configured in Config.PropWorkbenches:

lua
PropWorkbenches = {
    ['prop_beach_fire'] = {
        label = 'Campfire',
        image = 'campfire',
        recipes = {},
        categories = {'medical'},
        jobs = {},
        gangs = {},
        radius = 2.0,
    },
},

The key is the GTA V prop model name. The script automatically finds all instances of that prop on the map and attaches workbench functionality to them.

INFO

Prop workbenches require no coordinates — the script detects all matching props automatically.