Skip to main content Module event_data Copy item path Source CustomInputEventEvent Called when a CustomInputPrototype is activated. OnAchievementGainedEvent Called when an achievement is gained. OnAiCommandCompletedEvent Called when a unit/group completes a command. OnAreaClonedEvent Called when an area of the map is cloned. OnBiterBaseBuiltEvent Called when a biter migration builds a base. OnBlueprintSettingsPastedEvent Called when a blueprint entity is pasted over an existing entity or entity ghost. OnBrushClonedEvent Called when a set of positions on the map is cloned. OnBuildBaseArrivedEvent Called when a defines.command.build_base command reaches its destination, and before building starts. OnBuiltEntityEvent Called when player builds something. OnCancelledDeconstructionEvent Called when the deconstruction of an entity is canceled. OnCancelledUpgradeEvent Called when the upgrade of an entity is canceled. OnCargoPodDeliveredCargoEvent Called after a cargo pod has delivered its cargo. OnCargoPodFinishedAscendingEvent Called when a cargo pod departs a surface. OnCargoPodFinishedDescendingEvent Called when a cargo pods lands on a surface, either at a station or on the ground. OnCargoPodStartedAscendingEvent Called when a cargo pod departs from a space platform hub or by another method not attached to a rocket. OnCharacterCorpseExpiredEvent Called when a character corpse expires due to timeout or all of the items being removed from it. OnChartTagAddedEvent Called when a chart tag is created. OnChartTagModifiedEvent Called when a chart tag is modified by a player or by script. OnChartTagRemovedEvent Called just before a chart tag is deleted. OnChunkChartedEvent Called when a chunk is charted or re-charted. OnChunkDeletedEvent Called when one or more chunks are deleted using LuaSurface::delete_chunk . OnChunkGeneratedEvent Called when a chunk is generated. OnCombatRobotExpiredEvent Called when a combat robot expires through a lack of energy, or timeout. OnConsoleChatEvent Called when a message is sent to the in-game console, either by a player or through the server interface. OnConsoleCommandEvent Called when someone enters a command-like message regardless of it being a valid command. OnCutsceneCancelledEvent Called when a cutscene is cancelled by the player or by script. OnCutsceneFinishedEvent Called when a cutscene finishes naturally (was not cancelled). OnCutsceneStartedEvent Called when a cutscene starts. OnCutsceneWaypointReachedEvent Called when a cutscene is playing, each time it reaches a waypoint in that cutscene. OnEntityClonedEvent Called when an entity is cloned. The filter applies to the source entity. OnEntityColorChangedEvent Called after an entity has been recolored either by the player or through script. OnEntityDamagedEvent Called when an entity is damaged. This is not called when an entities health is set directly by another mod. OnEntityDiedEvent Called when an entity dies. OnEntityLogisticSlotChangedEvent Called when one of an entity’s logistic slots changes. OnEntityRenamedEvent Called after an entity has been renamed either by the player or through script. OnEntitySettingsPastedEvent Called after entity copy-paste is done. OnEntitySpawnedEvent Called when an entity is spawned by a EnemySpawner OnEquipmentInsertedEvent Called after equipment is inserted into an equipment grid. OnEquipmentRemovedEvent Called after equipment is removed from an equipment grid. OnForceCeaseFireChangedEvent Called when the a forces cease fire values change. OnForceCreatedEvent Called when a new force is created using game.create_force() OnForceFriendsChangedEvent Called when the a forces friends change. OnForceResetEvent Called when LuaForce::reset is finished. OnForcesMergedEvent Called after two forces have been merged using game.merge_forces(). OnForcesMergingEvent Called when two forces are about to be merged using game.merge_forces(). OnGameCreatedFromScenarioEvent Called when a game is created from a scenario. This is fired for every mod, even when the scenario’s save data already includes it. In those cases however, LuaBootstrap::on_init is not fired. OnGuiCheckedStateChangedEvent Called when LuaGuiElement checked state is changed (related to checkboxes and radio buttons). OnGuiClickEvent Called when LuaGuiElement is clicked. OnGuiClosedEvent Called when the player closes the GUI they have open. OnGuiConfirmedEvent Called when a LuaGuiElement is confirmed, for example by pressing Enter in a textfield. OnGuiElemChangedEvent Called when LuaGuiElement element value is changed (related to choose element buttons). OnGuiHoverEvent Called when LuaGuiElement is hovered by the mouse. OnGuiInventoryActionEvent Called when a player interacts with a custom inventory GUI. OnGuiLeaveEvent Called when the player’s cursor leaves a LuaGuiElement that was previously hovered. OnGuiLocationChangedEvent Called when LuaGuiElement element location is changed (related to frames in player.gui.screen). OnGuiOpenedEvent Called when the player opens a GUI. OnGuiSelectedTabChangedEvent Called when LuaGuiElement selected tab is changed (related to tabbed-panes). OnGuiSelectionStateChangedEvent Called when LuaGuiElement selection state is changed (related to drop-downs and listboxes). OnGuiSwitchStateChangedEvent Called when LuaGuiElement switch state is changed (related to switches). OnGuiTextChangedEvent Called when LuaGuiElement text is changed by the player. OnGuiValueChangedEvent Called when LuaGuiElement slider value is changed (related to the slider element). OnLandMineArmedEvent Called when a land mine is armed. OnLuaShortcutEvent Called when a custom Lua shortcut is pressed. OnMarkedForDeconstructionEvent Called when an entity is marked for deconstruction with the Deconstruction planner or via script. OnMarkedForUpgradeEvent Called when an entity is marked for upgrade with the upgrade planner or via script. OnMarketItemPurchasedEvent Called after a player purchases some offer from a market entity. OnModItemOpenedEvent Called when the player uses the ‘Open item GUI’ control on an item defined with the ‘mod-openable’ flag OnMultiplayerInitEvent Called when LuaGameScript::is_multiplayer changes to true. May also be raised when it was already true but a game was loaded from a save file and with hosting. OnObjectDestroyedEvent Called after an object is destroyed which was registered with LuaBootstrap::register_on_object_destroyed previously. OnPermissionGroupAddedEvent Called directly after a permission group is added. OnPermissionGroupDeletedEvent Called directly after a permission group is deleted. OnPermissionGroupEditedEvent Called directly after a permission group is edited in some way. OnPermissionStringImportedEvent Called directly after a permission string is imported. OnPickedUpItemEvent Called when a player picks up an item. OnPlayerAltReverseSelectedAreaEvent Called after a player alt-reverse-selects an area with a selection-tool item. OnPlayerAltSelectedAreaEvent Called after a player alt-selects an area with a selection-tool item. OnPlayerAmmoInventoryChangedEvent Called after a players ammo inventory changed in some way. OnPlayerArmorInventoryChangedEvent Called after a players armor inventory changed in some way. OnPlayerBannedEvent Called when a player is banned. OnPlayerBuiltTileEvent Called after a player builds tiles. OnPlayerCancelledCraftingEvent Called when a player cancels crafting. OnPlayerChangedForceEvent Called after a player changes forces. OnPlayerChangedPositionEvent Called when the tile position a player is located at changes. OnPlayerChangedSurfaceEvent Called after a player changes surfaces. OnPlayerCheatModeDisabledEvent Called when cheat mode is disabled on a player. OnPlayerCheatModeEnabledEvent Called when cheat mode is enabled on a player. OnPlayerClickedGpsTagEvent Called when a player clicks a gps tag OnPlayerColorChangedEvent Called after a player’s color changes. OnPlayerConfiguredBlueprintEvent Called when a player clicks the “confirm” button in the configure Blueprint GUI. OnPlayerControllerChangedEvent Called after a player changes controller types. OnPlayerCraftedItemEvent Called when the player finishes crafting an item. This event fires just before the results are inserted into the player’s inventory, not when the crafting is queued (see on_pre_player_crafted_item ). OnPlayerCreatedEvent Called after the player was created. OnPlayerCursorStackChangedEvent Called after a player’s cursor stack changed in some way. OnPlayerDeconstructedAreaEvent Called when a player selects an area with a deconstruction planner. OnPlayerDemotedEvent Called when a player is demoted. OnPlayerDiedEvent Called after a player dies. OnPlayerDisplayDensityScaleChangedEvent Called when the display density scale changes for a given player. The display density scale is the scale value automatically applied based on the player’s display DPI. This is only relevant on platforms that support high-density displays. OnPlayerDisplayResolutionChangedEvent Called when the display resolution changes for a given player. OnPlayerDisplayScaleChangedEvent Called when the display scale changes for a given player. OnPlayerDrivingChangedStateEvent Called when the player’s driving state has changed, meaning a player has either entered or left a vehicle. OnPlayerDroppedItemEvent Called when a player drops an item on the ground. OnPlayerDroppedItemIntoEntityEvent Called when a player drops a single item into an entity. OnPlayerFastTransferredEvent Called when a player fast-transfers something to or from an entity. OnPlayerFlippedEntityEvent Called when the player flips an entity. This event is only fired when the entity actually changes its orientation or mirroring, so it won’t be triggered when pressing the flip keys on an entity that can’t be flipped. OnPlayerFlushedFluidEvent Called after player flushed fluid OnPlayerGunInventoryChangedEvent Called after a players gun inventory changed in some way. OnPlayerInputMethodChangedEvent Called when a player’s input method changes. See LuaPlayer::input_method . OnPlayerJoinedGameEvent Called after a player joins the game. This is not called when loading a save file in singleplayer, as the player doesn’t actually leave the game, and the save is just on pause until they rejoin. OnPlayerKickedEvent Called when a player is kicked. OnPlayerLeftGameEvent Called after a player leaves the game. This is not called when closing a save file in singleplayer, as the player doesn’t actually leave the game, and the save is just on pause until they rejoin. OnPlayerLocaleChangedEvent Called when a player’s active locale changes. See LuaPlayer::locale . OnPlayerMainInventoryChangedEvent Called after a players main inventory changed in some way. OnPlayerMinedEntityEvent Called after the results of an entity being mined are collected just before the entity is destroyed. OnPlayerMinedItemEvent Called when the player mines something. OnPlayerMinedTileEvent Called after a player mines tiles. OnPlayerMusicChangedEvent Called when a player’s current music track (ambient sound) changes. This includes when the music track finishes playing. OnPlayerMutedEvent Called when a player is muted. OnPlayerPipetteEvent Called when a player invokes the “smart pipette” over an entity. OnPlayerPlacedEquipmentEvent Called after the player puts equipment in an equipment grid OnPlayerPromotedEvent Called when a player is promoted. OnPlayerRemovedEquipmentEvent Called after the player removes equipment from an equipment grid OnPlayerRemovedEvent Called when a player is removed (deleted) from the game. This is markedly different from a player temporarily leaving the game, and instead behaves like the player never existed in the save file. OnPlayerRepairedEntityEvent Called when a player repairs an entity. OnPlayerRespawnedEvent Called after a player respawns. OnPlayerReverseSelectedAreaEvent Called after a player reverse-selects an area with a selection-tool item. OnPlayerRotatedEntityEvent Called when the player rotates an entity. This event is only fired when the entity actually changes its orientation – pressing the rotate key on an entity that can’t be rotated won’t fire this event. OnPlayerSelectedAreaEvent Called after a player selects an area with a selection-tool item. OnPlayerSetQuickBarSlotEvent Called when a player sets a quickbar slot to anything (new value, or set to empty). OnPlayerSetupBlueprintEvent Called when a player selects an area with a blueprint. OnPlayerToggledAltModeEvent Called when a player toggles alt mode, also known as “show entity info”. OnPlayerToggledMapEditorEvent Called when a player toggles the map editor on or off. OnPlayerTrashInventoryChangedEvent Called after a players trash inventory changed in some way. OnPlayerUnbannedEvent Called when a player is un-banned. OnPlayerUnmutedEvent Called when a player is unmuted. OnPlayerUsedCapsuleEvent Called when a player uses a capsule that results in some game action. OnPlayerUsedSpidertronRemoteEvent Called when a player uses spidertron remote to send all selected units to a given position OnPostEntityDiedEvent Called after an entity dies. OnPostSegmentedUnitDiedEvent Called after a segmented unit dies. OnPreBuildEvent Called when players uses an item to build something. Called before on_built_entity . OnPreChunkDeletedEvent Called before one or more chunks are deleted using LuaSurface::delete_chunk . OnPreEntitySettingsPastedEvent Called before entity copy-paste is done. OnPreGhostDeconstructedEvent Called before a ghost entity is destroyed as a result of being marked for deconstruction. OnPreGhostUpgradedEvent Called before a ghost entity is upgraded. OnPrePermissionGroupDeletedEvent Called directly before a permission group is deleted. OnPrePermissionStringImportedEvent Called directly before a permission string is imported. OnPrePlayerCraftedItemEvent Called when a player queues something to be crafted. OnPrePlayerDiedEvent Called before a players dies. OnPrePlayerLeftGameEvent Called before a player leaves the game. OnPrePlayerMinedItemEvent Called when the player completes a mining action, but before the entity is potentially removed from the map. This is called even if the entity does not end up being removed. OnPrePlayerRemovedEvent Called before a player is removed (deleted) from the game. This is markedly different from a player temporarily leaving the game, and instead behaves like the player never existed in the save file. OnPrePlayerToggledMapEditorEvent Called before a player toggles the map editor on or off. OnPreRobotExplodedCliffEvent Called directly before a robot explodes cliffs. OnPreScenarioFinishedEvent Called just before the scenario finishes. OnPreScriptInventoryResizedEvent Called just before a script inventory is resized. OnPreSurfaceClearedEvent Called just before a surface is cleared (all entities removed and all chunks deleted). OnPreSurfaceDeletedEvent Called just before a surface is deleted. OnRedoAppliedEvent Called when the player triggers “redo”. OnResearchCancelledEvent Called when research is cancelled. OnResearchFinishedEvent Called when a research finishes. OnResearchMovedEvent Called when research is moved forwards or backwards in the research queue. OnResearchQueuedEvent Called when research is queued. OnResearchReversedEvent Called when a research is reversed (unresearched). OnResearchStartedEvent Called when a technology research starts. OnResourceDepletedEvent Called when a resource entity reaches 0 or its minimum yield for infinite resources. OnRobotBuiltEntityEvent Called when a construction robot builds an entity. OnRobotBuiltTileEvent Called after a robot builds tiles. OnRobotExplodedCliffEvent Called directly after a robot explodes cliffs. OnRobotMinedEntityEvent Called after the results of an entity being mined are collected just before the entity is destroyed. OnRobotMinedEvent Called when a robot mines an entity. OnRobotMinedTileEvent Called after a robot mines tiles. OnRobotPreMinedEvent Called before a robot mines an entity. OnRocketLaunchOrderedEvent Called when a rocket silo is ordered to be launched. OnRocketLaunchedEvent Called when a rocket finishes ascending. (Triggers listening for finished rocket launch past 2.0 have been moved to ‘on_cargo_pod_finished_ascending’ as rocket and cargo pod are two separate entities) OnRuntimeModSettingChangedEvent Called when a runtime mod setting is changed by a player. OnScriptInventoryResizedEvent Called just after a script inventory is resized. OnScriptPathRequestFinishedEvent Called when a LuaSurface::request_path call completes. OnScriptTriggerEffectEvent Called when a script trigger effect is triggered. OnSectorScannedEvent Called when an entity of type radar finishes scanning a sector. OnSegmentEntityCreatedEvent Called when an individual segment of a SegmentedUnit is created. OnSegmentedUnitCreatedEvent Called when a segmented unit is created for any reason. OnSegmentedUnitDamagedEvent Called when a segmented unit is damaged. This is not called when a segmented unit’s health is set directly by another mod. OnSegmentedUnitDiedEvent Called when a segmented unit dies. OnSelectedEntityChangedEvent Called after the selected entity changes for a given player. OnSingleplayerInitEvent Called when LuaGameScript::is_multiplayer changes to false. May also be raised when it was already false but a game was loaded from a save file without hosting. OnSpacePlatformBuiltEntityEvent Called when a space platform builds an entity. OnSpacePlatformBuiltTileEvent Called after a space platform builds tiles. OnSpacePlatformChangedStateEvent Called when a space platform changes state OnSpacePlatformMinedEntityEvent Called after the results of an entity being mined are collected just before the entity is destroyed. OnSpacePlatformMinedItemEvent Called when a platform mines an entity. OnSpacePlatformMinedTileEvent Called after a platform mines tiles. OnSpacePlatformPreMinedEvent Called before a platform mines an entity. OnSpiderCommandCompletedEvent Called when a spider finishes moving to its autopilot position. OnStringTranslatedEvent Called when a translation request generated through LuaPlayer::request_translation or LuaPlayer::request_translations has been completed. OnSurfaceClearedEvent Called just after a surface is cleared (all entities removed and all chunks deleted). OnSurfaceCreatedEvent Called when a surface is created. OnSurfaceDeletedEvent Called after a surface is deleted. OnSurfaceImportedEvent Called after a surface is imported via the map editor. OnSurfaceRenamedEvent Called when a surface is renamed. OnTechnologyEffectsResetEvent Called when LuaForce::reset_technology_effects is finished. OnTerritoryCreatedEvent Called when a territory is created for any reason. OnTerritoryDestroyedEvent Called when a territory is destroyed from a surface. OnTickEvent It is fired once every tick. Since this event is fired every tick, its handler shouldn’t include performance heavy code. OnTowerMinedPlantEvent Called after the results of an entity being mined are collected just before the entity is destroyed. OnTowerPlantedSeedEvent Called before an agricultural tower plants a seed. OnTowerPreMinedPlantEvent Called before an agricultural tower mines a plant. OnTrainChangedStateEvent Called when a train changes state (started to stopped and vice versa) OnTrainCreatedEvent Called when a new train is created either through disconnecting/connecting an existing one or building a new one. OnTrainScheduleChangedEvent Called when a trains schedule is changed either by the player or through script. OnTriggerCreatedEntityEvent Called when an entity with a trigger prototype (such as capsules) create an entity AND that trigger prototype defined trigger_created_entity=true. OnTriggerFiredArtilleryEvent Called when an entity with a trigger prototype (such as capsules) fire an artillery projectile AND that trigger prototype defined trigger_fired_artillery=true. OnUdpPacketReceivedEvent Called when new packets are processed by LuaHelpers::recv_udp . OnUndoAppliedEvent Called when the player triggers “undo”. OnUnitAddedToGroupEvent Called when a unit is added to a unit group. OnUnitGroupCreatedEvent Called when a new unit group is created, before any members are added to it. OnUnitGroupFinishedGatheringEvent Called when a unit group finishes gathering and starts executing its command. OnUnitRemovedFromGroupEvent Called when a unit is removed from a unit group. OnWorkerRobotExpiredEvent Called when a worker (construction or logistic) robot expires through a lack of energy. ScriptRaisedBuiltEvent A static event mods can use to tell other mods they built something by script. This event is only raised if a mod does so with LuaBootstrap::raise_event or LuaBootstrap::raise_script_built , or when raise_built is passed to LuaSurface::create_entity . ScriptRaisedDestroyEvent A static event mods can use to tell other mods they destroyed something by script. This event is only raised if a mod does so with LuaBootstrap::raise_event or LuaBootstrap::raise_script_destroy , or when raise_destroy is passed to LuaEntity::destroy . ScriptRaisedDestroySegmentedUnitEvent A static event that mods can use to tell other mods they destroyed a segmented unit by script. This event is only raised if a mod does so with LuaBootstrap::raise_event , or LuaBootstrap::raise_script_destroy_segmented_unit , or when raise_destroy is passed to LuaSegmentedUnit::destroy . ScriptRaisedReviveEvent A static event mods can use to tell other mods they revived something by script. This event is only raised if a mod does so with LuaBootstrap::raise_event or LuaBootstrap::raise_script_revive , or when raise_revive is passed to LuaEntity::revive . ScriptRaisedSetTilesEvent A static event mods can use to tell other mods they changed tiles on a surface by script. This event is only raised if a mod does so with LuaBootstrap::raise_event or LuaBootstrap::raise_script_set_tiles , or when raise_event is passed to LuaSurface::set_tiles . ScriptRaisedTeleportedEvent A static event mods can use to tell other mods they teleported something by script. This event is only raised if a mod does so with LuaBootstrap::raise_event or LuaBootstrap::raise_script_teleported , or when raise_teleported is passed to LuaControl::teleport .