World and interaction hooks
Door, access, vehicle, damage, local weapon prediction, host weapon authorization and hits, Physgun, voice, Toolgun and owned-object events.
Hooks and payloads
| Hook | Payload and public members | Timing and effect |
|---|---|---|
DoorActionRequested | LitherarpDoorActionRequestTarget, TargetObject, TargetKind, Action, nullable Actor, Deny | Cancelable after native validation, before a supported door open, close or knock. |
DoorActionCommitted | LitherarpDoorActionCommittedEventTarget, TargetKind, Action, nullable Actor | Post-event after the host starts a transition or commits a knock. |
AccessLockChangeRequested | LitherarpAccessLockChangeRequestAccess, TargetObject, TargetKind, nullable Actor, CurrentLocked, RequestedLocked, Cause; SetLocked, Deny | Cancelable actor-driven map-door or vehicle lock change after native authorization. |
AccessLockChanged | LitherarpAccessLockChangedEventAccess, TargetKind, nullable Actor, PreviousLocked, IsLocked, Cause | Post-event after an observed lock state change, including non-cancelable startup_job_restricted and ownership_cleanup causes. |
VehicleSeatEntryRequested | LitherarpVehicleSeatEntryRequestPlayer, BasePlayer, Seat, Vehicle, Deny | Cancelable after native host validation, before occupant registration. |
VehicleSeatEntered | LitherarpVehicleSeatEnteredEventPlayer, BasePlayer, Seat, Vehicle | Post-event after occupant registration and collision suppression. |
VehicleSeatExitRequested | LitherarpVehicleSeatExitRequestPlayer, BasePlayer, Seat, Vehicle, IsHostAuthoritative, Deny | Host-only cancelable request for a voluntary exit, after caller ownership, exact tracked seat, real occupancy, vehicle, roleplay state and door-state validation, before the host changes seat state. Denial preserves the seat and suppresses VehicleSeatExited. IsHostAuthoritative is retained for source compatibility and is always true. |
VehicleSeatExited | LitherarpVehicleSeatExitedEventPlayer, BasePlayer, Seat, Vehicle | Host post-event once the tracker confirms a normal or forced exit and the seat is free. Forced exits do not raise the cancelable request. |
WorldEntityDamageRequested | LitherarpWorldEntityDamageRequestTarget, nullable Attacker, RequestedDamage, Damage, Position, Origin, Tags, DamageTags; SetDamage, SetAttacker, SetPosition, SetOrigin, SetTags, AddTag, RemoveTag, Deny | Cancelable damage for core non-player IDamageable entities after their immunity filters. Mutators reject invalid objects, vectors, amounts and tags. |
WorldEntityDamaged | LitherarpWorldEntityDamagedEventTarget, nullable Attacker, Damage, nullable RemainingHealth, IsLethal, Tags | Post-event after core non-player damage or breakable-glass shatter. |
WorldEntityDestructionRequested | LitherarpWorldEntityDestructionRequestTarget, nullable Attacker, Reason, Deny | Cancelable before a core destructible is invalidated by damage or printer heat. |
WorldEntityDestroying | LitherarpWorldEntityDestroyingEventTarget, nullable Attacker, Reason | Notification immediately before approved destruction cleanup. |
WeaponFireInputRequested | LitherarpWeaponFireRequestPlayer, nullable RoleplayPlayer, Weapon, IsHostAuthoritative, Deny | Cancelable local input hook before owner prediction. IsHostAuthoritative is always false. A denial stops the compliant local action but is not host acceptance proof. |
WeaponFireRequested | LitherarpWeaponFireRequestPlayer, nullable RoleplayPlayer, Weapon, IsHostAuthoritative, Deny | Host-only cancelable decision after caller, pawn and weapon ownership, active-weapon, request sequence, rate, cadence and authoritative-ammo gates. IsHostAuthoritative is always true. Denial blocks authoritative ammunition, effects, hits and damage. |
WeaponFireAuthorized | LitherarpWeaponFireAuthorizedEventPlayer, nullable RoleplayPlayer, Weapon, RequestId, TraceCredits | Host post-event after admission and ammunition reservation. This is the proof that the host accepted the correlated fire request. TraceCredits is clamped from 1 through 32. |
WeaponFired | LitherarpWeaponFiredEventPlayer, nullable RoleplayPlayer, Weapon, AmmoBefore, AmmoAfter, IsHostAuthoritative | Local predicted completion for supported firearms, shotguns and grenades. IsHostAuthoritative is always false, and the event may occur even when the host later refuses the request. |
WeaponTraceCompleted | LitherarpWeaponTraceCompletedEventPlayer, nullable RoleplayPlayer, Weapon, Hit, nullable Target, Position, Direction, IsHostAuthoritative | One local predicted result per trace, including shotgun misses. IsHostAuthoritative is always false. This event does not prove that the host accepted the correlated hit. |
WeaponReloadInputRequested | LitherarpWeaponReloadRequestPlayer, nullable RoleplayPlayer, Weapon, ClipBefore, ReserveBefore, IsHostAuthoritative, Deny | Cancelable local reload input. IsHostAuthoritative is always false. A remote owner waits for the host decision before the reload task starts. |
WeaponReloadRequested | LitherarpWeaponReloadRequestPlayer, nullable RoleplayPlayer, Weapon, ClipBefore, ReserveBefore, IsHostAuthoritative, Deny | Host-only cancelable decision after caller, ownership, active-weapon, request sequence, rate and reload-availability checks. IsHostAuthoritative is always true. Denial prevents the authoritative reload session and reserve transfer. |
WeaponReloadAuthorized | LitherarpWeaponReloadAuthorizedEventPlayer, nullable RoleplayPlayer, Weapon, RequestId, ClipBefore, ReserveBefore | Host post-event after a reload session is accepted. This is the host acceptance proof; reserve transfers must carry the session request id. |
WeaponReloadStarted | LitherarpWeaponReloadStartedEventPlayer, nullable RoleplayPlayer, Weapon, ClipBefore, ReserveBefore, IsHostAuthoritative | Local lifecycle event after an accepted reload task starts. The authority flag is true on the listen host and false on a remote owner. |
WeaponReloadFinished | LitherarpWeaponReloadFinishedEventPlayer, nullable RoleplayPlayer, Weapon, ClipBefore, ClipAfter, ReserveAfter, Completed, IsHostAuthoritative | Local lifecycle event when a started reload completes or is canceled. Completed distinguishes the outcomes; host state is reconciled separately. |
WeaponHitRequested | LitherarpWeaponHitRequestnullable Attacker, BasePlayer, Weapon, Target, RequestedDamage, Damage, Position, Tags; SetDamage, Deny | Cancelable host-retraced hit after the correlated fire request consumes one TraceCredits unit, before target damage delivery. |
WeaponHitCommitted | LitherarpWeaponHitCommittedEventnullable Attacker, BasePlayer, Weapon, Target, Damage, Position, Tags | Host post-event after validated retraced damage delivery. |
PhysgunActionRequested | LitherarpPhysgunActionRequestPlayer, Physgun, Target, Action, Force; SetForce, Deny | Cancelable before a supported host Physgun mutation. |
PhysgunActionCommitted | LitherarpPhysgunActionCommittedEventPlayer, Physgun, Target, Action, Force | Post-event after the Physgun mutation. |
PhysgunGrabRequested | LitherarpPhysgunGrabRequestPlayer, Physgun, rigidbody Target, IsPulling, Deny | Cancelable once after core target and distance validation, before the host creates the control joint. |
PhysgunGrabStarted | LitherarpPhysgunGrabStartedEventPlayer, Physgun, Target, IsPulling | Post-event once when the host begins a grab. It is not a per-frame update. |
PhysgunGrabEnded | LitherarpPhysgunGrabEndedEventPlayer, Physgun, Target, WasPulling | Post-event once when a tracked grab ends. |
VoiceRouteRequested | LitherarpVoiceRouteRequestSpeaker, Listener, Channel, DefaultAllowed, IsHardDenied, IsAllowed, HasOverride; Allow, Deny | High-frequency host routing decision. Hard mute and privacy denials cannot be overridden. The first explicit decision wins. |
PropSpawnRequested | LitherarpPropSpawnRequestPlayer, Ident, Deny | Cancelable spawn-menu prop or entity creation after limits and filters. |
PropSpawned | LitherarpPropSpawnedEventPlayer, Ident, Object | Post-event after spawn-menu creation. |
ToolgunActionRequested | LitherarpToolgunActionRequestPlayer, Toolgun, ModeId, Action, Context, Deny | Universal Toolgun policy after owner and action-specific target, trace and payload validation, immediately before mutation. The context never exposes keypad PINs or complete blueprint documents. |
ToolgunActionCommitted | LitherarpToolgunActionCommittedEventPlayer, Toolgun, ModeId, Action, Context, readonly Results, nullable first Result | Post-event only after a native action succeeds or a registered custom action calls Commit after successful mutation. |
OwnedObjectRegistered | LitherarpOwnedObjectRegisteredEventOwner, Object, PrefabSource | Post-event when the owned-object funnel stamps an object from spawn, Toolgun, duplicator, production, shop or vehicle flows. |
DrugProductionReady | LitherarpDrugProductionReadyEventKind, OwnerSteamId, Object | Post-event when an ownerless weed or meth production timer reaches ready state. |
World enums
| Type | Values |
|---|---|
LitherarpDoorTargetKind | MapDoor, VehicleDoor, VehicleHatch, HingedPanel, ElevatorDoor. |
LitherarpDoorAction | Open, Close, Knock. |
LitherarpAccessTargetKind | MapDoor, Vehicle. |
LitherarpPhysgunAction | Freeze, Unfreeze, UnfreezeAll, Launch. |
LitherarpVoiceChannel | Proximity, Phone. |