Video
Readme

Tool Cupboard

Custom buildings decay system based on Rust's Tool Cupboard.

Features

  • Can damage all structures and barricades on the server every interval
  • Can heal all structures and barricades on the server every interval
  • You can bypass specific barricades/structures from healing or decaying
  • Lags free, all checks run on asynchronous thread and damage is queued to the main thread
  • Optional, UI that informs player if their building is decaying while they are in it
  • Use any barricade as ToolCupboard with a custom radius of protection

Credits

  • Tespy for sponsoring percentage damage and custom items features

Workshop (optional)

Tool Cupboard UI - 3239984557

Configuration

<?xml version="1.0" encoding="utf-8"?>
<ToolCupboardConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DecayUIService>
    <IsEnabled>false</IsEnabled>
    <EffectId>8301</EffectId>
    <EffectIconUrl>https://i.imgur.com/RKCMPg4.png</EffectIconUrl>
  </DecayUIService>
  <DecayService>
    <IsEnabled>true</IsEnabled>
    <UseClaimFlags>true</UseClaimFlags>
    <UseGenerators>false</UseGenerators>
    <ShouldGeneratorsRequireFuel>true</ShouldGeneratorsRequireFuel>
    <UseBeds>false</UseBeds>
    <BedRadius>32</BedRadius>
    <ShouldBedsBeClaimed>true</ShouldBedsBeClaimed>
    <UseCustomItems>false</UseCustomItems>
    <CustomItems>
      <CustomItem Name="Lockers" Radius="50" ItemIds="328 1281" />
    </CustomItems>
    <DamageInterval>300</DamageInterval> <!-- Minimum value is 30 seconds -->
    <DamagePerInterval>1</DamagePerInterval>
    <UsePercentageDamage>false</UsePercentageDamage>
    <ShouldBypassBed>true</ShouldBypassBed>
    <ShouldBypassOilPump>true</ShouldBypassOilPump>
    <ShouldBypassFarm>true</ShouldBypassFarm>
    <ShouldBypassTank>true</ShouldBypassTank>
    <ShouldBypassCharge>true</ShouldBypassCharge>
    <ShouldBypassTrap>true</ShouldBypassTrap>
    <ShouldBypassBeacon>true</ShouldBypassBeacon>
    <ShouldBypassStorage>true</ShouldBypassStorage>
    <BypassItems>
      <Item>0</Item>
    </BypassItems>
  </DecayService>
  <HealingService>
    <IsEnabled>true</IsEnabled>
    <UseClaimFlags>true</UseClaimFlags>
    <UseGenerators>false</UseGenerators>
    <ShouldGeneratorsRequireFuel>true</ShouldGeneratorsRequireFuel>
    <UseBeds>false</UseBeds>
    <BedRadius>32</BedRadius>
    <ShouldBedsBeClaimed>true</ShouldBedsBeClaimed>
    <UseCustomItems>false</UseCustomItems>
    <CustomItems>
      <CustomItem Name="Lockers" Radius="50" ItemIds="328 1281" />
    </CustomItems>
    <HealingInterval>600</HealingInterval> <!-- Minimum value is 30 seconds -->
    <HealingPerInterval>3</HealingPerInterval>
    <UsePercentageHealing>false</UsePercentageHealing>
    <BypassItems>
      <Item>0</Item>
    </BypassItems>
  </HealingService>
</ToolCupboardConfiguration>

Translations

<?xml version="1.0" encoding="utf-8"?>
<Translations xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Translation Id="UI_TEXT" Value="Your base is decaying!" />
</Translations>