# RangeSetting

A range setting.

### Extends

* [`Setting`](https://scripting.breeze.rip/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new RangeSetting**(`owner`, `name`, `description`, `defaultMin`, `defaultMax`, `min`, `max`, `step`): `RangeSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultMin**

`number`

The default minimum value.

**defaultMax**

`number`

The default maximum value.

**min**

`number`

The minimum allowed value.

**max**

`number`

The maximum allowed value.

**step**

`number`

The step size between values.

**Returns**

`RangeSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Inherited from**

[`Setting`](https://scripting.breeze.rip/api/breeze/settings/setting).[`description`](https://scripting.breeze.rip/api/breeze/setting#description)

***

#### getMax()

> **getMax**(): `number`

**Returns**

`number`

The maximum value of the setting.

***

#### getMin()

> **getMin**(): `number`

**Returns**

`number`

The minimum value of the setting.

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Inherited from**

[`Setting`](https://scripting.breeze.rip/api/breeze/settings/setting).[`name`](https://scripting.breeze.rip/api/breeze/setting#name)

***

#### random()

> **random**(): `number`

**Returns**

`number`

A random value within the selected range

***

#### 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()
});
```

**Inherited from**

[`Setting`](https://scripting.breeze.rip/api/breeze/settings/setting).[`visible`](https://scripting.breeze.rip/api/breeze/setting#visible)
