mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2026-11-11 15:54:52 +09:00
40 lines
1.1 KiB
Lua
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,
|
|
}
|