Loot Inject

Loot Inject 1.0.0

Inject items into existing loot tables without replacing them
Server admins often want to tweak their loot economy. Perhaps you want rare weapons in elite crates, more scrap at certain monuments, or to replace low-tier items with better alternatives. The problem is replacing entire loot tables is a maintenance nightmare and can conflict with other plugins. LootInject gives you another way: inject items directly into containers without replacing anything.

You control what spawns where, how often, and with what properties. Add weapons with attachments and ammo, customize item durability and skins, spawn blueprints instead of items, or replace existing items entirely.

Features

  • Add custom items to any loot container or replace existing items with alternatives without modifying base game loot tables
  • Apply injections to specific container types (e.g., only elite crates, only supply drops)
  • Restrict injections to specific monuments (e.g., only at Launch Site, only at Power Plant)
  • Create multiple loot profiles that can be enabled/disabled independently
  • Customize items with skins, condition percentages, and spawn them as blueprints if desired
  • Automatically attach weapon mods and pre-load ammunition into weapons during spawn
  • Control spawn likelihood with randomized stack amounts and spawn chance percentages (0-100%)
  • Optionally auto-expand container capacity to ensure injections always succeed
  • Process existing containers on load/reload or only apply injections to newly spawned containers
  • Comprehensive debug logging to troubleshoot configuration and verify injections

Configuration

JSON:
{
  "Version": "1.0.0",
  "Global Settings": {
    "Enable Debug Logging (shows injection details in console)": false,
    "Process Already Spawned Containers On Plugin Load/Reload": true
  },
  "Loot Profiles": {
    "Example - Add Items": {
      "Enabled": false,
      "Injections": [
        {
          "Replace Existing Item (false = add new item to loot)": false,
          "Item Shortname (item to add, or item to find if replacing)": "rifle.ak",
          "Replacement Item Shortname (only used when replacing)": null,
          "Target Container Prefabs (e.g. crate_elite, supply_drop, crate_normal)": [
            "crate_elite",
            "crate_normal"
          ],
          "Only At Monuments (leave empty to apply everywhere)": [],
          "Spawn As Blueprint Instead Of Item": false,
          "Minimum Stack Amount": 1,
          "Maximum Stack Amount": 1,
          "Chance To Spawn Percent (0-100)": 5.0,
          "Item Condition Percent (0-100, only for items with durability)": 100.0,
          "Skin ID (0 = default skin)": 0,
          "Weapon Attachments (e.g. weapon.mod.holosight, weapon.mod.silencer)": [
            "weapon.mod.holosight"
          ],
          "Loaded Ammo (only for weapons)": {
            "Ammo Type Shortname (e.g. ammo.rifle, ammo.pistol)": "ammo.rifle",
            "Amount To Load In Magazine": 30
          },
          "Expand Container Capacity When Full (false = skip injection if no room)": false
        }
      ]
    },
    "Example - Replace Items": {
      "Enabled": false,
      "Injections": [
        {
          "Replace Existing Item (false = add new item to loot)": true,
          "Item Shortname (item to add, or item to find if replacing)": "smg.mp5",
          "Replacement Item Shortname (only used when replacing)": "smg.2",
          "Target Container Prefabs (e.g. crate_elite, supply_drop, crate_normal)": [
            "crate_elite"
          ],
          "Only At Monuments (leave empty to apply everywhere)": [
            "Launch Site"
          ],
          "Spawn As Blueprint Instead Of Item": false,
          "Minimum Stack Amount": 1,
          "Maximum Stack Amount": 1,
          "Chance To Spawn Percent (0-100)": 100.0,
          "Item Condition Percent (0-100, only for items with durability)": 100.0,
          "Skin ID (0 = default skin)": 0,
          "Weapon Attachments (e.g. weapon.mod.holosight, weapon.mod.silencer)": [],
          "Loaded Ammo (only for weapons)": null,
          "Expand Container Capacity When Full (false = skip injection if no room)": false
        }
      ]
    }
  }
}
Global Settings
  • Enable Debug Logging - Log injection details to console showing which containers were modified and what items were added/replaced. Useful for verifying your config works.
  • Process Already Spawned Containers On Plugin Load/Reload - When true, modifies existing containers in the world. When false, only affects new containers spawned after load.
Loot Profiles
Profiles group related injections together and can be toggled on/off independently.
  • Enabled - Enable/disable this profile without removing its config.
  • Injections - List of loot injections to apply when this profile is enabled.
Injection Configuration
Each injection defines what item to add/replace, where to add it, and with what properties.
  • Replace Existing Item - Add a new item or replace an existing one.
  • Item Shortname - Item to add, or item to find if replacing. Example: rifle.ak, scrap, wood
  • Replacement Item Shortname - What to spawn instead (only used when replacing). Example: rifle.m39
  • Target Container Prefabs - Which containers this applies to. Leave empty for all. Example: ["crate_elite", "supply_drop"]. Common types: crate_normal, crate_elite, supply_drop
  • Only At Monuments - Restrict to specific monuments. Leave empty for everywhere. Example: ["Launch Site", "Power Plant"]. Matching is case-insensitive and partial.
  • Minimum Stack Amount - Minimum quantity to spawn.
  • Maximum Stack Amount - Maximum quantity to spawn. Amount randomly chosen between min and max.
  • Chance To Spawn Percent - Probability this item spawns. 0 = never, 100 = always.
  • Spawn As Blueprint Instead Of Item - Spawn as blueprint or regular item.
  • Item Condition Percent - Durability level (only for items with durability). 50 = half health, 100 = full.
  • Skin ID - Cosmetic skin ID. 0 = default.
  • Weapon Attachments - Attachments to attach to weapons.
  • Loaded Ammo - Load ammo into weapon magazine.
  • Expand Container Capacity When Full - Expand container by 1 slot if full to force injection, or skip if no room.

Finding Monument Names

Enable debug logging and reload the plugin to see monument names in console output. When you see "at monument: Launch Site", you can use "Launch Site" in your Only At Monuments filter.
To apply injections everywhere on the map, leave Only At Monuments as an empty array [].
Author
VisEntities
License duration
Unlimited
Price
7.99 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart