Skip to main content

TypeDefinitions

Types

Type definitions for strict-typing.

Types

vaildcast

type vaildcast = ActiveCastCompement | ActiveBlockcastCompement

A type that can be either an ActiveCast or an ActiveBlockcast.

FastCastEventsModule

type FastCastEventsModule = ModuleScript

A moduleScript that will be required by ActiveCast

FastCastEvents

type FastCastEvents = {
CanPierceCanPierceFunction,
PiercedOnPiercedFunction,
LengthChangedOnLengthChangedFunction,
CastTerminatingOnCastTerminatingFunction,
}

A table of callback functions (events/hooks) used by ActiveCast. These functions are invoked by ActiveCast during a lifecycle (e.g., length updates, pierce checks).

CanPierceFunction

type CanPierceFunction = (
RaycastResult,
) → boolean

Callback used to decide whether a cast should pierce and continue after a hit.

OnHitFunction

type OnHitFunction = (
RaycastResult,
) → ()

Callback fired when the cast hits something (non-piercing).

OnPierceFunction

type OnPierceFunction = (
RaycastResult,
) → ()

Callback fired when the cast pierces something.

OnLengthChangedFunction

type OnLengthChangedFunction = (
number,
) → ()

Callback fired when the cast's length changes as it updates.

OnCastTerminatingFunction

type OnCastTerminatingFunction = (ActiveCastCompement) → ()

Callback fired right as an ActiveCast is terminating.

OnCastFireFunction

type OnCastFireFunction = () → ()

Callback fired when a cast is initially fired.

ObjectCache

type ObjectCache = {
GetPart(
PartCFrameCFrame
) → BasePart,
ReturnPart(
PartBasePart
) → (),
Update(ObjectCache) → (),
ExpandCache(
Amountnumber
) → (),
SetExpandAmount(
Amountnumber
) → (),
IsInUse(
ObjectBasePart
) → boolean,
Destroy(ObjectCache) → ()
}

Represents a ObjectCache object.

Caster

type Caster = {
WorldRootWorldRoot,
LengthChangedRBXScriptSignal,
PiercedRBXScriptSignal,
CastTerminatingRBXScriptSignal,
CastFireRBXScriptSignal,
DispatcherDispatcher.Dispatcher,
ObjectCacheObjectCache,
AlreadyInitboolean,
ObjectCacheEnabledboolean,
BulkMoveEnabledboolean,
FastCastEventsModuleFastCastEventsModule,
Init(
selfCaster,
numWorkersnumber,
newParentFolder,
newNamestring,
ContainerParentFolder,
VMContainerNamestring,
VMnamestring,
useBulkMoveToboolean,
FastCastEventsModuleModuleScript,
useObjectCacheboolean,
TemplateBasePart | Model,
CacheSizenumber,
CacheHolderInstance
) → (),
RaycastFire(
OriginVector3,
DirectionVector3,
VelocityVector3 | number,
BehaviorFastCastBehavior
) → (),
BlockcastFire(
selfCaster,
OriginVector3,
SizeVector3,
DirectionVector3,
VelocityVector3 | number,
BehaviorFastCastBehavio
) → (),
SetBulkMoveEnabled(
selfCaster,
enabledboolean
) → (),
SetObjectCacheEnabled(
selfCaster,
enabledboolean,
TemplateBasePart | Model,
CacheSizenumber,
CacheHolderInstance
) → (),
SetFastCastEventsModule(
selfCaster,
moduleScriptModuleScript
) → (),
AddVelocityCast(
castvaildcast,
velocityVector3
) → (),
SetVelocityCast(
castvaildcast,
velocityVector3
) → (),
GetVelocityCast(
castvaildcast,
velocityVector3
) → Vector3,
AddAccelerationCast(
castvaildcast
) → Vector3,
GetAccelerationCast(
castvaildcast
) → Vector3,
SetAccelerationCast(
castvaildcast,
accelerationVector3
) → (),
GetPositionCast(
castvaildcast,
PositionVector3
) → Vector3,
AddPositionCast(
castvaildcast,
PositionVector3
) → (),
ResumeCast(
castvaildcast
) → (),
PauseCast(
castvaildcast
) → (),
SyncChangesToCast(
castvaildcast
) → (),
TerminateCast(
castvaildcast
) → (),
Destroy(Caster) → ()
}

Represents a Caster.

VisualizeCastSettings

type VisualizeCastSettings = {
Debug_SegmentColorColor3,
Debug_SegmentTransparencynumber,
Debug_SegmentSizenumber,
Debug_HitColorColor3,
Debug_HitTransparencynumber,
Debug_HitSizenumber,
Debug_RayPierceColorColor3,
Debug_RayPierceTransparencynumber,
Debug_RayPierceSizenumber,
Debug_RayLifetimenumber,
Debug_HitLifetimenumber
}

