diff --git a/map_gen/maps/danger_ores/modules/remove_non_ore_stacked_recipes.lua b/map_gen/maps/danger_ores/modules/remove_non_ore_stacked_recipes.lua new file mode 100644 index 00000000..627260dc --- /dev/null +++ b/map_gen/maps/danger_ores/modules/remove_non_ore_stacked_recipes.lua @@ -0,0 +1,41 @@ +-- This module removes the non ore stacking recipes used by deadlock's beltboxes. +local Event = require 'utils.event' + +return function() + local allowed_recipes = { + ["deadlock-stacks-stack-iron-ore"] = true, + ["deadlock-stacks-unstack-iron-ore"] = true, + ["deadlock-stacks-stack-copper-ore"] = true, + ["deadlock-stacks-unstack-copper-ore"] = true, + ["deadlock-stacks-stack-stone"] = true, + ["deadlock-stacks-unstack-stone"] = true, + ["deadlock-stacks-stack-coal"] = true, + ["deadlock-stacks-unstack-coal"] = true, + ["deadlock-stacks-stack-uranium-ore"] = true, + ["deadlock-stacks-unstack-uranium-ore"] = true + } + + Event.add(defines.events.on_research_finished, function(event) + local research = event.research + if not research.valid then + return + end + + for _, effect in pairs(research.effects) do + if effect.type ~= 'unlock-recipe' then + goto continue + end + + local name = effect.recipe + if allowed_recipes[name] then + goto continue + end + + if name:sub(1, #'deadlock-stacks') == 'deadlock-stacks' then + game.forces.player.recipes[name].enabled = false + end + + ::continue:: + end + end) +end diff --git a/map_gen/maps/danger_ores/presets/danger_ore_deadlock_beltboxes_ore_only.lua b/map_gen/maps/danger_ores/presets/danger_ore_deadlock_beltboxes_ore_only.lua index 418ceada..9088a47e 100644 --- a/map_gen/maps/danger_ores/presets/danger_ore_deadlock_beltboxes_ore_only.lua +++ b/map_gen/maps/danger_ores/presets/danger_ore_deadlock_beltboxes_ore_only.lua @@ -109,43 +109,6 @@ Event.on_init(function() RS.get_surface().peaceful_mode = true end) -local allowed_recipes = { - ["deadlock-stacks-stack-iron-ore"] = true, - ["deadlock-stacks-unstack-iron-ore"] = true, - ["deadlock-stacks-stack-copper-ore"] = true, - ["deadlock-stacks-unstack-copper-ore"] = true, - ["deadlock-stacks-stack-stone"] = true, - ["deadlock-stacks-unstack-stone"] = true, - ["deadlock-stacks-stack-coal"] = true, - ["deadlock-stacks-unstack-coal"] = true, - ["deadlock-stacks-stack-uranium-ore"] = true, - ["deadlock-stacks-unstack-uranium-ore"] = true -} - -Event.add(defines.events.on_research_finished, function(event) - local research = event.research - if not research.valid then - return - end - - for _, effect in pairs(research.effects) do - if effect.type ~= 'unlock-recipe' then - goto continue - end - - local name = effect.recipe - if allowed_recipes[name] then - goto continue - end - - if name:sub(1, #'deadlock-stacks') == 'deadlock-stacks' then - game.forces.player.recipes[name].enabled = false - end - - ::continue:: - end -end) - local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming' terraforming({start_size = 8 * 32, min_pollution = 400, max_pollution = 16000, pollution_increment = 6}) @@ -161,6 +124,9 @@ container_dump({entity_name = 'coal'}) local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill' concrete_on_landfill({tile = 'blue-refined-concrete'}) +local remove_non_ore_stacked_recipes = require 'map_gen.maps.danger_ores.modules.remove_non_ore_stacked_recipes' +remove_non_ore_stacked_recipes() + local config = { spawn_shape = b.circle(36), start_ore_shape = b.circle(44), diff --git a/map_gen/maps/danger_ores/presets/danger_ore_gradient_beltboxes_ore_only.lua b/map_gen/maps/danger_ores/presets/danger_ore_gradient_beltboxes_ore_only.lua index fcf21a65..8d6d5bf3 100644 --- a/map_gen/maps/danger_ores/presets/danger_ore_gradient_beltboxes_ore_only.lua +++ b/map_gen/maps/danger_ores/presets/danger_ore_gradient_beltboxes_ore_only.lua @@ -107,43 +107,6 @@ Event.on_init(function() RS.get_surface().peaceful_mode = true end) -local allowed_recipes = { - ["deadlock-stacks-stack-iron-ore"] = true, - ["deadlock-stacks-unstack-iron-ore"] = true, - ["deadlock-stacks-stack-copper-ore"] = true, - ["deadlock-stacks-unstack-copper-ore"] = true, - ["deadlock-stacks-stack-stone"] = true, - ["deadlock-stacks-unstack-stone"] = true, - ["deadlock-stacks-stack-coal"] = true, - ["deadlock-stacks-unstack-coal"] = true, - ["deadlock-stacks-stack-uranium-ore"] = true, - ["deadlock-stacks-unstack-uranium-ore"] = true -} - -Event.add(defines.events.on_research_finished, function(event) - local research = event.research - if not research.valid then - return - end - - for _, effect in pairs(research.effects) do - if effect.type ~= 'unlock-recipe' then - goto continue - end - - local name = effect.recipe - if allowed_recipes[name] then - goto continue - end - - if name:sub(1, #'deadlock-stacks') == 'deadlock-stacks' then - game.forces.player.recipes[name].enabled = false - end - - ::continue:: - end -end) - local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming' terraforming({start_size = 8 * 32, min_pollution = 400, max_pollution = 16000, pollution_increment = 6}) @@ -159,6 +122,9 @@ container_dump({entity_name = 'coal'}) local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill' concrete_on_landfill({tile = 'blue-refined-concrete'}) +local remove_non_ore_stacked_recipes = require 'map_gen.maps.danger_ores.modules.remove_non_ore_stacked_recipes' +remove_non_ore_stacked_recipes() + local main_ores_builder = require 'map_gen.maps.danger_ores.modules.main_ores_gradient' local config = { diff --git a/map_gen/maps/danger_ores/presets/danger_ore_hub_spiral_beltboxes_ore_only.lua b/map_gen/maps/danger_ores/presets/danger_ore_hub_spiral_beltboxes_ore_only.lua index 1f42fa83..ed4f3cb1 100644 --- a/map_gen/maps/danger_ores/presets/danger_ore_hub_spiral_beltboxes_ore_only.lua +++ b/map_gen/maps/danger_ores/presets/danger_ore_hub_spiral_beltboxes_ore_only.lua @@ -114,43 +114,6 @@ Event.on_init( end ) -local allowed_recipes = { - ["deadlock-stacks-stack-iron-ore"] = true, - ["deadlock-stacks-unstack-iron-ore"] = true, - ["deadlock-stacks-stack-copper-ore"] = true, - ["deadlock-stacks-unstack-copper-ore"] = true, - ["deadlock-stacks-stack-stone"] = true, - ["deadlock-stacks-unstack-stone"] = true, - ["deadlock-stacks-stack-coal"] = true, - ["deadlock-stacks-unstack-coal"] = true, - ["deadlock-stacks-stack-uranium-ore"] = true, - ["deadlock-stacks-unstack-uranium-ore"] = true -} - -Event.add(defines.events.on_research_finished, function(event) - local research = event.research - if not research.valid then - return - end - - for _, effect in pairs(research.effects) do - if effect.type ~= 'unlock-recipe' then - goto continue - end - - local name = effect.recipe - if allowed_recipes[name] then - goto continue - end - - if name:sub(1, #'deadlock-stacks') == 'deadlock-stacks' then - game.forces.player.recipes[name].enabled = false - end - - ::continue:: - end -end) - local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming' terraforming({start_size = 8 * 32, min_pollution = 400, max_pollution = 16000, pollution_increment = 6}) @@ -166,6 +129,9 @@ container_dump({entity_name = 'coal'}) local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill' concrete_on_landfill({tile = 'blue-refined-concrete'}) +local remove_non_ore_stacked_recipes = require 'map_gen.maps.danger_ores.modules.remove_non_ore_stacked_recipes' +remove_non_ore_stacked_recipes() + local main_ores_builder = require 'map_gen.maps.danger_ores.modules.main_ores_hub_spiral' local sqrt = math.sqrt diff --git a/map_gen/maps/danger_ores/presets/danger_ore_xmas_tree_beltboxes_ore_only.lua b/map_gen/maps/danger_ores/presets/danger_ore_xmas_tree_beltboxes_ore_only.lua index 0e1a63ec..2b4318ec 100644 --- a/map_gen/maps/danger_ores/presets/danger_ore_xmas_tree_beltboxes_ore_only.lua +++ b/map_gen/maps/danger_ores/presets/danger_ore_xmas_tree_beltboxes_ore_only.lua @@ -118,43 +118,6 @@ Event.on_init( end ) -local allowed_recipes = { - ["deadlock-stacks-stack-iron-ore"] = true, - ["deadlock-stacks-unstack-iron-ore"] = true, - ["deadlock-stacks-stack-copper-ore"] = true, - ["deadlock-stacks-unstack-copper-ore"] = true, - ["deadlock-stacks-stack-stone"] = true, - ["deadlock-stacks-unstack-stone"] = true, - ["deadlock-stacks-stack-coal"] = true, - ["deadlock-stacks-unstack-coal"] = true, - ["deadlock-stacks-stack-uranium-ore"] = true, - ["deadlock-stacks-unstack-uranium-ore"] = true -} - -Event.add(defines.events.on_research_finished, function(event) - local research = event.research - if not research.valid then - return - end - - for _, effect in pairs(research.effects) do - if effect.type ~= 'unlock-recipe' then - goto continue - end - - local name = effect.recipe - if allowed_recipes[name] then - goto continue - end - - if name:sub(1, #'deadlock-stacks') == 'deadlock-stacks' then - game.forces.player.recipes[name].enabled = false - end - - ::continue:: - end -end) - local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming' terraforming({start_size = 12 * 32, min_pollution = 250, max_pollution = 16000, pollution_increment = 6}) @@ -170,6 +133,9 @@ container_dump({entity_name = 'coal'}) local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill' concrete_on_landfill({tile = 'blue-refined-concrete'}) +local remove_non_ore_stacked_recipes = require 'map_gen.maps.danger_ores.modules.remove_non_ore_stacked_recipes' +remove_non_ore_stacked_recipes() + local main_ores_builder = require 'map_gen.maps.danger_ores.modules.main_ores_xmas_tree' --local sqrt = math.sqrt