CookZ
This is a very simple mod that adds some recipes to be used with the pan and the pot/cauldron. I appreciate any feedback or suggestions related to bugs or content. How to use this mod Just use the pot/cauldron or the pan as you normally would. If no recipe fits the ingredients, the ingredients will be cooked as usual. If a recipe is met, all ingredients will be removed from the cooking equipment, and the resulting… (more)
This is a very simple mod that adds some recipes to be used with the pan and the pot/cauldron. I appreciate any feedback or suggestions related to bugs or content. How to use this mod Just use the pot/cauldron or the pan as you normally would. If no recipe fits the ingredients, the ingredients will be cooked as usual. If a recipe is met, all ingredients will be removed from the cooking equipment, and the resulting dish will be added. Packaging materials For some recipes, packaging is needed. Empty cans or boxes can be crafted and need to be placed in the inventory slots of the pot, cauldron, or pan. metal sheet + hacksaw -> 10 empty cans paper + paper -> empty box bark + any axe or knife -> empty box Recipes Listed here are only a couple of recipes. To see all recipes, you can craft an in-game cookbook using two pieces of paper. If attachments, water, and ingredients match a recipe, then all items will get a green selection border. Pan: 4 x potato + 1 x lard + 1 x empty box -> fried potatoes box 1 x fish fillet + 2 x potato + 1 x lard + 1 x empty box -> fish and chips box 3 x any meat + 1 x lard + 1 x empty can -> mystery meat can Pot/cauldron with at least 500 ml water (ALL water is removed in the cooking process): 2 x potato + 1 x green bell pepper + 1 x any meat + 1 x empty can -> goulash can 1 x rice + 2 x any mushroom + 1 x empty box -> mushroom risotto box 2 x lard + 2 x powdered milk -> makeshift cheese Pot/cauldron without water: 6 x plum -> plum marmalade 2 x pig steak + 1 x lard + 1 x empty can -> tactical bacon can (also works in pan) 1 x guts + 1 x cow steak -> 2 x beef sausage Translations This mod is translated into the usual DayZ languages – most via auto-translate :) If you find any issues, please let me know in the pinned discussion. FAQ Q: Will you support ingredients from OtherMod? A: Not officially – I don’t want to add dependencies on other mods. In some cases, the DayZ inheritance structure may allow compatibility, but this is not guaranteed to work or remain stable. Configuration Server owners can configure this mod via a JSON configuration file generated in the missions folder. See the README.txt for details. Special thanks to: Doc, for providing the initial types.xml Black Soull, for suggesting the Ukha recipe MaGhor, for suggesting the Lecso recipe BOT Nils, for making the code more robust by class prefixing Bender, for suggesting various recipes, reporting bugs, and providing general feedback Cabana, for suggesting the in-game cookbook Sgt SaVage, for reporting bugs and suggesting recipes lothsun, for reporting bugs DaPlum & Khorozone, for suggesting sausages, other recipes, providing feedback on general mod mechanics, and a lot of debugging support The MAG server for giving a lot of great feedback and many more for giving feedback and reporting bugs :) wallerron, for initially creating amazing recipe overview images Find high resolution images here. You are allowed to use this mod on your monetized server, as long as this mod is not part of the monetization.
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
Every server-visible override preserves its chain.
less than 0.001% of each server frame at 100 players (0.000 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 25 others share it. Ranked list.
Event hooks carry 99% of this mod's structural load. 0.000 ms/s in all.
2 hooks · 0.0004 ms/s
1 hook · 0.000002 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 2 hooks | 0.0004 ms/s | 99% | ItemBase.OnVariablesSynchronized, PlayerBase.OnRPC |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 1 hook | 0.000002 ms/s | 0.5% | MissionServer.InvokeOnConnect |
Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.
Where this mod runs often
Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.
Other findings
super() only on some paths · 2 · warning
- Cooking.CookWithEquipment calls super.CookWithEquipment() only on some paths — on the others the chain below this mod is dropped.
CookZ.pbo::Scripts\4_World\modded\cooking.c:6 - OpenCan.Do calls super.Do() only on some paths — on the others the chain below this mod is dropped.
CookZ.pbo::Scripts\4_World\modded\opencan.c:6
- Cooking.CookWithEquipment calls super.CookWithEquipment() only on some paths — on the others the chain below this mod is dropped.
Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.
How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.
Everything else
All 18 overrides
Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.
| method | surface | server | super() | where |
|---|---|---|---|---|
ActionConstructor.RegisterActions |
— | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\actionregister.c:3 |
Attachments.AttachmentAdded |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:146 |
Attachments.AttachmentRemoved |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:155 |
CargoContainer.SetEntity |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:38 |
CargoContainer.AddedToCargo |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:52 |
CargoContainer.RemovedFromCargo |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:62 |
CargoContainer.Refresh |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\markrecipableitems.c:91 |
Cooking.CookWithEquipment |
— | yes | conditional | CookZ.pbo::Scripts\4_World\modded\cooking.c:6 |
ItemBase.OnVariablesSynchronized |
T2 | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\itembase.c:17 |
MissionBase.CreateScriptedMenu |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\missionbase.c:3 |
MissionGameplay.OnUpdate |
T0 | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\missiongameplay.c:3 |
MissionGameplay.OnKeyPress |
— | yes | ✓ | CookZ.pbo::Scripts\5_Mission\modded\missiongameplay.c:22 |
MissionServer.InvokeOnConnect |
T3 | yes | ✓ | CookZ.pbo::Scripts\5_Mission\config\missionserver.c:10 |
ModItemRegisterCallbacks.RegisterOneHanded |
— | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\moddeditemregistercallbacks.c:3 |
OpenCan.Do |
— | yes | conditional | CookZ.pbo::Scripts\4_World\modded\opencan.c:6 |
PlayerBase.Init |
— | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\playerbase.c:5 |
PlayerBase.OnRPC |
T2 | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\playerbase.c:21 |
PluginRecipesManager.RegisterRecipies |
— | yes | ✓ | CookZ.pbo::Scripts\4_World\modded\registercraftingrecipes.c:3 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
ItemBase.OnVariablesSynchronized | T2 | 8.0 | placeholder | 0.0002 |
PlayerBase.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
MissionServer.InvokeOnConnect | T3 | 0.1 | placeholder | 0.0000 |
Includes 0.000 ms/s from placeholder-rated surfaces.
Load-order constraints (CfgPatches)
What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.
CookZ.pbo
CookZ— requiresDZ_Data,DZ_Gear_Medical,DZ_Gear_Cooking,DZ_Gear_Consumables,DZ_Gear_Food,DZ_Gear_Cultivation,DZ_Gear_DrinksCookZ_Cookbook— requiresDZ_DataCookZ_BoxedDishes— requiresDZ_DataCookZ_CannedDishes— requiresDZ_DataCookZ_Cereal— requiresDZ_DataCookZ_Cheese— requiresDZ_DataCookZ_Sausage— requiresDZ_DataCookZ_Sounds— no requiredAddons
census 1.1 · findings 1.1 · hash 34e2a8edf3dbd0de