# Introduction

Breeze uses JavaScript for scripting. If you aren't familiar with JavaScript, it's suggested that you find a tutorial to teach you the basics.

Create a new script by creating a file ending in `.js` in the `breeze/1.8.9/scripting` directory.

{% hint style="success" %}
We highly recommend you get our [VSCode Extension](/vscode_extension) extension, it makes scripting with breeze a breeze.
{% endhint %}

Next we recommend you look at [Getting Started](/getting_started) or some of the [Examples](/examples/pingspoof).


# VSCode Extension

Easier then ever before

For writing Breeze scripts we recommend using [Visual Studio Code.](https://code.visualstudio.com/)\
Our dedicated VS Code extension provides full IntelliSense for the entire Breeze API, including automatic type inference and inline documentation.\
You can install it directly from the Visual Studio Code Marketplace.


# Getting Started

#### Creating the script file.

To start you have to create a javascript file inside of the breeze scripting folder. You can find this folder in two ways:

* Pressing the <i class="fa-folder">:folder:</i> icon inside of the breeze scripting tab.\
  ![](https://3854170834-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiOeZYpMqko1q0SgE11To%2Fuploads%2Fgit-blob-060dba2f11ca9918eccc5e204de5c22e16a926ae%2Fimage.png?alt=media)
* Or manually manouver to the appdata folder, the same folder where [`.minecraft`](https://stickypiston.co/account/knowledgebase/130/How-do-I-find-my-Minecraft-Folder.html) is. In the folder navigate the following path to find the breeze scripting folder -> `breeze/1.8.9/scripts`

In the `scripts` directory create a file with the name of your script ending with `.js`.

{% hint style="success" %}
The script name that shows up inside of breeze is defined by what you name the file! For example calling your file `PingSpoof.js` will make the script show up as **PingSpoof**.\\

<img src="https://3854170834-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiOeZYpMqko1q0SgE11To%2Fuploads%2Fgit-blob-b15ef44fcd4bee85e034a9e88775d57993e70e5e%2Fimage.png?alt=media" alt="" data-size="original">
{% endhint %}

#### Script Description

To start your script we can use the [script](/api/namespaces/script) to set the description for the script.

```javascript
script.description = "Test description for this script";
```


# Defining Settings

Settings allow users to configure your script's behavior directly from the client UI. All settings must be created during script initialization.

### Setting Types

#### BooleanSetting

A simple toggle (on/off).

```js
const enabled = new BooleanSetting(script, "Enabled", "Whether the feature is active.", true);

// Reading the value
if (enabled.getValue()) {
    // do something
}
```

#### IntSetting

An integer value with a defined range.

```js
const delay = new IntSetting(script, "Delay", "Ticks between actions.", 5, 0, 20);

// With a slider step
const speed = new IntSetting(script, "Speed", "Movement speed multiplier.", 10, 0, 100, 5);

var value = delay.getValue(); // number
```

#### DoubleSetting

A decimal value with a defined range.

```javascript
const reach = new DoubleSetting(script, "Reach", "Attack reach in blocks.", 3.0, 1.0, 6.0);

// With a slider step
const factor = new DoubleSetting(script, "Factor", "Boost factor.", 1.5, 0.5, 5.0, 0.5);

var value = reach.getValue(); // number
```

#### ModeSetting

A dropdown that lets the user pick from a list of named modes.

```js
const mode = new ModeSetting(script, "Mode", "Which algorithm to use.", "Fast", ["Fast", "Silent", "Legit"]);

if (mode.is("Fast")) {
    // fast path
}

var current = mode.getValue(); // "Fast" | "Silent" | "Legit"
```

#### RangeSetting

A dual-handle slider representing a min/max range.

```js
const cps = new RangeSetting(script, "CPS", "Clicks per second range.", 8, 12, 1, 20, 1);

var min = cps.getMin();   // number
var max = cps.getMax();   // number
var val = cps.random();   // random value within the selected range
```

### Subgroups

Related settings can be organized under a `SubGroup` to keep the UI tidy.

```js
const rotations = new SubGroup("Rotations");

const smoothing = new BooleanSetting(rotations, "Smooth", "Smoothly rotate to targets.", true);
const rotSpeed  = new DoubleSetting(rotations, "Speed", "Max degrees per tick.", 8.0, 1.0, 180.0);
```

> Pass the `SubGroup` instance as the first argument instead of `script`.

### Conditional Visibility

You can hide settings dynamically based on the state of other settings using `.visible()`.

```js
const smooth = new BooleanSetting(script, "Smooth", "Enable smooth rotations.", true);
const speed  = new DoubleSetting(script, "Speed", "Rotation speed.", 8.0, 1.0, 180.0);

// Only show 'speed' when 'smooth' is enabled
speed.visible(() => smooth.getValue());
```


# Event Listeners

Use `script.addListener` to react to game events. All listeners must be registered during script initialization.

#### Basic Usage

```js
script.addListener("EventName", (event) => {
    // handle event
});
```

{% content-ref url="<https://github.com/LoseBypass/breeze-docs/blob/main/docs/api/events/README.md>" %}
<https://github.com/LoseBypass/breeze-docs/blob/main/docs/api/events/README.md>
{% endcontent-ref %}


# Rotation Manager

The `rotationManager` namespace lets your script control the player's look direction (yaw/pitch).

***

### Setup

Set your priority during initialization. Higher numbers run first.

```js
rotationManager.setPriority(10);
```

### Registering Callbacks

#### **onRotate**

This is your main rotation callback — called every tick when your script has priority. Call `rotationManager.rotate()` inside here.

```js
rotationManager.onRotate(() => {
    rotationManager.rotate(targetYaw, targetPitch, 8.0);
});
```

#### onUpdateNoRotate

Called every tick when another module has taken priority over yours. Use this to keep internal state updated even when you're not rotating.

```js
rotationManager.onUpdateNoRotate(() => {
    // another module is rotating — idle tick
});
```

### Rotating

#### [`rotationManager.rotate(yaw, pitch, speed)`](/api/functions/rotationmanager.rotate)

Smoothly steps toward the target yaw/pitch by at most `speed` degrees per tick. Returns `true` when the target has been reached.

```js
rotationManager.onRotate(() => {
    const done = rotationManager.rotate(90.0, 15.0, 6.0);

    if (done) {
        // we're now looking exactly at the target
    }
});
```

### Reading the Current Spoofed Angles

You can read back the current spoofed rotation at any time — useful for calculating aim vectors or checking if you're on target.

```js
var yaw   = rotationManager.getSpoofedYaw();
var pitch = rotationManager.getSpoofedPitch();
```

### Priority List

These are the default priorities for each module in breeze. Highest priority gets to rotate first.

| Module               | Priority |
| -------------------- | -------- |
| SelfTrap             | 45       |
| BedNuker             | 40       |
| AntiFireball         | 35       |
| Scaffold             | 30       |
| Clutch               | 25       |
| MLG                  | 20       |
| KnockBackManipulator | 15       |
| SilentAim            | 10       |
| AutoRod              | 5        |
| KillAura             | 0        |


# Spoof Manager

The `spoofManager` namespace lets your script intercept, cancel, delay, and release packets in both directions. Like the rotation manager, it uses a priority system for when multiple scripts are active.

This manager is mainly meant for making lag based modules. For basic packet manipulation we recommend [PacketSendEvent](/api/events/packetsendevent).

***

### Setup

Set your priority during initialization.

```javascript
spoofManager.setPriority(10);
```

***

### Intercepting Packets

#### `onPacketSend`

Called for every outbound packet (client → server). Return a `SpoofAction` to decide what happens to it.

```javascript
spoofManager.onPacketSend((packet) => {
    if (packet instanceof C0BPacketEntityAction) {
        if (packet.getAction() === "START_SNEAKING") {
            return "CANCEL"; // block sneak packets from reaching the server
        }
    }
    return "PROCESS"; // let everything else through
});
```

***

#### `onPacketReceive`

Called for every inbound packet (server → client). Same `SpoofAction` return values apply.

```javascript
spoofManager.onPacketReceive((packet) => {
    if (packet instanceof S08PacketPlayerPosLook) {
        return "DELAY"; // hold the teleport packet until we're ready
    }
    return "PROCESS";
});
```

***

### SpoofAction Values

| Value       | Description                                           |
| ----------- | ----------------------------------------------------- |
| `"PROCESS"` | Do nothing, let the packet continue as normal         |
| `"CANCEL"`  | Drop the packet entirely — it will never be processed |
| `"DELAY"`   | Hold the packet until you manually release it         |

### Releasing Delayed Packets

#### `onUpdate`

Called every tick when there are delayed packets waiting. Use this to decide when to release them.

```javascript
spoofManager.onUpdate((packets) => {
    for (let packet of packets) {
        if (packet.hasAged(1000)) { // release after 1 second
            spoofManager.release(packet);
        }
    }
});
```

Each `DelayedPacket` exposes:

| Property / Method | Description                                                       |
| ----------------- | ----------------------------------------------------------------- |
| `packet`          | The original `Packet` object                                      |
| `time`            | Epoch ms timestamp of when it was delayed                         |
| `direction()`     | `"IN"` or `"OUT"`                                                 |
| `hasAged(ms)`     | `true` if the packet has been held for at least `ms` milliseconds |

### Flushing Packets

If you need to release everything at once — for example when the script is disabled — use the flush helpers.

```typescript
spoofManager.flushAll();      // release all delayed packets
spoofManager.flushIncoming(); // release only inbound packets
spoofManager.flushOutgoing(); // release only outbound packets
```

> Always call `flushAll()` in your `script.onDisable` callback to avoid packets being stuck indefinitely.

***

### Sending Packets Manually

You can also inject your own packets directly to the server.

```typescript
spoofManager.sendPacket(new C05PacketPlayerLook(90.0, 0.0, true), false);
```

{% hint style="info" %}
See [https://github.com/LoseBypass/breeze-docs/blob/main/docs/examples/page-1.md](https://github.com/LoseBypass/breeze-docs/blob/main/docs/examples/page-1.md "mention") for a basic implementation of the spoof manager.
{% endhint %}


# HUD Scripting

HUD scripts let you render custom 2D overlays on screen using the `hudManager` and `hudRenderer` namespaces. Elements are draggable in the HUD editor and their positions persist to config automatically.

***

## Render Pipeline

Each frame breeze renders scripted HUD elements in two passes:

1. **Background pass** — your `onBackground` callback returns a list of `RoundedRect` shapes. These are collected alongside all other HUD backgrounds and rendered together (with blur/shadow) before any content is drawn.
2. **Render pass** — your `onRender` callback runs. Use `hudRenderer` functions here to draw text, shapes, and items.

All drawing in both passes uses screen-space coordinates with the origin at the top-left corner (x right, y down). The `hudManager.x()` / `hudManager.y()` values give you the top-left corner of your element's current dragged position — offset everything you draw from those values.

***

## hudManager

Registers callbacks and exposes layout information for your element.

### Callbacks

All callbacks must be registered during script initialization.

```js
// Called every frame to draw your element's content.
// x, y, scale are passed in directly so you don't need to call hudManager.x() etc. inside the callback.
hudManager.onRender((x, y, scale) => {
    // use hudRenderer here
});

// Returns an array of RoundedRect shapes drawn as the blurred background.
hudManager.onBackground(() => {
    return [new RoundedRect(hudManager.x(), hudManager.y(), width, height, 4 * hudManager.scale())];
});

// Returns the pixel width of your element. Used by the HUD editor for snapping.
hudManager.onWidth(() => 160);

// Returns the pixel height of your element.
hudManager.onHeight(() => 40);
```

### Position & Layout

| Function                  | Returns  | Description                                                             |
| ------------------------- | -------- | ----------------------------------------------------------------------- |
| `hudManager.x()`          | `number` | Left edge of the element on screen                                      |
| `hudManager.y()`          | `number` | Top edge of the element on screen                                       |
| `hudManager.scale()`      | `number` | User-configured HUD scale (use this to scale padding, radii, and sizes) |
| `hudManager.fontHeight()` | `number` | Pixel height of the selected HUD font                                   |

`hudManager.x()`, `hudManager.y()`, and `hudManager.scale()` are also passed directly into `onRender` as `(x, y, scale)` — you only need to call these getters explicitly in `onBackground`, `onWidth`, or `onHeight`.

***

## hudRenderer

All drawing functions take absolute screen coordinates. Inside `onRender` use the `x` and `y` parameters passed to you; in other contexts call `hudManager.x()` / `hudManager.y()`.

### Text

```js
// Pixel width of a string in the current HUD font.
const w = hudRenderer.stringWidth("Hello");

// Draw text. Optional fifth argument enables a drop shadow.
hudRenderer.drawString(x, y, "Hello", new Color(255, 255, 255, 255));
hudRenderer.drawString(x, y, "Hello", new Color(255, 255, 255, 255), true);
```

### Rectangles

```js
// Solid color, uniform corner radius.
hudRenderer.drawRect(x, y, w, h, radius, color);

// Solid color, per-corner radii (TL, TR, BR, BL).
hudRenderer.drawRect(x, y, w, h, rtl, rtr, rbr, rbl, color);

// Two-color gradient. vertical=true → top-to-bottom, false → left-to-right.
hudRenderer.drawRectGradient(x, y, w, h, radius, color1, color2, vertical);

// Solid color with an outer glow. glowColor alpha controls max intensity.
hudRenderer.drawRectGlow(x, y, w, h, radius, color, glowRadius, glowColor);

// Uses the current HUD effect (rainbow / gradient / pulse / none). alpha is 0.0–1.0.
hudRenderer.drawRectWithEffect(x, y, w, h, radius, alpha);
```

### Circles

```js
hudRenderer.drawCircle(cx, cy, radius, color);

// Hollow ring.
hudRenderer.drawRing(cx, cy, radius, thickness, color);

// Uses the current HUD effect. alpha is 0.0–1.0.
hudRenderer.drawCircleWithEffect(cx, cy, radius, alpha);
```

### Items

```js
// Draw an ItemStack icon. size=16 is native resolution.
hudRenderer.drawItemStack(stack, x, y, size);

// With count and durability bar overlay.
hudRenderer.drawItemStack(stack, x, y, size, true);
```

***

## RoundedRect

Used exclusively in `onBackground` to describe the blurred background region.

```js
// Uniform radius
new RoundedRect(x, y, w, h, radius)

// Per-corner radii (TL, TR, BR, BL)
new RoundedRect(x, y, w, h, rtl, rtr, rbr, rbl)
```

***

## Minimal Example

```js
script.description = "Displays the player's health.";

const PAD = 6;

hudManager.onWidth(() => 120);
hudManager.onHeight(() => hudManager.fontHeight() + PAD * 2 * hudManager.scale());

hudManager.onBackground(() => {
    const s = hudManager.scale();
    return [new RoundedRect(hudManager.x(), hudManager.y(), 120, hudManager.fontHeight() + PAD * 2 * s, 4 * s)];
});

hudManager.onRender((x, y, scale) => {
    const pad = PAD * scale;

    const hp = mc.player != null ? Math.ceil(mc.player.getHealth()) : 0;
    hudRenderer.drawString(x + pad, y + pad, "Health: " + hp, new Color(255, 255, 255, 220), true);
});
```

***

## Tips

* **Scale everything** — multiply all padding, corner radii, and icon sizes by `hudManager.scale()` so the element looks right at any user scale.
* **Guard nulls** — `mc.player` and `mc.world` can be null (e.g. on the main menu). Check before accessing them.
* **Background vs content** — only use `onBackground` for the blurred rect outline. Decorations and text go in `onRender`.
* **Dynamic size** — `onWidth` / `onHeight` are called every frame, so you can return a value based on current content.

***

## See Also

* [hudManager namespace](/api/namespaces/hudmanager)
* [hudRenderer namespace](/api/namespaces/hudrenderer)
* [Defining Settings](/defining_settings)
* [Example: PlayerInfo](/examples/playerinfo)


# breeze


# event


# CancellableEvent

An event that can be cancelled

### Extended by

* [`JumpEvent`](/api/events/jumpevent)
* [`MotionEvent`](/api/events/motionevent)
* [`RenderHandEvent`](/api/events/renderhandevent)
* [`AngleUpdateEvent`](/api/events/angleupdateevent)
* [`KeyPressedEvent`](/api/events/keypressedevent)
* [`MouseClickedEvent`](/api/events/mouseclickedevent)
* [`PacketReceiveEvent`](/api/events/packetreceiveevent)
* [`PacketSendEvent`](/api/events/packetsendevent)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.


# settings


# BooleanSetting

A simple boolean setting.

### Remarks

Can only be created while initializing the script.

### Example

```ts
const alwaysAttack = new BooleanSetting("AlwaysAttack", "If the module will always attack regardles of player health.", false);
```

### Extends

* [`Setting`](/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new BooleanSetting**(`holder`, `name`, `description`, `defaultValue`): `BooleanSetting`

**Parameters**

**holder**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`boolean`

The default value of the setting.

**Returns**

`BooleanSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/setting#description)

***

#### getValue()

> **getValue**(): `boolean`

**Returns**

`boolean`

If the settings is toggled or not.

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/setting#name)

***

#### setValue()

> **setValue**(`value`): `void`

**Parameters**

**value**

`boolean`

The value to set the setting to.

**Returns**

`void`

***

#### 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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# ColorSetting

A color setting.

### Remarks

Can only be created while initializing the script.

### Example

```ts
const color = new ColorSetting(script, "Color", "The color to use.", new Color(255, 255, 255, 255));
```

### Extends

* [`Setting`](/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new ColorSetting**(`holder`, `name`, `description`, `defaultValue`): `ColorSetting`

**Parameters**

**holder**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

[`Color`](/api/breeze/util/color)

The default color.

**Returns**

`ColorSetting`

**Overrides**

`Setting.constructor`

#### Constructor

> **new ColorSetting**(`holder`, `name`, `description`, `defaultValue`, `allowAlpha`): `ColorSetting`

**Parameters**

**holder**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

[`Color`](/api/breeze/util/color)

The default color.

**allowAlpha**

`boolean`

Whether the alpha channel can be changed.

**Returns**

`ColorSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/setting#description)

***

#### getValue()

> **getValue**(): [`Color`](/api/breeze/util/color)

**Returns**

[`Color`](/api/breeze/util/color)

The current color value.

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/setting#name)

***

#### setValue()

> **setValue**(`color`): `void`

**Parameters**

**color**

[`Color`](/api/breeze/util/color)

The color to set.

**Returns**

`void`

***

#### 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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# DoubleSetting

A double setting.

### Extends

* [`Setting`](/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new DoubleSetting**(`owner`, `name`, `description`, `defaultValue`, `min`, `max`): `DoubleSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`number`

The default value of the setting.

**min**

`number`

The minimum value of the setting.

**max**

`number`

The maximum value of the setting.

**Returns**

`DoubleSetting`

**Overrides**

`Setting.constructor`

#### Constructor

> **new DoubleSetting**(`owner`, `name`, `description`, `defaultValue`, `min`, `max`, `step`): `DoubleSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`number`

The default value of the setting.

**min**

`number`

The minimum value of the setting.

**max**

`number`

The maximum value of the setting.

**step**

`number`

The amount to round the setting by when adjusting via the slider.

**Returns**

`DoubleSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/setting#description)

***

#### getValue()

> **getValue**(): `number`

**Returns**

`number`

The value of the setting.

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/setting#name)

***

#### setValue()

> **setValue**(`value`): `void`

**Parameters**

**value**

`number`

The value to set the setting to.

**Returns**

`void`

***

#### 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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# IntSetting

An integer setting.

### Example

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

### Extends

* [`Setting`](/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new IntSetting**(`owner`, `name`, `description`, `defaultValue`, `min`, `max`): `IntSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`number`

The default value of the setting.

**min**

`number`

The minimum value of the setting.

**max**

`number`

The maximum value of the setting.

**Returns**

`IntSetting`

**Overrides**

`Setting.constructor`

#### Constructor

> **new IntSetting**(`owner`, `name`, `description`, `defaultValue`, `min`, `max`, `step`): `IntSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`number`

The default value of the setting.

**min**

`number`

The minimum value of the setting.

**max**

`number`

The maximum value of the setting.

**step**

`number`

The amount to round the setting by when adjusting via the slider.

**Returns**

`IntSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/setting#description)

***

#### getValue()

> **getValue**(): `number`

**Returns**

`number`

The value of the setting.

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Inherited from**

[`Setting`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/setting#name)

***

#### setValue()

> **setValue**(`value`): `void`

**Parameters**

**value**

`number`

The value to set the setting to.

**Returns**

`void`

***

#### 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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# ModeSetting

A mode setting.

### Extends

* [`Setting`](/api/breeze/settings/setting)

### Constructors

#### Constructor

> **new ModeSetting**(`owner`, `name`, `description`, `defaultValue`, `values`): `ModeSetting`

**Parameters**

**owner**

`object`

Can either be 'script' or a subgroup.

**name**

`string`

The name of the setting.

**description**

`string`

The description of the setting.

**defaultValue**

`string`

The default mode of the setting.

**values**

`string`\[]

An array of possible mode for the setting.

**Returns**

`ModeSetting`

**Overrides**

`Setting.constructor`

### Methods

#### description()

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

**Returns**

`string`

The description of the setting.

**Overrides**

[`Setting`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/setting#description)

***

#### getValue()

> **getValue**(): `string`

**Returns**

`string`

The name of the currently selected mode.

***

#### is()

> **is**(`mode`): `boolean`

Check if the requested mode is the current one.

**Parameters**

**mode**

`string`

The mode you want to check.

**Returns**

`boolean`

True if the mode is currently selected

***

#### name()

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

**Returns**

`string`

The name of the setting.

**Overrides**

[`Setting`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/setting#name)

***

#### setValue()

> **setValue**(`mode`): `void`

**Parameters**

**mode**

`string`

The mode you want to set the setting to.

**Returns**

`void`

***

#### 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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# RangeSetting

A range setting.

### Extends

* [`Setting`](/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`](/api/breeze/settings/setting).[`description`](/api/breeze/settings/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`](/api/breeze/settings/setting).[`name`](/api/breeze/settings/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`](/api/breeze/settings/setting).[`visible`](/api/breeze/settings/setting#visible)


# Setting

### Extended by

* [`RangeSetting`](/api/breeze/settings/rangesetting)
* [`ColorSetting`](/api/breeze/settings/colorsetting)
* [`IntSetting`](/api/breeze/settings/intsetting)
* [`ModeSetting`](/api/breeze/settings/modesetting)
* [`BooleanSetting`](/api/breeze/settings/booleansetting)
* [`DoubleSetting`](/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()
});
```


# SubGroup

A sub group of settings.

### Constructors

#### Constructor

> **new SubGroup**(`name`): `SubGroup`

**Parameters**

**name**

`string`

The name of the subgroup.

**Returns**

`SubGroup`

### Methods

#### getName()

> **getName**(): `string`

**Returns**

`string`


# spoof


# DelayedPacket

A packet that is delayed until we release it.

### Properties

#### packet

> `readonly` **packet**: [`Packet`](/api/net/minecraft/network/packet)

The packet that has been delayed.

***

#### time

> `readonly` **time**: `number`

The original time this packet was send.

### Methods

#### direction()

> **direction**(): [`PacketDirection`](/api/enum_types/packetdirection)

Returns the direction of the packet, either IN or OUT.

**Returns**

[`PacketDirection`](/api/enum_types/packetdirection)

***

#### hasAged()

> **hasAged**(`ms`): `boolean`

Checks if this packet has aged beyond the specified time.

**Parameters**

**ms**

`number`

The number of milliseconds.

**Returns**

`boolean`

True if this packet has aged beyond the given time, false otherwise.


# util


# Color

A simple color object.

### Constructors

#### Constructor

> **new Color**(`r`, `g`, `b`, `a`): `Color`

**Parameters**

**r**

`number`

**g**

`number`

**b**

`number`

**a**

`number`

**Returns**

`Color`

### Methods

#### blue()

> **blue**(): `number`

**Returns**

`number`

***

#### green()

> **green**(): `number`

**Returns**

`number`

***

#### red()

> **red**(): `number`

**Returns**

`number`


# RoundedRect

A rounded rectangle used for HUD backgrounds.

### Constructors

#### Constructor

> **new RoundedRect**(`x`, `y`, `w`, `h`, `r`): `RoundedRect`

**Parameters**

**x**

`number`

**y**

`number`

**w**

`number`

**h**

`number`

**r**

`number`

**Returns**

`RoundedRect`

#### Constructor

> **new RoundedRect**(`x`, `y`, `w`, `h`, `rtl`, `rtr`, `rbr`, `rbl`): `RoundedRect`

**Parameters**

**x**

`number`

**y**

`number`

**w**

`number`

**h**

`number`

**rtl**

`number`

**rtr**

`number`

**rbr**

`number`

**rbl**

`number`

**Returns**

`RoundedRect`

### Methods

#### getH()

> **getH**(): `number`

**Returns**

`number`

***

#### getRBL()

> **getRBL**(): `number`

**Returns**

`number`

***

#### getRBR()

> **getRBR**(): `number`

**Returns**

`number`

***

#### getRTL()

> **getRTL**(): `number`

**Returns**

`number`

***

#### getRTR()

> **getRTR**(): `number`

**Returns**

`number`

***

#### getW()

> **getW**(): `number`

**Returns**

`number`

***

#### getX()

> **getX**(): `number`

**Returns**

`number`

***

#### getY()

> **getY**(): `number`

**Returns**

`number`


# Module

A module, can be used to get information about the module.

### Methods

#### disable()

> **disable**(): `void`

Disables the module.

**Returns**

`void`

***

#### enable()

> **enable**(): `void`

Enables the module.

**Returns**

`void`

***

#### enabled()

> **enabled**(): `boolean`

Returns whether the module is enabled or not.

**Returns**

`boolean`

***

#### getName()

> **getName**(): `string`

Returns the name of the module.

**Returns**

`string`

***

#### getSetting()

> **getSetting**(`name`): [`Setting`](/api/breeze/settings/setting)

Returns a setting by name.

**Parameters**

**name**

`string`

**Returns**

[`Setting`](/api/breeze/settings/setting)

***

#### toggle()

> **toggle**(): `void`

Toggles the module on/off state.

**Returns**

`void`


# Enum\_Types


# DiggingAction

> **DiggingAction** = `"START_DESTROY_BLOCK"` | `"ABORT_DESTROY_BLOCK"` | `"STOP_DESTROY_BLOCK"` | `"DROP_ALL_ITEMS"` | `"DROP_ITEM"` | `"RELEASE_USE_ITEM"`


# EntityAction

> **EntityAction** = `"START_SNEAKING"` | `"STOP_SNEAKING"` | `"STOP_SLEEPING"` | `"START_SPRINTING"` | `"STOP_SPRINTING"` | `"RIDING_JUMP"` | `"OPEN_INVENTORY"`


# EnumFacing

> **EnumFacing** = `"DOWN"` | `"UP"` | `"NORTH"` | `"SOUTH"` | `"WEST"` | `"EAST"`


# HitType

> **HitType** = `"BLOCK"` | `"ENTITY"` | `"MISS"`


# PacketDirection

> **PacketDirection** = `"IN"` | `"OUT"`


# SpoofAction

> **SpoofAction** = `"PROCESS"` | `"CANCEL"` | `"DELAY"`


# UseEntityAction

> **UseEntityAction** = `"ATTACK"` | `"INTERACT_AT"` | `"INTERACT"`


# Events


# AngleUpdateEvent

Gets called when the player's angles are updated.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Properties

#### pitchChange

> **pitchChange**: `number`

***

#### yawChange

> **yawChange**: `number`

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# CharTypedEvent

Gets called when a character is typed.

### Methods

#### getChar()

> **getChar**(): `string`

**Returns**

`string`


# JumpEvent

Gets called when the player jumps.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# KeyPressedEvent

Gets called when a key is pressed.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### getKeyCode()

> **getKeyCode**(): `number`

Gets the key code of the key that was pressed.

**Returns**

`number`

the key code of the key that was pressed.

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# MotionEvent

Gets called when the player's motion is updated, you can use this event to override the movement.

### Example

```ts
script.addListener("MotionEvent", (event) => {
    // make the player 50% faster    event.x *= 1.5;
    event.z *= 1.5;
});
```

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Properties

#### x

> **x**: `number`

The amount to move the player in the x direction.

***

#### y

> **y**: `number`

The amount to move the player in the y direction.

***

#### z

> **z**: `number`

The amount to move the player in the z direction.

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# MouseClickedEvent

Gets called when the mouse is clicked.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### getButton()

> **getButton**(): `string`

Gets the button that was clicked.

**Returns**

`string`

the type of MouseClickedEvent can be: LEFT, RIGHT, or HOLD\_LEFT

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# PacketReceiveEvent

Gets called when a packet from the server is received. Cancel this to deny ever receiving the packet.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Properties

#### packet

> `readonly` **packet**: [`Packet`](/api/net/minecraft/network/packet)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# PacketSendEvent

The event for packets send from the client to the server, cancel this to prevent the packet from being send.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Properties

#### packet

> `readonly` **packet**: [`Packet`](/api/net/minecraft/network/packet)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# PostAttackEvent

KillAura calls this after attacking, you can use this to script a custom autoblock.

### Properties

#### attacked

> `readonly` **attacked**: `boolean`

If the KillAura send an attack packet.

***

#### hitVec

> `readonly` **hitVec**: [`Vec3`](/api/net/minecraft/util/vec3)

The hitVector that was used for the attack.

***

#### swung

> `readonly` **swung**: `boolean`

If the KillAura send a animation packet.


# PostMotionEvent

Gets called after the player motion packets have been send.


# PreAttackEvent

KillAura calls this before attacking, you can use this to script a custom autoblock.

### Properties

#### attack

> **attack**: `boolean`

If the KillAura will attack this tick, can also be set to true if you want to force an attack.

**Remarks**

The attack will only happen if hitVec is not null.

***

#### hitVec

> `readonly` **hitVec**: [`Vec3`](/api/net/minecraft/util/vec3)

The position vector for where we hit the enemy.

***

#### swing

> **swing**: `boolean`

Determines if the swing animation will occur this tick, can be set to modify swing behavior.


# PreMotionEvent

Gets called before calculating the move of the player

### Properties

#### forward

> **forward**: `number`

***

#### friction

> **friction**: `number`

***

#### strafe

> **strafe**: `number`


# PreTickEvent

Gets called before every tick.


# Render2DEvent

Gets called when the 2D renderer is called.

### Methods

#### getPartialTicks()

> **getPartialTicks**(): `number`

**Returns**

`number`


# Render3DEvent

Called when the 3D world is rendered.

### Methods

#### getPartialTicks()

> **getPartialTicks**(): `number`

**Returns**

`number`


# RenderEntityEvent

Gets called when an entity is rendered.

### Methods

#### getEntity()

> **getEntity**(): [`Entity`](/api/net/minecraft/entity/entity)

Gets the entity that is being rendered.

**Returns**

[`Entity`](/api/net/minecraft/entity/entity)

***

#### renderModel()

> **renderModel**(): `void`

Renders the entity's model to the world.

**Returns**

`void`


# RenderHandEvent

Gets called when the player's hand is rendered.

### Extends

* [`CancellableEvent`](/api/breeze/event/cancellableevent)

### Methods

#### cancel()

> **cancel**(): `void`

Cancels the event.

**Returns**

`void`

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`cancel`](/api/breeze/event/cancellableevent#cancel)

***

#### isCancelled()

> **isCancelled**(): `boolean`

**Returns**

`boolean`

If the event is cancelled or not.

**Inherited from**

[`CancellableEvent`](/api/breeze/event/cancellableevent).[`isCancelled`](/api/breeze/event/cancellableevent#iscancelled)


# RunGameLoopEvent

Gets called at each iteration of the main gameLoop.


# SpoofInputEvent

Can be used to spoof keys being held down or released.

### Example

```ts
script.addListener("SpoofInputEvent", (event) => {
    if (event.keyBinding == mc.gameSettings.keyBindSprint) {
        event.pressed = true;
    }
});
```

### Properties

#### pressed

> **pressed**: `boolean`

Modify this to spoof the key state.

### Methods

#### getKeyBinding()

> **getKeyBinding**(): [`MCKeyBinding`](/api/net/minecraft/client/settings/mckeybinding)

Gets the key binding that was pressed.

**Returns**

[`MCKeyBinding`](/api/net/minecraft/client/settings/mckeybinding)


# WorldChangedEvent

Gets called when the world is changed.


# Functions


# breeze.getModule

> **getModule**(`name`): [`Module`](/api/breeze/module)

Get a module by its name

### Parameters

#### name

`string`

The name of the module.

### Returns

[`Module`](/api/breeze/module)

The module, or null if no module was found.


# breeze.getModules

> **getModules**(): [`Module`](/api/breeze/module)\[]

### Returns

[`Module`](/api/breeze/module)\[]

A list of all loaded breeze modules.


# breeze.getRole

> **getRole**(): `string`

### Returns

`string`

The breeze role of the logged in user.


# breeze.getRoleColor

> **getRoleColor**(): [`Color`](/api/breeze/util/color)

### Returns

[`Color`](/api/breeze/util/color)

The breeze role color of the logged in user.


# breeze.getUsername

> **getUsername**(): `string`

### Returns

`string`

The breeze username of the logged in user.


# hudManager.fontHeight

> **fontHeight**(): `number`

Gives the fontHeight of the font that the user has selected.

### Returns

`number`


# hudManager.onBackground

> **onBackground**(`onBackground`): `void`

Register a callback that runs when background rects are collected.

### Parameters

#### onBackground

`Function`

Function that will provide background for this HUD element.

### Returns

`void`

### Example

```ts
hudManager.onBackground(() => {
    return [new ScriptRoundedRect(hudManager.x, hudManager.y, 100, 20, 3 * hudManager.scale)];
 });
```


# hudManager.onHeight

> **onHeight**(`onHeight`): `void`

Register a callback that returns the height of this HUD element.

### Parameters

#### onHeight

`Function`

Function returning the height in pixels.

### Returns

`void`

### Example

```ts
hudManager.onHeight(() => { return 20; });
```


# hudManager.onRender

> **onRender**(`onRender`): `void`

Register a callback that runs on render.

### Parameters

#### onRender

`Function`

Function that will render this HUD element. Receives (x, y, scale) as arguments.

### Returns

`void`

### Example

```ts
hudManager.onRender((x, y, scale) => {
 //draw something here 
 });
```


# hudManager.onWidth

> **onWidth**(`onWidth`): `void`

Register a callback that returns the width of this HUD element.

### Parameters

#### onWidth

`Function`

Function returning the width in pixels.

### Returns

`void`

### Example

```ts
hudManager.onWidth(() => { return 100; });
```


# hudManager.scale

> **scale**(): `number`

Gives the scale for the hud, things like padding, corner radii, and elements size should be based on this.

### Returns

`number`


# hudManager.x

> **x**(): `number`

The current x position of this HUD element on screen.

### Returns

`number`


# hudManager.y

> **y**(): `number`

The current y position of this HUD element on screen.

### Returns

`number`


# hudRenderer.drawCircle

> **drawCircle**(`cx`, `cy`, `radius`, `color`): `void`

Draws a filled circle.

### Parameters

#### cx

`number`

The center x position.

#### cy

`number`

The center y position.

#### radius

`number`

The radius.

#### color

[`Color`](/api/breeze/util/color)

The fill color.

### Returns

`void`


# hudRenderer.drawCircleWithEffect

> **drawCircleWithEffect**(`cx`, `cy`, `radius`, `alpha`): `void`

Draws a filled circle colored with the current HUD effect (rainbow/gradient/pulse).

### Parameters

#### cx

`number`

The center x position.

#### cy

`number`

The center y position.

#### radius

`number`

The radius.

#### alpha

`number`

The opacity (0.0–1.0).

### Returns

`void`


# hudRenderer.drawItemStack

### Call Signature

> **drawItemStack**(`stack`, `x`, `y`, `size`): `void`

Draws an item stack scaled to the given size, with count and durability overlay.

#### Parameters

**stack**

[`ItemStack`](/api/net/minecraft/item/itemstack)

The item stack to draw.

**x**

`number`

The x position.

**y**

`number`

The y position.

**size**

`number`

The size in pixels (native item size is 16).

#### Returns

`void`

### Call Signature

> **drawItemStack**(`stack`, `x`, `y`, `size`, `overlay`): `void`

Draws an item stack scaled to the given size, with optional count and durability overlay.

#### Parameters

**stack**

[`ItemStack`](/api/net/minecraft/item/itemstack)

The item stack to draw.

**x**

`number`

The x position.

**y**

`number`

The y position.

**size**

`number`

The size in pixels (native item size is 16).

**overlay**

`boolean`

Whether to draw the stack count and durability bar.

#### Returns

`void`


# hudRenderer.drawRect

### Call Signature

> **drawRect**(`x`, `y`, `w`, `h`, `radius`, `color`): `void`

Draws a rounded rectangle with a uniform corner radius and a solid color.

#### Parameters

**x**

`number`

The x position.

**y**

`number`

The y position.

**w**

`number`

The width.

**h**

`number`

The height.

**radius**

`number`

The corner radius.

**color**

[`Color`](/api/breeze/util/color)

The fill color.

#### Returns

`void`

### Call Signature

> **drawRect**(`x`, `y`, `w`, `h`, `rtl`, `rtr`, `rbr`, `rbl`, `color`): `void`

Draws a rounded rectangle with per-corner radii (TL, TR, BR, BL) and a solid color.

#### Parameters

**x**

`number`

The x position.

**y**

`number`

The y position.

**w**

`number`

The width.

**h**

`number`

The height.

**rtl**

`number`

Top-left radius.

**rtr**

`number`

Top-right radius.

**rbr**

`number`

Bottom-right radius.

**rbl**

`number`

Bottom-left radius.

**color**

[`Color`](/api/breeze/util/color)

The fill color.

#### Returns

`void`


# hudRenderer.drawRectGlow

> **drawRectGlow**(`x`, `y`, `w`, `h`, `radius`, `color`, `glowRadius`, `glowColor`): `void`

Draws a rounded rectangle with a solid color and an outer glow.

### Parameters

#### x

`number`

The x position.

#### y

`number`

The y position.

#### w

`number`

The width.

#### h

`number`

The height.

#### radius

`number`

The corner radius.

#### color

[`Color`](/api/breeze/util/color)

The fill color.

#### glowRadius

`number`

The glow falloff radius in pixels.

#### glowColor

[`Color`](/api/breeze/util/color)

The glow color (alpha controls maximum intensity).

### Returns

`void`


# hudRenderer.drawRectGradient

> **drawRectGradient**(`x`, `y`, `w`, `h`, `radius`, `color1`, `color2`, `vertical`): `void`

Draws a rounded rectangle filled with a two-color gradient.

### Parameters

#### x

`number`

The x position.

#### y

`number`

The y position.

#### w

`number`

The width.

#### h

`number`

The height.

#### radius

`number`

The corner radius.

#### color1

[`Color`](/api/breeze/util/color)

color1 - The start color.

#### color2

[`Color`](/api/breeze/util/color)

color2 - The end color.

#### vertical

`boolean`

True for top-to-bottom, false for left-to-right.

### Returns

`void`


# hudRenderer.drawRectWithEffect

> **drawRectWithEffect**(`x`, `y`, `w`, `h`, `radius`, `alpha`): `void`

Draws a rounded rectangle colored with the current HUD effect (rainbow/gradient/pulse). Falls back to the user's static color when the effect is NONE.

### Parameters

#### x

`number`

The x position.

#### y

`number`

The y position.

#### w

`number`

The width.

#### h

`number`

The height.

#### radius

`number`

The corner radius.

#### alpha

`number`

The opacity (0.0–1.0).

### Returns

`void`


# hudRenderer.drawRing

> **drawRing**(`cx`, `cy`, `radius`, `thickness`, `color`): `void`

Draws a ring (hollow circle).

### Parameters

#### cx

`number`

The center x position.

#### cy

`number`

The center y position.

#### radius

`number`

The outer radius.

#### thickness

`number`

The ring thickness in pixels.

#### color

[`Color`](/api/breeze/util/color)

The fill color.

### Returns

`void`


# hudRenderer.drawString

### Call Signature

> **drawString**(`x`, `y`, `text`, `color`): `void`

Draws a string at the given position using the current HUD font.

#### Parameters

**x**

`number`

The x position.

**y**

`number`

The y position.

**text**

`string`

The string to draw.

**color**

[`Color`](/api/breeze/util/color)

The color of the text.

#### Returns

`void`

### Call Signature

> **drawString**(`x`, `y`, `text`, `color`, `shadow`): `void`

Draws a string at the given position using the current HUD font, with optional shadow.

#### Parameters

**x**

`number`

The x position.

**y**

`number`

The y position.

**text**

`string`

The string to draw.

**color**

[`Color`](/api/breeze/util/color)

The color of the text.

**shadow**

`boolean`

Whether to draw a drop shadow.

#### Returns

`void`


# hudRenderer.drawSVG

### Call Signature

> **drawSVG**(`url`, `x`, `y`, `scale`, `color`): `void`

Draws an SVG from an http/https URL, rasterised at the given scale (1.0 = native SVG size in pixels). The download happens asynchronously; the call is silently skipped until ready. Cached per (url, scale) so each distinct scale is sharp.

#### Parameters

**url**

`string`

An http/https SVG URL.

**x**

`number`

The x position.

**y**

`number`

The y position.

**scale**

`number`

The rasterization scale.

**color**

[`Color`](/api/breeze/util/color)

The flat tint color.

#### Returns

`void`

### Call Signature

> **drawSVG**(`url`, `x`, `y`, `scale`, `color`, `glowAmount`): `void`

Draws an SVG from an http/https URL with a soft glow behind it.

#### Parameters

**url**

`string`

An http/https SVG URL.

**x**

`number`

The x position.

**y**

`number`

The y position.

**scale**

`number`

The rasterization scale.

**color**

[`Color`](/api/breeze/util/color)

The flat tint color.

**glowAmount**

`number`

The glow blur radius in pixels.

#### Returns

`void`


# hudRenderer.drawSVGWithEffect

### Call Signature

> **drawSVGWithEffect**(`url`, `x`, `y`, `scale`, `alpha`): `void`

Draws an SVG from an http/https URL colored with the current HUD effect (rainbow/gradient/pulse/none).

#### Parameters

**url**

`string`

An http/https SVG URL.

**x**

`number`

The x position.

**y**

`number`

The y position.

**scale**

`number`

The rasterization scale.

**alpha**

`number`

The opacity (0.0–1.0).

#### Returns

`void`

### Call Signature

> **drawSVGWithEffect**(`url`, `x`, `y`, `scale`, `alpha`, `glowAmount`): `void`

Draws an SVG from an http/https URL with the current HUD effect and a soft glow behind it.

#### Parameters

**url**

`string`

An http/https SVG URL.

**x**

`number`

The x position.

**y**

`number`

The y position.

**scale**

`number`

The rasterization scale.

**alpha**

`number`

The opacity (0.0–1.0).

**glowAmount**

`number`

The glow blur radius in pixels.

#### Returns

`void`


# hudRenderer.drawTexture

> **drawTexture**(`url`, `x`, `y`, `w`, `h`, `tint`): `void`

Draws an image from an http/https URL with a flat colour tint. The download happens asynchronously; the call is silently skipped until the image is ready. Results are cached after the first successful load.

### Parameters

#### url

`string`

An http/https image URL.

#### x

`number`

The x position.

#### y

`number`

The y position.

#### w

`number`

The width.

#### h

`number`

The height.

#### tint

[`Color`](/api/breeze/util/color)

The tint color (use Color(255,255,255,255) for no tint).

### Returns

`void`


# hudRenderer.drawTextureGradient

> **drawTextureGradient**(`url`, `x`, `y`, `w`, `h`, `c1`, `c2`, `vertical`): `void`

Draws an image from an http/https URL with a two-color gradient overlay blended on top of the texture RGB.

### Parameters

#### url

`string`

An http/https image URL.

#### x

`number`

The x position.

#### y

`number`

The y position.

#### w

`number`

The width.

#### h

`number`

The height.

#### c1

[`Color`](/api/breeze/util/color)

The start color.

#### c2

[`Color`](/api/breeze/util/color)

The end color.

#### vertical

`boolean`

True for top-to-bottom, false for left-to-right.

### Returns

`void`


# hudRenderer.stringWidth

> **stringWidth**(`text`): `number`

Returns the pixel width of a string using the current HUD font.

### Parameters

#### text

`string`

The string to measure.

### Returns

`number`

The width of the string in pixels.


# math.clamp

> **clamp**(`value`, `min`, `max`): `number`

Clamps a value so it never leaves the given range.

### Parameters

#### value

`number`

The value to clamp.

#### min

`number`

The lowest value the result can be.

#### max

`number`

The highest value the result can be.

### Returns

`number`

The value, limited to the range between min and max.

### Example

```ts
math.clamp(health, 0, 20);
```


# math.findBestVisiblePoint

> **findBestVisiblePoint**(`eyes`, `bb`): [`Vec3`](/api/net/minecraft/util/vec3)

Finds the closest point on a bounding box that can be seen from the given eye position without a block in the way.

### Parameters

#### eyes

[`Vec3`](/api/net/minecraft/util/vec3)

The position to look from, usually the local player's eyes.

#### bb

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box to look at.

### Returns

[`Vec3`](/api/net/minecraft/util/vec3)

The nearest unobstructed point, or null when every point is blocked.

### Remarks

Points along the vertical center of the box are preferred over its corners. This raytraces blocks, so it is not free, call it once per target per tick rather than per frame.

### Example

```ts
const target = mc.pointedEntity;
const point = math.findBestVisiblePoint(mc.player.getPositionEyes(), target.getEntityBoundingBox());
if (point !== null) script.log("visible at " + point.getY());
```


# math.getCenter

> **getCenter**(`bb`): [`Vec3`](/api/net/minecraft/util/vec3)

The point in the middle of a bounding box.

### Parameters

#### bb

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box to take the center of.

### Returns

[`Vec3`](/api/net/minecraft/util/vec3)

The center of the box, or null when no box was given.


# math.interpolateEntityBB

### Call Signature

> **interpolateEntityBB**(`entity`): [`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box of an entity interpolated to this frame, using the current render partial ticks.

#### Parameters

**entity**

[`Entity`](/api/net/minecraft/entity/entity)

The entity to interpolate.

#### Returns

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The entity's bounding box this frame, or null when no entity was given.

### Call Signature

> **interpolateEntityBB**(`entity`, `partialTicks`): [`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box of an entity interpolated to this frame.

#### Parameters

**entity**

[`Entity`](/api/net/minecraft/entity/entity)

The entity to interpolate.

**partialTicks**

`number`

The partial ticks, as given by a render event.

#### Returns

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The entity's bounding box this frame, or null when no entity was given.

#### Remarks

The box is expanded slightly, so an ESP drawn around it does not clip into the entity's model.


# math.interpolateEntityPosition

### Call Signature

> **interpolateEntityPosition**(`entity`): [`Vec3`](/api/net/minecraft/util/vec3)

The position of an entity interpolated to this frame, using the current render partial ticks.

#### Parameters

**entity**

[`Entity`](/api/net/minecraft/entity/entity)

The entity to interpolate.

#### Returns

[`Vec3`](/api/net/minecraft/util/vec3)

The entity's position this frame, or null when no entity was given.

### Call Signature

> **interpolateEntityPosition**(`entity`, `partialTicks`): [`Vec3`](/api/net/minecraft/util/vec3)

The position of an entity interpolated to this frame.

#### Parameters

**entity**

[`Entity`](/api/net/minecraft/entity/entity)

The entity to interpolate.

**partialTicks**

`number`

The partial ticks, as given by a render event.

#### Returns

[`Vec3`](/api/net/minecraft/util/vec3)

The entity's position this frame, or null when no entity was given.

#### Example

```ts
math.interpolateEntityPosition(mc.pointedEntity, event.getPartialTicks());
```


# math.interpolateLastTickPos

> **interpolateLastTickPos**(`pos`, `lastPos`): `number`

Interpolates a single coordinate between its previous and current tick value, using the current render partial ticks.

### Parameters

#### pos

`number`

The coordinate as of this tick.

#### lastPos

`number`

The coordinate as of the previous tick.

### Returns

`number`

The coordinate where it should be drawn this frame.

### Remarks

Use this when you track positions yourself. For entities prefer interpolateEntityPosition.


# mc.chatMessage

> **chatMessage**(`message`, `prefix`): `void`

Sends a chat message with an optional prefix to the player.

### Parameters

#### message

`string`

The message you want shown in chat.

#### prefix

`boolean`

If you want the \[Breeze] prefix added.

### Returns

`void`


# mc.clickMouse

> **clickMouse**(): `void`

Left click the mouse.

### Returns

`void`


# mc.closeUI

> **closeUI**(): `void`

### Returns

`void`


# mc.getScreenHeight

> **getScreenHeight**(): `number`

### Returns

`number`


# mc.getScreenWidth

> **getScreenWidth**(): `number`

### Returns

`number`


# mc.rightClickMouse

> **rightClickMouse**(): `void`

Right click the mouse.

### Returns

`void`


# mc.serverIP

> **serverIP**(): `string`

### Returns

`string`

The IP of the server you are currently connected to.


# renderer.boundingESPBox

> **boundingESPBox**(`bb`, `color`, `lineWidth`, `depth`): `void`

Draws an outline ESP box using the specified bounding box, color and depth testing

### Parameters

#### bb

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box to draw, has to be given in world coordinates.

#### color

[`Color`](/api/breeze/util/color)

The color of the bounding box.

#### lineWidth

`number`

The width of the bounding box outline.

#### depth

`boolean`

Use depth for rendering the box.

### Returns

`void`


# renderer.boundingESPBoxFilled

> **boundingESPBoxFilled**(`bb`, `color`, `depth`): `void`

Draws a filled ESP box using the specified bounding box, color and depth testing

### Parameters

#### bb

[`AxisAlignedBB`](/api/net/minecraft/util/axisalignedbb)

The bounding box to draw, has to be given in world coordinates.

#### color

[`Color`](/api/breeze/util/color)

The color of the bounding box.

#### depth

`boolean`

Use depth for rendering the box.

### Returns

`void`


# rotationManager.getSpoofedPitch

> **getSpoofedPitch**(): `number`

Get the current spoofed pitch in degrees.

### Returns

`number`

### Example

```ts
const pitch = rotationManager.getSpoofedPitch();
```


# rotationManager.getSpoofedYaw

> **getSpoofedYaw**(): `number`

Get the current spoofed yaw in degrees.

### Returns

`number`

### Example

```ts
const yaw = rotationManager.getSpoofedYaw();
```




---

[Next Page](/llms-full.txt/1)

