Cooking
recipemenu1 Cooking
recipemenu2 Cooking
recipemenu3 Cooking
recipemenu4 Cooking
 

Cooking 2.0

(3 customer reviews)

Spice up your server and make chefs of your players with cooking 2.0.

New ingredients can be acquired from 19 different sources, and are used in the creation of some delicious (and not so delicious) meals.

These meals offer the consumer 1 of 28 different buffs, including invisibility,  no-fall damage,  food share and may more.

$25.00

Sold By: imthenewguy

Description

About Cooking 2.0

This plugin adds a large variety of ingredients, recipes, and effects to your server.
Ingredients can be found from hitting nodes, to cutting to trees to picking hemp, corn, and potatoes.

These ingredients have their own skins and names and are part of the many recipes included with this plugin.

You can also add your own ingredients and create your own recipes via the config, assigning any of the 28 different BuffTypes, along with the desired duration.
Plugin creators can also create their own effects and hook them in using the “Hook” buff.

Patch 1.0.3 onwards requires ImageLibrary to function.

Showcase & Installation


Recipes

There are over 40 recipes that come with the default configuration.
Each recipe has a list of up to 10 different ingredients and will provide one of 25 unique buffs for a configurable duration.
Recipes can be easily added via the config. The only requirements for this are a unique skin ID and image link.

The above video showcases how recipes can be easily added to your configuration.


Ingredients

The plugin comes with over 35 unique ingredients, and also includes some of the default items in rust. T
Ingredients can be easily added to the configuration (see the above video).

All non-default ingredients can be found from 19 different sources including cutting trees, mining nodes, collecting hemp etc.
Each source’s drop rate can be customized to suit your server, and the sources for ingredients can be changed incredibly easily by simply adjusting a number in the config file.


Gathering Items

There are 19 unique sources that ingredients can be obtained from cutting trees to collecting pumpkins.
The chances for each ingredient drop are based on the interaction with that source.
For example, picking a pumpkin offers 1 chance, as it is 1 interaction to pick a pumpkin, while cutting a tree may be 10-20 chances (depending on the tool), as it takes a number of hits to fall a tree.

When a roll is successful, it then rolls through each item type and selects the item based on that item’s “dropWeight”, allowing you to make ingredients more or less common than others on the same drop table.


Farmers market

The Farmers Market is an in-built market that allows players to buy and sell ingredients for scrap or economics.

By default, the markets stocks will start at 0, and will only increase as players sell their unwanted ingredients to it.

It can be configured to allow all items or only custom items to be bought and sold through it, and also allows for a maximum stock to be set (default 100), meaning that it cannot have more than 100 of an item type.

The buy/sell values for each ingredient can be adjusted in the config file (default $10 buy, $5 sell).

Starting quantities can also be set if you do not want the market to start at 0.

The market can be accessed by typing in /market (if config is enabled) or by speaking to an NPC that matches the market name (default: farmers market).


Chat commands

Command: recipemenu
Action: Opens the recipe menu from anywhere. Beware this won’t close the menu button.
Permission: cooking.recipemenu.chat

Command: market
Action: Opens the market menu
Permission: cooking.market.command

Command: clearrecipebags
Action: Removes all of the data for the ingredient bags.
Permission: cooking.admin

Command: givemeal
Parameters: <meal name>
Action: Spawns the desired meal for the player.
Example: /givemeal chicken dinner
Permission: cooking.admin

Command: giveingredient
Parameters: <ingredient name> <optional: quantity>
Action: Spawns the desired ingredient for the player.
Example: /giveingredient black pepper 20
Permission: cooking.admin

Command: resetmarket
Action: Resets the market quantities to the values in the config.
Permission: cooking.admin

Command: toggledrops
Action: Turns ingredient drops on and off for clients
Permission: none


Permissions

cooking.admin - required for admin commands.
cooking.free - ability to make meals without ingredients.
cooking.instant - cooking is instant.
cooking.use - required for users to be able to cook meals.
cooking.recipemenu.chat - required for using the /recipemenu command
cooking.market.command - required to use the chat command to open the farmers market.

Buff Types

