OP_BaseItems
Lockers / Storage Cabinets Slots for bulky clothing and your weapon that you can visually see inside. *Lockable with codelock via compatibility mod* Charcoal BBQ Grill The BBQ can cook up to eight pieces of meat at a time that you can see cook on the grill. Lighting the BBQ requires a charcoal sack for fuel and a ignitition source. Rainwater Procurement Kit Procure rainwater at your base once a rainbarrel is… (more)
Lockers / Storage Cabinets Slots for bulky clothing and your weapon that you can visually see inside. *Lockable with codelock via compatibility mod* Charcoal BBQ Grill The BBQ can cook up to eight pieces of meat at a time that you can see cook on the grill. Lighting the BBQ requires a charcoal sack for fuel and a ignitition source. Rainwater Procurement Kit Procure rainwater at your base once a rainbarrel is attached. To craft the kit you need a long wooden stick and a tarp. Sleeping Bags Deployable bags to keep warm with on the cold Chernarus nights. 3 Texture variants (Camo, grey and blue) Gardening Box / Gardening Pot To create the filled version of the garden pot/box place the item and you should see a "Fill" user action. Attaching/Watering/Disinfection can be done by looking at the dirt with the appropriate item in hand NOTE: The action to empty the box/pot will only be seen if there are no seeds attached! Spotlight Generators A toggleable light source that can be used by server owners to provide light at locations such as traders or during events. 3 Variants, a collapsed version, an extended, and an automatic variant which turns on/off based on day/night cycle (To be spawned via init.c) Grass and Dirt Mound - Dig minimal cover in otherwise open locations. A Field shovel can dig two dirtmounds before being destroyed. You can only dig a dirtmound with a FieldShovel. Water Storage Kit A water supply for your base. The waterbarrel can hold 10,000ML and can be attached to the barrel frame to create the finished kit. You can remove the waterbarrel to fill it up again by the "remove" user action which is under the Drink Action - Big thanks to @Windstride for the model! Four different Camping tents that use the vanilla place, cluttercutter and packing mechanics. Pocket watch: - Check the time of day on the go (minute hand moves fast due to accelerated time) Banner Mount/Banners - A deployable kit that you can attach banners to. Inside the mod folder is a "Info" subfolder which includes the recipes, types.xml, and trader config. Server Owner Instructions 1. Paste the mod folder into your server root 2. Grab the OPMODS.Bikey from the keys folder and place it in your servers key folder. 3. Include @OP_BaseItems; with your other mods in your server launch parameters. 4. Merge the types.xml entries with your servers types.xml your DB (IMPORTANT! have a look after every update to see if they've been overwritten) This is WIP, It's my first mod and I work on this in my spare time. I will my best try to bring updates frequently! Issues? PM OP#9663 on Discord No reuploads or repacking allowed.
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
1 chain break, all on specific classes the mod replaces wholesale — matters only if another mod patches the same classes.
less than 0.001% of each server frame at 100 players (0.001 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; 32 others share it. Ranked list.
Event hooks carry 99.8% of this mod's structural load. 0.001 ms/s in all.
3 hooks · 0.00059 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 3 hooks | 0.00059 ms/s | 99.8% | Edible_Base.SetActions, FieldShovel.SetActions, PlayerBase.SetActions |
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.
Chain breaks, by consequence
1 override that skip super(), ranked by how much they can affect. On any server a break replaces vanilla's behaviour on that method and silences every earlier-loaded mod hooking it.
RegisterOneHanded
Only this class is affected. Matters only if another mod in your stack patches the same class.
1 class
ModItemRegisterCallbacks1 location
Scripts.pbo::4_World\ModdedClasses\ModItemRegisterCallbacks.c:4Where 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
- Hologram.EvaluateCollision calls super.EvaluateCollision() only on some paths — on the others the chain below this mod is dropped.
Scripts.pbo::4_World\ModdedClasses\Hologram.c:13 - Hologram.GetProjectionName calls super.GetProjectionName() only on some paths — on the others the chain below this mod is dropped.
Scripts.pbo::4_World\ModdedClasses\Hologram.c:3
- Hologram.EvaluateCollision calls super.EvaluateCollision() only on some paths — on the others the chain below this mod is dropped.
Checks answered without super() · 2 · warning
- FieldShovel.CanMakeDirtmound returns its own answer without consulting super.CanMakeDirtmound() — vanilla's conditions on this check, and those of every earlier-loaded mod, no longer apply. Intended when a mod owns the rule outright; otherwise it is how another mod's restriction quietly stops working.
Scripts.pbo::4_World\ModdedClasses\Itembase.c:15 - FieldShovel.CanMakeGardenplot returns its own answer without consulting super.CanMakeGardenplot() — vanilla's conditions on this check, and those of every earlier-loaded mod, no longer apply. Intended when a mod owns the rule outright; otherwise it is how another mod's restriction quietly stops working.
Scripts.pbo::4_World\ModdedClasses\Itembase.c:19
- FieldShovel.CanMakeDirtmound returns its own answer without consulting super.CanMakeDirtmound() — vanilla's conditions on this check, and those of every earlier-loaded mod, no longer apply. Intended when a mod owns the rule outright; otherwise it is how another mod's restriction quietly stops working.
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 12 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 | ✓ | Scripts.pbo::4_World\ModdedClasses\ActionConstructor.c:4 |
Edible_Base.SetActions |
T2 | yes | ✓ | Scripts.pbo::4_World\OP_BBQ\OP_BBQ.c:441 |
FieldShovel.CanMakeDirtmound |
— | yes | ✗ none | Scripts.pbo::4_World\ModdedClasses\Itembase.c:15 |
FieldShovel.CanMakeGardenplot |
— | yes | ✗ none | Scripts.pbo::4_World\ModdedClasses\Itembase.c:19 |
FieldShovel.SetActions |
T2 | yes | ✓ | Scripts.pbo::4_World\ModdedClasses\Itembase.c:23 |
Hologram.GetProjectionName |
— | yes | conditional | Scripts.pbo::4_World\ModdedClasses\Hologram.c:3 |
Hologram.EvaluateCollision |
— | yes | conditional | Scripts.pbo::4_World\ModdedClasses\Hologram.c:13 |
ModItemRegisterCallbacks.RegisterOneHanded |
— | yes | ✗ none | Scripts.pbo::4_World\ModdedClasses\ModItemRegisterCallbacks.c:4 |
ModItemRegisterCallbacks.RegisterTwoHanded |
— | yes | ✓ | Scripts.pbo::4_World\ModdedClasses\ModItemRegisterCallbacks.c:9 |
ModItemRegisterCallbacks.RegisterHeavy |
— | yes | ✓ | Scripts.pbo::4_World\ModdedClasses\ModItemRegisterCallbacks.c:19 |
PlayerBase.SetActions |
T2 | yes | ✓ | Scripts.pbo::4_World\ModdedClasses\PlayerBase.c:3 |
PluginRecipesManager.RegisterRecipies |
— | yes | ✓ | Scripts.pbo::4_World\ModdedClasses\recipegenerate.c:3 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
FieldShovel.SetActions | T2 | 8.0 | placeholder | 0.0002 |
PlayerBase.SetActions | T2 | 8.0 | placeholder | 0.0002 |
Edible_Base.SetActions | T2 | 8.0 | placeholder | 0.0002 |
Includes 0.001 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.
Assets.pbo
OP_FOOD_AIrequiredVersion 0.1 — requiresDZ_DataBannerColorBaserequiredVersion 0.1 — requiresDZ_DataOP_BaseBuildingrequiredVersion 0.1 — requiresDZ_Data,DZ_Weapons_Melee,DZ_Gear_CampingOP_BaseItemsrequiredVersion 0.1 — requiresDZ_Data,DZ_ScriptsOP_DirtmoundrequiredVersion 0.1 — requiresDZ_Data,DZ_Gear_ToolsOP_GardenboxrequiredVersion 0.1 — requiresDZ_Data,DZ_Gear_Cultivation,DZ_Structures_ResidentialOP_LightboxrequiredVersion 0.1 — requiresDZ_Data,DZ_ScriptsOP_BBQ_FoodrequiredVersion 0.1 — requiresDZ_Data,DZ_ScriptsOP_ClockrequiredVersion 0.1 — requiresDZ_DataOP_RaincatcherrequiredVersion 0.1 — requiresDZ_DataOP_SleepingbagsrequiredVersion 0.1 — requiresDZ_DataOP_SOUNDSrequiredVersion 0.1 — requiresDZ_DataOP_TentsrequiredVersion 0.1 — requiresDZ_DataOP_WoodStoragerequiredVersion 0.1 — requiresDZ_Data
Scripts.pbo
OP_BaseItemsrequiredVersion 0.1 — requiresDZ_Data,DZ_Scripts
census 1.1 · findings 1.1 · hash 32f36c3e6517e80f