# Setting

### Extended by

* [`RangeSetting`](https://scripting.breeze.rip/api/breeze/settings/rangesetting)
* [`IntSetting`](https://scripting.breeze.rip/api/breeze/settings/intsetting)
* [`ModeSetting`](https://scripting.breeze.rip/api/breeze/settings/modesetting)
* [`BooleanSetting`](https://scripting.breeze.rip/api/breeze/settings/booleansetting)
* [`DoubleSetting`](https://scripting.breeze.rip/api/breeze/settings/doublesetting)

### Methods

#### description()

> **description**(): `string`

**Returns**

`string`

The description of the setting.

***

#### name()

> **name**(): `string`

**Returns**

`string`

The name of the setting.

***

#### visible()

> **visible**(`visible`): `void`

You can use this to hide settings temporarily depending on the user config. The callback should return a boolean.

**Parameters**

**visible**

`Function`

The function to determine if the setting should be visible or not.

**Returns**

`void`

**Example**

```ts
const delay = new IntSetting("Delay", "The amount of ticks to wait in between attacks.", false);

delay.visible(() => {
	return someOtherSetting.getValue()
});
```