0: Healshare - Anytime the consumer receives health, anyone within x meters receives the same amount of health.
1: HealthOverload - The consumer receives x health. This allows their health to exceed 100, and will automatically be reduced to 100 health after the duration.
2: FoodShare - Anytime the consumer has their calories increased, everyone around them also has their calories increased by the same amount for the duration.
3: FoodOverload - Will increase the calorie cap of the consumer to x for y hours.
4: Comfort - The consumer will have 100% comfort for the duration.
5: WaterBreathing - The consumer will be able to breath underwater for the duration.
6: FireResist - All fire damage the consumer takes is reduced to 0 for the duration.
7: ColdResist - All cold damage the consumer takes is reduced to 0 for the duration.
8: ExplosionResist - All explosion damage the consumer takes is reduced by x% for the duration.
9: AnimalResist - All damage done to the consumer from animals and murderes/scarecrows is reduced by x% for the duration.
10: MeleeResist - All damage done to the consumer from melee weapons is reduced by x% for the duration.
11: WoundedResist - When the consumer enters the wounded state for the duration of effect, they are brought back to their feet and receive x health and have all effects removed. This removes the meal effect.
12: Spectre - All turrets and base defences (including sam sites) will not target the consumer for the duration.
13: Madness - Anytime the consumer speaks over voice, their voice is muted and is replaced with horrible screaming for the duration.
14: Wealth - Whenever the consumer breaks a barrel, they are rewarded with x economic dollars for the duration.
15: AntiBradleyRadar - The consumer cannot be targeted by bradley tank for the duration.
16: Ingredient - This is simply an ingredient and has no effect.
17: Hook - This is required to trigger a custom hook when a meal is consumed.
18: BarrelSmasher - The consumer instantly destroys barrels when damage is done, regardless of the damage amount, for the duration.
19: CraftingRefund - The consumer has a x% chance to be fully refunded for their crafting components when crafting an item for the duration.
20: PassiveRegen - The consumer will receive x health every y seconds forthe duration.
21: HorseStats - When moved into a horses inventory, it will speed the horse up by x for the duration. Does not consume a meal slot.
22: Invisible - The consumer enters Vanish mode when consumed for x seconds. Requires the Vanish plugin.
23: NoFallDamage - The consumer will not take fall damage for the duration.
24: NoConditionLoss - The consumer will not lose any condition on their active weapon for the duration.
25: IngredientChance - The consumer will have better luck finding ingredients from all sources for the duration.
26: UngradeRefund - The consumer has x% chance to be refunded the upgrade costs when upgrading a building block.
27: ResearchRefund - the consumer has x% chance to be refunded the scrap costs when researching an item on the research table.
28: NightVision - the consumer will have nightvision enabled for the duration. Requires the NightVision plugin.

Gathering Sources

0: Node - Stone, Metal and Sulfur nodes.
1: TreeAll - All trees.
2: TreePalm - Palm trees.
3: Hemp - All hemp plants.
4: CollectableNode - The small collectable stone, metal and sulfur nodes.
5: BerryBush - Bushes that berries can be picked from.
6: Pumpkin - All Pumpkin patches.
7: Potato - All potato patches.
8: Corn - All corn patches.
9: Fish - Gutting a fish.
10: Boar - Harvested specifically from boars.
11: Chicken - Harvested specifically from chickens.
12: Bear - Harvested specifically from bears.
13: Stag - Harvested specifically from stags.
14: Wolf - Harvested specifically from wolves.
15: Horse - Harvested specifically from horses.
16: Mushroom - All mushroom patches.
17: Animal - All mammals.
18: Default - An item that is obtained by default in Rust.
19: Crafted - An item that needs to be crafted (requires a recipe as well).

 

Required Dependencies

ImageLibrary – Used to handle image caching

 

Optional Dependencies

HumanNPC – Used if you want the market to be accessed via NPC. Simply adjust the name of the NPC to match what is in the config.

Vanish – Used in the Invisibility buff type.

NightVision – Used in the NightVision buff type.

Economics – Used for the farmers market and the Wealth buff type.

ServerRewards – Used for the market and the Wealth buff type.

 

Developer API