Debug visualization settings for casts.

AdaptivePerformance

type AdaptivePerformance = {
HighFidelitySegmentSizeIncreasenumber,
LowerHighFidelityBehaviorboolean
}

Adaptive performance config used when AutomaticPerformance is enabled.

FastCastEventsModuleConfig

type FastCastEventsModuleConfig = {
UseLengthChangedboolean,
UseHitboolean,
UsePiercedboolean,
UseCastTerminatingboolean,
UseCanPierceboolean,
UseCastFireboolean
}

Represents a FastCastBehavior configuration.

FastCastEventsConfig

type FastCastEventsConfig = {
UseLengthChangedboolean,
UseHitboolean,
UsePiercedboolean,
UseCastTerminatingboolean,
UseCastFireboolean
}

Represents a FastCastBehavior configuration.

FastCastBehavior

type FastCastBehavior = {
RaycastParamsRaycastParams?,
MaxDistancenumber,
AccelerationVector3,
HighFidelityBehaviornumber,
HighFidelitySegmentSizenumber,
CosmeticBulletTemplateInstance?,
CosmeticBulletContainerInstance?,
AutoIgnoreContainerboolean,
SimulateAfterPhysicboolean,
AutomaticPerformanceboolean,
AdaptivePerformanceAdaptivePerformance,
VisualizeCastsboolean,
VisualizeCastSettingsVisualizeCastSettings,
FastCastEventsModuleConfigFastCastEventsModuleConfig,
FastCastEventsConfigFastCastEventsConfig,
UserDataany
}

Represents a FastCastBehavior configuration.

CastTrajectory

type CastTrajectory = {
StartTimenumber,
EndTimenumber,
OriginVector3,
InitialVelocityVector3,
AccelerationVector3
}

Represents a cast trajectory segment.

CastStateInfo

type CastStateInfo = {
UpdateConnectionRBXScriptSignal,
HighFidelityBehaviornumber,
HighFidelitySegmentSizenumber,
Pausedboolean,
TotalRuntimenumber,
DistanceCoverednumber,
IsActivelySimulatingPierceboolean,
IsActivelyResimulatingboolean,
CancelHighResCastboolean,
Trajectories{[number]CastTrajectory},
VisualizeCastsboolean,
VisualizeCastSettingsVisualizeCastSettings,
FastCastEventsConfigFastCastEventsConfig,
FastCastEventsModuleConfigFastCastEventsModuleConfig
}

Represents cast state tracking data.

CastRayInfo

type CastRayInfo = {
ParametersRaycastParams,
WorldRootWorldRoot,
MaxDistancenumber,
CosmeticBulletObjectInstance?,
CanPierceModuleModuleScript?
}

Represents ray info for an ActiveCastCompement.

BlockCastRayInfo

type BlockCastRayInfo = {
ParametersRaycastParams,
WorldRootWorldRoot,
MaxDistancenumber,
CosmeticBulletObjectInstance?,
CanPierceModuleModuleScript?,
SizeVector3
}

Ray info for block-cast variants.

BaseCastData

type BaseCastData = {
OutputBindableEvent,
ActiveCastCleanerBindableEvent,
ObjectCacheBindableFunction?,
CacheHolderany?,
SyncChangeBindableEvent
}

Data stored on the caster that ActiveCasts reference.

ActiveCastCompement

type ActiveCastCompement = {
CasterBaseCastData,
StateInfoCastStateInfo,
RayInfoCastRayInfo,
UserData{[any]any},
Type"Raycast",
CFrameCFrame,
IDnumber
}

Represents an active cast data.

ActiveCastCompement

type ActiveCastCompement = {
CasterBaseCastData,
StateInfoCastStateInfo,
RayInfoCastRayInfo,
UserData{[any]any},
Type"Raycast",
CFrameCFrame,
IDnumber
}

Represents an active block cast data.

