From 484014475f695e595b47bd73e927c0ac841b9b61 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Fri, 6 Oct 2023 22:38:14 +0900 Subject: [PATCH 1/4] fixed non prod module insertion with recipe --- config/module.lua | 2 +- modules/gui/module.lua | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/config/module.lua b/config/module.lua index 9b50224e..a2a8e906 100644 --- a/config/module.lua +++ b/config/module.lua @@ -1,6 +1,6 @@ return { -- type of machine to handle together - default_module_row_count = 4, + default_module_row_count = 6, module_slot_max = 4, machine_prod_disallow = { ['beacon'] = true diff --git a/modules/gui/module.lua b/modules/gui/module.lua index 74470348..06981ba1 100644 --- a/modules/gui/module.lua +++ b/modules/gui/module.lua @@ -74,14 +74,32 @@ local function apply_module(player, area, machine, module) if m_current_recipe ~= nil then if config.module_allowed[m_current_recipe.name] then - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} end + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.last_user = player + + else + local prod = false + + for k, _ in pairs(module) do + if k:sub(1, 12) == 'productivity' then + prod = true + end + end + + if not prod then + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.last_user = player + end + end else entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.last_user = player end else entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.last_user = player end end end From f6714f75cb37127da40f0bbc1156e523eede8407 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sat, 7 Oct 2023 14:56:01 +0900 Subject: [PATCH 2/4] swap module --- modules/gui/module.lua | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/modules/gui/module.lua b/modules/gui/module.lua index 06981ba1..83ce4417 100644 --- a/modules/gui/module.lua +++ b/modules/gui/module.lua @@ -78,18 +78,12 @@ local function apply_module(player, area, machine, module) entity.last_user = player else - local prod = false - for k, _ in pairs(module) do - if k:sub(1, 12) == 'productivity' then - prod = true - end + k = k:gsub('productivity', 'effectivity') end - if not prod then - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} - entity.last_user = player - end + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.last_user = player end else From 0be43b0e1d9c9d58e9c5299fbfd1c547aa05204b Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sat, 7 Oct 2023 14:58:54 +0900 Subject: [PATCH 3/4] . --- modules/gui/module.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gui/module.lua b/modules/gui/module.lua index 83ce4417..e2512026 100644 --- a/modules/gui/module.lua +++ b/modules/gui/module.lua @@ -79,7 +79,7 @@ local function apply_module(player, area, machine, module) else for k, _ in pairs(module) do - k = k:gsub('productivity', 'effectivity') + module[k] = module[k]:gsub('productivity', 'effectivity') end entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} From 0b9cbfb64c5af43b2edb55a736b28e7692ab0826 Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Thu, 21 Dec 2023 20:14:04 +0000 Subject: [PATCH 4/4] Fix broken module substitution --- modules/gui/module.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/gui/module.lua b/modules/gui/module.lua index e2512026..7cd5d94a 100644 --- a/modules/gui/module.lua +++ b/modules/gui/module.lua @@ -67,32 +67,35 @@ local function clear_module(player, area, machine) end end -local function apply_module(player, area, machine, module) +local function apply_module(player, area, machine, modules) for _, entity in pairs(player.surface.find_entities_filtered{area=area, name=machine, force=player.force}) do if config.machine_craft[machine] then local m_current_recipe = entity.get_recipe() if m_current_recipe ~= nil then if config.module_allowed[m_current_recipe.name] then - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=modules} entity.last_user = player else - for k, _ in pairs(module) do - module[k] = module[k]:gsub('productivity', 'effectivity') + for k in pairs(modules) do + if k:find('productivity') then + modules[k:gsub('productivity', 'effectivity')] = modules[k] + modules[k] = nil + end end - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=modules} entity.last_user = player end else - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=modules} entity.last_user = player end else - entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=module} + entity.surface.create_entity{name='item-request-proxy', target=entity, position=entity.position, force=entity.force, modules=modules} entity.last_user = player end end