From d5db186dc6dc964ca8ae354964bee148aa66ea63 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Mon, 25 May 2020 20:05:20 +0100 Subject: [PATCH] Added player inventory clear --- config/inventory_clear.lua | 9 +++++++++ modules/addons/inventory-clear.lua | 15 +++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 config/inventory_clear.lua create mode 100644 modules/addons/inventory-clear.lua 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