The following calls require an item to have the “Hook” buff type (#17). They can be added to your own plugin and will be called as the plugin requires them.

 

object GetBuffDescription(ulong skin)
{
    if (skin == 2428317574) return "This is sushi and it does stuff";
    else return null;
}

This API call is called 30 seconds after the plugin loads, and populates the recipe menu buff description with the relevant info.

 

void RecipeConsumed(BasePlayer player, string name, string shortname, ulong skin, int duration)
{
    Puts($"Consumed food {name} - short: {shortname} - skin: {skin} - duration {duration}");
}

This API call is called when a player eats a meal with the Hook buff type. Returns no information.

 

object BuffRequiresTimer(BasePlayer player, string name, string shortname, ulong skin)
{
    if (skin == 2428317574)
    {
        return false;
    }
    return null;
}

This API call is fired just after a meal is consumed to see if the meal requires a buff timer. If false is returned, it will not provide a buff timer/count down, or fire off our next API call.

 

void RecipeEnded(BasePlayer player, string name, string shortname, ulong skin)
{
    Puts($"Effect ended - {name}.");
}

This API call is fired when the buff timer has finished. Returns no information.

 

bool CanBuyIngredient(BasePlayer player)
{
    Puts("Returning false prevents the purchase of an item from the market.");
    return false;
}

bool CanSellIngredient(BasePlayer player)
{
    Puts("Returning false prevents the sale of an item to the market.");
    return false;
}

These API calls are made when a player attempts to buy or sell an ingredient to the farmers market. Returning false prevents the transaction.

 

void OnIngredientPurchased(BasePlayer player, string ingredient, double cost)
{
    Puts($"Player {player.displayName} purchased a {ingredient} from the market for ${cost}");
}
void OnIngredientSold(BasePlayer player, string ingredient, double cost)
{
    Puts($"Player {player.displayName} sold an {ingredient} to the market for ${cost}");
}

These calls are made when a player has successfully bought or sold an ingredient to the market.

3 reviews for Cooking 2.0

  1. RustyPlanet.net (verified owner)

    This is an amazing plugin for PVE and roleplay servers. Good work mate.
    hope you get more of these ideas

  2. Anthony Villarreal (verified owner)

    Great plugin can’t wait to use it more this coming wipe 😀

  3. Emigo (verified owner)

    Wonderfull plugin, adds nice extra content for any kind of server thanks to the buffs but is special for pve servers in my opinion. Happy with the purchase

Only logged in customers who have purchased this product may leave a review.

Version 1.1.3
  • 1 day ago Added Added a chat command to toggle the ingredients dropping per player.
  • 1 day ago Added Added 2 options for the bag size - Small (12 slot) and large (30 slot). Adjust in config (default small).
Version 1.1.2
  • 1 week ago Fixed FIxed a bug where wolves would drop the chicken's drop table as well as their own.
  • 1 week ago Fixed Adjusted default config so blood has a DropWeight. This was effecting the milk drops for some reason. If milk is not dropping for you, set the dropWeight of "blood" in your config to a value greater than 0.
  • 1 week ago Fixed Adjusted the plugin to remove items with a dropWeight of < 0 from the designated DropSource.
Version 1.1.1
  • 2 weeks ago Fixed Fixed blood being added to the inventory when gathered from animals etc.
Version 1.1.0
  • 2 weeks ago Fixed Fixed a bug with selling an ingredient to the market, giving players the effect of the ingredient.
  • 2 weeks ago Fixed Fixed a bug with the market NPC not working, despite the name being correct. You will no longer need to have the chat command config enabled for this to work.
  • 2 weeks ago Added Added the option for NPC IDs to be used instead of/in addition to the NPC names to open the market.
  • 2 weeks ago Added Added the option for additional oven types to present the cooking button when opened. Simply add the prefab shortname to the config.
  • 2 weeks ago Fixed Removed a bug where the cooking menu would appear, despite not looting an appropriate oven. This will also prevent the cooking button from appearing after closing the recipe menu, if it was opened via the chat command.
  • 2 weeks ago Added Converted all chat messages and recipe buff descriptions to lang. You can now access this via oxide/lang/en/Cooking and adjust all messages to your liking.
  • 2 weeks ago Updated Moved the Cooking icon slightly higher.
  • 2 weeks ago Added Added a cooldown option for meals to prevent players from spamming them (default no cooldown). Useful for powerful buffs like NightVision or Vanish. You will either needs to reload your config (delete it and let the plugin generate a new one) or add the cooldown parameter inside of your config (see link for example: https://imgur.com/Q3BxdcZ.png)
Version 1.0.5
  • 3 weeks ago Fixed Fixed a config issue where the market inputs weren't being saved to the data file.
  • 2 weeks ago Added Added a chat command to reset the market data to its default quantities - /resetmarket
Version 1.0.4
  • 3 weeks ago Fixed Fixed an error with economics when purchasing an item from the farmers market
  • 3 weeks ago Added Added 4 API calls for buying and selling to the farmers market.
Version 1.0.3
  • 3 weeks ago Added Added ImageLibrary dependency for image caching. Images should load a lot quicker now.
  • 3 weeks ago Added Added halloween collectables (stone, sulphur & metal) to gatherFrom_CollectableNode.
  • 3 weeks ago Fixed Blacklisted the Ingredients bag from being placed into the Ingredients bag.
Version 1.0.2
  • 3 weeks ago Added Added ServerRewards support for the Wealth buff and the market. Can be used instead of Economics if set in the configuration.
Version 1.0.1
  • 3 weeks ago Added Fixed a syntax issue that messed with compiling

No License Found!

Got something to discuss?


Customer
Matthew Uziel
21 days 10 hours ago

This plugin looks amazing cant wait till payday so i can buy and put on my server

Customer
Emigo
20 days 22 hours ago

Can some of the recipes be deactivated on config?

Support
Im the new guy go easy D
20 days 22 hours ago

Yeah just delete the config line that has the recipe and it will be removed.

Customer
Emigo
20 days 19 hours ago

Thank you for the answer. Just made the purchase. Im sure my community will enjoy this very much. Can you please add a link to the reference numbers for effects and gather?

Support
Im the new guy go easy D
20 days 9 hours ago

It is in the product description. It has the reference number next to the buff type 🙂

Customer
Anthony Villarreal
20 days 10 hours ago

Any way we can get a webhook integration for discord on market sales? I use this to monitor transactions for balance purposes, thanks!

Support
Im the new guy go easy D
20 days 8 hours ago

Might be something I can add in the future. If you are developer I can add calls for when an item is purchased/sold and you can take it from there.

Customer
Anthony Villarreal
20 days 7 hours ago

I’m not a dev but I got some dev friends that could help me 🙂

Thanks for the help

Customer
Emigo
19 days 19 hours ago

Havent seen a languaje file to translate buffs and such.. is there a file im not finding or is not implemented?

Support
Im the new guy go easy D
19 days 18 hours ago

Haven’t actually used lang in any of my plugins. May change it in the future.

Customer
Emigo
19 days 17 hours ago

It would be highly apreciated. My community is the larger pve in southamerica and we translate all plugins for those who cant speak english

Customer
Anthony Villarreal
19 days 7 hours ago

For some reason i can sell to the market but cant buy, is this normal?

Support
Im the new guy go easy D
19 days 4 hours ago

You should be able to sell to the market. Are you getting any console errors when you attempt to?

Customer
Anthony Villarreal
18 days 6 hours ago

Failed to call hook ‘BuyIngredient’ on plugin ‘Cooking v1.0.3’ (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.Cooking.BuyIngredient (ConsoleSystem+Arg arg) [0x0048d] in :0
at Oxide.Plugins.Cooking.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x02234] in :0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in :0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in :0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in :0

Support
Im the new guy go easy D
18 days 6 hours ago

1.0.4 has patched that. I was trying to pass an int instead of a double lol.

Customer
Anthony Villarreal
18 days 5 hours ago

Thank you!

Customer
HardStyle
16 days 19 hours ago

Im not able to get the market working on the NPC. i named the NPC the same name as in the config. Tried to reach out on discord, but no answer.

Support
Im the new guy go easy D
16 days 10 hours ago

I saw you messaged on discord and that you resolved it. What was the issue?

Customer
R O
16 days 12 hours ago

is there hot key for recipemenu

Support
Im the new guy go easy D
16 days 10 hours ago

/recipemenu in chat if you have the permissions.

Customer
Rob Vary
16 days 10 hours ago

It seems that the players eat the ingredients when they sell them to the Market. This causes unexpected ill effects when they eat items like raw/spoiled meat that are skinned. Could you make it so the items are just removed from their inventory instead of eaten?

Support
Im the new guy go easy D
16 days 10 hours ago

Interesting. Add me on discord, might have a quick fix for this if you wanted to test it out? im the new guy#0001

Customer
Rob Vary
16 days 9 hours ago

Just sent the request on Discord from varygoode#3632.

Customer
Cletus Williams
15 days 12 hours ago

imthenewguy – I purchased your hunger games plugin and its amazing. I was looking at this one and its pretty sweet. is there any way to customize the photos and names of the items? I would have more use if it could be implemented for a drug feature on my RP server.

Support
Im the new guy go easy D
15 days 10 hours ago

Its fully customisable. The config houses all of the recipe and ingredient information.
Here are a few snap shots of the config, to give you an idea of what can be edited:
– Ingredients –
– Recipes –

You could quite easily change this into a drug system. I am in the middle of adding a lang system to it as well which should help.

Customer
Vonee Vone
12 days 9 hours ago

Just bought this plugin for pve server yesterday. Took me hours to configure it! But it’s such an awesome plugin! I can’t wait to hear feedbacks from the players.
Suggestions for development. It would be great if the UI could include grabbing an ingredient from your inventory and dropping it into a pot making it more actionable cooking rather than just clicking on a recipe. Good to include cooking multiple food or put recipes in a queue. Wish we could include more prefab effects such as sounds effects or screen effects for each food items as well. (Because I want to put vomit effect for eating black pudding or fish eye soup) XD
Thank you @Im the new guy go easy D, for a better life in Rust.

Support
Im the new guy go easy D
12 days 8 hours ago

Thanks for the kind words.
Not sure how possible it would be dragging ingredients to a pot due to the nature of CUI. Would be cool as hell though. When FP decides to advance cooking, we may have some more toys to play with.
Queues may be something I look into for sure. Effects are something you can do if you are handy with c# and know how to create a basic plugin/use API calls. There are API calls that trigger when a meal effect starts/ends.

Customer
Vonee Vone
5 days 9 hours ago

Btw, we noted that occasionally, the ingredients sold to the Farmer’s market will be sold in stacks instead but you receive the money for 1 item instead of the the entire stack.

Support
Im the new guy go easy D
5 days 5 hours ago

Might be due to the change I made to handle selling an item. I have reworked the method slightly and will be in the next release 🙂

Customer
nicmas94
11 days 21 hours ago

Hello Dev here, When killing animals and finding “Blood” there is no “Blood” in players inventory is this normal or is this a BUG?

Support
Im the new guy go easy D
11 days 20 hours ago

It is a known bug. Will be fixed when the next release is uploaded.

Customer
nicmas94
10 days 6 hours ago

thanks mate, did you know about the amount you can buy from /market it only gives one items when buying say x10?

Customer
HardStyle
1 day 10 hours ago

I was wondering if you could a chat command players could use to disable/enable ingredient drops for them selves (If possible) as some players might not have an interest in cooking meals and would get annoyed by all the ingredients they gain while farming.

Just thought about it as i really hate all the hemp, berry and other seeds i get when i play vanilla 😀

Customer
HardStyle
1 day 10 hours ago

Also, Would it be possible to change the text in the item description to say “Used in recipes to cook meals” or something instead of medkits?

Customer
HardStyle
1 day 10 hours ago

Just noticed that if you create another ingredient bag it will contain the same ingredients as the first you made. Would be nice if you could have multiple bags when one is full

Support
Im the new guy go easy D
1 day 8 hours ago

Just pushed an update that allows for the collection to be toggled on and off by using the command /toggledrops.
The description text in rust isn’t changable as it is client side. Would be amazing if it was haha.
The ingredient bags are player bound, and only act as an access point to open the inventory. This is why the chat command is also able to open the same inventory. I have added an option in to the new update that you can opt in for a 30 slot bag, instead of a 12 slot. Simply change the config option from small to large.

Customer
HardStyle
1 day 8 hours ago

Legend! too bad the description cannot be changed, but thats just a small thing, the other two were the main things that would have the most important change 😀

 
How do I use this .zip/.7z file I just purchased on my server?

• First, you want to unzip the file. You can do so by just double-clicking it to open, then drag the contents to the desired location (you may need to install an external unzipping software if you don’t already have one such as 7zip or winrar)
• Next you will find either a structure of folders or just the .cs file itself (it’s the actual plugin file itself).
• After that just install the .cs (plugin file) into your …/oxide/plugins/ folder where you will install plugins you ever need to.

Additionally, here’s a great video that easily covers adding a plugin to your server if you need! https://youtu.be/yWC_p97FhQA

• Installation is not included with any products on the site, however, if needed we may assist if you reach out to our support.