Join the Game4Freak Discord Get exclusive plugin sneak peeks, talk directly with VisEntities, never miss important updates, and unlock special discount codes!
Custom Gather Rates

Custom Gather Rates 1.0.1

Sign in to download
Change how much players get when gathering resources
Custom Gather Rates lets you configure how much players receive when gathering resources. You can set global multipliers that apply to everyone, or create permission-based profiles that give certain players (like VIPs) increased rates. The plugin supports all major gather types: resource dispensers (trees, nodes), pickups (hemp, mushrooms), growables (farms), quarries, and excavators.

Multipliers stack with existing game mechanics and other gather plugins. For example, a 2x wood multiplier means players get double the normal amount when hitting a tree.

Features

  • Global rates - Set base multipliers that apply to all players
  • Permission profiles - Create VIP or rank-based gather rates with custom permissions
  • Per-resource control - Set different rates for specific items (e.g., 2x wood, 1.5x stone) or use wildcards for all items
  • Multiple gather types - Supports dispensers, pickups, growables, quarries, and excavators
  • Player rate display - Let players check their current multipliers with a chat command
  • Console configuration - Adjust rates in real-time without editing config files

Permissions

  • customgatherrates.admin -- Grants access to console commands for setting rates
  • customgatherrates.<suffix> -- Dynamic permissions created per profile (e.g., customgatherrates.vip)
Permission profiles in the config automatically generate their permissions. For example, a profile with PermissionSuffix: "vip" creates the permission customgatherrates.vip.

Commands

  • /gather -- Shows your current gather multipliers for each category
  • gather.rate <mode> [suffix] <category> <resource> <multiplier>-- Sets a gather rate
    • mode -- Either global (applies to everyone) or perm (applies to a permission profile)
    • suffix -- Permission suffix (only required when mode is perm)
    • category -- Gather category: Dispenser, Pickup, Growable, Quarry, or Excavator
    • resource -- Item shortname (e.g., wood, stones) or * for all items in the category
    • multiplier -- Multiplier value (must be greater than 0)
Examples:
Code:
gather.rate global Dispenser wood 2.0
Sets global wood gathering from dispensers to 2x for all players.

Code:
gather.rate perm vip Dispenser * 1.5
Sets all dispenser gathering to 1.5x for players with customgatherrates.vip permission.

Code:
gather.rate perm donor Quarry * 3.0
Sets quarry output to 3x for players with customgatherrates.donor permission (creates profile if it doesn't exist).

Configuration

JSON:
{
  "Version": "1.0.1",
  "Show Rates Chat Command": "gather",
  "Global Rates": {
    "Dispenser": {
      "*": 1.0
    },
    "Growable": {
      "*": 1.0
    },
    "Pickup": {
      "*": 1.0
    },
    "Quarry": {
      "*": 1.0
    },
    "Excavator": {
      "*": 1.0
    }
  },
  "Permission Profiles": [
    {
      "Permission Suffix": "vip",
      "Rates": {
        "Dispenser": {
          "*": 1.5,
          "wood": 2.0
        },
        "Pickup": {
          "*": 1.75
        },
        "Growable": {
          "*": 1.25
        },
        "Quarry": {
          "*": 1.0
        },
        "Excavator": {
          "*": 1.0
        }
      }
    }
  ]
}

General Settings

  • Show Rates Chat Command -- Chat command players use to check their rates

Global Rates

Global rates apply to all players who don't have a permission profile. Each gather category can have a wildcard multiplier (*) for all items or specific item multipliers.

Gather categories:
  • Dispenser -- Resources from hitting trees, ore nodes, barrels, and other harvestable objects
  • Pickup -- Resources from picking up hemp, mushrooms, corn, pumpkins, and other collectibles
  • Growable -- Resources from harvesting farm plants and taking clones
  • Quarry -- Resources produced by mining quarries
  • Excavator -- Resources produced by the excavator monument
Setting multipliers:
Use "*": 1.0 as the default for each category. Add specific item overrides using item shortnames:
JSON:
"Dispenser": {
  "*": 1.5,
  "wood": 2.0,
  "stones": 1.25
}
This gives 2x wood, 1.25x stone, and 1.5x for everything else when gathering from dispensers.

Permission Profiles

Permission profiles let you create tiered gather rates. Players with higher-priority profiles receive those rates instead of global rates. Profiles are checked in order, so put your highest tier first.
  • Permission Suffix -- The suffix added to customgatherrates. to create the permission (e.g., vip creates customgatherrates.vip)
  • Rates -- Gather rates structured the same as Global Rates
Creating multiple tiers:
JSON:
"Permission Profiles": [
  {
    "Permission Suffix": "elite",
    "Rates": {
      "Dispenser": { "*": 3.0 },
      "Pickup": { "*": 3.0 },
      "Growable": { "*": 2.0 },
      "Quarry": { "*": 2.0 },
      "Excavator": { "*": 2.0 }
    }
  },
  {
    "Permission Suffix": "vip",
    "Rates": {
      "Dispenser": { "*": 2.0 },
      "Pickup": { "*": 2.0 },
      "Growable": { "*": 1.5 },
      "Quarry": { "*": 1.5 },
      "Excavator": { "*": 1.5 }
    }
  }
]
Grant permissions using:
Code:
oxide.grant user <username> customgatherrates.vip
oxide.grant group vip customgatherrates.vip

How It Works

Priority System

The plugin checks rates in this order:
  1. Permission profiles (first to last) - If the player has a profile permission, use those rates
  2. Global rates - If no profile matches, use global rates
  3. Default - If nothing is configured, multiplier is 1.0 (no change)

Resource-Specific Rates

Within each category, the plugin checks:
  1. Specific item - If a rate exists for the exact item shortname (e.g., wood), use that
  2. Wildcard - If no specific rate exists, use the * rate
  3. Default - If neither exists, multiplier is 1.0

Quarries and Excavators

For quarries and excavators, the plugin tracks who started the machine:
  • Quarries - The player who toggles the quarry on receives credit for all output
  • Excavators - The player who sets the excavator arm's resource receives credit for that arm's output
If the machine was started by someone who left or no longer has the permission, it falls back to global rates.

Localization

JSON:
{
  "Error.NoPermission": "You do not have permission to use this command.",
  "Error.InvalidArguments": "Invalid arguments supplied.",
  "Error.InvalidFirstArgument": "First argument must be 'global' or 'perm'.",
  "Error.InvalidPermissionName": "Permission name is not valid.",
  "Error.InvalidGatherCategory": "Gather category is not recognised.",
  "Error.InvalidMultiplier": "Multiplier must be a number greater than 0.",
  "Error.EntryDoesNotExist": "There is no existing rate entry to remove.",
  "Info.Header.YourRates": "Your gather multipliers:",
  "Info.Line.Rate": "{0}: x{1}",
  "Info.NoRateOverrides": "All rates are default (x1).",
  "Info.RateSet": "Set {0} / {1} to x{2}."
}
Author
VisEntities
Downloads
70
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

  • No Event Markers
    No Event Markers
    Removes map markers for events such as patrol helicopters, hackable crates, and cargo ships
  • Biome Indicator
    Biome Indicator
    Displays the current biome and temperature to players via GUI and chat notifications
  • No Suicide Cooldown
    No Suicide Cooldown
    Removes the cooldown for the kill command, enabling instant reuse

Latest updates

  1. 1.0.1

    Patched for the February 7 Rust update.
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