From 77e317734c8ba74a26c97310aea8802b12e4c0ff Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Mon, 25 May 2020 18:06:48 +0100 Subject: [PATCH 1/3] Lua Check Update --- Factorio-luacheckrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Factorio-luacheckrc b/Factorio-luacheckrc index 0c0518d1..53d12a83 160000 --- a/Factorio-luacheckrc +++ b/Factorio-luacheckrc @@ -1 +1 @@ -Subproject commit 0c0518d165b0fcee714f9e00b014afd7aba9fbee +Subproject commit 53d12a834fe0657e4be17df67a93c51af4e3981e From 8b9e5385409574238792774700f943e80cd64e9f Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Mon, 25 May 2020 18:24:12 +0100 Subject: [PATCH 2/3] Fixed Rocket Progress Update --- modules/gui/rocket-info.lua | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/gui/rocket-info.lua b/modules/gui/rocket-info.lua index c15ea688..a024b578 100644 --- a/modules/gui/rocket-info.lua +++ b/modules/gui/rocket-info.lua @@ -270,7 +270,8 @@ end local function update_build_progress(parent,progress_data) local show_message = true for _, silo_data in ipairs(progress_data) do - parent.no_silos.visible = false + parent.parent.no_silos.visible = false + parent.visible = true local silo_name = silo_data.silo_name local progress_label = parent[silo_name] if silo_data.remove then @@ -310,7 +311,7 @@ local function update_build_progress(parent,progress_data) end end end - if show_message then parent.no_silos.visible = true end + if show_message then parent.parent.no_silos.visible = true parent.visible = false end end --- Gets the label data for all the different stats @@ -494,13 +495,13 @@ Gui.element(function(event_trigger,parent) if check_player_permissions(player,'toggle_active') then col_count = col_count+1 end local progress = section(container,'progress',col_count) -- Label used when there are no active silos - local no_silos = progress.add{ + local no_silos = progress.parent.add{ type = 'label', name = 'no_silos', caption = {'rocket-info.progress-no-silos'} } no_silos.style.padding = {1,2} - update_build_progress(progress,get_progress_data(force_name)) + update_build_progress(progress, get_progress_data(force_name)) end -- Return the exteral container @@ -580,23 +581,22 @@ Event.add(defines.events.on_robot_built_entity,on_built) --- Redraw the progress section on role change local function role_update_event(event) + if not config.progress.show_progress then return end local player = game.players[event.player_index] local container = Gui.get_left_element(player,rocket_list_container).container - local progress = container.progress - if config.progress.show_progress then - progress.destroy() - local col_count = 3 - if check_player_permissions(player,'remote_launch') then col_count = col_count+1 end - if check_player_permissions(player,'toggle_active') then col_count = col_count+1 end - progress = section(container,'progress',col_count) - -- Label used when there are no active silos - progress.add{ - type = 'label', - name = 'no_silos', - caption = {'rocket-info.progress-no-silos'} - } - update_build_progress(progress,get_progress_data(player.force.name)) - end + local progress_scroll = container.progress + Gui.destroy_if_valid(progress_scroll.table) + + local col_count = 3 + if check_player_permissions(player,'remote_launch') then col_count = col_count+1 end + if check_player_permissions(player,'toggle_active') then col_count = col_count+1 end + local progress = progress_scroll.add{ + type = 'table', + name = 'table', + column_count = col_count + } + + update_build_progress(progress, get_progress_data(player.force.name)) end Event.add(Roles.events.on_role_assigned,role_update_event) From d5db186dc6dc964ca8ae354964bee148aa66ea63 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Mon, 25 May 2020 20:05:20 +0100 Subject: [PATCH 3/3] 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