Water As A Resource

Turns Water into a non infinite resource. Water bodies get removed and replaced by solid ground. Offshore Drains allow water & oil to be put back into these depleted areas. 0.8.0 - 1.1 Factorio Compatibility, Multiplayer Multiple Forces Update, Krastorio2 Support, Reworked MapMarkers

3 months ago
0.16 - 1.1
4 years ago
Latest Version:
0.8.7 (3 months ago)
Factorio version:
0.16 - 1.1
9965 times

Water As A Resource

This Mod aims to turn Water into an non-infinite resource.

Latest Major Release

0.8.0 (20/01/21) - Factorio 1.1 Release!, Much Improved Multiplayer Support (Tracks All Forces Uniquely), Krastorio 2 Mod Support, Reworked MapMarkers.

This maybe the last major update for a while, my first child is due any day now, so maybe some time before other updates are released.


Once an Offshore Pump is built, it assigns that pool of water an amount, whilst it is being used the amount left drains away, once 80% depleted the pool starts to disappear with random dry spots appearing, until at 100%, the entire pool becomes solid ground.

The Mod starts to count water production from when the first pipe/storage tank is connected to an offshore pump. Simply remove this connection to stop production counting against the water body that the offshore is placed into, otherwise you can drain a tiny water body by simply having to many active offshores elsewhere. (Limitation of the Mod as the Factorio API doesn't allow for an entity.active on an offshore pump)

Offshore Drains work in the opposite manner, they look for a pipe connection with a fluidbox, then add into the area the amount in the pipe, they empty the pipe and then the cycle continues. Drains only currently work with Water and Crude Oil, hope to get this working with other fluids soon.

Crude oil works in the same way as water. Any pump jacks that are created have there output monitored so they don't impact the fluid calculations.

Mod Settings

Alarms - Low Level (50/75/90%) : Enables the alarms for 50, 75 & 90 % depletion. (Def: On)
Alarms - High Level (95/97/98/99%) : Enables the alarms for 95, 97, 98 & 99 % depletion. (Def: On)
Alarms - Landfill Message: Enables the Landfill Message when being used in a FluidArea. (Def: On)
Alarms - Enable Continuing Search Notification: Enables notifaction that fluidarea is still scanning. Occurs every 20 secs.(Def: On)

Disable RestoreWater Command : Disables the RestoreWater Command. Useful to prevent any players from using this on a server or mid-game. (Def: Off)
Disable FluidArea Regen : Disabled the Regen of WaterAreas (Def: Off)

FluidArea - Initial Size (Tiles) : Number of Tiles the first pump/drain will find in a new body of water. (Min: 300, Def: 500, Max: 100,000)
FluidArea - Additional Tiles per Second: If an area is bigger the the Initial Size, this is the additional number of tiles added per second. (Min: 100, Def: 300, Max: 50,000)
FluidArea - Regen Factor : Regens 0.001 per Tick, Factor increases/decreases this. (Min: 1, Def: 10, Max: 100)
FluidArea - Tile Replacement Method: Pick which replacment method you wish, either the default Random tiles, or To/From Pump which has the water moving towards from the orignal pump. (Random / To/From)
FluidArea - Re-replace Pump %: Percentage of FluidArea at which Inactive Offshore Pumps are replaced with Active Offshore Pumps (0/25/100)
FluidArea - Reactivate Drain %: Percentage of FluidArea at which Offshore Drains are reactivated (0/75/100)
FluidArea - Remove From Table: Remove Depleted FluidAreas from the Internal Table (Aids Save Size, Prevents Refilling / Restoring FluidArea)
FluidArea - Debug Queue Length: Enable to see the current Search Queue for a new FluidArea

Map - Enable Markers - Enable Map Markers to show the fluid areas and the amount of fluid they have in them.

Tile Fluid Amount - Shallow : The amount of fluid that a Shallow fluid tile is. (Min: 10, Def: 50, Max: 5000)
Tile Fluid Amount - Deep : The amount of fluid that a Deep fluid tile is. (Min: 20, Def: 100, Max: 10,000)

Commands Available

/RestoreWater - Restores the FluidAreas and Pumps back into there infinite defaults. Useful if uninstalling the mod or want a restart, mid-game.

/Offshores - Will display the Offshore Pumps FluidAreas, there location and if they are active.

/OffshoreDrains - Will display the Offshore Drains FluidArea, Fluid Type, there location and if the are active.

/PumpJacks - Will display the amount of Pumpjacks and there position.

/WaterAreas - Will show all the FluidAreas created, there Name, Total Amount Water, Percentage Depleted and how many Offshore Pumps and Drains are active in that area.

/PlayerForces - Will show data on the amount of Pumps/Drains/Jacks the Force has.


When Landfill is used on an already existing FluidArea, the area the landfill takes up will be decremented from the existing area and the Fluid amount recalculated.

Landfill cannot be used to split up an existing Fluidarea into multiple parts. You must first split up the area with Landfill and then place the offshore pumps to create the FluidAreas.

Next Update(s) - As and when

  • Bug Fixes when required.

Mod Compatibility

0.5.6 - AAI (0.2.4) : Graphics + Power Requirements for Offshore Pumps support.
0.5.7 - SeaBlock(0.2.17) : Restrict the Max No of tiles to 60,000 (A Sea!)
0.7.0 - AlienBiomes (0.4.15): FluidAreas look correct and work within AlienBiomes
0.7.0 - BobElectronics (0.17.7): Offshore Drains use Basic Circuit Boards
0.7.0 - ctg (Custom Terrain Generation) (0.4.3): Restrict Max Tiles to 60K
1.1.1 - Krastorio2

Other Notes

This mod was inspired by finitewater by Luke Perkin, found on the Forums : https://forums.factorio.com/viewtopic.php?f=94&t=14506

This is my first MOD and has taught me a lot about the inner workings of Factorio and LUA, please be gentle with the comments, I've tried to make it as user friendly as possible.

Mod Notes:
- Untested in Multiplayer
- Untested with other Mods that manipulate Water Tiles (Works alongside other Mods)
- Untested with Entities that create water (May mess up WaterCalcs!)

Mod To Dos:
- Other Misc issues as they are found!

Mod Future Ideas:
- Fill up Depleted FluidAreas with other liquids (Oil, Sulphuric Acid etc), alternative to storage tanks.