---@class HookGlobal ---For full hook documentation, see the docs at https://github.com/jpxs-intl/RosaServer/wiki/Hooks. ---@field add fun(eventName: "AccountDeathTax", name: string, func: hooks.AccountDeathTax) ---@field add fun(eventName: "AccountTicketBegin", name: string, func: hooks.AccountTicketBegin) ---@field add fun(eventName: "AccountTicketFound", name: string, func: hooks.AccountTicketFound) ---@field add fun(eventName: "AccountsSave", name: string, func: hooks.AccountsSave) ---@field add fun(eventName: "AreaCreateBlock", name: string, func: hooks.AreaCreateBlock) ---@field add fun(eventName: "AreaDeleteBlock", name: string, func: hooks.AreaDeleteBlock) ---@field add fun(eventName: "BulletCreate", name: string, func: hooks.BulletCreate) ---@field add fun(eventName: "BulletHitHuman", name: string, func: hooks.BulletHitHuman) ---@field add fun(eventName: "BulletMayHit", name: string, func: hooks.BulletMayHit) ---@field add fun(eventName: "BulletMayHitHuman", name: string, func: hooks.BulletMayHitHuman) ---@field add fun(eventName: "CalculateEarShots", name: string, func: hooks.CalculateEarShots) ---@field add fun(eventName: "CollideBodies", name: string, func: hooks.CollideBodies) ---@field add fun(eventName: "ConsoleAutoComplete", name: string, func: hooks.ConsoleAutoComplete) ---@field add fun(eventName: "ConsoleInput", name: string, func: hooks.ConsoleInput) ---@field add fun(eventName: "CreateTraffic", name: string, func: hooks.CreateTraffic) ---@field add fun(eventName: "EconomyCarMarket", name: string, func: hooks.EconomyCarMarket) ---@field add fun(eventName: "EventBullet", name: string, func: hooks.EventBullet) ---@field add fun(eventName: "EventBulletHit", name: string, func: hooks.EventBulletHit) ---@field add fun(eventName: "EventUpdateElimState", name: string, func: hooks.EventUpdateElimState) ---@field add fun(eventName: "EventMessage", name: string, func: hooks.EventMessage) ---@field add fun(eventName: "EventSound", name: string, func: hooks.EventSound) ---@field add fun(eventName: "EventUpdateItemInfo", name: string, func: hooks.EventUpdateItemInfo) ---@field add fun(eventName: "EventUpdatePlayerFinance", name: string, func: hooks.EventUpdatePlayerFinance) ---@field add fun(eventName: "EventUpdatePlayer", name: string, func: hooks.EventUpdatePlayer) ---@field add fun(eventName: "EventUpdateVehicle", name: string, func: hooks.EventUpdateVehicle) ---@field add fun(eventName: "GrenadeExplode", name: string, func: hooks.GrenadeExplode) ---@field add fun(eventName: "HumanCollisionVehicle", name: string, func: hooks.HumanCollisionVehicle) ---@field add fun(eventName: "HumanCreate", name: string, func: hooks.HumanCreate) ---@field add fun(eventName: "HumanDamage", name: string, func: hooks.HumanDamage) ---@field add fun(eventName: "HumanDelete", name: string, func: hooks.HumanDelete) ---@field add fun(eventName: "HumanLimbInverseKinematics", name: string, func: hooks.HumanLimbInverseKinematics) ---@field add fun(eventName: "InterruptSignal", name: string, func: hooks.InterruptSignal) ---@field add fun(eventName: "ItemComputerInput", name: string, func: hooks.ItemComputerInput) ---@field add fun(eventName: "ItemCreate", name: string, func: hooks.ItemCreate) ---@field add fun(eventName: "ItemDelete", name: string, func: hooks.ItemDelete) ---@field add fun(eventName: "ItemLink", name: string, func: hooks.ItemLink) ---@field add fun(eventName: "LineIntersectHuman", name: string, func: hooks.LineIntersectHuman) ---@field add fun(eventName: "LogicCoop", name: string, func: hooks.LogicCoop) ---@field add fun(eventName: "LogicRace", name: string, func: hooks.LogicRace) ---@field add fun(eventName: "LogicRound", name: string, func: hooks.LogicRound) ---@field add fun(eventName: "LogicTerminator", name: string, func: hooks.LogicTerminator) ---@field add fun(eventName: "LogicVersus", name: string, func: hooks.LogicVersus) ---@field add fun(eventName: "LogicWorld", name: string, func: hooks.LogicWorld) ---@field add fun(eventName: "Logic", name: string, func: hooks.Logic) ---@field add fun(eventName: "PacketBuilding", name: string, func: hooks.PacketBuilding) ---@field add fun(eventName: "PhysicsBullets", name: string, func: hooks.PhysicsBullets) ---@field add fun(eventName: "Physics", name: string, func: hooks.Physics) ---@field add fun(eventName: "PhysicsRigidBodies", name: string, func: hooks.PhysicsRigidBodies) ---@field add fun(eventName: "PlayerAI", name: string, func: hooks.PlayerAI) ---@field add fun(eventName: "PlayerActions", name: string, func: hooks.PlayerActions) ---@field add fun(eventName: "PlayerChat", name: string, func: hooks.PlayerChat) ---@field add fun(eventName: "PlayerCreate", name: string, func: hooks.PlayerCreate) ---@field add fun(eventName: "PlayerDeathTax", name: string, func: hooks.PlayerDeathTax) ---@field add fun(eventName: "PlayerDelete", name: string, func: hooks.PlayerDelete) ---@field add fun(eventName: "PlayerGiveWantedLevel", name: string, func: hooks.PlayerGiveWantedLevel) ---@field add fun(eventName: "PostAccountDeathTax", name: string, func: hooks.PostAccountDeathTax) ---@field add fun(eventName: "PostAccountTicket", name: string, func: hooks.PostAccountTicket) ---@field add fun(eventName: "PostAccountsSave", name: string, func: hooks.PostAccountsSave) ---@field add fun(eventName: "PostAreaCreateBlock", name: string, func: hooks.PostAreaCreateBlock) ---@field add fun(eventName: "PostAreaDeleteBlock", name: string, func: hooks.PostAreaDeleteBlock) ---@field add fun(eventName: "PostBulletCreate", name: string, func: hooks.PostBulletCreate) ---@field add fun(eventName: "PostCalculateEarShots", name: string, func: hooks.PostCalculateEarShots) ---@field add fun(eventName: "PostEconomyCarMarket", name: string, func: hooks.PostEconomyCarMarket) ---@field add fun(eventName: "PostEventBullet", name: string, func: hooks.PostEventBullet) ---@field add fun(eventName: "PostEventBulletHit", name: string, func: hooks.PostEventBulletHit) ---@field add fun(eventName: "PostEventUpdateElimState", name: string, func: hooks.PostEventUpdateElimState) ---@field add fun(eventName: "PostEventMessage", name: string, func: hooks.PostEventMessage) ---@field add fun(eventName: "PostEventSound", name: string, func: hooks.PostEventSound) ---@field add fun(eventName: "PostEventUpdateItemInfo", name: string, func: hooks.PostEventUpdateItemInfo) ---@field add fun(eventName: "PostEventUpdatePlayerFinance", name: string, func: hooks.PostEventUpdatePlayerFinance) ---@field add fun(eventName: "PostEventUpdatePlayer", name: string, func: hooks.PostEventUpdatePlayer) ---@field add fun(eventName: "PostEventUpdateVehicle", name: string, func: hooks.PostEventUpdateVehicle) ---@field add fun(eventName: "PostGrenadeExplode", name: string, func: hooks.PostGrenadeExplode) ---@field add fun(eventName: "PostHumanCollisionVehicle", name: string, func: hooks.PostHumanCollisionVehicle) ---@field add fun(eventName: "PostHumanCreate", name: string, func: hooks.PostHumanCreate) ---@field add fun(eventName: "PostHumanDamage", name: string, func: hooks.PostHumanDamage) ---@field add fun(eventName: "PostHumanDelete", name: string, func: hooks.PostHumanDelete) ---@field add fun(eventName: "PostHumanLimbInverseKinematics", name: string, func: hooks.PostHumanLimbInverseKinematics) ---@field add fun(eventName: "PostInterruptSignal", name: string, func: hooks.PostInterruptSignal) ---@field add fun(eventName: "PostItemComputerInput", name: string, func: hooks.PostItemComputerInput) ---@field add fun(eventName: "PostItemCreate", name: string, func: hooks.PostItemCreate) ---@field add fun(eventName: "PostItemDelete", name: string, func: hooks.PostItemDelete) ---@field add fun(eventName: "PostItemLink", name: string, func: hooks.PostItemLink) ---@field add fun(eventName: "PostLevelCreate", name: string, func: hooks.PostLevelCreate) ---@field add fun(eventName: "PostLineIntersectHuman", name: string, func: hooks.PostLineIntersectHuman) ---@field add fun(eventName: "PostLogicCoop", name: string, func: hooks.PostLogicCoop) ---@field add fun(eventName: "PostLogicRace", name: string, func: hooks.PostLogicRace) ---@field add fun(eventName: "PostLogicRound", name: string, func: hooks.PostLogicRound) ---@field add fun(eventName: "PostLogicTerminator", name: string, func: hooks.PostLogicTerminator) ---@field add fun(eventName: "PostLogicVersus", name: string, func: hooks.PostLogicVersus) ---@field add fun(eventName: "PostLogicWorld", name: string, func: hooks.PostLogicWorld) ---@field add fun(eventName: "PostLogic", name: string, func: hooks.PostLogic) ---@field add fun(eventName: "PostPacketBuilding", name: string, func: hooks.PostPacketBuilding) ---@field add fun(eventName: "PostPhysicsBullets", name: string, func: hooks.PostPhysicsBullets) ---@field add fun(eventName: "PostPhysics", name: string, func: hooks.PostPhysics) ---@field add fun(eventName: "PostPhysicsRigidBodies", name: string, func: hooks.PostPhysicsRigidBodies) ---@field add fun(eventName: "PostPlayerAI", name: string, func: hooks.PostPlayerAI) ---@field add fun(eventName: "PostPlayerActions", name: string, func: hooks.PostPlayerActions) ---@field add fun(eventName: "PostPlayerChat", name: string, func: hooks.PostPlayerChat) ---@field add fun(eventName: "PostPlayerCreate", name: string, func: hooks.PostPlayerCreate) ---@field add fun(eventName: "PostPlayerDeathTax", name: string, func: hooks.PostPlayerDeathTax) ---@field add fun(eventName: "PostPlayerDelete", name: string, func: hooks.PostPlayerDelete) ---@field add fun(eventName: "PostPlayerGiveWantedLevel", name: string, func: hooks.PostPlayerGiveWantedLevel) ---@field add fun(eventName: "PostPacketReceive", name: string, func: hooks.PostPacketReceive) ---@field add fun(eventName: "PostResetGame", name: string, func: hooks.PostResetGame) ---@field add fun(eventName: "PostSendConnectResponse", name: string, func: hooks.PostSendConnectResponse) ---@field add fun(eventName: "PostSendPacket", name: string, func: hooks.PostSendPacket) ---@field add fun(eventName: "PostServerReceive", name: string, func: hooks.PostServerReceive) ---@field add fun(eventName: "PostServerSend", name: string, func: hooks.PostServerSend) ---@field add fun(eventName: "PostTrafficCarAI", name: string, func: hooks.PostTrafficCarAI) ---@field add fun(eventName: "PostTrafficCarDestination", name: string, func: hooks.PostTrafficCarDestination) ---@field add fun(eventName: "PostTrafficSimulation", name: string, func: hooks.PostTrafficSimulation) ---@field add fun(eventName: "PostVehicleCreate", name: string, func: hooks.PostVehicleCreate) ---@field add fun(eventName: "PostVehicleDamage", name: string, func: hooks.PostVehicleDamage) ---@field add fun(eventName: "PostVehicleDelete", name: string, func: hooks.PostVehicleDelete) ---@field add fun(eventName: "PacketReceive", name: string, func: hooks.PacketReceive) ---@field add fun(eventName: "ResetGame", name: string, func: hooks.ResetGame) ---@field add fun(eventName: "SendConnectResponse", name: string, func: hooks.SendConnectResponse) ---@field add fun(eventName: "SendPacket", name: string, func: hooks.SendPacket) ---@field add fun(eventName: "ServerReceive", name: string, func: hooks.ServerReceive) ---@field add fun(eventName: "ServerSend", name: string, func: hooks.ServerSend) ---@field add fun(eventName: "TrafficCarAI", name: string, func: hooks.TrafficCarAI) ---@field add fun(eventName: "TrafficCarDestination", name: string, func: hooks.TrafficCarDestination) ---@field add fun(eventName: "TrafficSimulation", name: string, func: hooks.TrafficSimulation) ---@field add fun(eventName: "VehicleCreate", name: string, func: hooks.VehicleCreate) ---@field add fun(eventName: "VehicleDamage", name: string, func: hooks.VehicleDamage) ---@field add fun(eventName: "VehicleDelete", name: string, func: hooks.VehicleDelete) ---@field add fun(eventName: string, name: string, func: function) ---@field once fun(eventName: string, func: function) ---@field run fun(eventName: string, ...) ---@field plugins table ---@field remove fun(eventName: string, name: string) ---@field override integer ---@class PluginHookOptions ---@field priority number? The priority of the hook, where lower priorities are executed first. Default 0. ---@class Command ---@field info string What the command does. ---@field usage string? How to use the command. ---@field alias string[]? Aliases of the command. ---@field canCall (fun(player: Player): boolean)? Function which checks whether a player can call this command. ---@field call fun(player: Player, human: Human|nil, args: string[]) Calls the command. Human can be nil. ---@field autoComplete fun(args: string[])? Function which manipulates arguments when pressing tab in the terminal. ---@field cooldownTime number? How many seconds a player has to wait before using the command again. ---@class PluginHookInfo ---@field func function The function to be called when the hook runs. ---@field priority number The priority of the hook, where lower priorities are executed first. ---@field name string The name of the plugin that owns the hook. ---@class Plugin ---@field name string The name of the plugin. ---@field author string The author of the plugin. ---@field description string The description of the plugin. ---@field hooks table ---@field commands table ---@field defaultConfig table ---@field config table ---@field isEnabled boolean ---@field fileName string ---@field fullFileName string? ---@field doAutoReload boolean ---@field nameSpace string ---@field entryPath string ---@field polyHooks table ---For full hook documentation, see the docs at https://github.com/jpxs-intl/RosaServer/wiki/Hooks. ---@field addHook fun(self: Plugin, eventName: "AccountDeathTax", func: hooks.AccountDeathTax, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "AccountTicketBegin", func: hooks.AccountTicketBegin, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "AccountTicketFound", func: hooks.AccountTicketFound, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "AccountsSave", func: hooks.AccountsSave, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "AreaCreateBlock", func: hooks.AreaCreateBlock, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "AreaDeleteBlock", func: hooks.AreaDeleteBlock, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "BulletCreate", func: hooks.BulletCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "BulletHitHuman", func: hooks.BulletHitHuman, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "BulletMayHit", func: hooks.BulletMayHit, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "BulletMayHitHuman", func: hooks.BulletMayHitHuman, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "CalculateEarShots", func: hooks.CalculateEarShots, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "CollideBodies", func: hooks.CollideBodies, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ConsoleAutoComplete", func: hooks.ConsoleAutoComplete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ConsoleInput", func: hooks.ConsoleInput, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "CreateTraffic", func: hooks.CreateTraffic, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EconomyCarMarket", func: hooks.EconomyCarMarket, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventBullet", func: hooks.EventBullet, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventBulletHit", func: hooks.EventBulletHit, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventUpdateElimState", func: hooks.EventUpdateElimState, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventMessage", func: hooks.EventMessage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventSound", func: hooks.EventSound, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventUpdateItemInfo", func: hooks.EventUpdateItemInfo, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventUpdatePlayerFinance", func: hooks.EventUpdatePlayerFinance, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventUpdatePlayer", func: hooks.EventUpdatePlayer, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "EventUpdateVehicle", func: hooks.EventUpdateVehicle, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "GrenadeExplode", func: hooks.GrenadeExplode, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "HumanCollisionVehicle", func: hooks.HumanCollisionVehicle, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "HumanCreate", func: hooks.HumanCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "HumanDamage", func: hooks.HumanDamage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "HumanDelete", func: hooks.HumanDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "HumanLimbInverseKinematics", func: hooks.HumanLimbInverseKinematics, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "InterruptSignal", func: hooks.InterruptSignal, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ItemComputerInput", func: hooks.ItemComputerInput, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ItemCreate", func: hooks.ItemCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ItemDelete", func: hooks.ItemDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ItemLink", func: hooks.ItemLink, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LineIntersectHuman", func: hooks.LineIntersectHuman, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicCoop", func: hooks.LogicCoop, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicRace", func: hooks.LogicRace, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicRound", func: hooks.LogicRound, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicTerminator", func: hooks.LogicTerminator, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicVersus", func: hooks.LogicVersus, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "LogicWorld", func: hooks.LogicWorld, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "Logic", func: hooks.Logic, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PacketBuilding", func: hooks.PacketBuilding, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PhysicsBullets", func: hooks.PhysicsBullets, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "Physics", func: hooks.Physics, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PhysicsRigidBodies", func: hooks.PhysicsRigidBodies, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerAI", func: hooks.PlayerAI, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerActions", func: hooks.PlayerActions, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerChat", func: hooks.PlayerChat, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerCreate", func: hooks.PlayerCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerDeathTax", func: hooks.PlayerDeathTax, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerDelete", func: hooks.PlayerDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PlayerGiveWantedLevel", func: hooks.PlayerGiveWantedLevel, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostAccountDeathTax", func: hooks.PostAccountDeathTax, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostAccountTicket", func: hooks.PostAccountTicket, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostAccountsSave", func: hooks.PostAccountsSave, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostAreaCreateBlock", func: hooks.PostAreaCreateBlock, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostAreaDeleteBlock", func: hooks.PostAreaDeleteBlock, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostBulletCreate", func: hooks.PostBulletCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostCalculateEarShots", func: hooks.PostCalculateEarShots, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEconomyCarMarket", func: hooks.PostEconomyCarMarket, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventBullet", func: hooks.PostEventBullet, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventBulletHit", func: hooks.PostEventBulletHit, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventUpdateElimState", func: hooks.PostEventUpdateElimState, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventMessage", func: hooks.PostEventMessage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventSound", func: hooks.PostEventSound, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventUpdateItemInfo", func: hooks.PostEventUpdateItemInfo, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventUpdatePlayerFinance", func: hooks.PostEventUpdatePlayerFinance, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventUpdatePlayer", func: hooks.PostEventUpdatePlayer, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostEventUpdateVehicle", func: hooks.PostEventUpdateVehicle, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostGrenadeExplode", func: hooks.PostGrenadeExplode, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostHumanCollisionVehicle", func: hooks.PostHumanCollisionVehicle, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostHumanCreate", func: hooks.PostHumanCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostHumanDamage", func: hooks.PostHumanDamage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostHumanDelete", func: hooks.PostHumanDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostHumanLimbInverseKinematics", func: hooks.PostHumanLimbInverseKinematics, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostInterruptSignal", func: hooks.PostInterruptSignal, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostItemComputerInput", func: hooks.PostItemComputerInput, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostItemCreate", func: hooks.PostItemCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostItemDelete", func: hooks.PostItemDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostItemLink", func: hooks.PostItemLink, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLevelCreate", func: hooks.PostLevelCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLineIntersectHuman", func: hooks.PostLineIntersectHuman, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicCoop", func: hooks.PostLogicCoop, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicRace", func: hooks.PostLogicRace, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicRound", func: hooks.PostLogicRound, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicTerminator", func: hooks.PostLogicTerminator, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicVersus", func: hooks.PostLogicVersus, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogicWorld", func: hooks.PostLogicWorld, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostLogic", func: hooks.PostLogic, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPacketBuilding", func: hooks.PostPacketBuilding, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPhysicsBullets", func: hooks.PostPhysicsBullets, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPhysics", func: hooks.PostPhysics, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPhysicsRigidBodies", func: hooks.PostPhysicsRigidBodies, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerAI", func: hooks.PostPlayerAI, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerActions", func: hooks.PostPlayerActions, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerChat", func: hooks.PostPlayerChat, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerCreate", func: hooks.PostPlayerCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerDeathTax", func: hooks.PostPlayerDeathTax, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerDelete", func: hooks.PostPlayerDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPlayerGiveWantedLevel", func: hooks.PostPlayerGiveWantedLevel, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostPacketReceive", func: hooks.PostPacketReceive, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostResetGame", func: hooks.PostResetGame, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostSendConnectResponse", func: hooks.PostSendConnectResponse, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostSendPacket", func: hooks.PostSendPacket, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostServerReceive", func: hooks.PostServerReceive, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostServerSend", func: hooks.PostServerSend, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostTrafficCarAI", func: hooks.PostTrafficCarAI, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostTrafficCarDestination", func: hooks.PostTrafficCarDestination, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostTrafficSimulation", func: hooks.PostTrafficSimulation, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostVehicleCreate", func: hooks.PostVehicleCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostVehicleDamage", func: hooks.PostVehicleDamage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PostVehicleDelete", func: hooks.PostVehicleDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "PacketReceive", func: hooks.PacketReceive, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ResetGame", func: hooks.ResetGame, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "SendConnectResponse", func: hooks.SendConnectResponse, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "SendPacket", func: hooks.SendPacket, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ServerReceive", func: hooks.ServerReceive, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "ServerSend", func: hooks.ServerSend, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "TrafficCarAI", func: hooks.TrafficCarAI, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "TrafficCarDestination", func: hooks.TrafficCarDestination, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "TrafficSimulation", func: hooks.TrafficSimulation, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "VehicleCreate", func: hooks.VehicleCreate, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "VehicleDamage", func: hooks.VehicleDamage, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: "VehicleDelete", func: hooks.VehicleDelete, options?: PluginHookOptions) ---@field addHook fun(self: Plugin, eventName: string, func: function, options?: PluginHookOptions)