Files
Bastiaan 757a36fc03 Merge pull request #486 from bbassie/feature/convert-configs
Convert the remaining scenario configs into features
2026-10-05 00:33:36 +01:00

40 lines
1.1 KiB
Lua

--[[-- 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,
}