BeginHarvest - it only creates a target, you need to either create a target forcibly and specify the coordinates, or simply cause pseudo animation throw and effect throw.
Example:
Create ThrowingTimer and check in OnTick method players in range.
if players > 0
check water tiles in range, and...