# ToolClass.client_onEquippedUpdate

Called every frame for the currently equipped [Tool](../Game-Script-Environment/Userdata/Tool.md).

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
ToolClass:client_onEquippedUpdate( primaryState, secondaryState )
```

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

> **Note:**
> Swinging the sledgehammer is a typical example where you want to block other primary input.
> Force building is an example where the primary input action is not blocked.
> Not blocking secondary input allows shape removal while the tool is equipped.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `self` | table | The class instance. |
| `primaryState` | integer | The interact state of the primary (left) mouse button. (See [sm.tool.interactState](../Game-Script-Environment/Static-Functions/sm.tool.md#interactstate)) |
| `secondaryState` | integer | The interact state of the secondary (right) mouse button. (See [sm.tool.interactState](../Game-Script-Environment/Static-Functions/sm.tool.md#interactstate)) |

**Returns:**

| Type | Description |
| --- | --- |
| boolean<br>boolean | The first boolean indicates if other primary input actions should be blocked. The second if secondary input actions should be blocked. (Defaults to false, false) |
