# HarvestableClass.client_onProjectile

Called when the [Harvestable](../Game-Script-Environment/Userdata/Harvestable.md) is hit by a projectile.

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
HarvestableClass:client_onProjectile(
    position,
    airTime,
    velocity,
    projectileName,
    shooter,
    damage,
    customData,
    normal,
    uuid,
    mass
)
```

[Open the full Game reference](../Game-Script-Environment/Classes/HarvestableClass.md#client_onprojectile)

> **Note:**
> If the shooter is destroyed before the projectile hits, the shooter value will be nil.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `self` | table | The class instance. |
| `position` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position in world space where the projectile hit the [Harvestable](../Game-Script-Environment/Userdata/Harvestable.md). |
| `airTime` | number | The time, in seconds, that the projectile spent flying before the hit. |
| `velocity` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The velocity of the projectile at impact. |
| `projectileName` | string | The name of the projectile. (Legacy, use uuid instead) |
| `shooter` | [Player](../Game-Script-Environment/Userdata/Player.md)/[Shape](../Game-Script-Environment/Userdata/Shape.md)/[Harvestable](../Game-Script-Environment/Userdata/Harvestable.md)/nil | The shooter, can be a [Player](../Game-Script-Environment/Userdata/Player.md), [Shape](../Game-Script-Environment/Userdata/Shape.md), [Harvestable](../Game-Script-Environment/Userdata/Harvestable.md) or nil if unknown. Projectiles shot by a [Unit](../Game-Script-Environment/Userdata/Unit.md) will be nil on the client. |
| `damage` | integer | The damage value of the projectile. |
| `customData` | any | A Lua object that can be defined at shoot time using [sm.projectile.customProjectileAttack](../Game-Script-Environment/Static-Functions/sm.projectile.md#customprojectileattack) or an other custom version. |
| `normal` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The normal at the point of impact. |
| `uuid` | [Uuid](../Game-Script-Environment/Userdata/Uuid.md) | The uuid of the projectile. |
| `mass` | number | The mass of the projectile. |
