--[[-- Control - Inventory Clear Will move players items to spawn when they are banned or kicked, option to clear on leave on_player_banned - player_name on_player_kicked - player_index ]] local ExpUtil = require("modules/exp_util") local Feature = require("modules/exp_scenario/features") local feature = Feature.register("inventory_clear") --- The events which clear the inventory of the player local events = { defines.events.on_player_banned, defines.events.on_player_kicked, } --- @param event { player_index: number } local function clear_items(event) if not event.player_index then return end local player = assert(game.get_player(event.player_index)) local inventory = assert(player.get_main_inventory()) ExpUtil.transfer_inventory_to_surface{ inventory = inventory, surface = game.planets.nauvis.surface, name = "iron-chest", allow_creation = true, } end local event_handlers = {} for _, event_name in ipairs(events) do event_handlers[event_name] = clear_items end return feature:guard{ events = event_handlers, }