dFxPhoeniX
Adds zones, permissions, and other options to modify gather rates!

Supported Games
GameServerKingsGameServerKings
works with

Overview

UGather provides a flexible, permission-based gathering system for controlling resource rates across different gather types and map areas.

The plugin supports:

  • Resource dispensers
  • Harvest bonuses
  • Natural pickups
  • Barrels and road signs
  • Mining quarries
  • Survey charges
  • Giant Excavator
  • Optional ZoneManager-based gathering zones

Multipliers can increase or reduce gathered amounts:

  • 0.5 = 50% gather rate
  • 1.0 = normal gather rate
  • 1.5 = 150% gather rate
  • 2.0 = double gather rate

Values equal to or below 0 are considered invalid and are treated as 1.0.

Optional Dependency

ZoneManager

ZoneManager is optional.

UGather's standard permission-based gathering features work without it. Zone commands and zone-specific gather rates become available automatically when ZoneManager is loaded.

UGather also detects when ZoneManager is loaded or unloaded while the server is running and enables or pauses zone integration accordingly.

Gather Types

UGather separates resources into the following categories:

  • Barrels - Items dropped from barrels, oil barrels, diesel barrels and road signs.
  • Bonus - Bonus resources received at the end of harvesting a resource dispenser.
  • Dispenser - Resources harvested from ores, trees, animals, corpses and other resource dispensers.
  • Excavator - Resources produced by the Giant Excavator.
  • Pickups - Natural collectible resources found on the map.
  • Quarry - Resources produced by mining quarries.
  • Survey - Resources produced by survey charges.

The Pickups category only handles naturally spawned collectible entities. Crops grown by players inside planter boxes are not affected.

Automatic Resource Detection

When UGather detects a resource that is missing from the configuration, it automatically adds the resource:

  • To the category in which it was detected
  • To every configured gather permission
  • With a default multiplier of 1.0

The configuration is then saved automatically, allowing the multiplier to be customized later.Oil refineries are not currently handled by UGather.

Zone Gathering

Zone gathering uses ZoneManager together with UGather permissions.

When a zone is created, it is assigned one of the gather permissions configured in UGather. The resource multipliers from that permission are then used inside the zone.

Stored UGather zones are automatically synchronized when ZoneManager becomes available.

Zone Customization

The following zone properties can be edited:

  • Position - Moves the zone to your current position.
  • Radius - Controls the size of the zone in meters.
  • Enter Message - Message displayed when a player enters the zone.
  • Leave Message - Message displayed when a player leaves the zone.
  • Require Permission - Requires the player to have the zone's assigned permission before receiving its gather rates or messages.
  • Overtake Priority - Forces the zone multiplier to override all other applicable gather rates.
  • Restrict Permission - Prevents the assigned permission from working outside its configured zone.
  • Permission - The gather permission used by the zone. This is selected when the zone is created and cannot be edited afterward.

Permissions

Gather permissions are created dynamically from the keys inside the Gather Perms configuration section.

The default permissions are:

  • ugather.basic
  • ugather.advanced
  • ugather.donor
  • ugather.admin

The command permission is:

  • ugather.admin - Allows access to all /ugather chat commands.

The permission configured under Base Permission is automatically granted to the configured default group.Additional gather permissions can be created by adding new entries under Gather Perms.

Permission Stacking

When Stackable Permissions is disabled, UGather selects a single applicable multiplier.

  • The largest multiplier above 1.0 takes priority.
  • When only reduction multipliers are available, the lowest multiplier is used.
  • A zone with Overtake Priority enabled overrides all other rates.When permission stacking is enabled, modifiers are combined additively around 1.0.

Examples:

  • 1.2 plus 0.8 = 1.0
  • 1.5 plus 0.8 = 1.3
  • 0.8 plus 0.8 = 0.6

The final multiplier cannot be lower than 0.01.

Configuration

The default configuration contains more resources than the shortened example below.

