Completes the uMod mirror beyond the Rust hook table, and adds agent/ — the same facts in TSV/JSONL at ~46% of the tokens. New prose: - OXIDE_API.md: the 19 developer pages under umod.org/documentation/api/ — plugin structure, hooks, commands, IPlayer, permissions, config, data files, database, localization, timers, web requests, dependencies, integration, preprocessor directives, security, style guide, CI, review. This is the framework our plugin is a guest in, where HOOKS.md is what the game says. - OPERATING.md: the 6 operator pages — installing Oxide on a server, then installing, configuring and permissioning plugins. New machine-readable set (agent/): - hooks.tsv 477 rows, ~31% of HOOKS.md - items.tsv 678 rows, ~80% of DEFINITIONS.md's item table - skins.tsv 104 rows covering 2,590 skins, ~77% - api.jsonl 150 code examples, ~47% of the two prose docs Generated in the same pass as the markdown, so the two cannot drift. HOOKS.md gains the universal-hook split: 34 of the 477 are uMod's own Covalence hooks, raised identically on every game uMod supports. Verified against /documentation/games/universal in the same capture - all 34 are in the Rust set and the Rust page adds none of its own, so the overlap is exact. The distinction is architectural: a universal hook is the portable part of the surface. Two things worth recording from building it: - The first skins.tsv was one row per skin and came out 11% LARGER than the markdown it replaces. Grouping it one row per item is what made it a saving. The token win is real for prose (3.2x on hooks) and small for tables that were already dense - agent/README.md says so plainly rather than claiming a flat number. - Signature extraction by brace depth silently captured body lines (a nested '}' in OnUserConnected's example ended the block early). It now matches on the hook's own name; all 477 rows verified to carry a real signature. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4
77 KiB
77 KiB
| 1 | name | category | universal | returns | signatures | description |
|---|---|---|---|---|---|---|
| 2 | CanAcceptItem | Item | data | ItemContainer.CanAcceptResult? CanAcceptItem(ItemContainer container, Item item, int targetPos) | Called when attempting to put an item in a container | |
| 3 | CanAdministerVending | Vending | bool | bool CanAdministerVending(BasePlayer player, VendingMachine machine) | Called when a player attempts to administer a vending machine | |
| 4 | CanAffordToPlace | Player | bool | bool CanAffordToPlace(BasePlayer player, Planner planner, Construction construction) | Useful for ignoring resource requirements for placement | |
| 5 | CanAffordUpgrade | Player | bool | bool CanAffordUpgrade(BasePlayer player, BuildingBlock block, BuildingGrade.Enum grade) | Called when the resources for an upgrade are checked | |
| 6 | CanAssignBed | Player | nonnull | object CanAssignBed(BasePlayer player, SleepingBag bag, ulong targetPlayerId) | Called when a player attempts to assign a bed or sleeping bag to another player | |
| 7 | CanBeTargeted | Player | bool | bool CanBeTargeted(BaseCombatEntity player, MonoBehaviour behaviour) | Called when an autoturret, flame turret, shotgun trap, or helicopter turret is attempting to target the player | |
| 8 | CanBeWounded | Player | bool | bool CanBeWounded(BasePlayer player, HitInfo info) | Called when any damage is attempted on player | |
| 9 | CanBradleyApcTarget | Entity | bool | bool CanBradleyApcTarget(BradleyAPC apc, BaseEntity entity) | Called when an APC targets an entity | |
| 10 | CanBuild | Player | nonnull | object CanBuild(Planner planner, Construction prefab, Construction.Target target) | Called when the player tries to build something | |
| 11 | CanBypassQueue | Player | data | bool CanBypassQueue(Network.Connection connection) | Called before the player is added to the connection queue | |
| 12 | CanCatchFish | Fishing | bool | bool? CanCatchFish(BasePlayer player, BaseFishingRod rod, Item item) | Called before a fish is caught | |
| 13 | CanChangeCode | Player | nonnull | object CanChangeCode(BasePlayer player, CodeLock codeLock, string newCode, bool isGuestCode) | Called when a player tries to change the code on a codelock | |
| 14 | CanChangeGrade | Player | bool | bool CanChangeGrade(BasePlayer player, BuildingBlock block, BuildingGrade.Enum grade) | Called when a player tries to change a building grade | |
| 15 | CanCheckFuel | Vehicle | bool | object CanCheckFuel(EntityFuelSystem fuelSystem, StorageContainer fuelContainer, BasePlayer player) | Called when a player tries to loot a vehicle's fuel container | |
| 16 | CanClientLogin | Player | data | object CanClientLogin(Network.Connection connection) | Called when the player is attempting to login | |
| 17 | CanCombineDroppedItem | Item | nonnull | object CanCombineDroppedItem(DroppedItem item, DroppedItem targetItem) | Called when an item is dropped on another item | |
| 18 | CanCraft | Player | bool | bool CanCraft(ItemCrafter itemCrafter, ItemBlueprint bp, int amount) ;; bool CanCraft(PlayerBlueprints playerBlueprints, ItemDefinition itemDefinition, int skinItemId) | Called when the player attempts to craft an item | |
| 19 | CanCreateWorldProjectile | Weapon | nonnull | object CanCreateWorldProjectile(HitInfo info, ItemDefinition itemDef) | Called when the item creates a projectile in the world | |
| 20 | CanDemolish | Player | bool | bool CanDemolish(BasePlayer player, BuildingBlock block, BuildingGrade.Enum grade) | Called when a player tries to demolish a building block | |
| 21 | CanDeployItem | Player | nonnull | object CanDeployItem(BasePlayer player, Deployer deployer, NetworkableId entityId) | Useful for denying items' deployment | |
| 22 | CanDismountEntity | Player | nonnull | object CanDismountEntity(BasePlayer player, BaseMountable entity) | Called when the player attempts to dismount an entity | |
| 23 | CanDropActiveItem | Item | bool | bool CanDropActiveItem(BasePlayer player) | Called when a player attempts to drop their active item | |
| 24 | CanEntityBeHostile | Entity | nonnull | object CanEntityBeHostile(BaseCombatEntity entity) | Useful for overriding hostility of an entity | |
| 25 | CanEquipItem | Player | bool | bool CanEquipItem(PlayerInventory inventory, Item item, int targetPos) | Called when the player attempts to equip an item | |
| 26 | CanExplosiveStick | Weapon | nonnull | object CanExplosiveStick(TimedExplosive explosive, BaseEntity entity) | Called when a Timed Explosive is attempting to stick to another entity | |
| 27 | CanHackCrate | Player | nonnull | object CanHackCrate(BasePlayer player, HackableLockedCrate crate) | Called when a player starts hacking a locked crate | |
| 28 | CanHelicopterDropCrate | Entity | bool | bool CanHelicopterDropCrate(CH47HelicopterAIController heli) | Called when a CH47 helicopter attempts to drop a crate | |
| 29 | CanHelicopterStrafe | Entity | bool | bool CanHelicopterStrafe(PatrolHelicopterAI heli) | Called when a patrol helicopter attempts to strafe | |
| 30 | CanHelicopterStrafeTarget | Entity | bool | bool CanHelicopterStrafeTarget(PatrolHelicopterAI entity, BasePlayer target) | Called when a patrol helicopter attempts to target a player to attack while strafing | |
| 31 | CanHelicopterTarget | Entity | bool | bool CanHelicopterTarget(PatrolHelicopterAI heli, BasePlayer player) | Called when a patrol helicopter attempts to target a player to attack | |
| 32 | CanHelicopterUseNapalm | Entity | bool | bool CanHelicopterUseNapalm(PatrolHelicopterAI heli) | Called when a patrol helicopter attempts to use napalm | |
| 33 | CanHideStash | Player | nonnull | object CanHideStash(BasePlayer player, StashContainer stash) | Called when a player tries to hide a stash | |
| 34 | CanLock | Player | nonnull | object CanLock(BasePlayer player, BaseLock baseLock) | Useful for canceling the lock action | |
| 35 | CanLockerAcceptItem | Entity | bool | object CanLockerAcceptItem(Locker locker, Item item, int targetPos) | Called before an item is attempted to be placed inside a locker | |
| 36 | CanLootEntity | Player | nonnull | object CanLootEntity(BasePlayer player, DroppedItemContainer container) ;; object CanLootEntity(BasePlayer player, LootableCorpse corpse) ;; object CanLootEntity(BasePlayer player, ResourceContainer container) ;; object CanLootEntity(BasePlayer player, BaseRidableAnimal animal) ;; object CanLootEntity(BasePlayer player, StorageContainer container) | Called when the player starts looting a DroppedItemContainer, LootableCorpse, ResourceContainer, BaseRidableAnimal, or StorageContainer entity | |
| 37 | CanLootPlayer | Player | bool | bool CanLootPlayer(BasePlayer target, BasePlayer looter) | Called when the player attempts to loot another player | |
| 38 | CanMountEntity | Player | nonnull | object CanMountEntity(BasePlayer player, BaseMountable entity) | Called when the player attempts to mount an entity | |
| 39 | CanMoveItem | Item | nonnull | object CanMoveItem(Item item, PlayerInventory playerLoot, ItemContainerId targetContainer, int targetSlot, int amount, ItemMoveModifier itemMoveModifier) | Called when moving an item from one inventory slot to another | |
| 40 | CanNetworkTo | Entity | bool | bool CanNetworkTo(BaseNetworkable entity, BasePlayer target) | Called when an entity attempts to network with a player; For better performance, avoid using heavy calculations in this hook. | |
| 41 | CanNpcAttack | Entity | bool | bool CanNpcAttack(BaseNpc npc, BaseEntity target) | Called when a NPC attempts to attack another entity | |
| 42 | CanNpcEat | Entity | bool | bool CanNpcEat(BaseNpc npc, BaseEntity target) | Called when a NPC attempts to eat another entity | |
| 43 | CanPickupEntity | Player | bool | bool CanPickupEntity(BasePlayer player, BaseEntity entity) | Called when a player attempts to pickup a deployed entity (AutoTurret, BaseMountable, BearTrap, DecorDeployable, Door, DoorCloser, ReactiveTarget, SamSite, SleepingBag, SpinnerWheel, StorageContainer, etc.) | |
| 44 | CanPickupLock | Player | bool | bool CanPickupLock(BasePlayer player, BaseLock baseLock) | Called when a player attempts to pickup a lock | |
| 45 | CanPushBoat | Player | nonnull | object CanPushBoat(BasePlayer player, MotorRowboat boat) | Useful for canceling boat push | |
| 46 | CanReceiveCall | Phone | bool | object CanReceiveCall(PhoneController receiverPhone) | Called when a player tries to place a phone call | |
| 47 | CanRecycle | Entity | bool | bool CanRecycle(Recycler recycler, Item item) | Called when the recycler attempts to recycle an item | |
| 48 | CanRenameBed | Player | nonnull | object CanRenameBed(BasePlayer player, SleepingBag bed, string bedName) | Called when the player attempts to rename a bed or sleeping bag | |
| 49 | CanResearchItem | Player | nonnull | object CanResearchItem(BasePlayer player, Item targetItem) | Called when the player attempts to research an item | |
| 50 | CanSamSiteShoot | Entity | nonnull | object CanSamSiteShoot(SamSite samSite) | Useful for canceling the shoot of SamSite | |
| 51 | CanSeeStash | Player | nonnull | object CanSeeStash(BasePlayer player, StashContainer stash) | Called when a player is looking at a hidden stash | |
| 52 | CanSetBedPublic | Player | nonnull | object CanSetBedPublic(BasePlayer player, SleepingBag bed) | Called when a player tries to set a bed public | |
| 53 | CanSetRelationship | Player | bool | bool? CanSetRelationship(BasePlayer player, BasePlayer otherPlayer, RelationshipManager.RelationshipType relationshipType, int weight) | Called when a player's relationship with another is about to be updated | |
| 54 | CanSpectateTarget | Player | nonnull | object CanSpectateTarget(BasePlayer player, string filter) | Called when spectate target is attempting to update | |
| 55 | CanStackItem | Item | bool | bool CanStackItem(Item item, Item targetItem) | Called when moving an item onto another item | |
| 56 | CanSwapToSeat | Entity | bool | bool CanSwapToSeat(BasePlayer player, BaseMountable mountable) | Called when a player tries to switch seats, to determine whether each seat is eligible to be swapped to | |
| 57 | CanTakeCutting | Resource | nonnull | object CanTakeCutting(BasePlayer player, GrowableEntity entity) | Called when a player is trying to take a cutting (clone) of a GrowableEntity | |
| 58 | CanUnlock | Player | nonnull | object CanUnlock(BasePlayer player, BaseLock baseLock) | Called when the player tries to unlock a keylock or codelock | |
| 59 | CanUnlockTechTreeNode | TechTree | bool | object CanUnlockTechTreeNode(BasePlayer player, TechTreeData.NodeInstance node, TechTreeData techTree) | Called when a player is attempting to unlock a blueprint in a tech tree; Useful for bypassing unlock requirements or disallowing particular blueprints from being unlocked | |
| 60 | CanUnlockTechTreeNodePath | TechTree | bool | object CanUnlockTechTreeNodePath(BasePlayer player, TechTreeData.NodeInstance node, TechTreeData techTree) | Called when a player is attempting to unlock a blueprint in a tech tree, after the `CanUnlockTechTreeNode` hook, when determining whether they have the prerequisite blueprints unlocked; Useful for customizing prerequisites without conflicting with the `CanPlayerUnlock` hook | |
| 61 | CanUpdateSign | Player | bool | bool CanUpdateSign(BasePlayer player, Signage sign) ;; bool CanUpdateSign(BasePlayer player, PhotoFrame photoFrame) | Called when the player attempts to change the text on a sign or lock it, or update a photo frame | |
| 62 | CanUseFuel | Vehicle | bool | object CanUseFuel(EntityFuelSystem fuelSystem, StorageContainer fuelContainer, float currentSeconds, float fuelPerSecond) | Called before a vehicle fuel system consumes fuel | |
| 63 | CanUseGesture | Player | bool | bool? CanUseGesture(BasePlayer player, GestureConfig gesture) | Called when a player attempts to use a gesture | |
| 64 | CanUseHelicopter | Vehicle | nonnull | object CanUseHelicopter(BasePlayer player, CH47HelicopterAIController helicopter) | Useful for denying to mount a CH47 helicopter | |
| 65 | CanUseLockedEntity | Player | bool | bool CanUseLockedEntity(BasePlayer player, BaseLock baseLock) | Called when the player tries to use an entity that is locked | |
| 66 | CanUseMailbox | Player | bool | bool CanUseMailbox(BasePlayer player, Mailbox mailbox) | Called when the player tries to use a mailbox | |
| 67 | CanUserLogin | Player | 1 | data | object CanUserLogin(string name, string id, string ipAddress) | Called when a player is attempting to connect to the server |
| 68 | CanUseUI | Player | nonnull | object CanUseUI(BasePlayer player, string json) | Called when the player attempts to use a custom UI | |
| 69 | CanUseVending | Vending | bool | bool CanUseVending(BasePlayer player, VendingMachine machine) | Called when a player attempts to use a vending machine | |
| 70 | CanUseWires | Player | nonnull | object CanUseWires(BasePlayer player) | Useful for allowing or preventing a player from using wires | |
| 71 | CanVendingAcceptItem | Vending | bool | bool CanVendingAcceptItem(VendingMachine vending, Item item, int targetPos) | Called when a player attempts to administer a vending machine | |
| 72 | CanWearItem | Player | nonnull | object CanWearItem(PlayerInventory inventory, Item item, int targetSlot) | Called when the player attempts to equip an item | |
| 73 | Init | Server | 1 | none | void Init() | Called when a plugin is being initialized; Other plugins may or may not be present, dependant on load order |
| 74 | LoadDefaultConfig | Plugin | 1 | none | protected override void LoadDefaultConfig() | Called when the config for a plugin should be initialized; Only called if the config file does not already exist |
| 75 | LoadDefaultMessages | Plugin | 1 | none | protected override void LoadDefaultMessages() | Called when the localization for a plugin should be registered |
| 76 | Loaded | Plugin | 1 | none | void Loaded() | Called when a plugin has finished loading; Other plugins may or may not be present, dependant on load order |
| 77 | OnActiveItemChange | Player | nonnull | object OnActiveItemChange(BasePlayer player, Item oldItem, ItemId newItemId) | Called when active item is attempting to update | |
| 78 | OnActiveItemChanged | Player | none | void OnActiveItemChanged(BasePlayer player, Item oldItem, Item newItem) | Called when active item was changed | |
| 79 | OnAddVendingOffer | Vending | none | void OnAddVendingOffer(VendingMachine machine, ProtoBuf.VendingMachine.SellOrder sellOrder) | Called when a sell order/offer is added to a vending machine | |
| 80 | OnAirdrop | Entity | none | void OnAirdrop(CargoPlane plane, Vector3 dropPosition) | Called when an airdrop has been called | |
| 81 | OnAmmoSwitch | Weapon | nonnull | object OnAmmoSwitch(BaseProjectile weapon, BasePlayer player) | Called when the player starts to switch the ammo in a weapon | |
| 82 | OnAmmoUnload | Weapon | nonnull | object OnAmmoUnload(BaseProjectile projectile, Item item, BasePlayer player) | Called when a player is trying to unload ammo | |
| 83 | OnAnalysisComplete | Player | none | void OnAnalysisComplete(SurveyCrater surveyCrater, BasePlayer player) | Called right after a player completes a survey crater analysis | |
| 84 | OnBackpackDrop | Item | data | object OnBackpackDrop(Item backpack, BasePlayer player) | Called just before a backpack is dropped from a player on death. | |
| 85 | OnBigWheelLoss | Entity | none | void OnBigWheelLoss(BigWheelGame wheel, Item item) | Called when a specific item is lost on the big wheel game | |
| 86 | OnBigWheelWin | Entity | data | object OnBigWheelWin(BigWheelGame bigWheel, Item scrap, BigWheelBettingTerminal terminal, int multiplier) | Called before multiplier is applied. | |
| 87 | OnBoatPathGenerate | Vehicle | data | List<Vector3> OnBoatPathGenerate() | Called when generating ocean patrol path for CargoShip | |
| 88 | OnBonusItemDrop | Item | nonnull | object OnBonusItemDrop(Item item, BasePlayer player) | Called when a loot container is about to drop bonus scrap for a player who has a corresponding tea buff | |
| 89 | OnBonusItemDropped | Item | none | void OnBonusItemDropped(Item item, BasePlayer player) | Called after a loot container has dropped bonus scrap for a player who has a corresponding tea buff | |
| 90 | OnBookmarkAdd | Entity | nonnull | object OnBookmarkAdd(ComputerStation computerStation, BasePlayer player, string bookmarkName) | Called when a player tries to add a bookmark at a computer station | |
| 91 | OnBookmarkControl | Entity | nonnull | object OnBookmarkControl(ComputerStation computerStation, BasePlayer player, string bookmarkName, IRemoteControllable remoteControllable) | Called when a player tries to select a bookmark at a computer station | |
| 92 | OnBookmarkControlEnd | Entity | nonnull | object OnBookmarkControlEnd(ComputerStation computerStation, BasePlayer player, BaseEntity controlledEntity) | Called when a player tries to stop viewing/controlling an entity at a computer station | |
| 93 | OnBookmarkControlEnded | Entity | none | void OnBookmarkControlEnded(ComputerStation computerStation, BasePlayer player, BaseEntity controlledEntity) | Called after a player has stopped viewing/controlling an entity at a computer station | |
| 94 | OnBookmarkControlStarted | Entity | none | void OnBookmarkControlStarted(ComputerStation computerStation, BasePlayer player, string bookmarkName, IRemoteControllable remoteControllable) | Called after a player has selected a bookmark at a computer station | |
| 95 | OnBookmarkDelete | Entity | nonnull | object OnBookmarkDelete(ComputerStation computerStation, BasePlayer player, string bookmarkName) | Called when a player tries to delete a bookmark at a computer station | |
| 96 | OnBookmarkInput | Entity | nonnull | object OnBookmarkInput(ComputerStation computerStation, BasePlayer player, InputState inputState) | Called when input is received from a player who is using a computer station with a bookmark selected | |
| 97 | OnBookmarksSendControl | Entity | nonnull | object OnBookmarksSendControl(ComputerStation computerStation, BasePlayer player, string bookmarks) | Called when a player is being sent a list of bookmarks for a computer station | |
| 98 | OnBradleyApcHunt | Entity | nonnull | object OnBradleyApcHunt(BradleyAPC apc) | Called when an APC starts hunting | |
| 99 | OnBradleyApcInitialize | Entity | nonnull | object OnBradleyApcInitialize(BradleyAPC apc) | Called when an APC initializes | |
| 100 | OnBradleyApcPatrol | Entity | nonnull | object OnBradleyApcPatrol(BradleyAPC apc) | Called when an APC is starts patrolling | |
| 101 | OnBroadcastCommand | Player | nonnull | object OnBroadcastCommand(string command, object[] args) | Called before a command is broadcasted to all connected clients | |
| 102 | OnBuildingPrivilege | Entity | data | BuildingPrivlidge OnBuildingPrivilege(BaseEntity entity, OBB obb) | Useful for overriding a building privilege on specific entities and etc. | |
| 103 | OnBuildingSplit | Structure | none | void OnBuildingSplit(BuildingManager.Building building, uint newBuildingId) | Called when a building is split into two | |
| 104 | OnButtonPress | Entity | nonnull | object OnButtonPress(PressButton button, BasePlayer player) | Called when a player is trying to press a button | |
| 105 | OnBuyVendingItem | Vending | nonnull | object OnBuyVendingItem(VendingMachine machine, BasePlayer player, int sellOrderId, int numberOfTransactions) | Called when a player buys an item from a vending machine | |
| 106 | OnCardSwipe | Item | nonnull | object OnCardSwipe(CardReader cardReader, Keycard card, BasePlayer player) | Called when a player is trying to swipe a card | |
| 107 | OnCargoPlaneSignaled | Entity | none | void OnCargoPlaneSignaled(CargoPlane cargoPlane, SupplySignal supplySignal) | Called right after a supply signal has called a cargo plane | |
| 108 | OnCCTVDirectionChange | Entity | nonnull | object OnCCTVDirectionChange(CCTV_RC camera, BasePlayer player) | Called when a player attempts to change the direction of a CCTV camera to face them | |
| 109 | OnCentralizedBanCheck | Player | nonnull | object OnCentralizedBanCheck(Network.Connection connection) | Called when a player is about to be checked in the centralized ban database | |
| 110 | OnClanColorChanged | Clan | none | void OnClanColorChanged(LocalClan clan, Color32 color, ulong steamId) | Called after a player changes a clan color | |
| 111 | OnClanCreated | Clan | none | void OnClanCreated(LocalClan clan, ulong steamId) | Called after a player has created a clan | |
| 112 | OnClanDisbanded | Clan | none | void OnClanDisbanded(LocalClan clan, ulong steamId) | Called after a player disbands a clan | |
| 113 | OnClanLogoChanged | Clan | none | void OnClanLogoChanged(LocalClan clan, byte[] logo, ulong steamId) | Called after a player changes a clan logo | |
| 114 | OnClanMemberAdded | Clan | none | void OnClanMemberAdded(long clanId, ulong steamId) | Called after a player has accepted a clan invite | |
| 115 | OnClanMemberKicked | Clan | none | void OnClanMemberKicked(LocalClan clan, ulong steamId, ulong bySteamId) | Called after a player has kicked another player from a clan | |
| 116 | OnClanMemberLeft | Clan | none | void OnClanMemberLeft(LocalClan clan, ulong steamId) | Called after a player has voluntarily left a clan | |
| 117 | OnClientAuth | Player | none | void OnClientAuth(Connection connection) | Called when the player is giving server connection authorization information | |
| 118 | OnClientCommand | Player | nonnull | object OnClientCommand(Connection connection, string command) | Useful for intercepting players' commands before their handling; Called before OnPlayerCommand and OnUserCommand | |
| 119 | OnCodeEntered | Structure | nonnull | object OnCodeEntered(CodeLock codeLock, BasePlayer player, string code) | Called when the player has entered a code in a codelock | |
| 120 | OnCollectiblePickup | Resource | nonnull | object OnCollectiblePickup(CollectibleEntity collectible, BasePlayer player) | Called when the player collects an item | |
| 121 | OnConstructionPlace | Structure | nonnull | object OnConstructionPlace(BaseEntity entity, Construction component, Construction.Target constructionTarget, BasePlayer player) | Called when a player tries to place a building block | |
| 122 | OnContainerDropItems | Entity | nonnull | object OnContainerDropItems(ItemContainer container) | Called when a container is destroyed and all items are about to be dropped | |
| 123 | OnCorpsePopulate | Player | data | BaseCorpse OnCorpsePopulate(BasePlayer npcPlayer, BaseCorpse corpse) | Called when an NPC player corpse is about to be populated with loot | |
| 124 | OnCounterModeToggle | Entity | nonnull | object OnCounterModeToggle(PowerCounter counter, BasePlayer player, bool mode) | Called when a player ties to toggle a power counter between modes | |
| 125 | OnCounterTargetChange | Entity | nonnull | object OnCounterTargetChange(PowerCounter counter, BasePlayer player, int targetNumber) | Called when a player tries to change the target number of a power counter | |
| 126 | OnCrateDropped | Entity | none | void OnCrateDropped(HackableLockedCrate crate) | Called when a locked crate from the CH47 (Chinook) has dropped | |
| 127 | OnCrateHack | Entity | none | void OnCrateHack(HackableLockedCrate crate) | Called when a player starts hacking a locked crate | |
| 128 | OnCrateHackEnd | Entity | none | void OnCrateHackEnd(HackableLockedCrate crate) | Called when a player stops hacking a locked crate | |
| 129 | OnCrateLanded | Entity | none | void OnCrateLanded(HackableLockedCrate crate) | Called when a locked crate from the CH47 (Chinook) has landed | |
| 130 | OnCupboardAuthorize | Structure | nonnull | object OnCupboardAuthorize(BuildingPrivlidge privilege, BasePlayer player) | Called when a cupboard attempts to authorize a player | |
| 131 | OnCupboardClearList | Structure | nonnull | object OnCupboardClearList(BuildingPrivlidge privilege, BasePlayer player) | Called when an attempt is made to clear a cupboard authorized list | |
| 132 | OnCupboardDeauthorize | Structure | nonnull | object OnCupboardDeauthorize(BuildingPrivlidge privilege, BasePlayer player) | Called when a cupboard attempts to deauthorize a player | |
| 133 | OnDefaultItemsReceive | Player | nonnull | object OnDefaultItemsReceive(PlayerInventory inventory) | Called when a player is about to receive default items | |
| 134 | OnDefaultItemsReceived | Player | nonnull | void OnDefaultItemsReceived(PlayerInventory inventory) | Called after a player has received default items | |
| 135 | OnDeleteVendingOffer | Vending | none | void OnDeleteVendingOffer(VendingMachine machine, int offerId) | Called when a sell order/offer is deleted from a vending machine | |
| 136 | OnDemoRecordingStart | Player | nonnull | object OnDemoRecordingStart(string filename, BasePlayer player) | Called right before a demo of a player starts recording | |
| 137 | OnDemoRecordingStarted | Player | none | void OnDemoRecordingStarted(string filename, BasePlayer player) | Called after a demo of a player has started recording | |
| 138 | OnDemoRecordingStop | Player | nonnull | object OnDemoRecordingStop(string filename, BasePlayer player) | Called right before a demo of a player stops recording | |
| 139 | OnDemoRecordingStopped | Player | none | void OnDemoRecordingStopped(string filename, BasePlayer player) | Called after a demo of a player has stopped recording | |
| 140 | OnDestroyUI | Player | none | void OnDestroyUI(BasePlayer player, string json) | Called when a custom UI is destroyed for the player | |
| 141 | OnDieselEngineToggle | Entity | nonnull | object OnDieselEngineToggle(DieselEngine engine, BasePlayer player) | Called when a player is trying to toggle diesel engine | |
| 142 | OnDieselEngineToggled | Entity | none | void OnDieselEngineToggled(DieselEngine engine) | Called when diesel engine is toggled | |
| 143 | OnDispenserBonus | Resource | data | void OnDispenserBonus(ResourceDispenser dispenser, BasePlayer player, Item item) | Called before the player is given a bonus item for gathering | |
| 144 | OnDispenserGather | Resource | nonnull | object OnDispenserGather(ResourceDispenser dispenser, BasePlayer player, Item item) | Called before the player is given items from a resource | |
| 145 | OnDoorClosed | Structure | none | void OnDoorClosed(Door door, BasePlayer player) | Called when the player closed a door | |
| 146 | OnDoorKnocked | Structure | none | void OnDoorKnocked(Door door, BasePlayer player) | Called when the player knocks on a door | |
| 147 | OnDoorOpened | Structure | none | void OnDoorOpened(Door door, BasePlayer player) | Called when the player opened a door | |
| 148 | OnElevatorButtonPress | Entity | nonnull | object OnElevatorButtonPress(ElevatorLift lift, BasePlayer player, Elevator.Direction direction, bool toTopOrBottom) | Called when a player presses a button on an elevator lift | |
| 149 | OnElevatorCall | Entity | nonnull | object OnElevatorCall(Elevator elevator, Elevator topElevator) | Called when an elevator lift is called to a specific floor by electricity | |
| 150 | OnElevatorMove | Entity | nonnull | object OnElevatorMove(Elevator topElevator, int targetFloor) | Called right before an elevator starts moving to the target floor | |
| 151 | OnEngineLoadoutRefresh | Entity | nonnull | object OnEngineLoadoutRefresh(EngineStorage storage) | Called before engine loadout data is refreshed | |
| 152 | OnEngineStart | Vehicle | nonnull | object OnEngineStart(BaseVehicle vehicle, BasePlayer driver) | Called when a player tries to start a vehicle engine | |
| 153 | OnEngineStarted | Vehicle | none | void OnEngineStarted(BaseVehicle vehicle, BasePlayer driver) | Called right after a vehicle engine has started | |
| 154 | OnEngineStatsRefresh | Vehicle | nonnull | object OnEngineStatsRefresh(VehicleModuleEngine engineModule, EngineStorage engineStorage) | Called right before the stats of a modular car engine are refreshed | |
| 155 | OnEngineStatsRefreshed | Vehicle | none | void OnEngineStatsRefreshed(VehicleModuleEngine engineModule, EngineStorage engineStorage) | Called right after the stats of a modular car engine are refreshed | |
| 156 | OnEngineStop | Vehicle | nonnull | object OnEngineStop(BaseVehicle vehicle) | Called when a vehicle engine is about to stop | |
| 157 | OnEngineStopped | Vehicle | none | void OnEngineStopped(BaseVehicle vehicle) | Called right after a vehicle engine has stopped | |
| 158 | OnEntityBuilt | Structure | none | void OnEntityBuilt(Planner plan, GameObject go) | Called when any structure is built (walls, ceilings, stairs, etc.) | |
| 159 | OnEntityControl | Entity | bool | object OnEntityControl(IRemoteControllable entity) | Called when a player tries to remote control an entity | |
| 160 | OnEntityDeath | Entity | none | void OnEntityDeath(BaseCombatEntity entity, HitInfo info) | HitInfo might be null, check it before use; Editing hitInfo has no effect because the death has already happened | |
| 161 | OnEntityDestroy | Entity | nonnull | object OnEntityDestroy(BaseCombatEntity entity) | Called right before a CH47Helicopter or BradleyAPC is destroyed | |
| 162 | OnEntityDismounted | Entity | none | void OnEntityDismounted(BaseMountable entity, BasePlayer player) | Called when an entity is dismounted by a player | |
| 163 | OnEntityEnter | Entity | none | void OnEntityEnter(TriggerBase trigger, BaseEntity entity) | Called when an entity enters a trigger (water area, radiation zone, hurt zone, etc.) | |
| 164 | OnEntityFlagsNetworkUpdate | Entity | nonnull | object OnEntityFlagsNetworkUpdate(BaseEntity entity) | Called after an entity's flags have been updated on the server, before they are sent over the network | |
| 165 | OnEntityGroundMissing | Entity | nonnull | object OnEntityGroundMissing(BaseEntity entity) | Called when an entity (sleepingbag, sign, furnace,...) is going to be destroyed because the buildingblock it is on was removed | |
| 166 | OnEntityKill | Entity | nonnull | object OnEntityKill(BaseNetworkable entity) | Called when an entity is destroyed | |
| 167 | OnEntityLeave | Entity | none | void OnEntityLeave(TriggerBase trigger, BaseEntity entity) | Called when an entity leaves a trigger (water area, radiation zone, hurt zone, etc.) | |
| 168 | OnEntityMarkHostile | Entity | nonnull | object OnEntityMarkHostile(BaseCombatEntity entity, float duration) | Useful for denying marking the entity hostile | |
| 169 | OnEntityMounted | Entity | none | void OnEntityMounted(BaseMountable entity, BasePlayer player) | Called when an entity is mounted by a player | |
| 170 | OnEntitySaved | Entity | none | void OnEntitySaved(BaseNetworkable entity, BaseNetworkable.SaveInfo saveInfo) | Called after a BaseNetworkable has been saved to a ProtoBuf object and is about to be serialized to a network stream or network cache | |
| 171 | OnEntitySnapshot | Entity | nonnull | object OnEntitySnapshot(BaseNetworkable entity, Connection connection) | Called when an entity snapshot is about to be sent to a client connection | |
| 172 | OnEntitySpawned | Entity | none | void OnEntitySpawned(BaseNetworkable entity) | Called after any networked entity has spawned (including trees) | |
| 173 | OnEntityStabilityCheck | Entity | nonnull | object OnEntityStabilityCheck(StabilityEntity entity) | Called when stability of an entity is checked | |
| 174 | OnEntityTakeDamage | Entity | ? | object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo info) | Alternatively, modify the HitInfo object to change the damage; It should be okay to set the damage to 0, but if you don't return non-null, the player's client will receive a damage indicator (if entity is a BasePlayer); HitInfo has all kinds of useful things in it, such as Weapon, damageProperties or damageTypes | |
| 175 | OnExcavatorGather | Entity | nonnull | object OnExcavatorGather(ExcavatorArm arm, Item item) | Called right before moving gathered resource to container | |
| 176 | OnExcavatorMiningToggled | Entity | none | void OnExcavatorMiningToggled(ExcavatorArm arm) | Called when excavator mining arm is toggled | |
| 177 | OnExcavatorResourceSet | Entity | nonnull | object OnExcavatorResourceSet(ExcavatorArm arm, string resourceName, BasePlayer player) | Called when a player is trying to set a new resource target | |
| 178 | OnExcavatorSuppliesRequest | Electronic | data | object OnExcavatorSuppliesRequest(ExcavatorSignalComputer computer, BasePlayer player) | Called just after the excavator supply computer is triggered, before the plane is spawned. | |
| 179 | OnExcavatorSuppliesRequested | Electronic | ? | void OnExcavatorSuppliesRequested(ExcavatorSignalComputer computer, BasePlayer player, BaseEntity cargoPlane) | Called after the excavator signal computer was triggered, just after the supply plane is spawned. | |
| 180 | OnExperimentEnd | Player | nonnull | object OnExperimentEnd(Workbench workbench) | Called when an experiment is about to end | |
| 181 | OnExperimentEnded | Player | none | void OnExperimentEnded(Workbench workbench) | Called after the experiment has finished | |
| 182 | OnExperimentStart | Player | nonnull | object OnExperimentStart(Workbench workbench, BasePlayer player) | Called when the player attempts to experiment with at a workbench | |
| 183 | OnExperimentStarted | Player | none | void OnExperimentStarted(Workbench workbench, BasePlayer player) | Called after the experimentation has started | |
| 184 | OnExplosiveDropped | Weapon | none | void OnExplosiveDropped(BasePlayer player, BaseEntity entity, ThrownWeapon item) | Called when the player drops an explosive item (C4, grenade, ...) | |
| 185 | OnExplosiveDud | Weapon | nonnull | object OnExplosiveDud(DudTimedExplosive explosive) | Called when explosive tries to become dud | |
| 186 | OnExplosiveFuseSet | Weapon | nonnull | object OnExplosiveFuseSet(TimedExplosive explosive, float fuseLength) | Called when a fuse of an explosive is set | |
| 187 | OnExplosiveThrown | Weapon | none | void OnExplosiveThrown(BasePlayer player, BaseEntity entity, ThrownWeapon item) | Called when the player throws an explosive item (C4, grenade, ...) | |
| 188 | OnFindBurnable | Item | data | Item OnFindBurnable(BaseOven oven) | Called when looking for fuel for the oven | |
| 189 | OnFindSpawnPoint | Player | data | void OnFindSpawnPoint(BasePlayer player) | Useful for controlling player spawnpoints (like making all spawns occur in a set area) | |
| 190 | OnFireBallDamage | Entity | none | void OnFireBallDamage(FireBall fire, BaseCombatEntity entity, HitInfo info) | Called when a fire ball does damage to another entity | |
| 191 | OnFireBallSpread | Entity | none | void OnFireBallSpread(FireBall ball, BaseEntity fire) | Called when a fire ball fire spreads | |
| 192 | OnFishCatch | Fishing | nonnull | Item OnFishCatch(Item item, BaseFishingRod rod, BasePlayer player) | Called after a fish is caught, before the item is given | |
| 193 | OnFishCaught | Fishing | none | void OnFishCaught(ItemDefinition definition, BaseFishingRod rod, BasePlayer player) | Called after a fish is caught | |
| 194 | OnFishingStopped | Fishing | none | void OnFishingStopped(BaseFishingRod rod, BaseFishingRod.FailReason reason) | Called just after the fishing minigame has been stopped. | |
| 195 | OnFlameExplosion | Entity | none | void OnFlameExplosion(FlameExplosive explosive, BaseEntity flame) | Called when a flame explodes | |
| 196 | OnFlameThrowerBurn | Weapon | none | void OnFlameThrowerBurn(FlameThrower thrower, BaseEntity flame) | Called when the burn from a flame thrower spreads | |
| 197 | OnFrame | Server | 1 | none | void OnFrame() | Called each frame |
| 198 | OnFuelAmountCheck | Vehicle | data | object OnFuelAmountCheck(EntityFuelSystem fuelSystem, Item fuelItem) | Called when the amount of fuel in a vehicle is being determined | |
| 199 | OnFuelCheck | Vehicle | bool | object OnFuelCheck(EntityFuelSystem fuelSystem) | Called when determining whether a vehicle has sufficient fuel | |
| 200 | OnFuelConsume | Item | nonnull | object OnFuelConsume(BaseOven oven, Item fuel, ItemModBurnable burnable) | Called right before fuel is used (furnace, lanterns, camp fires, etc.) | |
| 201 | OnFuelConsumed | Item | none | void OnFuelConsumed(BaseOven oven, Item fuel, ItemModBurnable burnable) | Called after fuel is used (furnace, lanterns, camp fires, etc.) | |
| 202 | OnFuelItemCheck | Vehicle | data | object OnFuelItemCheck(EntityFuelSystem fuelSystem, StorageContainer fuelContainer) | Called when determining which item should be used to fuel a vehicle | |
| 203 | OnGiveSoldItem | Vending | nonnull | object OnGiveSoldItem(NPCVendingMachine vending, Item soldItem, BasePlayer buyer) ;; object OnGiveSoldItem(VendingMachine vending, Item soldItem, BasePlayer buyer) | Called before a sold item is given | |
| 204 | OnGroupCreated | Permission | 1 | none | void OnGroupCreated(string name) | Called when a group has been created successfully |
| 205 | OnGroupDeleted | Permission | 1 | none | void OnGroupDeleted(string name) | Called when a group has been deleted successfully |
| 206 | OnGroupParentSet | Permission | 1 | none | void OnGroupParentSet(string name, string parent) | Called when a group parent has been updated |
| 207 | OnGroupPermissionGranted | Permission | 1 | none | void OnGroupPermissionGranted(string name, string perm) | Called when a permission has been granted to a group |
| 208 | OnGroupPermissionRevoked | Permission | 1 | none | void OnGroupPermissionRevoked(string name, string perm) | Called when a permission has been revoked from a group |
| 209 | OnGroupRankSet | Permission | 1 | none | void OnGroupRankSet(string name, int rank) | Called when a group rank has been updated |
| 210 | OnGroupTitleSet | Permission | 1 | none | void OnGroupTitleSet(string name, string title) | Called when a group title has been updated |
| 211 | OnGrowableGather | Resource | nonnull | object OnGrowableGather(GrowableEntity plant, BasePlayer player) | Called when the player gathers a growable entity | |
| 212 | OnGrowableGathered | Resource | none | void OnGrowableGathered(GrowableEntity plant, Item item, BasePlayer player) | Called before the player receives an item from gathering a growable entity | |
| 213 | OnHammerHit | Structure | nonnull | object OnHammerHit(BasePlayer player, HitInfo info) | Called when the player has hit something with a hammer | |
| 214 | OnHealingItemUse | Item | nonnull | object OnHealingItemUse(MedicalTool tool, BasePlayer player) | Called when a player attempts to use a medical tool | |
| 215 | OnHelicopterAttack | Entity | nonnull | object OnHelicopterAttack(CH47HelicopterAIController heli) | Called when a CH47 helicopter is being attacked | |
| 216 | OnHelicopterDropCrate | Entity | nonnull | object OnHelicopterDropCrate(CH47HelicopterAIController heli) | Called when a CH47 helicopter is dropping a crate | |
| 217 | OnHelicopterDropDoorOpen | Entity | nonnull | object OnHelicopterDropDoorOpen(CH47HelicopterAIController heli) | Called when a CH47 helicopter is opening its drop door | |
| 218 | OnHelicopterKilled | Entity | nonnull | object OnHelicopterKilled(CH47HelicopterAIController heli) | Called when a CH47 helicopter is going to be killed | |
| 219 | OnHelicopterOutOfCrates | Entity | bool | bool? OnHelicopterOutOfCrates(CH47HelicopterAIController heli) | Called when a CH47 helicopter runs out of crates | |
| 220 | OnHelicopterRetire | Entity | nonnull | object OnHelicopterRetire(PatrolHelicopterAI helicopter) | Called before the patrol helicopter starts leaving the map. | |
| 221 | OnHelicopterStrafeEnter | Entity | nonnull | object OnHelicopterStrafeEnter(PatrolHelicopterAI helicopter, Vector3 strafePosition) | Called when helicopter is entering strafe | |
| 222 | OnHelicopterTarget | Entity | nonnull | object OnHelicopterTarget(HelicopterTurret turret, BaseCombatEntity entity) | Called when a helicopter turret attempts to target an entity | |
| 223 | OnHorseHitch | Entity | nonnull | object OnHorseHitch(RidableHorse horse, HitchTrough hitch) | Called just before setting the hitch | |
| 224 | OnHorseLead | Entity | nonnull | object OnHorseLead(BaseRidableAnimal animal, BasePlayer player) | Called when a player tries to lead a horse | |
| 225 | OnHotAirBalloonToggle | Vehicle | nonnull | object OnHotAirBalloonToggle(HotAirBalloon balloon, BasePlayer player) | Called when a player tries to toggle a hot air balloon on or off | |
| 226 | OnHotAirBalloonToggled | Vehicle | none | void OnHotAirBalloonToggled(HotAirBalloon balloon, BasePlayer player) | Called right after a player has toggled a hot air balloon on or off | |
| 227 | OnIngredientsCollect | Item | nonnull | bool? OnIngredientsCollect(ItemCrafter itemCrafter, ItemBlueprint blueprint, ItemCraftTask task, int amount, BasePlayer player) | Called when ingredients are about to be collected for crafting an item | |
| 228 | OnInputUpdate | Entity | nonnull | object OnInputUpdate(IOEntity entity, int inputAmount, int slot) | Called when an input of IOEntity is updated | |
| 229 | OnInventoryNetworkUpdate | Player | nonnull | object OnInventoryNetworkUpdate(PlayerInventory inventory, ItemContainer container, ProtoBuf.UpdateItemContainer updateItemContainer, PlayerInventory.Type type, PlayerInventory.PlayerInventory.NetworkInventoryMode networkInventoryMode) | Called after a player's inventory contents have changed, before it is sent over the network to one or more clients | |
| 230 | OnIORefCleared | Entity | none | void OnIORefCleared(IOEntity.IORef ioRef, IOEntity ioEntity) | Called after a wire has been disconnected from an electrical entity, such as when its connected entity was destroyed or when a player removed the wire | |
| 231 | OnItemAction | Item | nonnull | object OnItemAction(Item item, string action, BasePlayer player) | Called when a button is clicked on an item in the inventory (drop, unwrap, ...) | |
| 232 | OnItemAddedToContainer | Item | none | void OnItemAddedToContainer(ItemContainer container, Item item) | Called right after an item was added to a container; An entire stack has to be created, not just adding more wood to a wood stack for example | |
| 233 | OnItemCraft | Item | bool | object OnItemCraft(ItemCraftTask task, BasePlayer player, Item item) | Called just before an item is added to the crafting queue | |
| 234 | OnItemCraftCancelled | Item | none | void OnItemCraftCancelled(ItemCraftTask task) | Called before an item has been crafted | |
| 235 | OnItemCraftFinished | Item | none | void OnItemCraftFinished(ItemCraftTask task, Item item) | Called right after an item has been crafted | |
| 236 | OnItemDeployed | Item | none | void OnItemDeployed(Deployer deployer, BaseEntity entity, BaseEntity slotEntity) | Called right after an item has been deployed | |
| 237 | OnItemDropped | Item | none | void OnItemDropped(Item item, BaseEntity entity) | Called right after an item has been dropped | |
| 238 | OnItemLock | Item | nonnull | object OnItemLock(Item item) | Called right before an item is locked, such as in a modular car inventory | |
| 239 | OnItemPickup | Item | nonnull | object OnItemPickup(Item item, BasePlayer player) | Called right after an item has been picked up | |
| 240 | OnItemRecycle | Entity | nonnull | object OnItemRecycle(Item item, Recycler recycler) | Called when an item is recycled in a recycler | |
| 241 | OnItemRefill | Item | nonnull | object OnItemRefill(Item item, BasePlayer player) | Called right before an item such as a diving tank is repaired without using a repair bench | |
| 242 | OnItemRemove | Item | data | object OnItemRemove(Item item) ;; void OnItemRemove(Item item) | Called before an item is destroyed | |
| 243 | OnItemRemovedFromContainer | Item | none | void OnItemRemovedFromContainer(ItemContainer container, Item item) | Called right after an item was removed from a container; The entire stack has to be removed for this to be called, not just a little bit | |
| 244 | OnItemRepair | Item | nonnull | object OnItemRepair(BasePlayer player, Item item) | Called right before an item is repaired | |
| 245 | OnItemResearch | Item | none | void OnItemResearch(ResearchTable table, Item targetItem, BasePlayer player) | Called right before a player begins to research an item | |
| 246 | OnItemResearched | Item | data | float OnItemResearched(ResearchTable table, float chance) | Called right before a player finishes researching an item | |
| 247 | OnItemSplit | Item | data | Item OnItemSplit(Item item, int amount) | Called right before an item is split into multiple stacks | |
| 248 | OnItemStacked | Item | none | void OnItemStacked(Item destinationItem, Item sourceItem, ItemContainer destinationContainer) | Called after an item has been stacked | |
| 249 | OnItemSubmit | Item | nonnull | object OnItemSubmit(Item item, Mailbox mailbox, BasePlayer player) | Called when a player submits an item into a mailbox or dropbox | |
| 250 | OnItemUnlock | Item | nonnull | object OnItemUnlock(Item item) | Called right before an item is unlocked, such as in a modular car inventory | |
| 251 | OnItemUpgrade | Item | none | void OnItemUpgrade(Item item, Item upgraded, BasePlayer player) | Called right before an item is upgraded | |
| 252 | OnItemUse | Item | data | int OnItemUse(Item item, int amountToUse) | Called when an item is used | |
| 253 | OnLiftUse | Entity | nonnull | object OnLiftUse(Lift lift, BasePlayer player) ;; object OnLiftUse(ProceduralLift lift, BasePlayer player) | Called when a player calls a lift or procedural lift | |
| 254 | OnLiquidVesselFill | Entity | nonnull | object OnLiquidVesselFill(BaseLiquidVessel liquidVessel, BasePlayer player, LiquidContainer facingLiquidContainer) | Called when a player is attempting to fill a liquid vessel | |
| 255 | OnLootEntity | Player | none | void OnLootEntity(BasePlayer player, BaseEntity entity) | Called when the player starts looting an entity | |
| 256 | OnLootEntityEnd | Player | none | void OnLootEntityEnd(BasePlayer player, BaseCombatEntity entity) | Called when the player stops looting an entity | |
| 257 | OnLootItem | Player | none | void OnLootItem(PlayerLoot playerLoot, Item item) | Called when the player starts looting an item | |
| 258 | OnLootNetworkUpdate | Player | nonnull | object OnLootNetworkUpdate(PlayerLoot loot) | Called when a player is trying to loot a container or a container they are looting has changed its contents | |
| 259 | OnLootPlayer | Player | none | void OnLootPlayer(BasePlayer player, BasePlayer target) | Called when the player starts looting another player | |
| 260 | OnLootSpawn | Entity | nonnull | object OnLootSpawn(LootContainer container) | Called when loot spawns in a container | |
| 261 | OnLoseCondition | Item | none | void OnLoseCondition(Item item, ref float amount) | Called right before the condition of the item is modified | |
| 262 | OnMagazineReload | Weapon | nonnull | object OnMagazineReload(BaseProjectile weapon, IAmmoContainer desiredAmount, BasePlayer player) | Called when the player reloads a magazine | |
| 263 | OnMapImageUpdated | Item | none | void OnMapImageUpdated() | Called when player updates map item's image; Useful for executing any action when map image is updated | |
| 264 | OnMapMarkerAdd | Player | nonnull | object OnMapMarkerAdd(BasePlayer player, MapNote note) | Called when trying to add a marker | |
| 265 | OnMapMarkerAdded | Player | none | void OnMapMarkerAdded(BasePlayer player, MapNote note) | Called after a marker was added | |
| 266 | OnMapMarkerRemove | Player | nonnull | object OnMapMarkerRemove(BasePlayer player, MapNote note) | Called when trying to remove a marker | |
| 267 | OnMapMarkersClear | Player | nonnull | object OnMapMarkersClear(BasePlayer player, List<MapNote> notes) | Called when trying to clear map markers | |
| 268 | OnMapMarkersCleared | Player | none | void OnMapMarkersCleared(BasePlayer player, List<MapNote> notes) | Called after markers were cleared | |
| 269 | OnMaxStackable | Item | data | int OnMaxStackable(Item item) | Called when an items max stackable is calculated | |
| 270 | OnMeleeAttack | Player | nonnull | object OnMeleeAttack(BasePlayer player, HitInfo info) | Useful for canceling melee attacks | |
| 271 | OnMeleeThrown | Weapon | none | void OnMeleeThrown(BasePlayer player, Item item) | Called when the player throws a melee item (axe, rock, ...) | |
| 272 | OnMessagePlayer | Server | nonnull | object OnMessagePlayer(string message, BasePlayer player) | Useful for intercepting server messages before they get to their intended target | |
| 273 | OnMlrsFire | Entity | nonnull | object OnMlrsFire(MLRS mlrs, BasePlayer player) | Called just before the MLRS is fired. | |
| 274 | OnMlrsFired | Entity | none | void OnMlrsFired(MLRS mlrs, BasePlayer player) | Called just after the MLRS has been fired. | |
| 275 | OnNetworkGroupEntered | Player | none | void OnNetworkGroupEntered(BasePlayer player, Network.Visibility.Group group) | Called after a player has entered a network group | |
| 276 | OnNetworkGroupLeft | Player | none | void OnNetworkGroupLeft(BasePlayer player, Network.Visibility.Group group) | Called after a player has left a network group | |
| 277 | OnNetworkSubscriptionsUpdate | Entity | nonnull | object OnNetworkSubscriptionsUpdate(Network.Networkable networkable, List<Network.Visibility.Group> groupsToAdd, List<Network.Visibility.Group> groupsToRemove) | Called after the Rust has determined which network groups to subscribe a player to (`groupsToAdd`), and which network groups to unsubscribe the player from (`groupsToRemove`); This hook is useful for situations where you want to subscribe a player to a network group that is outside their network range -- To do so, you can prevent Rust from automatically unsubscribing them by removing that group from the `groupsToRemove` list | |
| 278 | OnNewSave | Server | none | void OnNewSave(string filename) | Called when a new savefile is created (usually when map has wiped) | |
| 279 | OnNpcConversationEnded | Player | none | void OnNpcConversationEnded(NPCTalking npcTalking, BasePlayer player) | Called right after a player has ended an NPC conversation | |
| 280 | OnNpcConversationRespond | Player | nonnull | object OnNpcConversationRespond(NPCTalking npcTalking, BasePlayer player, ConversationData conversationData, ConversationData.ResponseNode responseNode) | Called when a player chooses an NPC conversation response | |
| 281 | OnNpcConversationResponded | Player | none | void OnNpcConversationResponded(NPCTalking npcTalking, BasePlayer player, ConversationData conversationData, ConversationData.ResponseNode responseNode) | Called right after a player's chosen NPC conversation response has been processed | |
| 282 | OnNpcConversationStart | Player | nonnull | object OnNpcConversationStart(NPCTalking npcTalking, BasePlayer player, ConversationData conversationData) | Called when a player tries to start a conversation with an NPC | |
| 283 | OnNpcDestinationSet | Entity | nonnull | object OnNpcDestinationSet(NPCPlayerApex npc, Vector3 newPosition) | Useful for canceling the destination change on NPCs | |
| 284 | OnNpcGiveSoldItem | Vending | nonnull | object OnNpcGiveSoldItem(NPCVendingMachine machine, Item soldItem, BasePlayer buyer) | Called before a non-player controlled vending machine (at outpost etc.) gives the player the item they purchased. | |
| 285 | OnNpcPlayerResume | Entity | nonnull | object OnNpcPlayerResume(NPCPlayerApex npc) | Useful for canceling the invoke of TryForceToNavmesh | |
| 286 | OnNpcStopMoving | Entity | nonnull | object OnNpcStopMoving(NPCPlayerApex npc) | Useful for denying the move stop of NPCs | |
| 287 | OnNpcTarget | Entity | nonnull | object OnNpcTarget(BaseEntity npc, BaseEntity entity) | Called when an NPC targets another entity | |
| 288 | OnNpcTargetSense | Entity | nonnull | object OnNpcTargetSense(BaseEntity owner, BaseEntity entity, AIBrainSenses brainSenses) | Called when an NPC becomes aware of another entity | |
| 289 | OnOpenVendingAdmin | Vending | none | void OnOpenVendingAdmin(VendingMachine machine, BasePlayer player) | Called when a player opens the admin ui for a vending machine | |
| 290 | OnOutputUpdate | Entity | nonnull | object OnOutputUpdate(IOEntity entity) | Called when outputs of IOEntity are updated | |
| 291 | OnOvenCook | Entity | nonnull | object OnOvenCook(BaseOven oven, Item item) | Called before an oven cooks an item | |
| 292 | OnOvenCooked | Entity | none | void OnOvenCooked(BaseOven oven, Item item, BaseEntity slot) | Called after an oven cooks an item | |
| 293 | OnOvenToggle | Entity | nonnull | object OnOvenToggle(BaseOven oven, BasePlayer player) | Called when an oven (Campfire, Furnace,...) is turned on or off | |
| 294 | OnPayForPlacement | Player | nonnull | object OnPayForPlacement(BasePlayer player, Planner planner, Construction construction) | Called when a player is paying for placement. Useful for preventing paying for placing deployables, building blocks and etc | |
| 295 | OnPayForUpgrade | Player | nonnull | object OnPayForUpgrade(BasePlayer player, BuildingBlock block, ConstructionGrade gradeTarget) | Called when player is paying for an upgrade. Useful for preventing paying for block upgrade | |
| 296 | OnPermissionRegistered | Permission | 1 | none | void OnPermissionRegistered(string name, Plugin owner) | Called when a permission has been registered |
| 297 | OnPhoneAnswer | Phone | nonnull | object OnPhoneAnswer(PhoneController receiverPhone, PhoneController callerPhone) | Called when a player tries to answer a phone call | |
| 298 | OnPhoneAnswered | Phone | none | void OnPhoneAnswered(PhoneController receiverPhone, PhoneController callerPhone) | Called right after a player has answered a phone call | |
| 299 | OnPhoneCallStart | Phone | nonnull | object OnPhoneCallStart(PhoneController phone, PhoneController otherPhone, BasePlayer player) | Called after a phone has been answered, right before voice communication is established | |
| 300 | OnPhoneCallStarted | Phone | ? | void OnPhoneCallStarted(PhoneController phone, PhoneController otherPhone, BasePlayer player) | Called right after a phone call has been answered and voice communication has been established | |
| 301 | OnPhoneDial | Phone | nonnull | object OnPhoneDial(PhoneController callerPhone, PhoneController receiverPhone, BasePlayer player) | Called when a player places a phone call | |
| 302 | OnPhoneDialFail | Phone | nonnull | object OnPhoneDialFail(PhoneController phone, Telephone.DialFailReason reason, BasePlayer player) | Called when a phone call is about to end or fail to start | |
| 303 | OnPhoneDialFailed | Phone | none | void OnPhoneDialFailed(PhoneController phone, Telephone.DialFailReason reason, BasePlayer player) | Called after a phone call has ended or failed to start | |
| 304 | OnPhoneDialTimedOut | Phone | none | void OnPhoneDialTimedOut(PhoneController callerPhone, PhoneController receiverPhone, BasePlayer player) | Called right after a phone was automatically hung up because the receiver phone wasn't answered in time | |
| 305 | OnPhoneDialTimeout | Phone | nonnull | object OnPhoneDialTimeout(PhoneController callerPhone, PhoneController receiverPhone, BasePlayer player) | Called when a phone is about to automatically hang up because the receiver phone wasn't answered in time | |
| 306 | OnPhoneNameUpdate | Phone | nonnull | object OnPhoneNameUpdate(PhoneController phoneController, string name, BasePlayer player) | Called when a player tries to update a phone name | |
| 307 | OnPhoneNameUpdated | Phone | none | void OnPhoneNameUpdated(PhoneController phoneController, string name, BasePlayer player) | Called after a player has updated a phone name | |
| 308 | OnPlayerAddModifiers | Player | nonnull | object OnPlayerAddModifiers(BasePlayer player, Item item, ItemModConsumable consumable) | Called after a player consumes an item such as tea that is about to apply modifiers | |
| 309 | OnPlayerAssist | Player | nonnull | object OnPlayerAssist(BasePlayer target, BasePlayer player) | Called when a player tries to assist target player (when target is wounded) | |
| 310 | OnPlayerAttack | Player | nonnull | object OnPlayerAttack(BasePlayer attacker, HitInfo info) | Useful for modifying an attack before it goes out; hitInfo.HitEntity should be the entity that this attack would hit | |
| 311 | OnPlayerBanned | Player | none | void OnPlayerBanned(string name, ulong id, string address, string reason) | Called when the player is banned (Facepunch, EAC, server ban, etc.) | |
| 312 | OnPlayerChat | Player | nonnull | object OnPlayerChat(BasePlayer player, string message, Chat.ChatChannel channel) | Called when the player sends chat to the server | |
| 313 | OnPlayerCommand | Player | nonnull | object OnPlayerCommand(BasePlayer player, string command, string[] args) | Useful for intercepting players' commands before their handling | |
| 314 | OnPlayerConnected | Player | none | void OnPlayerConnected(BasePlayer player) | Called after the player object is created, but before the player has spawned | |
| 315 | OnPlayerCorpse | Player | none | void OnPlayerCorpse(BasePlayer player, BaseCorpse corpse) | Called when a non-null corpse has just been spawned | |
| 316 | OnPlayerCorpseSpawn | Player | nonnull | object OnPlayerCorpseSpawn(BasePlayer player) | Called when a non-null corpse is about to spawn | |
| 317 | OnPlayerCorpseSpawned | Player | none | void OnPlayerCorpseSpawned(BasePlayer player, PlayerCorpse corpse) | Called when a non-null corpse has just been spawned | |
| 318 | OnPlayerDeath | Player | nonnull | object OnPlayerDeath(BasePlayer player, HitInfo info) | Called when the player is about to die; HitInfo may be null sometimes | |
| 319 | OnPlayerDisconnected | Player | none | void OnPlayerDisconnected(BasePlayer player, string reason) | Called after the player has disconnected from the server | |
| 320 | OnPlayerDropActiveItem | Player | none | void OnPlayerDropActiveItem(BasePlayer player, Item item) | Called when the player drops their active held item | |
| 321 | OnPlayerHealthChange | Player | nonnull | object OnPlayerHealthChange(BasePlayer player, float oldValue, float newValue) | Called just before the player's health changes | |
| 322 | OnPlayerInput | Player | none | void OnPlayerInput(BasePlayer player, InputState input) | Called when input is received from a connected client | |
| 323 | OnPlayerKicked | Player | none | void OnPlayerKicked(BasePlayer player, string reason) | Called after the player is kicked from the server | |
| 324 | OnPlayerLand | Player | nonnull | object OnPlayerLand(BasePlayer player, float num) | Called just before the player lands on the ground | |
| 325 | OnPlayerLanded | Player | none | void OnPlayerLanded(BasePlayer player, float num) | Called when the player landed on the ground | |
| 326 | OnPlayerLootEnd | Player | none | void OnPlayerLootEnd(PlayerLoot inventory) | Called when the player stops looting | |
| 327 | OnPlayerMetabolize | Player | none | void OnPlayerMetabolize(PlayerMetabolism metabolism, BaseCombatEntity entity, float delta) | Called after the player's metabolism has been changed | |
| 328 | OnPlayerRecover | Player | nonnull | object OnPlayerRecover(BasePlayer player) | Called when the player is about to recover from the 'wounded' state | |
| 329 | OnPlayerRecovered | Player | none | void OnPlayerRecovered(BasePlayer player) | Called when the player was recovered | |
| 330 | OnPlayerReported | Player | none | void OnPlayerReported(BasePlayer reporter, string targetName, string targetId, string subject, string message, string type) | Called when a player has reported someone via F7 | |
| 331 | OnPlayerRespawn | Player | data | object OnPlayerRespawn(BasePlayer player, BasePlayer.SpawnPoint spawnPoint) ;; object OnPlayerRespawn(BasePlayer player, SleepingBag sleepingBag) | Called when a player is attempting to respawn | |
| 332 | OnPlayerRevive | Player | nonnull | object OnPlayerRevive(BasePlayer reviver, BasePlayer player) | Called before the recover after reviving with a medical tool; Useful for canceling the reviving | |
| 333 | OnPlayerSetInfo | Player | none | void OnPlayerSetInfo(Connection connection, string key, string value) | Called when setting player's information *(aka console variables)* | |
| 334 | OnPlayerSleep | Player | nonnull | object OnPlayerSleep(BasePlayer player) | Called when the player is about to go to sleep | |
| 335 | OnPlayerSleepEnded | Player | none | void OnPlayerSleepEnded(BasePlayer player) | Called when the player awakes | |
| 336 | OnPlayerSpawn | Player | data | object OnPlayerSpawn(BasePlayer player) | Called when a player is attempting to spawn for the first time | |
| 337 | OnPlayerSpectate | Player | nonnull | object OnPlayerSpectate(BasePlayer player, string spectateFilter) | Called when the player starts spectating | |
| 338 | OnPlayerSpectateEnd | Player | nonnull | object OnPlayerSpectateEnd(BasePlayer player, string spectateFilter) | Called when the player stops spectating | |
| 339 | OnPlayerTick | Player | nonnull | object OnPlayerTick(BasePlayer player, PlayerTick msg, bool wasPlayerStalled) | ||
| 340 | OnPlayerViolation | Player | nonnull | object OnPlayerViolation(BasePlayer player, AntiHackType type, float amount) | Called when the player triggers an anti-hack violation | |
| 341 | OnPlayerVoice | Player | nonnull | object OnPlayerVoice(BasePlayer player, Byte[] data) | Called when the player uses the in-game voice chat | |
| 342 | OnPlayerWound | Player | nonnull | object OnPlayerWound(BasePlayer player, HitInfo info) | Called when the player is about to go down to the 'wounded' state; source might be null, check it before use | |
| 343 | OnPluginLoaded | Server | 1 | none | void OnPluginLoaded(Plugin plugin) | Called when any plugin has been loaded; Not to be confused with [`Loaded`](#loaded) |
| 344 | OnPluginUnloaded | Server | 1 | none | void OnPluginUnloaded(Plugin plugin) | Called when any plugin has been unloaded; Not to be confused with [`Unload`](#unload) |
| 345 | OnProjectileRicochet | Weapon | nonnull | object OnProjectileRicochet(BasePlayer player, PlayerProjectileRicochet ricochet) | Called when a player's weapon projectile ricochets | |
| 346 | OnQuarryEnabled | Resource | none | void OnQuarryEnabled(MiningQuarry quarry) | Called when a mining quarry is turned on/enabled | |
| 347 | OnQuarryGather | Resource | none | void OnQuarryGather(MiningQuarry quarry, Item item) | Called before items are gathered from a quarry | |
| 348 | OnQuarryToggled | Resource | none | void OnQuarryToggled(MiningQuarry quarry, BasePlayer player) | Called when a quarry has just been toggled | |
| 349 | OnRconCommand | Server | none | void OnRconCommand(IPAddress ip, string command, string[] args) | Called when an RCON command is run | |
| 350 | OnRconConnection | Server | nonnull | object OnRconConnection(IPAddress ip) | Called when a new RCON connection is opened | |
| 351 | OnReactiveTargetReset | Entity | none | void OnReactiveTargetReset(ReactiveTarget target) | Called after the reactive target is reset | |
| 352 | OnRecyclerToggle | Entity | nonnull | object OnRecyclerToggle(Recycler recycler, BasePlayer player) | Called when a recycler is turned on or off | |
| 353 | OnRefreshVendingStock | Vending | none | void OnRefreshVendingStock(VendingMachine machine, Item item) | Called when the stock on a vending machine is updated | |
| 354 | OnRemoveDying | Resource | nonnull | object OnRemoveDying(GrowableEntity plant, BasePlayer player) | Called when a player is trying to harvest a dying growable entity | |
| 355 | OnResearchCostDetermine | Item | data | object OnResearchCostDetermine(Item item, ResearchTable researchTable) ;; object OnResearchCostDetermine(ItemDefinition itemDefinition) | Called when an item is being scrapped at a research table or when a blueprint is being unlocked in a tech tree | |
| 356 | OnResourceDepositCreated | Entity | none | void OnResourceDepositCreated(ResourceDepositManager.ResourceDeposit deposit) | Called when a resource deposit has been created | |
| 357 | OnRespawnInformationGiven | Player | none | void OnRespawnInformationGiven(BasePlayer player, RespawnInformation respawnInformation) | Called when a player is about to be sent respawn information | |
| 358 | OnRfBroadcasterAdd | Entity | nonnull | object OnRfBroadcasterAdd(IRFObject obj, int frequency) | Called right before an object starts broadcasting an RF frequency | |
| 359 | OnRfBroadcasterAdded | Entity | none | void OnRfBroadcasterAdded(IRFObject obj, int frequency) | Called right after an object has started broadcasting an RF frequency | |
| 360 | OnRfBroadcasterRemove | Entity | nonnull | object OnRfBroadcasterRemove(IRFObject obj, int frequency) | Called right before an object stops broadasting an RF frequency | |
| 361 | OnRfBroadcasterRemoved | Entity | none | void OnRfBroadcasterRemoved(IRFObject obj, int frequency) | Called right after an object has stopped broadcasting an RF frequency | |
| 362 | OnRfFrequencyChange | Entity | nonnull | object OnRfFrequencyChange(IRFObject obj, int frequency, BasePlayer player) | Called when a player tries to change the frequency of an RF broadcaster or receiver; Useful for preventing particular reserved frequencies from being selected | |
| 363 | OnRfFrequencyChanged | Entity | none | void OnRfFrequencyChanged(IRFObject obj, int frequency, BasePlayer player) | Called after a player has changed the frequency of an RF broadcaster or receiver | |
| 364 | OnRfListenerAdd | Entity | nonnull | object OnRfListenerAdd(IRFObject obj, int frequency) | Called right before an object starts listening to an RF frequency | |
| 365 | OnRfListenerAdded | Entity | none | void OnRfListenerAdded(IRFObject obj, int frequency) | Called right after an object has started listening to an RF frequency | |
| 366 | OnRfListenerRemove | Entity | nonnull | object OnRfListenerRemove(IRFObject obj, int frequency) | Called right before an object stops listening to an RF frequency | |
| 367 | OnRfListenerRemoved | Entity | none | void OnRfListenerRemoved(IRFObject obj, int frequency) | Called right after an object has stopped listening to an RF frequency | |
| 368 | OnRidableAnimalClaim | Entity | nonnull | object OnRidableAnimalClaim(BaseRidableAnimal animal, BasePlayer player) | Called when a player tries to claim a horse | |
| 369 | OnRidableAnimalClaimed | Entity | none | void OnRidableAnimalClaimed(BaseRidableAnimal animal, BasePlayer player) | Called after a player has claimed a horse | |
| 370 | OnRocketLaunched | Weapon | none | void OnRocketLaunched(BasePlayer player, BaseEntity entity) | Called when the player launches a rocket | |
| 371 | OnRotateVendingMachine | Vending | nonnull | object OnRotateVendingMachine(VendingMachine machine, BasePlayer player) | Called when a player attempts to rotate a vending machine | |
| 372 | OnRunPlayerMetabolism | Player | nonnull | object OnRunPlayerMetabolism(PlayerMetabolism metabolism, BasePlayer player, float delta) | Called before a metabolism update occurs for the specified player; Metabolism update consists of managing the player's temperature, health etc.; You can use this to turn off or change certain aspects of the metabolism, either by editing values before returning, or taking complete control of the method | |
| 373 | OnSamSiteTarget | Entity | nonnull | object OnSamSiteTarget(SamSite samSite, BaseCombatEntity target) | Called before last target visible time is updated | |
| 374 | OnSaveLoad | Server | nonnull | object OnSaveLoad(Dictionary<BaseEntity, ProtoBuf.Entity> entities) | Called when a save file is loaded | |
| 375 | OnSendCommand | Player | nonnull | object OnSendCommand(List<Connection> connections, string command, object[] args) ;; object OnSendCommand(Connection connection, string command, object[] args) | Called before a command is sent from the server to a player (or a group of players); Usually commands aren't sent to a group of players, so in most cases it's safe to use only OnSendCommand with a single Connection. | |
| 376 | OnServerCommand | Server | nonnull | object OnServerCommand(ConsoleSystem.Arg arg) | Useful for intercepting commands before they get to their intended target | |
| 377 | OnServerInformationUpdated | Server | none | void OnServerInformationUpdated() | Called after all steam information for the server has has been updated | |
| 378 | OnServerInitialized | Server | 1 | none | void OnServerInitialized(bool initial) | Called after the server startup has been completed and is awaiting connections; Also called for plugins that are hotloaded while the server is already started running; Boolean parameter, false if called on plugin hotload and true if called on server initialization |
| 379 | OnServerMessage | Server | data | object OnServerMessage(string message, string playerName, string color, ulong playerId) ;; void OnServerMessage(string message, string playerName, string color, ulong playerId) | Called before a SERVER message is sent to a player | |
| 380 | OnServerRestartInterrupt | Server | nonnull | object OnServerRestartInterrupt() | Called when a server restart is being cancelled | |
| 381 | OnServerSave | Server | 1 | none | void OnServerSave() | Called before the server saves |
| 382 | OnServerShutdown | Server | none | void OnServerShutdown() | Useful for saving something / etc on server shutdown | |
| 383 | OnShopAcceptClick | Entity | nonnull | object OnShopAcceptClick(ShopFront entity, BasePlayer player) | Called when a player is trying to accept a trade in ShopFront | |
| 384 | OnShopCancelClick | Entity | nonnull | object OnShopCancelClick(ShopFront entity, BasePlayer player) | Called when a player is cancelling a trade | |
| 385 | OnShopCompleteTrade | Entity | nonnull | object OnShopCompleteTrade(ShopFront entity) | Called before the trade is completed in ShopFront | |
| 386 | OnShopCompleteTrade | Entity | nonnull | object OnShopCompleteTrade(ShopFront shop, BasePlayer customer) | Called when a shopfront trade is complete | |
| 387 | OnSignLocked | Sign | none | void OnSignLocked(Signage sign, BasePlayer player) ;; void OnSignLocked(PhotoFrame photoFrame, BasePlayer player) | Called after the player has locked a sign or photo frame | |
| 388 | OnSignUpdated | Sign | none | void OnSignUpdated(Signage sign, BasePlayer player, int textureIndex) ;; void OnSignUpdated(PhotoFrame photoFrame, BasePlayer player) ;; void OnSignUpdated(CarvablePumpkin pumpkin, BasePlayer player) | Called after the player has changed the text on a sign or updated a photo frame | |
| 389 | OnSleepingBagDestroy | Entity | nonnull | object OnSleepingBagDestroy(SleepingBag sleepingBag, BasePlayer player) | Called when a player tries to remove a sleeping bag from their respawn screen | |
| 390 | OnSleepingBagDestroyed | Entity | none | void OnSleepingBagDestroyed(SleepingBag sleepingBag, BasePlayer player) | Called after a player removes a sleeping bag from their respawn screen | |
| 391 | OnSleepingBagValidCheck | Entity | bool | bool? OnSleepingBagValidCheck(SleepingBag bag, ulong targetPlayerID, bool ignoreTimers) | Called when determining if a sleeping bag is a valid respawn location for a player; Useful in conjunction with OnRespawnInformationGiven since a custom sleeping bag will need to pass this check | |
| 392 | OnSolarPanelSunUpdate | Entity | nonnull | object OnSolarPanelSunUpdate(SolarPanel panel, int currentEnergy) | Called when a solar panel updates the amount of energy it is getting from the sun | |
| 393 | OnSpinWheel | Sign | none | void OnSpinWheel(BasePlayer player, SpinnerWheel wheel) | Called when the player spins a spinner wheel | |
| 394 | OnStashExposed | Player | none | void OnStashExposed(StashContainer stash, BasePlayer player) | Called when a player reveals a hidden stash | |
| 395 | OnStashHidden | Player | none | void OnStashHidden(StashContainer stash, BasePlayer player) | Called when a player hides a stash | |
| 396 | OnStructureDemolish | Structure | nonnull | object OnStructureDemolish(BaseCombatEntity entity, BasePlayer player, bool immediate) | Called when the player selects Demolish or DemolishImmediate from the BuildingBlock or BaseCombatEntity menu | |
| 397 | OnStructureRepair | Structure | nonnull | object OnStructureRepair(BaseCombatEntity entity, BasePlayer player) | Called when the player repairs a BuildingBlock or BaseCombatEntity | |
| 398 | OnStructureRotate | Structure | nonnull | object OnStructureRotate(BaseCombatEntity entity, BasePlayer player) | Called when the player rotates a BuildingBlock or BaseCombatEntity | |
| 399 | OnStructureUpgrade | Structure | nonnull | object OnStructureUpgrade(BaseCombatEntity entity, BasePlayer player, BuildingGrade.Enum grade) | Called when the player upgrades the grade of a BuildingBlock or BaseCombatEntity | |
| 400 | OnSupplyDropDropped | Entity | none | void OnSupplyDropDropped(SupplyDrop supplyDrop, CargoPlane cargoPlane) | Called right after a cargo plane has dropped a supply drop | |
| 401 | OnSupplyDropLanded | Entity | none | void OnSupplyDropLanded(SupplyDrop entity) | Called after Supply Drop has landed | |
| 402 | OnSurveyGather | Resource | none | void OnSurveyGather(SurveyCharge survey, Item item) | Called before items are gathered from a survey charge | |
| 403 | OnSwitchToggle | Entity | nonnull | object OnSwitchToggle(IOEntity entity, BasePlayer player) | Called when a player tries to switch and ElectricSwitch or FuelGenerator | |
| 404 | OnSwitchToggled | Entity | none | void OnSwitchToggled(IOEntity entity, BasePlayer player) | Called right after a player switches an ElectricSwitch or FuelGenerator | |
| 405 | OnTakeCurrencyItem | Vending | nonnull | object OnTakeCurrencyItem(VendingMachine vending, Item item) | Called before currency item is taken | |
| 406 | OnTeamAcceptInvite | Team | nonnull | object OnTeamAcceptInvite(RelationshipManager.PlayerTeam team, BasePlayer player) | Useful for canceling team invitation acceptation | |
| 407 | OnTeamCreate | Team | nonnull | object OnTeamCreate(BasePlayer player) | Useful for canceling team creation | |
| 408 | OnTeamCreated | Team | none | void OnTeamCreated(BasePlayer player, RelationshipManager.PlayerTeam team) | Called after a team was created | |
| 409 | OnTeamDisband | Team | nonnull | object OnTeamDisband(RelationshipManager.PlayerTeam team) | Useful for canceling team disbandment | |
| 410 | OnTeamDisbanded | Team | none | void OnTeamDisbanded(RelationshipManager.PlayerTeam team) | Called when the team was disbanded | |
| 411 | OnTeamInvite | Team | nonnull | object OnTeamInvite(BasePlayer inviter, BasePlayer target) | Useful for canceling an invitation | |
| 412 | OnTeamKick | Team | nonnull | object OnTeamKick(RelationshipManager.PlayerTeam team, BasePlayer player, ulong target) | Useful for canceling kick of the player from the team | |
| 413 | OnTeamLeave | Team | nonnull | object OnTeamLeave(RelationshipManager.PlayerTeam team, BasePlayer player) | Useful for canceling the leave from the team | |
| 414 | OnTeamPromote | Team | nonnull | object OnTeamPromote(RelationshipManager.PlayerTeam team, BasePlayer newLeader) | Useful for canceling player's promotion in the team | |
| 415 | OnTeamRejectInvite | Team | nonnull | object OnTeamRejectInvite(BasePlayer rejector, RelationshipManager.PlayerTeam team) | Useful for canceling the invitation rejection | |
| 416 | OnTeamUpdate | Team | nonnull | object OnTeamUpdate(ulong currentTeam, ulong newTeam, BasePlayer player) | Called when player's team is updated | |
| 417 | OnTeamUpdated | Team | nonnull | object OnTeamUpdated(ulong currentTeam, PlayerTeam playerTeam, BasePlayer player) | Called before sending team info to player | |
| 418 | OnTechTreeNodeUnlock | TechTree | nonnull | object OnTechTreeNodeUnlock(Workbench workbench, TechTreeData.NodeInstance node, BasePlayer player) | Called when a player is attempting to unlock a blueprint in a tech tree, after the `CanUnlockTechTreeNode` and `CanUnlockTechTreeNodePath` hooks, before the player is charged scrap; Useful for replacing the default behavior to charge the player a different currency, or to unlock multiple blueprints at once (such as those leading up to the one selected) | |
| 419 | OnTechTreeNodeUnlocked | TechTree | none | void OnTechTreeNodeUnlocked(Workbench workbench, TechTreeData.NodeInstance node, BasePlayer player) | Called after a player has unlocked a blueprint in a tech tree; Useful for automatically unlocking blueprints for team members | |
| 420 | OnTerrainInitialized | Terrain | none | void OnTerrainInitialized() | Called after the terrain generation process has completed | |
| 421 | OnThreatLevelUpdate | Player | nonnull | object OnThreatLevelUpdate(BasePlayer player) | Called when a player's threat level is about to be updated | |
| 422 | OnTick | Server | none | void OnTick() | Called every tick (defined by the tick rate of the server); For better performance, avoid using heavy calculations in this hook. | |
| 423 | OnToggleVendingBroadcast | Vending | none | void OnToggleVendingBroadcast(VendingMachine machine, BasePlayer player) | Called when a player toggles the broadcasting of the vending machine | |
| 424 | OnTrapArm | Item | nonnull | object OnTrapArm(BearTrap trap, BasePlayer player) | Called when the player arms a bear trap | |
| 425 | OnTrapDisarm | Item | nonnull | object OnTrapDisarm(Landmine trap, BasePlayer player) | Called when the player disarms a land mine | |
| 426 | OnTrapSnapped | Item | none | void OnTrapSnapped(BaseTrapTrigger trap, GameObject go) | Called when a trap is triggered by a game object | |
| 427 | OnTrapTrigger | Item | nonnull | object OnTrapTrigger(BaseTrap trap, GameObject go) | Called when a trap is triggered by a game object | |
| 428 | OnTreeMarkerHit | Resource | bool | bool? OnTreeMarkerHit(TreeEntity tree, HitInfo info) | Called when a player hits a tree with a tool (rock, hatchet, etc.) | |
| 429 | OnTurretAssign | Entity | nonnull | object OnTurretAssign(AutoTurret turret, ulong targetId, BasePlayer initiator) | Called when a player attempts to authorize another player on a turret | |
| 430 | OnTurretAssigned | Entity | none | void OnTurretAssigned(AutoTurret turret, ulong targetId, BasePlayer initiator) | Called when a player has been authorized on a turret by another player | |
| 431 | OnTurretAuthorize | Entity | nonnull | object OnTurretAuthorize(AutoTurret turret, BasePlayer player) | Called when a player attempts to authorize on a turret | |
| 432 | OnTurretClearList | Entity | nonnull | object OnTurretClearList(AutoTurret turret, BasePlayer player) | Called when a player attempts to clear an autoturret's authorized list | |
| 433 | OnTurretDeauthorize | Entity | nonnull | object OnTurretDeauthorize(AutoTurret turret, BasePlayer player) | Called when a player is deauthorized on an autoturret | |
| 434 | OnTurretModeToggle | Entity | none | void OnTurretModeToggle(AutoTurret turret) | Called when the mode of an autoturrent is toggled | |
| 435 | OnTurretRotate | Entity | nonnull | object OnTurretRotate(AutoTurret turret, BasePlayer player) | Called when a player tries to rotate an auto turret | |
| 436 | OnTurretShutdown | Entity | nonnull | object OnTurretShutdown(AutoTurret turret) | Called when an autoturret is shut down | |
| 437 | OnTurretStartup | Entity | nonnull | object OnTurretStartup(AutoTurret turret) | Called when an autoturret starts up | |
| 438 | OnTurretTarget | Entity | nonnull | object OnTurretTarget(AutoTurret turret, BaseCombatEntity entity) | Called when an autoturret attempts to target an entity | |
| 439 | OnTurretToggle | Entity | nonnull | object OnTurretToggle(AutoTurret turret) | Called when an autoturret toggles powerstate (on/off) | |
| 440 | OnUserApprove | Player | nonnull | object OnUserApprove(Network.Connection connection) | Used by RustCore and abstracted into CanClientLogin | |
| 441 | OnUserApproved | Player | 1 | none | void OnUserApproved(string name, string id, string ipAddress) | Called after a player is approved to connect to the server |
| 442 | OnUserBanned | Player | 1 | none | void OnUserBanned(string name, string id, string ipAddress, string reason) | Called when a player has been banned from the server; Will have reason available if provided |
| 443 | OnUserChat | Player | 1 | data | object OnUserChat(IPlayer player, string message) | Called when a player sends a chat message to the server |
| 444 | OnUserCommand | Player | 1 | nonnull | object OnUserCommand(IPlayer player, string command, string[] args) | Useful for intercepting players' commands before their handling |
| 445 | OnUserConnected | Player | 1 | none | void OnUserConnected(IPlayer player) | Called after a player has been approved and has connected to the server |
| 446 | OnUserDisconnected | Player | 1 | none | void OnUserDisconnected(IPlayer player) | Called after a player has disconnected from the server |
| 447 | OnUserGroupAdded | Player | 1 | none | void OnUserGroupAdded(string id, string groupName) | Called when a player has been added to a group |
| 448 | OnUserGroupRemoved | Player | 1 | none | void OnUserGroupRemoved(string id, string groupName) | Called when a player has been removed from a group |
| 449 | OnUserKicked | Player | 1 | none | void OnUserKicked(IPlayer player, string reason) | Called when a player has been kicked from the server |
| 450 | OnUserNameUpdated | Player | 1 | none | void OnUserNameUpdated(string id, string oldName, string newName) | Called when a player's stored nickname has been changed |
| 451 | OnUserPermissionGranted | Player | 1 | none | void OnUserPermissionGranted(string id, string permName) | Called when a permission has been granted to a player |
| 452 | OnUserPermissionRevoked | Player | 1 | none | void OnUserPermissionRevoked(string id, string permName) | Called when a permission has been revoked from a player |
| 453 | OnUserRespawn | Player | 1 | none | void OnUserRespawn(IPlayer player) | Called when a player is respawning |
| 454 | OnUserRespawned | Player | 1 | none | void OnUserRespawned(IPlayer player) | Called after a player has respawned |
| 455 | OnUserUnbanned | Player | 1 | none | void OnUserUnbanned(string name, string id, string ipAddress) | Called when a player has been unbanned from the server |
| 456 | OnVehicleModuleDeselected | Vehicle | none | void OnVehicleModuleDeselected(ModularCarGarage carLift, BasePlayer player) | Called right after a player deselects a vehicle module item in a car's inventory | |
| 457 | OnVehicleModuleMove | Vehicle | nonnull | object OnVehicleModuleMove(BaseVehicleModule module, BaseModularVehicle vehicle, BasePlayer player) | Called when a player tries to move a vehicle module item that is currently on a vehicle | |
| 458 | OnVehicleModulesAssign | Vehicle | nonnull | object OnVehicleModulesAssign(ModularCar car, ItemModVehicleModule[] modulePreset) | Called right after a modular car has spawned, but before module items are added to its inventory from a preset | |
| 459 | OnVehicleModulesAssigned | Vehicle | none | void OnVehicleModulesAssigned(ModularCar car, ItemModVehicleModule[] modulePreset) | Called right after a car has spawned and its module inventory has been filled with module items from a preset | |
| 460 | OnVehicleModuleSelect | Vehicle | nonnull | object OnVehicleModuleSelect(Item moduleItem, ModularCarGarage carLift, BasePlayer player) | Called right after a player has selected a vehicle module item in a car inventory, but before they are shown the corresponding storage container | |
| 461 | OnVehicleModuleSelected | Vehicle | none | void OnVehicleModuleSelected(Item moduleItem, ModularCarGarage carLift, BasePlayer player) | Called right after a player has selected a vehicle module item in a car's inventory, and after they have been shown the corresponding storage container if applicable | |
| 462 | OnVehiclePush | Vehicle | nonnull | object OnVehiclePush(BaseVehicle vehicle, BasePlayer player) | Called when a player tries to push a vehicle | |
| 463 | OnVendingShopOpened | Vending | none | void OnVendingShopOpened(VendingMachine machine, BasePlayer player) | Called when a player opens the customer ui for a vending machine | |
| 464 | OnVendingShopRename | Vending | nonnull | object OnVendingShopRename(VendingMachine vending, string newName, BasePlayer player) | Called when a player tries to rename vending shop | |
| 465 | OnVendingTransaction | Vending | bool | bool OnVendingTransaction(VendingMachine machine, BasePlayer buyer, int sellOrderId, int numberOfTransactions) | Called when a player attempts to buy an item from a vending machine | |
| 466 | OnWaterCollect | Entity | nonnull | object OnWaterCollect(WaterCatcher waterCatcher) | Called when a water catcher is about to collect water | |
| 467 | OnWaterPurified | Entity | none | void OnWaterPurified(WaterPurifier waterPurifier, float timeCooked) | Called after salt water has been converted to fresh water in a water purifier | |
| 468 | OnWaterPurify | Entity | nonnull | object OnWaterPurify(WaterPurifier waterPurifier, float timeCooked) | Called when salt water is about to be converted to fresh water in a water purifier | |
| 469 | OnWeaponFired | Weapon | none | void OnWeaponFired(BaseProjectile projectile, BasePlayer player, ItemModProjectile mod, ProtoBuf.ProjectileShoot projectiles) | Called when the player fires a weapon | |
| 470 | OnWeaponReload | Weapon | nonnull | object OnWeaponReload(BaseProjectile weapon, BasePlayer player) | Called when the player reloads a weapon | |
| 471 | OnWireClear | Entity | nonnull | object OnWireClear(BasePlayer player, IOEntity entity1, int connected, IOEntity entity2, bool flag) | Useful for preventing clearing wires | |
| 472 | OnWireConnect | Entity | nonnull | object OnWireConnect(BasePlayer player, IOEntity entity1, int inputs, IOEntity entity2, int outputs) | Useful for preventing a wire to connect | |
| 473 | OnWorldPrefabSpawned | World | none | void OnWorldPrefabSpawned(GameObject gameObject, string category) | Called when a world prefab was spawned | |
| 474 | OnWorldProjectileCreate | Weapon | nonnull | object OnWorldProjectileCreate(HitInfo hitInfo, Item item) | Called when a projectile is created | |
| 475 | Unload | Plugin | 1 | none | void Unload() | Called when a plugin is being unloaded |