Included with Purchase
Plugin Download
Instant access to the plugin file (.dll)
Future Updates
All updates and fixes at no extra cost
Developer Support
Help through our forum and Discord
Optional: Source Code
Add-on in cart for an additional fee
Readme

ResourceMultiplier

Multiply resource gathering rewards with optional auto-pickup feature.

Features

  • Set minimum and maximum item drops from resources
  • Adjust XP rewards from resources
  • Auto-pickup items directly to inventory (optional)
  • Works with forage resources too (tar bubbles, bushes, mushrooms) - vanilla only ever gives 1 of these; configured forage resources now give RewardMin..RewardMax
  • Optionally override the dropped item by RewardGuid (no id collisions) or legacy RewardId
  • /findresource <resourceId> - teleport to a random alive resource of that id (handy for testing)

Requirements

  • Rocket/RocketMod
  • 0Harmony.dll v2.3.3+ (included)

Setup

  1. Install plugin on your server
  2. Run /loadresources in console to detect and load your map's resources in to the configuration file
  3. Edit the values in the configuration file
  4. Run /updateresources or restart the server to apply your changes

Commands

  • /loadresources - Load the resources used by the map in to the configuration file. Console only.
  • /updateresources - Load configuration changes in to the game. Console only.
  • /findresource <resourceId> - Teleport to a random alive resource of that id. Admin/testing command - keep the findresource permission to staff.

Example Configuration

PEI

<?xml version="1.0" encoding="utf-8"?>
<ResourceMultiplierConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <EnableAutoPickup>false</EnableAutoPickup>
  <RequireAutoPickupPermission>false</RequireAutoPickupPermission>
  <Resources>
    <Resource Name="Birch #2" ResourceId="4" RewardMin="7" RewardMax="10" RewardXP="4" RewardId="515" />
    <Resource Name="Pine #1" ResourceId="2" RewardMin="5" RewardMax="8" RewardXP="6" RewardId="517" />
    <Resource Name="Maple #1" ResourceId="1" RewardMin="6" RewardMax="9" RewardXP="5" RewardId="516" />
    <Resource Name="Birch #1" ResourceId="3" RewardMin="7" RewardMax="10" RewardXP="4" RewardId="515" />
    <Resource Name="Pine #2" ResourceId="5" RewardMin="5" RewardMax="8" RewardXP="6" RewardId="517" />
    <Resource Name="Maple #2" ResourceId="6" RewardMin="6" RewardMax="9" RewardXP="5" RewardId="516" />
    <Resource Name="PEI Metal #1" ResourceId="39" RewardMin="3" RewardMax="7" RewardXP="6" RewardId="518" />
    <Resource Name="Bush #2" ResourceId="8" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Bush #1" ResourceId="7" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Bush Amber" ResourceId="12" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="963" />
    <Resource Name="Bush Russet" ResourceId="16" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="967" />
    <Resource Name="Cane #1 [XMAS]" ResourceId="50" RewardMin="6" RewardMax="8" RewardXP="2" RewardId="970" />
    <Resource Name="Bush Teal" ResourceId="17" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="968" />
    <Resource Name="Bush Mauve" ResourceId="15" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="966" />
    <Resource Name="Ornament #1 [XMAS]" ResourceId="49" RewardMin="6" RewardMax="9" RewardXP="6" RewardId="517" />
    <Resource Name="Bush Jade" ResourceId="14" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="965" />
    <Resource Name="Bush Vermillion" ResourceId="18" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="969" />
    <Resource Name="Snow Pile #1 [XMAS]" ResourceId="51" RewardMin="1" RewardMax="1" RewardXP="2" RewardId="960" />
    <Resource Name="Bush Indigo" ResourceId="13" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="964" />
  </Resources>
</ResourceMultiplierConfiguration>

Russia