{
  "Config Version": 3,
  "Gather Perms : The list of permissions that grant specified gather rates.": {
    "ugather.basic": {
      "Barrels": {
        "crude.oil": 2.0,
        "fuse": 2.0,
        "gears": 2.0,
        "lowgradefuel": 2.0,
        "metalpipe": 2.0,
        "scrap": 2.0
      },
      "Bonus": {
        "hq.metal.ore": 2.0,
        "metal.ore": 2.0,
        "stones": 2.0,
        "sulfur.ore": 2.0,
        "wood": 2.0
      },
      "Dispenser": {
        "bearmeat": 2.0,
        "bone.fragments": 2.0,
        "cloth": 2.0,
        "deermeat.raw": 2.0,
        "metal.ore": 2.0,
        "stones": 2.0,
        "sulfur.ore": 2.0,
        "wood": 2.0
      },
      "Excavator": {
        "metal.fragments": 2.0,
        "metal.refined": 2.0,
        "stones": 2.0,
        "sulfur.ore": 2.0
      },
      "Pickups": {
        "black.berry": 2.0,
        "cloth": 2.0,
        "corn": 2.0,
        "diesel_barrel": 2.0,
        "mushroom": 2.0,
        "orchid": 2.0,
        "pumpkin": 2.0,
        "rose": 2.0,
        "seed.hemp": 2.0,
        "sunflower": 2.0,
        "wood": 2.0
      },
      "Quarry": {
        "hq.metal.ore": 2.0,
        "metal.ore": 2.0,
        "stones": 2.0,
        "sulfur.ore": 2.0
      },
      "Survey": {
        "hq.metal.ore": 2.0,
        "metal.ore": 2.0,
        "stones": 2.0,
        "sulfur.ore": 2.0
      }
    }
  },
  "Base Permission : The basic permission given to group default.": "ugather.basic",
  "Default Group : The group all players should be in, these players get the base perm.": "default",
  "Stackable Permissions : If a user has multiple perms, should they stack gather rate.": false
}

Chat Commands

All commands require the ugather.admin permission.

General

  • /ugather — Displays the main command menu and ZoneManager integration status.

Rate Commands

  • /ugather rate - Displays rate command help.
  • /ugather rate list - Lists all configured gather permissions.
  • /ugather rate info <permission> - Displays information about a permission.
  • /ugather rate stats <permission> <type> - Displays resource multipliers for a category.
  • /ugather rate types - Lists all supported gather categories.

Zone Commands

Zone commands require ZoneManager.

  • /ugather zone - Displays zone command help.
  • /ugather zone add <permission> <radius> - Creates a zone at your current position.
  • /ugather zone list [page] - Lists stored UGather zones.
  • /ugather zone show <number> - Temporarily displays the selected zone.
  • /ugather zone variables - Lists editable zone properties.
  • /ugather zone edit <number> position - Moves the zone to your current position.
  • /ugather zone edit <number> radius <value> - Changes the zone radius.
  • /ugather zone edit <number> enter_message <message> - Changes the enter message.
  • /ugather zone edit <number> leave_message <message> - Changes the leave message.
  • /ugather zone edit <number> require_permission <true/false> - Changes the permission requirement.
  • /ugather zone edit <number> overtake_priority <true/false> - Changes priority behavior.
  • /ugather zone edit <number> restrict_permission <true/false> - Restricts the assigned permission to the zone.
  • /ugather zone delete <number> - Deletes the selected zone.

Languages

UGather have two languages by default (English and Romanian), but you can add more in Oxide lang folder.

Credits

  • DylanSMR - Original plugin author
  • dFxPhoeniX - Current maintainer
This plugin is unlicensed and the original author reserves all rights to it.

The original author may request that this plugin be removed and there is a risk that the plugin may be unavailable in the future.

Note that the current maintainer may not have permission to assign a license to the plugin if they are not the original author, so explicit permission would need to be obtained from the original author in order for the plugin to remain openly available and guarantee that it will be around for all to enjoy going forward.