Show raw api
{
    "functions": [],
    "properties": [],
    "types": [
        {
            "name": "vaildcast",
            "desc": "A type that can be either an ActiveCast or an ActiveBlockcast.",
            "lua_type": "ActiveCastCompement | ActiveBlockcastCompement",
            "source": {
                "line": 24,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "FastCastEventsModule",
            "desc": "A moduleScript that will be required by ActiveCast",
            "lua_type": "ModuleScript",
            "source": {
                "line": 32,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "FastCastEvents",
            "desc": "A table of callback functions (events/hooks) used by ActiveCast.\nThese functions are invoked by ActiveCast during a lifecycle (e.g., length updates, pierce checks).",
            "lua_type": "{ CanPierce: CanPierceFunction, Hit: OnHitFunction, Pierced: OnPiercedFunction, LengthChanged: OnLengthChangedFunction, CastTerminating: OnCastTerminatingFunction, CastFire: OnCastFireFunction }",
            "source": {
                "line": 41,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "CanPierceFunction",
            "desc": "Callback used to decide whether a cast should pierce and continue after a hit.",
            "lua_type": "(ActiveCastCompement, RaycastResult, Vector3, Instance?) -> boolean",
            "source": {
                "line": 56,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "OnHitFunction",
            "desc": "Callback fired when the cast hits something (non-piercing).",
            "lua_type": "(ActiveCastCompement, RaycastResult, Vector3, Instance?) -> ()",
            "source": {
                "line": 69,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "OnPierceFunction",
            "desc": "Callback fired when the cast pierces something.",
            "lua_type": "(ActiveCastCompement, RaycastResult, Vector3, Instance?) -> ()",
            "source": {
                "line": 82,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "OnLengthChangedFunction",
            "desc": "Callback fired when the cast's length changes as it updates.",
            "lua_type": "(ActiveCastCompement, Vector3, Vector3, number, Vector3, Instance?) -> ()",
            "source": {
                "line": 95,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "OnCastTerminatingFunction",
            "desc": "Callback fired right as an ActiveCast is terminating.",
            "lua_type": "(ActiveCastCompement) -> ()",
            "source": {
                "line": 110,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "OnCastFireFunction",
            "desc": "Callback fired when a cast is initially fired.",
            "lua_type": "(ActiveCastCompement, Vector3, Vector3, Vector3, FastCastBehavior) -> ()",
            "source": {
                "line": 118,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "ObjectCache",
            "desc": "Represents a ObjectCache object.",
            "lua_type": "{ GetPart: (ObjectCache, PartCFrame: CFrame) -> BasePart, ReturnPart: (ObjectCache, Part: BasePart) -> (), Update: (ObjectCache) -> (), ExpandCache: (ObjectCache, Amount: number) -> (), SetExpandAmount: (ObjectCache, Amount: number) -> (), IsInUse: (ObjectCache, Object: BasePart) -> boolean, Destroy: (ObjectCache) -> () }",
            "source": {
                "line": 132,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "Caster",
            "desc": "Represents a Caster.",
            "lua_type": "{ WorldRoot: WorldRoot, LengthChanged: RBXScriptSignal, Hit: RBXScriptSignal, Pierced: RBXScriptSignal, CastTerminating: RBXScriptSignal, CastFire: RBXScriptSignal, Dispatcher: Dispatcher.Dispatcher, ObjectCache: ObjectCache, AlreadyInit: boolean, ObjectCacheEnabled: boolean, BulkMoveEnabled: boolean, FastCastEventsModule: FastCastEventsModule, Init: ( self: Caster, numWorkers: number, newParent: Folder, newName: string, ContainerParent: Folder, VMContainerName: string, VMname: string, useBulkMoveTo: boolean, FastCastEventsModule: ModuleScript, useObjectCache: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), RaycastFire: ( Caster, Origin: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavior ) -> (), BlockcastFire: ( self: Caster, Origin: Vector3, Size: Vector3, Direction: Vector3, Velocity: Vector3 | number, Behavior: FastCastBehavio ) -> (), SetBulkMoveEnabled: (self: Caster, enabled: boolean) -> (), SetObjectCacheEnabled: ( self: Caster, enabled: boolean, Template: BasePart | Model, CacheSize: number, CacheHolder: Instance ) -> (), SetFastCastEventsModule: (self: Caster, moduleScript: ModuleScript) -> (), AddVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), SetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> (), GetVelocityCast: (Caster, cast: vaildcast, velocity: Vector3) -> Vector3, AddAccelerationCast: (Caster, cast: vaildcast) -> Vector3, GetAccelerationCast: (Caster, cast: vaildcast) -> Vector3, SetAccelerationCast: (Caster, cast: vaildcast, acceleration: Vector3) -> (), GetPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> Vector3, AddPositionCast: (Caster, cast: vaildcast, Position: Vector3) -> (), ResumeCast: (Caster, cast: vaildcast) -> (), PauseCast: (Caster, cast: vaildcast) -> (), SyncChangesToCast: (Caster, cast: vaildcast) -> (), TerminateCast: (Caster, cast: vaildcast) -> (), Destroy: (Caster) -> () }",
            "source": {
                "line": 149,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "VisualizeCastSettings",
            "desc": "Debug visualization settings for casts.",
            "lua_type": "{ Debug_SegmentColor: Color3, Debug_SegmentTransparency: number, Debug_SegmentSize: number, Debug_HitColor: Color3, Debug_HitTransparency: number, Debug_HitSize: number, Debug_RayPierceColor: Color3, Debug_RayPierceTransparency: number, Debug_RayPierceSize: number, Debug_RayLifetime: number, Debug_HitLifetime: number }",
            "source": {
                "line": 234,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "AdaptivePerformance",
            "desc": "Adaptive performance config used when AutomaticPerformance is enabled.",
            "lua_type": "{ HighFidelitySegmentSizeIncrease: number, LowerHighFidelityBehavior: boolean }",
            "source": {
                "line": 257,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "FastCastEventsModuleConfig",
            "desc": "Represents a FastCastBehavior configuration.",
            "lua_type": "{ UseLengthChanged: boolean, UseHit: boolean, UsePierced: boolean, UseCastTerminating: boolean, UseCanPierce: boolean, UseCastFire: boolean }",
            "source": {
                "line": 268,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "FastCastEventsConfig",
            "desc": "Represents a FastCastBehavior configuration.",
            "lua_type": "{ UseLengthChanged: boolean, UseHit: boolean, UsePierced: boolean, UseCastTerminating: boolean, UseCastFire: boolean }",
            "source": {
                "line": 283,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "FastCastBehavior",
            "desc": "Represents a FastCastBehavior configuration.",
            "lua_type": "{ RaycastParams: RaycastParams?, MaxDistance: number, Acceleration: Vector3, HighFidelityBehavior: number, HighFidelitySegmentSize: number, CosmeticBulletTemplate: Instance?, CosmeticBulletContainer: Instance?, AutoIgnoreContainer: boolean, SimulateAfterPhysic: boolean, AutomaticPerformance: boolean, AdaptivePerformance: AdaptivePerformance, VisualizeCasts: boolean, VisualizeCastSettings: VisualizeCastSettings, FastCastEventsModuleConfig: FastCastEventsModuleConfig, FastCastEventsConfig: FastCastEventsConfig, UserData: any }",
            "source": {
                "line": 297,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "CastTrajectory",
            "desc": "Represents a cast trajectory segment.",
            "lua_type": "{ StartTime: number, EndTime: number, Origin: Vector3, InitialVelocity: Vector3, Acceleration: Vector3 }",
            "source": {
                "line": 327,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "CastStateInfo",
            "desc": "Represents cast state tracking data.",
            "lua_type": "{ UpdateConnection: RBXScriptSignal, HighFidelityBehavior: number, HighFidelitySegmentSize: number, Paused: boolean, TotalRuntime: number, DistanceCovered: number, IsActivelySimulatingPierce: boolean, IsActivelyResimulating: boolean, CancelHighResCast: boolean, Trajectories: { [number]: CastTrajectory }, VisualizeCasts: boolean, VisualizeCastSettings: VisualizeCastSettings, FastCastEventsConfig: FastCastEventsConfig, FastCastEventsModuleConfig: FastCastEventsModuleConfig }",
            "source": {
                "line": 341,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "CastRayInfo",
            "desc": "Represents ray info for an ActiveCastCompement.",
            "lua_type": "{ Parameters: RaycastParams, WorldRoot: WorldRoot, MaxDistance: number, CosmeticBulletObject: Instance?, CanPierceModule: ModuleScript? }",
            "source": {
                "line": 366,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "BlockCastRayInfo",
            "desc": "Ray info for block-cast variants.",
            "lua_type": "{ Parameters: RaycastParams, WorldRoot: WorldRoot, MaxDistance: number, CosmeticBulletObject: Instance?, CanPierceModule: ModuleScript?, Size: Vector3 }",
            "source": {
                "line": 380,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "BaseCastData",
            "desc": "Data stored on the caster that ActiveCasts reference.",
            "lua_type": "{ Output: BindableEvent, ActiveCastCleaner: BindableEvent, ObjectCache: BindableFunction?, CacheHolder: any?, SyncChange : BindableEvent }",
            "source": {
                "line": 395,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "ActiveCastCompement",
            "desc": "Represents an active cast data.",
            "lua_type": "{Caster: BaseCastData,StateInfo: CastStateInfo,RayInfo: CastRayInfo,UserData: { [any]: any }, Type : \"Raycast\",CFrame: CFrame,ID: number}",
            "source": {
                "line": 411,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        },
        {
            "name": "ActiveCastCompement",
            "desc": "Represents an active block cast data.",
            "lua_type": "{ Caster: BaseCastData, StateInfo: CastStateInfo, RayInfo: CastRayInfo, UserData: { [any]: any }, Type : \"Raycast\", CFrame: CFrame, ID: number }",
            "source": {
                "line": 428,
                "path": "src/FastCast2/TypeDefinitions.luau"
            }
        }
    ],
    "name": "TypeDefinitions",
    "desc": "Type definitions for strict-typing.",
    "tags": [
        "Types"
    ],
    "source": {
        "line": 15,
        "path": "src/FastCast2/TypeDefinitions.luau"
    }
}