<?xml version="1.0" encoding="utf-8"?>
<ResourceMultiplierConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <EnableAutoPickup>false</EnableAutoPickup>
  <RequireAutoPickupPermission>false</RequireAutoPickupPermission>
  <Resources>
    <Resource Name="Russia Pine #1" ResourceId="29" RewardMin="5" RewardMax="8" RewardXP="6" RewardId="517" />
    <Resource Name="Russia Pine #3" ResourceId="31" RewardMin="5" RewardMax="8" RewardXP="6" RewardId="517" />
    <Resource Name="Russia Pine #2" ResourceId="30" RewardMin="5" RewardMax="8" RewardXP="6" RewardId="517" />
    <Resource Name="Russia Bush #1" ResourceId="23" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Russia Bush #2" ResourceId="24" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Russia Metal #1" ResourceId="22" RewardMin="3" RewardMax="7" RewardXP="6" RewardId="518" />
    <Resource Name="Cane #1 [XMAS]" ResourceId="50" RewardMin="6" RewardMax="8" RewardXP="2" RewardId="970" />
    <Resource Name="Russia Birch #3" ResourceId="34" RewardMin="7" RewardMax="10" RewardXP="4" RewardId="515" />
    <Resource Name="Russia Birch #1" ResourceId="32" RewardMin="7" RewardMax="10" RewardXP="4" RewardId="515" />
    <Resource Name="Russia Dead #2" ResourceId="36" RewardMin="6" RewardMax="9" RewardXP="5" RewardId="516" />
    <Resource Name="Russia Dead #1" ResourceId="35" RewardMin="6" RewardMax="9" RewardXP="5" RewardId="516" />
    <Resource Name="Russia Birch #2" ResourceId="33" RewardMin="7" RewardMax="10" RewardXP="4" RewardId="515" />
    <Resource Name="Russia Bush #3" ResourceId="25" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Russia Bush #4" ResourceId="26" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Russia Bush #5" ResourceId="27" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
    <Resource Name="Ornament #1 [XMAS]" ResourceId="49" RewardMin="6" RewardMax="9" RewardXP="6" RewardId="517" />
    <Resource Name="Chicken #1 [XMAS]" ResourceId="53" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="974" />
    <Resource Name="Russia Bush #6" ResourceId="28" RewardMin="6" RewardMax="9" RewardXP="0" RewardId="0" />
  </Resources>
</ResourceMultiplierConfiguration>

Configuration Options

Option Description
EnableAutoPickup When true, chopped/mined resources go straight into the inventory instead of dropping on the ground. Does not affect forage resources.
RequireAutoPickupPermission When true, auto-pickup only applies to players with the resourcemultiplier.autopickup permission. No effect unless EnableAutoPickup is true.

Resource attributes

Attribute Description
Name Display name, for your reference only.
ResourceId The map's resource id. Get these by running /loadresources.
RewardMin / RewardMax A random amount between these (inclusive) is given per harvest. Both are 0-255.
RewardXP Skill XP given on harvest. Optional, defaults to 0.
RewardId Legacy item/spawn-table id to drop. 0 = the resource's own default item. Optional.
RewardGuid Item GUID to drop, overrides RewardId when set. Recommended for workshop maps (no id collisions). Optional.

Notes

  • The final drop amount is hard-capped at 100 per harvest. Setting RewardMax higher than 100 has no extra effect.
  • The server's difficulty Resource_Drops_Multiplier (from the map/server Config.json) is applied on top of your values. E.g. RewardMax="30" on a difficulty with a x2 resource multiplier yields up to ~60. Account for it (then the 100 cap still applies).
  • A resource must be listed in <Resources> to be changed. Remove its entry (or don't add it) and that resource behaves exactly like vanilla.
  • RewardId="0" uses the resource's own default harvest item (its Log item in the asset) - this is the safe choice and what you usually want. A non-zero RewardId is resolved as a legacy item id in the global id space, so a workshop map's local item id may collide with a vanilla item and drop the wrong thing.
  • RewardGuid is the recommended way to override the dropped item, especially for workshop maps. GUIDs are globally unique so there are no id collisions. When set it takes precedence over RewardId. Example: <Resource Name="CA Tar Bubbles" ResourceId="4147" RewardMin="30" RewardMax="30" RewardGuid="6c8db4fc21d94c13942c1470bf808456" /> (use the item's GUID, not the resource's).
  • /loadresources writes the resource's own legacy RewardId exactly as the game has it (a rewardID can be a spawn table, not just an item, and the runtime resolves it the same way vanilla does). RewardGuid is a manual override only - set it yourself when you want a specific item and no id collisions.
  • Forage resources (tar bubbles, bushes, mushrooms - assets with the Forage flag) work regardless of EnableAutoPickup. Vanilla forage gives exactly 1 item; the plugin lets vanilla run and then tops it up to the configured RewardMin..RewardMax total. Because vanilla always gives at least 1, the effective minimum for a configured forage resource is 1 even if RewardMin is 0. Foraged items always go straight into the player's inventory, same as vanilla forage.
  • EnableAutoPickup only affects chopped/mined resources (trees, metal): when true the multiplied items go directly into the inventory, when false they drop on the ground as normal. Either way the amount is multiplied.
  • RequireAutoPickupPermission (default false) - when true, auto-pickup only applies to players with the resourcemultiplier.autopickup permission. Everyone else still gets the multiplied amount, it just drops on the ground. Has no effect unless EnableAutoPickup is true.

Permissions

<!-- Only used when RequireAutoPickupPermission is enabled in the config (disabled by default) -->
<Permission Cooldown="0">resourcemultiplier.autopickup</Permission>
<!-- Admin/testing command - do not give this to regular players -->
<Permission Cooldown="0">findresource</Permission>

/loadresources and /updateresources are console-only and have no permission node - they cannot be run by players.