> For the complete documentation index, see [llms.txt](https://docs.djscollections.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.djscollections.com/lore-food-pack/rustys-donuts/installation.md).

# Installation

{% stepper %}
{% step %}
**Download the resources**

Download both `cfx-djs-anims` and `cfx-djs-rustysdonuts`,  [CFX portal](https://portal.cfx.re/login) and place them in your resources folder.
{% endstep %}

{% step %}
**Add to server.cfg**

Add `cfx-djs-anims` and `cfx-djs-rustysdonuts` to your `server.cfg` after all dependencies

```
ensure cfx-djs-anims
ensure cfx-djs-rustysdonuts
```

{% endstep %}

{% step %}
**Add Items to Inventory**

Add the required items to your inventory resource — see[ Items](#items) below.
{% endstep %}

{% step %}
**Optional: add items to addon Consumable Resources**

Add the required (Non-Consumable) items to supported addon consumable resource — see [Addon Consumables Items](#addon-consumables-items) below.
{% endstep %}

{% step %}
**Optional: inventory icons**

Custom inventory icons are included—check Inventory Icons below. If you’d like to use them, simply copy the files into your inventory resource’s image directory.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
WARNING

Some anti-cheats may block props from spawning or limit certain models from loading in-game, so if your props are not appearing, invisible, or being instantly removed, it’s likely an anti-cheat issue rather than the resource itself. Please check your server console and in-game F8 console for more details, such as blocked entity warnings, model load failures, or related error codes—these are common signs of interference. If this happens, we recommend reaching out to your anticheat’s developer or support team with those errors and reviewing your anticheat documentation for any settings related to prop, model, or entity restrictions that may need to be adjusted. If you do report this issue to us, we’ll document it in our **common issues** section to help others who may run into the same problem.
{% endhint %}

***

## Items <a href="#items" id="items"></a>

Make sure to add all required items to your inventory resource using the format that matches your setup.

{% tabs %}
{% tab title="Ox Inventory (Consumable)" %}
Add the items below to your `ox_inventory` into `data/items.lua`.

{% code expandable="true" %}

```
['djs_donut_applepie'] = { 
    label = 'Apple Pie Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_applepie',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_blueberryglazed'] = { 
    label = 'Blueberry Glazed Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_blueberryglazed',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_cakebatterdonut'] = { 
    label = 'Cake Batter Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_cakebatterdonut',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_carmelbacon'] = { 
    label = 'Carmel Bacon Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_carmelbacon',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_chocglazeddonut'] = { 
    label = 'Choc Glazed Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_chocglazeddonut',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_chocolatechocolatechip'] = { 
    label = 'Chocolate Chip Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_chocolatechocolatechip',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_chocolatecoconut'] = { 
    label = 'Chocolate Coconut Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_chocolatecoconut',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_chocsprinkle'] = { 
    label = 'Choc Sprinkle Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_chocsprinkle',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_cinnamon'] = { 
    label = 'Cinnamon Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_cinnamon',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_dulcedeleche_001'] = { 
    label = 'Dulce De Leche Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_dulcedeleche_001',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_nycheesecake'] = {
    label = 'NY Cheesecake Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_nycheesecake',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_origglazed'] = {
    label = 'Orginal Glazed Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_origglazed',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_peanutbutterchocolatecaramel'] = { 
    label = 'PB Chocolate Caramel Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_peanutbutterchocolatecaramel',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_peanutbutterchocolatechip'] = { 
    label = 'PB Chocolatechip Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_peanutbutterchocolatechip',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_peanutbuttervanilla'] = {
    label = 'PB Vanilla Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_peanutbuttervanilla',
			bone = 18905,
			pos = vec3(0.170000, 0.060000, 0.000000),
			rot = vec3(-34.007996, -9.840003, 79.167885)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_strawberrychocolatesprinkle'] = {
    label = 'Strawberry Chocolate Sprinkle Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_strawberrychocolatesprinkle',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_sugardonut'] = { 
    label = 'Sugar Donut',
    weight = 120,
    client = {
        status = { hunger = 0 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_sugardonut',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_donut_vanillacarameldonut'] = {
    label = 'Vanilla Caramel Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_donut_vanillacarameldonut',
			bone = 26612,
			pos = vec3(0.036000, -0.012000, 0.000000),
			rot = vec3(80.808022, 21.756001, -22.792000)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_rusty_donut_cookiescream'] = { 
    label = 'Cookies and Cream Donut',
    weight = 120,
    client = {
        status = { hunger = 120000 },
		anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
		prop = {
			model = 'djs_rusty_donut_cookiescream',
			bone = 26612,
			pos = vec3(0.036000, -0.024000, 0.048000),
			rot = vec3(-94.884064, 2.300000, -9.588002)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_rustys_coffee_full'] = {
    label = 'Rustys Coffee',
    weight = 0,
    client = {
        status = { thirst = 400000 },
		anim = { dict = 'anim@djs@drink@soda', clip = 'djs_drink_soda_sip_long' },
		prop = {
			model = 'djs_rustys_coffee_full',
			bone = 57005,
			pos = vec3(0.110000, -0.080000, -0.040000),
			rot = vec3(-77.893997, 0.000000, 0.000000)
		},
        usetime = 10000,
		cancel = true,
    }
},
['djs_rusty_assorted_donutbox_open'] = {
	label = 'Box of Donuts',
	stack = true,
	close = false,
	weight = 120,
	client = {
		status = { hunger = 120000 },
		anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' }, 
		prop = { model = 'djs_rusty_assorted_donutbox_open',
		bone = 18905,
		pos = vec3(0.242000, 0.133000, 0.052000),
		rot = vec3(0.900000, 4.299999, 210.000000) },

		propTwo = { model = 'djs_donut_cakebatterdonut',
		bone = 57005,
		pos = vec3(0.140000, 0.050000, -0.070000),
		rot = vec3(42.000000, 62.000000, 10.000000) },

		usetime = 10000,
		cancel = true,
	}
},        
['djs_rusty_assorted_donutbox_closed'] = {
	label = 'Closed Box of Donuts',
	stack = true,
	close = false,
	weight = 120,
	client = {
		status = { hunger = 120000 },
		anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' }, 
		prop = { model = 'djs_rusty_assorted_donutbox_closed',
		bone = 18905,
		pos = vec3(0.242000, 0.133000, 0.052000),
		rot = vec3(0.900000, 4.299999, 210.000000) },

		propTwo = { model = 'djs_donut_cakebatterdonut',
		bone = 57005,
		pos = vec3(0.140000, 0.050000, -0.070000),
		rot = vec3(42.000000, 62.000000, 10.000000) },

		usetime = 10000,
		cancel = true,
	}
}, 	
```

{% endcode %}
{% endtab %}

{% tab title="Ox Inventory (Non-Consumable)" %}
Add the items below to your `ox_inventory` into `data/items.lua`.

{% code expandable="true" %}

```
['djs_donut_applepie'] = {
	label = 'Apple Pie Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_blueberryglazed'] = {
	label = 'Blueberry Glazed Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_cakebatterdonut'] = {
	label = 'Cake Batter Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_carmelbacon'] = {
	label = 'Carmel Bacon Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_chocglazeddonut'] = {
	label = 'Choc Glazed Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_chocolatechocolatechip'] = {
	label = 'Chocolate Chip Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_chocolatecoconut'] = {
	label = 'Chocolate Coconut Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_chocsprinkle'] = {
	label = 'Choc Sprinkle Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_cinnamon'] = {
	label = 'Cinnamon Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_dulcedeleche_001'] = {
	label = 'Dulce De Leche Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_nycheesecake'] = {
	label = 'NY Cheesecake Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_origglazed'] = {
	label = 'Orginal Glazed Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_peanutbutterchocolatecaramel'] = {
	label = 'PB Chocolate Caramel Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_peanutbutterchocolatechip'] = {
	label = 'PB Chocolatechip Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_peanutbuttervanilla'] = {
	label = 'PB Vanilla Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_strawberrychocolatesprinkle'] = {
	label = 'Strawberry Chocolate Sprinkle Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_sugardonut'] = {
	label = 'Sugar Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_donut_vanillacarameldonut'] = {
	label = 'Vanilla Caramel Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_rusty_donut_cookiescream'] = {
	label = 'Cookies and Cream Donut',
	weight = 120,
	stack = true,
	close = true,
},
['djs_rustys_coffee_full'] = {
	label = 'Rustys Coffee',
	weight = 120,
	stack = true,
	close = true,
},
['djs_rusty_assorted_donutbox_open'] = {
	label = 'Open Box of Donuts',
	weight = 120,
	stack = true,
	close = true,
},
['djs_rusty_assorted_donutbox_closed'] = {
	label = 'Closed Box of Donuts',
	weight = 120,
	stack = true,
	close = true,
},
```

{% endcode %}
{% endtab %}

{% tab title="AK47 Inventory" %}

* Copy Ox Inventory (Consumable) tab
* Copy items.lua from `ox_inventory/data` and place into `ak47_inventory/convert/ox/`
* Restart ak47\_inventory (it will copy all items)
* Restart ak47\_inventory again
  {% endtab %}
  {% endtabs %}

***

## Addon Consumables Items

Make sure to add all required items to your inventory resource using the format that matches your setup.

{% tabs %}
{% tab title="Devcore Needs" %}
Add the items below to your `devcore_needs` into `data/items.lua`.

{% code fullWidth="false" expandable="true" %}

```
["djs_donut_applepie"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_applepie',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_blueberryglazed"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_blueberryglazed',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_cakebatterdonut"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_cakebatterdonut',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_carmelbacon"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_carmelbacon',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_chocglazeddonut"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_chocglazeddonut',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_chocolatechocolatechip"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_chocolatechocolatechip',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_chocolatecoconut"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_chocolatecoconut',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_chocsprinkle"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_chocsprinkle',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_cinnamon"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_cinnamon',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_dulcedeleche_001"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_dulcedeleche_001',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_nycheesecake"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_nycheesecake',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_origglazed"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_origglazed',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_peanutbutterchocolatecaramel"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_peanutbutterchocolatecaramel',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_peanutbutterchocolatechip"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_peanutbutterchocolatechip',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_peanutbuttervanilla"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_peanutbuttervanilla',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_strawberrychocolatesprinkle"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_strawberrychocolatesprinkle',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_sugardonut"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_sugardonut',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_donut_vanillacarameldonut"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_donut_vanillacarameldonut',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_rusty_donut_cookiescream"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_rusty_donut_cookiescream',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_rustys_coffee_full"] = {
    Size = 120,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_rustys_coffee_full',
            BoneID = 26612,
            Offset = vector3(0.036000, -0.024000, 0.048000),
            Rot = vector3(-94.884064, 2.300000, -9.588002),
        },
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "mp_player_inteat@burger",
            anim = "mp_player_int_eat_burger",
            params = {nil, nil, 2500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},

["djs_assorted_donutbox_closed"] = {
    Size = 220,
    Type = 'FOOD',
    Prop = {
        Main = {
            Model = 'djs_assorted_donutbox_closed',
            BoneID = 57005,
            Offset = vector3(0.136, 0.027, 0.0),
            Rot = vector3(80.100433, 0.0, 0.0),
        },
        Second = {
            Model = 'djs_donut_cakebatterdonut',
            BoneID = 18905,
            Offset = vector3(0.130, 0.040, -0.010),
            Rot = vector3(0.0, 0.0, 0.0),
        }
    },
    Anim = {
        Hold = nil,
        Use = {
            dict = "anim@djs@food@plated",
            anim = "djs_food_plate_bite_loop",
            params = {nil, nil, 17500, 49}
        }
    },
    Consume = {
        Bite = { min = 10, max = 12 },
        Status = 120000,
    },
},
```

{% endcode %}
{% endtab %}

{% tab title="Jims Consumables" %}
Add the items below to your `jims-consumables` into `shared/emotes.lua`.

{% code overflow="wrap" expandable="true" %}

```
djs_donut_applepie = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Apple Pie Donut", AnimationOptions = { Prop = "djs_donut_applepie", PropBone = 26612, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_blueberryglazed = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Blueberry Glazed Donut", AnimationOptions = { Prop = "djs_donut_blueberryglazed", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_cakebatterdonut = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Cake Batter Donut", AnimationOptions = { Prop = "djs_donut_cakebatterdonut", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_carmelbacon = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Carmel Bacon Donut", AnimationOptions = { Prop = "djs_donut_carmelbacon", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_chocglazeddonut = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Choc Glazed Donut", AnimationOptions = { Prop = "djs_donut_chocglazeddonut", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_chocolatechocolatechip = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Chocolate Chip Donut", AnimationOptions = { Prop = "djs_donut_chocolatechocolatechip", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_chocolatecoconut = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Chocolate Coconut Donut", AnimationOptions = { Prop = "djs_donut_chocolatecoconut", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_chocsprinkle = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Choc Sprinkle Donut", AnimationOptions = { Prop = "djs_donut_chocsprinkle", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_cinnamon = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Cinnamon Donut", AnimationOptions = { Prop = "djs_donut_cinnamon", PropBone = 18905, PropPlacement = { 0.155, 0.059, 0.0, -206.097748, 0.0, 72.600357 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_dulcedeleche_001 = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Dulce De Leche Donut", AnimationOptions = { Prop = "djs_donut_dulcedeleche_001", PropBone = 18905, PropPlacement = { 0.155, 0.059, 0.0, -206.097748, 0.0, 72.600357 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_nycheesecake = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "NY Cheesecake Donut", AnimationOptions = { Prop = "djs_donut_nycheesecake", PropBone = 18905, PropPlacement = { 0.155, 0.059, 0.0, -206.097748, 0.0, 72.600357 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_origglazed = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Orginal Glazed Donut", AnimationOptions = { Prop = "djs_donut_origglazed", PropBone = 18905, PropPlacement = { 0.155, 0.059, 0.0, -206.097748, 0.0, 72.600357 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_peanutbutterchocolatecaramel = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "PB Chocolate Caramel Donut", AnimationOptions = { Prop = "djs_donut_peanutbutterchocolatecaramel", PropBone = 18905, PropPlacement = { 0.155, 0.059, 0.0, -206.097748, 0.0, 72.600357 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_peanutbutterchocolatechip = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "PB Chocolatechip Donut", AnimationOptions = { Prop = "djs_donut_peanutbutterchocolatechip", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_peanutbuttervanilla = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "PB Vanilla Donut", AnimationOptions = { Prop = "djs_donut_peanutbuttervanilla", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_strawberrychocolatesprinkle = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Strawberry Chocolate Sprinkle Donut", AnimationOptions = { Prop = "djs_donut_strawberrychocolatesprinkle", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_sugardonut = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Sugar Donut", AnimationOptions = { Prop = "djs_donut_sugardonut", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_donut_vanillacarameldonut = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Vanilla Caramel Donut", AnimationOptions = { Prop = "djs_donut_vanillacarameldonut", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_rusty_donut_cookiescream = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "Cookies and Cream Donut", AnimationOptions = { Prop = "djs_rusty_donut_cookiescream", PropBone = 18905, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_rustys_coffee_full = { "anim@djs@drink@coffee", "djs_drink_coffee_sip_long", "Rustys Coffee", AnimationOptions = { Prop = "djs_rustys_coffee_full", PropBone = 57005, PropPlacement = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_assorted_donutbox_closed = { "anim@djs@food@plated", "djs_food_plate_bite_loop", "Closed Donut Box", AnimationOptions = { Prop = "djs_assorted_donutbox_closed", PropBone = 18905, PropPlacement = { 0.1200, 0.0210, 0.0500, 9.1, 14.0, 206.0 }, SecondProp = "djs_donut_origglazed", SecondPropBone = 57005, SecondPropPlacement = { 0.1070,  -0.0080, -0.0880, 40.0,  60.0,  -18.0 }, EmoteLoop = true, EmoteMoving = true }},
djs_rusty_assorted_donutbox_open = { "anim@djs@food@plated", "djs_food_plate_bite_loop", "Donut Box", AnimationOptions = { Prop = "djs_rusty_assorted_donutbox_open", PropBone = 18905, PropPlacement = {  0.1200, 0.0210, 0.0500, 9.1, 14.0, 206.0 }, SecondProp = "djs_donut_origglazed", SecondPropBone = 57005, SecondPropPlacement = { 0.1070,  -0.0080, -0.0880, 40.0,  60.0,  -18.0 }, EmoteLoop = true, EmoteMoving = true }},
```

{% endcode %}

Add the items below to your `jims-consumables` into `shared/consumables.lua`.

{% code overflow="wrap" expandable="true" %}

```
djs_donut_applepie = { emote = "djs_donut_applepie", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_blueberryglazed = { emote = "djs_donut_blueberryglazed", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_cakebatterdonut = { emote = "djs_donut_cakebatterdonut", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_carmelbacon = { emote = "djs_donut_carmelbacon", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_chocglazeddonut = { emote = "djs_donut_chocglazeddonut", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_chocolatechocolatechip = { emote = "djs_donut_chocolatechocolatechip", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_chocolatecoconut = { emote = "djs_donut_chocolatecoconut", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_chocsprinkle = { emote = "djs_donut_chocsprinkle", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_cinnamon = { emote = "djs_donut_cinnamon", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_dulcedeleche_001 = { emote = "djs_donut_dulcedeleche_001", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_nycheesecake = { emote = "djs_donut_nycheesecake", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_origglazed = { emote = "djs_donut_origglazed", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_peanutbutterchocolatecaramel = { emote = "djs_donut_peanutbutterchocolatecaramel", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_peanutbutterchocolatechip = { emote = "djs_donut_peanutbutterchocolatechip", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_peanutbuttervanilla = { emote = "djs_donut_peanutbuttervanilla", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_strawberrychocolatesprinkle = { emote = "djs_donut_strawberrychocolatesprinkle", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_sugardonut = { emote = "djs_donut_sugardonut", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_donut_vanillacarameldonut = { emote = "djs_donut_vanillacarameldonut", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_rusty_donut_cookiescream = { emote = "djs_rusty_donut_cookiescream", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_assorted_donutbox_closed = { emote = "djs_assorted_donutbox_closed", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_rusty_assorted_donutbox_open = { emote = "djs_rusty_assorted_donutbox_open", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "food", stats = { hunger = 20, }},
djs_rustys_coffee_full = { emote = "djs_rustys_coffee_full", canRun = false, time = math.random(2500, 3500), stress = 0, heal = 0, armor = 0, type = "drink", stats = { thirst = 20, }},
```

{% endcode %}
{% endtab %}

{% tab title="Zykes Consumables" %}

* Copy the item config **(non-consumable)** and put it into your inventory item list like normal.
* Copy the item config **(consuamble)**, go in-game, run `/consum:import` and paste the item list into that text area, and import. **Make sure** to restart your server with your items in your inventory before importing via our system.
* If the format is valid, you can now run `/consum:activate_batch` to activate your latest batch, if you don't want to manually check all items & activate them in our `/consum:ic` menu.
* All items that are valid have now been successfully inserted and activated.

{% hint style="info" %}
zyke\_lib v2.5.1 and zyke\_consumables v1.1.12 are required
{% endhint %}
{% endtab %}
{% endtabs %}

***

## **Inventory Icons**

Make sure to add these icons to your preferred inventory’s image folder for them to display correctly.

{% stepper %}
{% step %}

### Ox Inventory

`ox_inventory/web/images`
{% endstep %}

{% step %}

### QS Inventory

`qs-inventory/html/images`
{% endstep %}
{% endstepper %}

***

{% file src="/files/QucStcXHg1mhJEumTPP9" %}
