# Installation

{% hint style="danger" %}
Do not skim the instructions. You need to follow every step of the Install Guide to make sure you're installing the script correctly
{% endhint %}

## <sub>Dependency Installation</sub>

### <sub>Jim\_Bridge</sub>

{% hint style="info" %}
This is required for the script to function, it won't work without it
{% endhint %}

{% stepper %}
{% step %}

### <sub>Download</sub>

Get it free from github - <https://github.com/jimathy/jim_bridge>
{% endstep %}

{% step %}

### Extract

Extract `jim_bridge` and make sure `-main` is removed from the script folder name
{% endstep %}

{% step %}

### Install

Place the extracted `jim_bridge` folder into `/resources/[standalone]`&#x20;
{% endstep %}

{% step %}

### Done

{% endstep %}
{% endstepper %}

***

## <sub>Framework Installation</sub>

{% tabs %}
{% tab title="ESX" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information [here](https://jixelpatterns.gitbook.io/docs/troubleshooting/common-issues#load-order)
{% endhint %}

### Resources (EXAMPLE)

```markdown
# Default & Standalone Resources
# ------------------------------
ensure chat
ensure hardcap
ensure oxmysql
start ox_lib

# ESX Legacy Core
# ----------
ensure [core]
ensure [esx_addons]
start ox_inventory
start ox_target
ensure [standalone] # Place `jim_bridge` here

# ESX Addons
# ----------

# Other
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}

***

### [Jim-Payments](https://github.com/jimathy/jim-payments) (Required/Optional)

* This is the default system for payments in the script but can easily be changed in `client.lua`
* When triggered gets a list of the nearest players and lets you choose which one to charge
* I class it as `optional` because you don't specifically need it if you have another you want to use.

***

### [Jim-Consumables](https://github.com/jimathy/jim-consumables) (Optional)

* If `jim-consumables` is installed, the script will attempt to reroute consumables
* The server side will automatically add the items to `jim-consumables` (edit any values you wish there)
* When used the item will trigger the `jim-script:client:consume` event which detects wether to use built in event's or `jim-consuambles` (if found)
  {% endtab %}

{% tab title="QBCore" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
# QBCore & Extra stuff
ensure qb-core
ensure [qb]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]
ensure [defaultmaps]


# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}

***

### [Jim-Payments](https://github.com/jimathy/jim-payments) (Required/Optional)

* This is the default system for payments in the script but can easily be changed in `client.lua`
* When triggered gets a list of the nearest players and lets you choose which one to charge
* I class it as `optional` because you don't specifically need it if you have another you want to use.

***

### [Jim-Consumables](https://github.com/jimathy/jim-consumables) (Optional)

* If `jim-consumables` is installed, the script will attempt to reroute consumables
* The server side will automatically add the items to `jim-consumables` (edit any values you wish there)
* When used the item will trigger the `jim-script:client:consume` event which detects wether to use built in event's or `jim-consuambles` (if found)

***

{% endtab %}

{% tab title="QBOX" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
# Qbox & Extra stuff
ensure ox_lib
ensure qbx_core
ensure ox_target
ensure [ox]
ensure [qbx]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]

ensure [npwd-apps]
ensure qbx_npwd
ensure npwd

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}

***

### [Jim-Payments](https://github.com/jimathy/jim-payments) (Required/Optional)

* This is the default system for payments in the script but can easily be changed in `client.lua`
* When triggered gets a list of the nearest players and lets you choose which one to charge
* I class it as `optional` because you don't specifically need it if you have another you want to use.

***

### [Jim-Consumables](https://github.com/jimathy/jim-consumables) (Optional)

* If `jim-consumables` is installed, the script will attempt to reroute consumables
* The server side will automatically add the items to `jim-consumables` (edit any values you wish there)
* When used the item will trigger the `jim-script:client:consume` event which detects wether to use built in event's or `jim-consuambles` (if found)

***

{% endtab %}

{% tab title="OX\_Core" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`&#x20;

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
start chat
start sessionmanager
start pe-basicloading
start bob74_ipl
start pma-voice
start oxmysql
start ox_lib
start ox_core
start ox_target
start illenium-appearance
start ox_inventory
ensure [standalone] # Place `jim_bridge` here

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

# Extra Other Scripts Here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}

***

### [Jim-Payments](https://github.com/jimathy/jim-payments) (Required/Optional)

* This is the default system for payments in the script but can easily be changed in `client.lua`
* When triggered gets a list of the nearest players and lets you choose which one to charge
* I class it as `optional` because you don't specifically need it if you have another you want to use.

***

### [Jim-Consumables](https://github.com/jimathy/jim-consumables) (Optional)

* If `jim-consumables` is installed, the script will attempt to reroute consumables
* The server side will automatically add the items to `jim-consumables` (edit any values you wish there)
* When used the item will trigger the `jim-script:client:consume` event which detects wether to use built in event's or `jim-consuambles` (if found)
  {% endtab %}
  {% endtabs %}

## Job Installation

{% tabs %}
{% tab title="ESX" %}
Import the `esx_jobs.sql` into your database to add the jobs and their grades

<pre class="language-sql"><code class="lang-sql">INSERT INTO `jobs` (name, label) VALUES
	('bakery', 'Bakery')
;

INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
<strong>	('bakery',0,'recruit','Recruit',50,'{}','{}'),
</strong>	('bakery',1,'novice','Novice',75,'{}','{}'),
	('bakery',2,'experienced','Experienced',100,'{}','{}'),
	('bakery',3,'advanced',"Advanced",125,'{}','{}'),
	('bakery',4,'boss','Manager',150,'{}','{}'),
	('bakery',5,'owner','Owner',175,'{}','{}')
;
</code></pre>

{% endtab %}

{% tab title="QBCore" %}
Add the lines from `qb_jobs.txt` to your `qb-core > shared > jobs.lua`

```lua
['bakery'] = {
    label = 'Bakery',
    defaultDuty = true,
    grades = {
        ['0'] = { name = 'Recruit', payment = 50 },
        ['1'] = { name = 'Novice', payment = 75 },
        ['2'] = { name = 'Experienced', payment = 100 },
        ['3'] = { name = 'Advanced', payment = 125 },
        ['4'] = { name = 'Manager', isboss = true, payment = 150 },
    },
},
```

{% endtab %}

{% tab title="QBOX" %}
Add the lines from `qb_jobs.txt` to your `qbx_core > shared > jobs.lua`

```lua
['bakery'] = {
    label = 'Bakery',
    defaultDuty = true,
    grades = {
        [0] = { name = 'Recruit', payment = 50 },
        [1] = { name = 'Novice', payment = 75 },
        [2] = { name = 'Experienced', payment = 100 },
        [3] = { name = 'Advanced', payment = 125 },
        [4] = { name = 'Manager', isboss = true, payment = 150 },
    },
},
```

{% endtab %}

{% tab title="OX\_Core" %}
Import the `ox_jobs.sql` into your database to add the jobs and their grades

```sql
INSERT IGNORE INTO `account_roles` (`name`) VALUES
('novice'),
('experienced'),
('advanced'),
('manager'),
('owner');

INSERT IGNORE INTO `ox_groups` ( `name`, `label`, `colour`, `hasAccount`) VALUES
( 'bakery', 'Bakery', NULL, 1 );

INSERT IGNORE INTO `ox_group_grades` (`group`, `grade`, `label`, `accountRole`) VALUES
('bakery', 0, 'Recruit', NULL),
('bakery', 1, 'Novice', 'novice'),
('bakery', 2, 'Experienced', 'experienced'),
('bakery', 3, 'Advanced', 'advanced'),
('bakery', 4, 'Manager', 'manager'),
('bakery', 5, 'Owner', 'owner');
```

{% endtab %}
{% endtabs %}

## Item Installation

{% tabs %}
{% tab title="QB-Inv" %}
{% hint style="warning" %}
These items work for both old and new `qb-inventory`
{% endhint %}

### Item Images

Add the images from `_install > images` to your inventory folder&#x20;

* eg. `qb-inventory > html > images`

### Item Data

If using `qb-inventory` or similar, add the lines from `qb_items.txt` to your `qb-core > shared > items.lua`

```lua
-- JIM-BAKERY --
    chocolatesyrup    = { name = "chocolatesyrup", label = "Chocolate Syrup", weight = 200, type = "item", image = "chocolatesyrup.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet and rich syrup." },
    jimeggs    = { name = "jimeggs", label = "Eggs", weight = 100, type = "item", image = "jimeggs.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Farm-fresh eggs." },
    chocolate    = { name = "chocolate", label = "Chocolate", weight = 200, type = "item", image = "chocolate.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A bar of sweet chocolate." },
    sugar    = { name = "sugar", label = "Sugar", weight = 100, type = "item", image = "sugar.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet granulated sugar." },
    flour    = { name = "flour", label = "Flour", weight = 100, type = "item", image = "flour.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Fine white flour." },
    dough    = { name = "dough", label = "Dough", weight = 200, type = "item", image = "pizzadough.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Prepared baking dough." },
    heavycream    = { name = "heavycream", label = "Heavy Cream", weight = 200, type = "item", image = "heavycream.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Thick dairy cream." },
    icecream    = { name = "icecream", label = "Ice Cream", weight = 500, type = "item", image = "burger-icecream.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cold and sweet dessert." },
    milk    = { name = "milk", label = "Milk", weight = 500, type = "item", image = "burger-milk.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Carton of milk." },
    lettuce    = { name = "lettuce", label = "Lettuce", weight = 100, type = "item", image = "lettuce.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Crisp green lettuce." },
    cheddar    = { name = "cheddar", label = "Cheddar Slice", weight = 100, type = "item", image = "cheddar.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Slice of cheddar cheese." },
    ham    = { name = "ham", label = "Ham", weight = 100, type = "item", image = "ham.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sliced ham." },
    strawberry    = { name = "strawberry", label = "Strawberry", weight = 100, type = "item", image = "strawberry.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Fresh strawberry." },
    vanillaextract    = { name = "vanillaextract", label = "Vanilla Extract", weight = 500, type = "item", image = "vanillaextract.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Strong vanilla essence." },
    cocoapowder    = { name = "cocoapowder", label = "Cocoa Powder", weight = 500, type = "item", image = "cocoapowder.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Finely ground cocoa." },
    icing    = { name = "icing", label = "Icing", weight = 500, type = "item", image = "icing.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet icing for cakes." },
    tbbread    = { name = "tbbread", label = "Loaf of Bread", weight = 500, type = "item", image = "tbbread.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Freshly baked bread." },
    tbwhitebread    = { name = "tbwhitebread", label = "White Bread Roll", weight = 500, type = "item", image = "tbwhitebread.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Soft white bread roll." },
    tbbrownbread    = { name = "tbbrownbread", label = "Brown Bread Roll", weight = 500, type = "item", image = "tbbrownbread.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Whole grain brown roll." },
    breadslice    = { name = "breadslice", label = "Slice of Bread", weight = 50, type = "item", image = "breadslice.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "A single slice of bread." },
    milkshake    = { name = "milkshake", label = "Milkshake", weight = 200, type = "item", image = "burger-milkshake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cold milkshake drink." },
    strawberrymilkshake    = { name = "strawberrymilkshake", label = "Strawberry Milkshake", weight = 200, type = "item", image = "strawberrymilkshake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Strawberry flavored milkshake." },
    chocolatemilkshake    = { name = "chocolatemilkshake", label = "Chocolate Milkshake", weight = 200, type = "item", image = "chocolatemilkshake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Chocolate flavored milkshake." },
    sprunk    = { name = "sprunk", label = "Sprunk", weight = 100, type = "item", image = "sprunk.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Classic lemon-lime soda." },
    sprunklight    = { name = "sprunklight", label = "Sprunk Light", weight = 100, type = "item", image = "sprunklight.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Diet lemon-lime soda." },
    ecola    = { name = "ecola", label = "eCola", weight = 100, type = "item", image = "ecola.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cola-flavored soda." },
    ecolalight    = { name = "ecolalight", label = "eCola Light", weight = 100, type = "item", image = "ecolalight.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Diet cola-flavored soda." },
    tbbirthdaycake    = { name = "tbbirthdaycake", label = "Birthday Cake", weight = 200, type = "item", image = "tbbirthdaycake.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Colorful birthday cake." },
    tbcake    = { name = "tbcake", label = "Cake", weight = 200, type = "item", image = "tbcake.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Plain cake." },
    tbchoccake    = { name = "tbchoccake", label = "Chocolate Cake", weight = 200, type = "item", image = "tbchoccake.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Rich chocolate cake." },
    tbcookie    = { name = "tbcookie", label = "Cookie", weight = 50, type = "item", image = "tbcookie.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Crunchy cookie." },
    tbbrownie    = { name = "tbbrownie", label = "Brownie", weight = 200, type = "item", image = "tbbrownie.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Chocolate brownie." },
    tbcroissant    = { name = "tbcroissant", label = "Croissant", weight = 200, type = "item", image = "tbcroissant.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Flaky croissant." },
    tbchoccroiss    = { name = "tbchoccroiss", label = "Bloody Cross", weight = 200, type = "item", image = "tbblcroiss.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Chocolate-filled croissant." },
    tbcupcake    = { name = "tbcupcake", label = "CupCake", weight = 200, type = "item", image = "tbcupcake.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Sweet cupcake." },
    tbsweetroll    = { name = "tbsweetroll", label = "Sweet Roll", weight = 200, type = "item", image = "tbsweetroll.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Iced sweet roll." },
    tbdonut    = { name = "tbdonut", label = "Donut", weight = 500, type = "item", image = "tbdonut.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Frosted donut." },
    tblongjohn    = { name = "tblongjohn", label = "Long John", weight = 500, type = "item", image = "tblongjohn.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Iced pastry bar." },
    tbcakebase    = { name = "tbcakebase", label = "Cake Base", weight = 500, type = "item", image = "tbcakebase.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Plain cake layer base." },
    sprunk_glass    = { name = "sprunk_glass", label = "Glass of Sprunk", weight = 100, type = "item", image = "sprunk_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Fizzy green soda", },
    sprunklight_glass    = { name = "sprunklight_glass", label = "Glass of Sprunk Light", weight = 100, type = "item", image = "sprunklight_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Diet version of Sprunk", },
    ecola_glass    = { name = "ecola_glass", label = "Glass of eCola", weight = 100, type = "item", image = "ecola_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Cola beverage", },
    ecolalight_glass    = { name = "ecolalight_glass", label = "Glass of eCola Light", weight = 100, type = "item", image = "ecolalight_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Light cola beverage", },
    raine_glass    = { name = "raine_glass", label = "Glass of Raine", weight = 100, type = "item", image = "raine_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Refreshing Raine beverage", },
    junkdrink_glass    = { name = "junkdrink_glass", label = "Glass of Junk", weight = 100, type = "item", image = "junkdrink_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "The Quick Fix", },
    orangotang_glass    = { name = "orangotang_glass", label = "Glass of Orang-o-tang", weight = 100, type = "item", image = "orangotang_glass.png", unique = false, useable = true, shouldClose = true, combinable = nil, description = "Me Pongo, Pongo Thirsty", },

```

{% endtab %}

{% tab title="OX\_Inv" %}
{% hint style="warning" %}
This applies to any framework using `ox_inventory`
{% endhint %}

{% hint style="warning" %}
Currently while using `ESX` my scripts only support `ox_inventory`
{% endhint %}

### Item Images

Copy and paste the images from `_install > images` to your inventory folder&#x20;

* eg. `ox_inventory > web > images`

### Item Data

Add the `ox_items.txt` to your `ox_inventory > data > items.lua`

```lua
-- JIM-BAKERY --
    -- Basic Ingredients
    chocolate = { label = "Chocolate", weight = 200, stack = true, close = true, description = "A bar of sweet chocolate.",
        client = { image = "chocolate.png", event = "jim-bakery:client:Consume", }
    },
    chocolatesyrup = { label = "Chocolate Syrup", weight = 200, stack = true, close = true, description = "Sweet and rich syrup.",
        client = { image = "chocolatesyrup.png", event = "jim-bakery:client:Consume", }
    },
    sugar = { label = "Sugar", weight = 100, stack = true, close = true, description = "Sweet granulated sugar.",
        client  = { image = "sugar.png", event = "jim-bakery:client:Consume", }
    },
    flour = { label = "Flour", weight = 100, stack = true, close = true, description = "Fine white flour.",
        client = { image = "flour.png", event = "jim-bakery:client:Consume", }
    },
    dough = { label = "Dough", weight = 200, stack = true, close = true, description = "Prepared baking dough.",
        client = { image = "pizzadough.png", event = "jim-bakery:client:Consume", }
    },
    cocoapowder = { label = "Cocoa Powder", weight = 500, stack = true, close = true, description = "Finely ground cocoa.",
        client = { image = "cocoapowder.png", event = "jim-bakery:client:Consume", }
    },
    vanillaextract = { label = "Vanilla Extract", weight = 500, stack = true, close = true, description = "Strong vanilla essence.",
        client = { image = "vanillaextract.png", event = "jim-bakery:client:Consume", }
    },
    icing = { label = "Icing", weight = 500, stack = true, close = true, description = "Sweet icing for cakes.",
        client = { image = "icing.png", event = "jim-bakery:client:Consume", }
    },
    icecream = { label = "Ice Cream", weight = 500,  stack = true,  close = true, description = "Cold and sweet dessert.",
        client = { image = "burger-icecream.png", },
    },

    -- Dairy & Eggs
    jimeggs = { label = "Eggs", weight = 100, stack = true, close = true, description = "Farm-fresh eggs.",
        client = { image = "jimeggs.png", event = "jim-bakery:client:Consume", }
    },
    milk = { label = "Milk", weight = 500, stack = true, close = true, description = "Carton of milk.",
        client = { image = "burger-milk.png", event = "jim-bakery:client:Consume", }
    },
    heavycream = { label = "Heavy Cream", weight = 200, stack = true, close = true, description = "Thick dairy cream.",
        client = { image = "heavycream.png", event = "jim-bakery:client:Consume", }
    },

    -- Vegetables & Meats
    lettuce = { label = "Lettuce", weight = 100, stack = true, close = true, description = "Crisp green lettuce.",
        client = { image = "lettuce.png", event = "jim-bakery:client:Consume", }
    },
    ham = { label = "Ham", weight = 100, stack = true, close = true, description = "Sliced ham.",
        client = { image = "ham.png", event = "jim-bakery:client:Consume", }
    },
    cheddar = { label = "Cheddar Slice", weight = 100, stack = true, close = true, description = "Slice of cheddar cheese.",
        client = { image = "cheddar.png", event = "jim-bakery:client:Consume", }
    },

    -- Fruits
    strawberry = { label = "Strawberry", weight = 100, stack = true, close = true, description = "Fresh strawberry.",
        client = { image = "strawberry.png", event = "jim-bakery:client:Consume", }
    },

    -- Bread & Rolls
    tbbread = { label = "Loaf of Bread", weight = 500, stack = false, close = true, description = "Freshly baked bread.",
        client = { image = "tbbread.png", event = "jim-bakery:client:Consume", }
    },
    tbwhitebread = { label = "White Bread Roll", weight = 500, stack = false, close = true, description = "Soft white bread roll.",
        client = { image = "tbwhitebread.png", event = "jim-bakery:client:Consume", }
    },
    tbbrownbread = { label = "Brown Bread Roll", weight = 500, stack = false, close = true, description = "Whole grain brown roll.",
        client = { image = "tbbrownbread.png", event = "jim-bakery:client:Consume", }
    },
    breadslice = { label = "Slice of Bread", weight = 50, stack = true, close = true, description = "A single slice of bread.",
        client = { image = "breadslice.png", event = "jim-bakery:client:Consume", }
    },

    -- Milkshakes
    milkshake = { label = "Milkshake", weight = 200, stack = true, close = true, description = "Cold milkshake drink.",
        client = { image = "burger-milkshake.png", event = "jim-bakery:client:Consume", }
    },
    strawberrymilkshake = { label = "Strawberry Milkshake", weight = 200, stack = true, close = true, description = "Strawberry flavored milkshake.",
        client = { image = "strawberrymilkshake.png", event = "jim-bakery:client:Consume", }
    },
    chocolatemilkshake  = { label = "Chocolate Milkshake", weight = 200, stack = true, close = true, description = "Chocolate flavored milkshake.",
        client = { image = "chocolatemilkshake.png", event = "jim-bakery:client:Consume", }
    },

    -- Soft Drinks
    sprunk = { label = "Sprunk", weight = 100, stack = true, close = true, description = "Classic lemon-lime soda.",
        client = { image = "sprunk.png", event = "jim-bakery:client:Consume", }
    },
    sprunklight = { label = "Sprunk Light", weight = 100, stack = true, close = true, description = "Diet lemon-lime soda.",
        client = { image = "sprunklight.png", event = "jim-bakery:client:Consume", }
    },
    ecola = { label = "eCola", weight = 100, stack = true, close = true, description = "Cola-flavored soda.",
        client = { image = "ecola.png", event = "jim-bakery:client:Consume", }
    },
    ecolalight = { label = "eCola Light", weight = 100, stack = true, close = true, description = "Diet cola-flavored soda.",
        client = { image = "ecolalight.png", event = "jim-bakery:client:Consume", }
    },

    -- Glass Soft Drinks
    sprunk_glass = { label = "Glass of Sprunk", weight = 100, stack = true, close = true, description = "Fizzy green soda",
        client = { image = "sprunk_glass.png", event = "jim-bakery:client:Consume", }
    },
    sprunklight_glass = { label = "Glass of Sprunk Light", weight = 100, stack = true, close = true, description = "Diet version of Sprunk",
        client = { image = "sprunklight_glass.png", event = "jim-bakery:client:Consume", }
    },
    ecola_glass = { label = "Glass of eCola", weight = 100, stack = true, close = true, description = "Cola beverage",
        client = { image = "ecola_glass.png", event = "jim-bakery:client:Consume", }
    },
    ecolalight_glass = { label = "Glass of eCola Light", weight = 100, stack = true, close = true, description = "Light cola beverage",
        client = { image = "ecolalight_glass.png", event = "jim-bakery:client:Consume", }
    },
    raine_glass = { label = "Glass of Raine", weight = 100, stack = true, close = true, description = "Refreshing Raine beverage",
        client = { image = "raine_glass.png", event = "jim-bakery:client:Consume", }
    },
    junkdrink_glass = { label = "Glass of Junk", weight = 100, stack = true, close = true, description = "The Quick Fix",
        client = { image = "junkdrink_glass.png", event = "jim-bakery:client:Consume", }
    },
    orangotang_glass = { label = "Glass of Orang-o-tang", weight = 100, stack = true, close = true, description = "Me Pongo, Pongo Thirsty",
        client = { image = "orangotang_glass.png", event = "jim-bakery:client:Consume", }
    },

    -- Cakes & Pastries
    tbbirthdaycake = { label = "Birthday Cake", weight = 200, stack = false, close = true, description = "Colorful birthday cake.",
        client = { image = "tbbirthdaycake.png", event = "jim-bakery:client:Consume", }
    },
    tbcake = { label = "Cake", weight = 200, stack = false, close = true, description = "Plain cake.",
        client = { image = "tbcake.png", event = "jim-bakery:client:Consume", }
    },
    tbchoccake = { label = "Chocolate Cake", weight = 200, stack = false, close = true, description = "Rich chocolate cake.",
        client = { image = "tbchoccake.png", event = "jim-bakery:client:Consume", }
    },
    tbcookie = { label = "Cookie", weight = 50, stack = true, close = true, description = "Crunchy cookie.",
        client = { image = "tbcookie.png", event = "jim-bakery:client:Consume", }
    },
    tbbrownie = { label = "Brownie", weight = 200, stack = true, close = true, description = "Chocolate brownie.",
        client = { image = "tbbrownie.png", event = "jim-bakery:client:Consume", }
    },
    tbcroissant = { label = "Croissant", weight = 200, stack = true, close = true, description = "Flaky croissant.",
        client = { image = "tbcroissant.png", event = "jim-bakery:client:Consume", }
    },
    tbchoccroiss = { label = "Bloody Cross", weight = 200, stack = true, close = true, description = "Chocolate-filled croissant.",
        client = { image = "tbblcroiss.png", event = "jim-bakery:client:Consume", }
    },
    tbcupcake = { label = "CupCake", weight = 200, stack = true, close = true, description = "Sweet cupcake.",
        client = { image = "tbcupcake.png", event = "jim-bakery:client:Consume", }
    },
    tbsweetroll = { label = "Sweet Roll", weight = 200, stack = true, close = true, description = "Iced sweet roll.",
        client = { image = "tbsweetroll.png", event = "jim-bakery:client:Consume", }
    },
    tbdonut = { label = "Donut", weight = 500, stack = true, close = true, description = "Frosted donut.",
        client = { image = "tbdonut.png", event = "jim-bakery:client:Consume", }
    },
    tblongjohn = { label = "Long John", weight = 500, stack = true, close = true, description = "Iced pastry bar.",
        client = { image = "tblongjohn.png", event = "jim-bakery:client:Consume", }
    },
    tbcakebase = { label = "Cake Base", weight = 500, stack = false, close = true, description = "Plain cake layer base.",
        client = { image = "tbcakebase.png", event = "jim-bakery:client:Consume", }
    },

    -- QBCORE Based items
    tosti = { label = "Grilled Cheese Sandwich", weight = 200, stack = true, close = true, description = "Nice to eat",
        client = { image = "tosti.png", event = "jim-bakery:client:Consume", }
    },
    sandwich = { label = "Sandwich", weight = 100, stack = true, close = true, description = "Nice bread for your stomach",
        client = { image = "sandwich.png", event = "jim-bakery:client:Consume", }
    },
    coffee = { label = "Coffee", weight = 200, stack = true, close = true, description = "Pump 4 Caffeine",
        client = { image = "coffee.png", event = "jim-bakery:client:Consume", }
    },

```

{% endtab %}
{% endtabs %}


---

# 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://jixelpatterns.gitbook.io/docs/paid-assets/jim-bakery/installation.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.
