> For the complete documentation index, see [llms.txt](https://jixelpatterns.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jixelpatterns.gitbook.io/docs/dependency/jim_bridge/targets.md).

# Targets

## targets.lua

{% hint style="warning" %}
This module provides utility functions for adding and removing interaction targets with entities, models, zones, and coordinates.&#x20;

Supports common targeting frameworks like `ox_target`, `qb-target`
{% endhint %}

###

### **createEntityTarget(entity, opts, dist)**

Adds interaction targets to a specific in-world entity.

**Example:**

```lua
createEntityTarget(entityId, {
   {
       action = function()
           openStorage()
       end,
       icon = "fas fa-box",
       job = "police",
       label = "Open Storage",
   },
}, 2.0)
```

***

### **createBoxTarget(data, opts, dist)**

Creates an interactable box zone with configurable options.

**Example:**

```lua
createBoxTarget(
   {
       'storageBox',
       vector3(100.0, 200.0, 30.0),
       2.0,
       2.0,
       {
           name = 'storageBox',
           heading = 100.0,
           debugPoly = true,
           minZ = 27.0,
           maxZ = 32.0,
       },
   },
{
   {
       action = function()
           openStorage()
       end,
       icon = "fas fa-box",
       job = "police",
       label = "Open Storage",
   },
}, 2.0)
```

***

### **createCircleTarget(data, opts, dist)**

Creates an interactable circular zone.

**Example:**

```lua
createCircleTarget({
    name = 'centralPark',
    coords = vector3(200.0, 300.0, 40.0),
    radius = 50.0,
    options = { debugPoly = false }
}, {
    { icon = "fas fa-tree", label = "Relax", action = relaxAction }
}, 2.0)
```

***

### **createModelTarget(models, opts, dist)**

Adds interactions to all matching models globally.

**Example:**

```lua
createModelTarget({ model1, model2 },
{
   {
       action = function()
           openStorage()
       end,
       icon = "fas fa-box",
       job = "police",
       label = "Open Storage",
   },
}, 2.0)
```

***

### **removeEntityTarget(entity)**

Removes all targets linked to the specified entity.

**Example:**

```lua
removeEntityTarget(vehicle)
```

***

### **removeZoneTarget(target)**

Removes a named zone-based target.

**Example:**

```lua
removeZoneTarget("shop_box")
```

***

### **removeModelTarget(model)**

Removes interactions tied to a model globally.

**Example:**

```lua
removeModelTarget("prop_vend_soda")
```

***
