Skip to main content

HomingBuilder

Sub-builder for homing configuration. Opened via BehaviorBuilder:Homing. Call :Done() to return to the root BehaviorBuilder.

Functions

Filter

HomingBuilder:Filter(callback(
contextBulletContext,
currentPositionVector3,
currentVelocityVector3
) → boolean) → HomingBuilder

Gate callback invoked every frame. Return false to disengage homing and fire OnHomingDisengaged.

Signature: (context: BulletContext, currentPosition: Vector3, currentVelocity: Vector3) -> boolean

Default: nil (always homes while PositionProvider returns a position)

PositionProvider

HomingBuilder:PositionProvider(callback(
posVector3,
velVector3
) → Vector3?) → HomingBuilder

Called every frame to get the target position. Return nil to disengage.

Signature: (pos: Vector3, vel: Vector3) -> Vector3?

Default: nil

Strength

HomingBuilder:Strength(valuenumber) → HomingBuilder

Steering force in degrees per second.

Default: 90

MaxDuration

HomingBuilder:MaxDuration(valuenumber) → HomingBuilder

Maximum seconds of active homing before OnHomingDisengaged fires.

Default: 3

AcquisitionRadius

HomingBuilder:AcquisitionRadius(valuenumber) → HomingBuilder

Minimum target distance in studs to engage homing. 0 = engage immediately.

Default: 0

Done

HomingBuilder:Done() → BehaviorBuilder

Returns the root BehaviorBuilder.

Show raw api
{
    "functions": [
        {
            "name": "Filter",
            "desc": "Gate callback invoked every frame. Return `false` to disengage homing\nand fire `OnHomingDisengaged`.\n\nSignature: `(context: BulletContext, currentPosition: Vector3, currentVelocity: Vector3) -> boolean`\n\nDefault: `nil` (always homes while PositionProvider returns a position)",
            "params": [
                {
                    "name": "callback",
                    "desc": "",
                    "lua_type": "(context: BulletContext, currentPosition: Vector3, currentVelocity: Vector3) -> boolean"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "HomingBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 138,
                "path": "docs/SubBuilders.lua"
            }
        },
        {
            "name": "PositionProvider",
            "desc": "Called every frame to get the target position. Return `nil` to disengage.\n\nSignature: `(pos: Vector3, vel: Vector3) -> Vector3?`\n\nDefault: `nil`",
            "params": [
                {
                    "name": "callback",
                    "desc": "",
                    "lua_type": "(pos: Vector3, vel: Vector3) -> Vector3?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "HomingBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 150,
                "path": "docs/SubBuilders.lua"
            }
        },
        {
            "name": "Strength",
            "desc": "Steering force in degrees per second.\n\nDefault: `90`",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "HomingBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 160,
                "path": "docs/SubBuilders.lua"
            }
        },
        {
            "name": "MaxDuration",
            "desc": "Maximum seconds of active homing before `OnHomingDisengaged` fires.\n\nDefault: `3`",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "HomingBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 170,
                "path": "docs/SubBuilders.lua"
            }
        },
        {
            "name": "AcquisitionRadius",
            "desc": "Minimum target distance in studs to engage homing. `0` = engage immediately.\n\nDefault: `0`",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "HomingBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 180,
                "path": "docs/SubBuilders.lua"
            }
        },
        {
            "name": "Done",
            "desc": "Returns the root [BehaviorBuilder].",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "BehaviorBuilder"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 186,
                "path": "docs/SubBuilders.lua"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "HomingBuilder",
    "desc": "Sub-builder for homing configuration. Opened via [BehaviorBuilder:Homing].\nCall `:Done()` to return to the root [BehaviorBuilder].",
    "source": {
        "line": 125,
        "path": "docs/SubBuilders.lua"
    }
}