diff --git a/config/inventory_clear.lua b/config/inventory_clear.lua new file mode 100644 index 00000000..ece84814 --- /dev/null +++ b/config/inventory_clear.lua @@ -0,0 +1,9 @@ +--- Config to control when players items are removed, this is a list of event names that will trigger inventory clear +-- @config inventory_clear + +local events = defines.events +return { + events.on_player_banned, + events.on_player_kicked, + --events.on_player_left_game +} \ No newline at end of file diff --git a/modules/addons/inventory-clear.lua b/modules/addons/inventory-clear.lua new file mode 100644 index 00000000..57ae4958 --- /dev/null +++ b/modules/addons/inventory-clear.lua @@ -0,0 +1,15 @@ +--- Will move players items to spawn when they are banned or kicked, option to clear on leave +-- @addon Inventory-Clear + +local Event = require 'utils.event' --- @dep utils.event +local events = require 'config.inventory_clear' --- @dep config.inventory_clear +local move_items = _C.move_items --- @dep expcore.common + +local function clear_items(event) + local player = game.players[event.player_index] + local inv = player.get_main_inventory() + move_items(inv.get_contents()) + inv.clear() +end + +for _, event_name in ipairs(events) do Event.add(event_name, clear_items) end \ No newline at end of file