From 37469373281e81f952cfdb6329bf6127909b6926 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 11:45:08 -0600 Subject: [PATCH 01/26] Added a setting for Landblock mode --- SeaBlock/settings.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/SeaBlock/settings.lua b/SeaBlock/settings.lua index 8ef183c..c2ae556 100644 --- a/SeaBlock/settings.lua +++ b/SeaBlock/settings.lua @@ -20,3 +20,14 @@ if mods["LandfillPainting"] then }, }) end + +data:extend({ + { + type = "bool-setting", + name = "Landblock-mode-Seablock-setting", + setting_type = "startup", + default_value = false + } +}) + + From b74d0451a24ed11f522070bb1ea103f6e2f0aa14 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 11:56:11 -0600 Subject: [PATCH 02/26] Added If statement for Landblock-mode --- SeaBlock/data-final-fixes/mapgen.lua | 36 +++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index f7ad3c9..b117191 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -3,12 +3,6 @@ for k, v in pairs(data.raw.resource) do v.autoplace = nil end --- No spawners -for k, v in pairs(data.raw["unit-spawner"]) do - v.autoplace = nil - v.control = nil -end - -- No trees for k, v in pairs(data.raw.tree) do if @@ -31,18 +25,26 @@ for k, v in pairs(data.raw["simple-entity"]) do seablock.lib.add_flag("simple-entity", v.name, "not-deconstructable") end -local keepcontrols = {} -local turrets = data.raw["turret"] -for turret_name, turret in pairs(turrets) do - if turret.autoplace and turret.autoplace.control then - keepcontrols[turret.autoplace.control] = true +if settings.startup["Landblock-mode-Seablock"] == false then + -- No spawners + for k, v in pairs(data.raw["unit-spawner"]) do + v.autoplace = nil + v.control = nil end -end - -local controls = data.raw["autoplace-control"] -for k, v in pairs(controls) do - if k ~= "enemy-base" and not keepcontrols[k] then - controls[k] = nil + + local keepcontrols = {} + local turrets = data.raw["turret"] + for turret_name, turret in pairs(turrets) do + if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true + end + end + + local controls = data.raw["autoplace-control"] + for k, v in pairs(controls) do + if k ~= "enemy-base" and not keepcontrols[k] then + controls[k] = nil + end end end From 1df05cbd80d8adbc8a893b9e1868f1cb9f30c396 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 11:57:33 -0600 Subject: [PATCH 03/26] Fixed Name of setting --- SeaBlock/data-final-fixes/mapgen.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index b117191..7643638 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -25,7 +25,7 @@ for k, v in pairs(data.raw["simple-entity"]) do seablock.lib.add_flag("simple-entity", v.name, "not-deconstructable") end -if settings.startup["Landblock-mode-Seablock"] == false then +if settings.startup["Landblock-mode-Seablock-setting"] == false then -- No spawners for k, v in pairs(data.raw["unit-spawner"]) do v.autoplace = nil From fd35c4e5a281b7c5b8250b81fe99b12cdbbe273e Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 13:23:48 -0600 Subject: [PATCH 04/26] Found last mapgen bit and updated En Locale --- SeaBlock/locale/en/SeaBlock.cfg | 1 + SeaBlock/mapgen.lua | 857 ++++++++++++++++---------------- 2 files changed, 431 insertions(+), 427 deletions(-) diff --git a/SeaBlock/locale/en/SeaBlock.cfg b/SeaBlock/locale/en/SeaBlock.cfg index 215613c..18a8bb5 100644 --- a/SeaBlock/locale/en/SeaBlock.cfg +++ b/SeaBlock/locale/en/SeaBlock.cfg @@ -61,6 +61,7 @@ sb-lab-tool=Craft a lab to complete this research [mod-setting-name] sb-default-landfill=Default landfill type bobmods-assembly-multipurposefurnaces=Recipe furnaces +Landblock-mode-Seablock-setting=Landblock mode (Keeps Recipes the same changes mapgen to normal-ish) [string-mod-setting] sb-default-landfill-landfill-dirt-4=[img=item/landfill-dirt-4]Dirt diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index e3cafab..ee1bed5 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -31,450 +31,453 @@ data.raw.tile["sand-5"].vehicle_friction_modifier = 1.8 data.raw.tile["landfill"].vehicle_friction_modifier = 1.8 -for _, v in pairs(data.raw.tile) do - v.autoplace = nil -end +if settings.startup["Landblock-mode-Seablock-setting"] == false then --- Want player to collide with cliffs --- Want player to collide with water --- Don't want cliffs to collide with water --- Water tile's default collision mask includes player-layer and item-layer --- So use train-layer as a substitute player-layer -data.raw.cliff["cliff"].collision_mask = { "object-layer", "train-layer", "not-colliding-with-itself" } + for _, v in pairs(data.raw.tile) do + v.autoplace = nil + end -local octaves = -3 -local persistence = 0.2 -local waterline = 9.4 -local elevation_scale = 5 -local function scale_elevation(x) - return (x - waterline) * elevation_scale + waterline -end --- low lying sand -data.raw.tile["sand-4"].autoplace = { - peaks = { - { -- Around cliff islands - influence = 5, - elevation_optimal = 0.3 * elevation_scale + waterline, - elevation_range = 0.3 * elevation_scale, - elevation_max_range = 0.3 * elevation_scale, - }, - { - influence = 0.77 * 8, -- Worm islands - min_influence = 0, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 8, - tier_from_start_max_range = 40, - tier_from_start_top_property_limit = 8, - }, - { -- Not in starting area - influence = -5, - starting_area_weight_optimal = 1, - starting_area_weight_range = 0, - starting_area_weight_max_range = 0, - }, - { - influence = 100, -- ... except for starting tile - min_influence = 0, - distance_optimal = 0, - distance_range = 0.1, - distance_max_range = 0.1, - }, - { - influence = -5, - }, - }, -} + -- Want player to collide with cliffs + -- Want player to collide with water + -- Don't want cliffs to collide with water + -- Water tile's default collision mask includes player-layer and item-layer + -- So use train-layer as a substitute player-layer + data.raw.cliff["cliff"].collision_mask = { "object-layer", "train-layer", "not-colliding-with-itself" } --- highground sand -data.raw.tile["sand-5"].autoplace = { - peaks = { - { - influence = 5, - min_influence = 0, - elevation_optimal = scale_elevation(15), - elevation_range = 5 * elevation_scale, - elevation_max_range = 5 * elevation_scale, - tier_from_start_optimal = 0.1, - tier_from_start_range = 0, - tier_from_start_max_range = 0, - tier_from_start_top_property_limit = 0.1, - }, - { - influence = 0.65, -- starting area garden islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 0, - tier_from_start_range = 0.1, - tier_from_start_max_range = 0.1, - }, - { - influence = 1, - max_influence = 0, - starting_area_weight_optimal = 1, - starting_area_weight_range = 0, - starting_area_weight_max_range = 0, - }, - { - influence = -100, -- not on starting tile - max_influence = 0, - distance_optimal = 0, - distance_range = 3, - distance_max_range = 3, - }, - }, -} + local octaves = -3 + local persistence = 0.2 + local waterline = 9.4 + local elevation_scale = 5 + local function scale_elevation(x) + return (x - waterline) * elevation_scale + waterline + end + -- low lying sand + data.raw.tile["sand-4"].autoplace = { + peaks = { + { -- Around cliff islands + influence = 5, + elevation_optimal = 0.3 * elevation_scale + waterline, + elevation_range = 0.3 * elevation_scale, + elevation_max_range = 0.3 * elevation_scale, + }, + { + influence = 0.77 * 8, -- Worm islands + min_influence = 0, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 8, + tier_from_start_max_range = 40, + tier_from_start_top_property_limit = 8, + }, + { -- Not in starting area + influence = -5, + starting_area_weight_optimal = 1, + starting_area_weight_range = 0, + starting_area_weight_max_range = 0, + }, + { + influence = 100, -- ... except for starting tile + min_influence = 0, + distance_optimal = 0, + distance_range = 0.1, + distance_max_range = 0.1, + }, + { + influence = -5, + }, + }, + } -local plant_elevation_range = 9.9 * elevation_scale -data.raw.tree["desert-garden"].autoplace = { - max_probability = 0.2, - random_probability_penalty = 0.05, - sharpness = 1, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 0, - tier_from_start_range = 0.1, - tier_from_start_max_range = 0.1, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "desert-garden-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "yc", - tile_restriction = { "sand-5" }, -} + -- highground sand + data.raw.tile["sand-5"].autoplace = { + peaks = { + { + influence = 5, + min_influence = 0, + elevation_optimal = scale_elevation(15), + elevation_range = 5 * elevation_scale, + elevation_max_range = 5 * elevation_scale, + tier_from_start_optimal = 0.1, + tier_from_start_range = 0, + tier_from_start_max_range = 0, + tier_from_start_top_property_limit = 0.1, + }, + { + influence = 0.65, -- starting area garden islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, + { + influence = 1, + max_influence = 0, + starting_area_weight_optimal = 1, + starting_area_weight_range = 0, + starting_area_weight_max_range = 0, + }, + { + influence = -100, -- not on starting tile + max_influence = 0, + distance_optimal = 0, + distance_range = 3, + distance_max_range = 3, + }, + }, + } -data.raw.tree["temperate-garden"].autoplace = { - max_probability = 0.2, - random_probability_penalty = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "temperate-garden-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "ya", - tile_restriction = { "sand-5" }, -} + local plant_elevation_range = 9.9 * elevation_scale + data.raw.tree["desert-garden"].autoplace = { + max_probability = 0.2, + random_probability_penalty = 0.05, + sharpness = 1, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "desert-garden-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "yc", + tile_restriction = { "sand-5" }, + } -data.raw.tree["swamp-garden"].autoplace = { - max_probability = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - }, - order = "yb", - tile_restriction = { "sand-5" }, -} + data.raw.tree["temperate-garden"].autoplace = { + max_probability = 0.2, + random_probability_penalty = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "temperate-garden-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "ya", + tile_restriction = { "sand-5" }, + } -data.raw.tree["desert-tree"].autoplace = { - max_probability = 0.1, - random_probability_penalty = 0.025, - sharpness = 1, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 0, - tier_from_start_range = 0.1, - tier_from_start_max_range = 0.1, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "desert-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "za", - tile_restriction = { "sand-5" }, -} -data.raw.tree["temperate-tree"].autoplace = { - max_probability = 0.1, - random_probability_penalty = 0.025, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "temperate-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "zc", - tile_restriction = { "sand-5" }, -} + data.raw.tree["swamp-garden"].autoplace = { + max_probability = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + }, + order = "yb", + tile_restriction = { "sand-5" }, + } -data.raw.tree["swamp-tree"].autoplace = { - max_probability = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "swamp-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "zb", - tile_restriction = { "sand-5" }, -} + data.raw.tree["desert-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + sharpness = 1, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "desert-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "za", + tile_restriction = { "sand-5" }, + } + data.raw.tree["temperate-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "temperate-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "zc", + tile_restriction = { "sand-5" }, + } -data.raw.tile["water"].autoplace = { - peaks = { - { - influence = 0.1, -- shallow water around cliff islands - min_influence = 0, - elevation_optimal = -2 * elevation_scale + waterline, - elevation_range = 2.5 * elevation_scale, - elevation_max_range = 2.5 * elevation_scale, - }, - { - influence = 0.77 * 2, -- around worm islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - }, - { - influence = 5, -- around starting tile - min_influence = 0, - distance_optimal = 0, - distance_range = 5, - distance_max_range = 5, - }, - }, -} + data.raw.tree["swamp-tree"].autoplace = { + max_probability = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "swamp-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "zb", + tile_restriction = { "sand-5" }, + } -data.raw.tile["deepwater"].autoplace = { - peaks = { - { - influence = 0.01, - }, - }, -} + data.raw.tile["water"].autoplace = { + peaks = { + { + influence = 0.1, -- shallow water around cliff islands + min_influence = 0, + elevation_optimal = -2 * elevation_scale + waterline, + elevation_range = 2.5 * elevation_scale, + elevation_max_range = 2.5 * elevation_scale, + }, + { + influence = 0.77 * 2, -- around worm islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + }, + { + influence = 5, -- around starting tile + min_influence = 0, + distance_optimal = 0, + distance_range = 5, + distance_max_range = 5, + }, + }, + } -data.raw.fish["alien-fish-1"].autoplace = { - peaks = { - { - influence = -0.1, - max_influence = 0, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - }, - { - influence = 0.01, - }, - }, -} + data.raw.tile["deepwater"].autoplace = { + peaks = { + { + influence = 0.01, + }, + }, + } -data.raw.fish["alien-fish-2"].autoplace = { - peaks = { - { - influence = 0.02, - min_influence = 0, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - }, - }, -} + data.raw.fish["alien-fish-1"].autoplace = { + peaks = { + { + influence = -0.1, + max_influence = 0, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + }, + { + influence = 0.01, + }, + }, + } -data.raw.fish["alien-fish-3"].autoplace = { - peaks = { - { - influence = 0.015, - min_influence = 0, - elevation_optimal = scale_elevation(10), - elevation_range = 5 * elevation_scale, - elevation_max_range = 5 * elevation_scale, - tier_from_start_optimal = 0.1, - tier_from_start_range = 0, - tier_from_start_max_range = 0, - tier_from_start_top_property_limit = 0.1, - }, - }, -} + data.raw.fish["alien-fish-2"].autoplace = { + peaks = { + { + influence = 0.02, + min_influence = 0, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + }, + }, + } -local noise = require("noise") -local tne = noise.to_noise_expression -local enemy_random_seed = 1 -local function new_random_seed() - enemy_random_seed = enemy_random_seed + 1 - return enemy_random_seed -end -local function worm_autoplace(distance, probability, order, falloff, control_name) - local d = noise.var("distance") - noise.var("starting_area_radius") - local p = noise.clamp((d - distance * 128) / 128, 0, 1) - if falloff then - p = p * noise.clamp(((distance + 2) * 128 - d) / 128, 0, 1) - end - p = p * noise.clamp((waterline - noise.var("elevation")), 0, 1) - p = p * probability - p = noise.random_penalty(p, probability * 0.5, { - x = noise.var("x") + new_random_seed(), - }) + data.raw.fish["alien-fish-3"].autoplace = { + peaks = { + { + influence = 0.015, + min_influence = 0, + elevation_optimal = scale_elevation(10), + elevation_range = 5 * elevation_scale, + elevation_max_range = 5 * elevation_scale, + tier_from_start_optimal = 0.1, + tier_from_start_range = 0, + tier_from_start_max_range = 0, + tier_from_start_top_property_limit = 0.1, + }, + }, + } - return { - control = control_name, - order = order, - force = "enemy", - probability_expression = p, - richness_expression = tne(1), - } -end + local noise = require("noise") + local tne = noise.to_noise_expression + local enemy_random_seed = 1 + local function new_random_seed() + enemy_random_seed = enemy_random_seed + 1 + return enemy_random_seed + end + local function worm_autoplace(distance, probability, order, falloff, control_name) + local d = noise.var("distance") - noise.var("starting_area_radius") + local p = noise.clamp((d - distance * 128) / 128, 0, 1) + if falloff then + p = p * noise.clamp(((distance + 2) * 128 - d) / 128, 0, 1) + end + p = p * noise.clamp((waterline - noise.var("elevation")), 0, 1) + p = p * probability + p = noise.random_penalty(p, probability * 0.5, { + x = noise.var("x") + new_random_seed(), + }) -data.raw.turret["small-worm-turret"].autoplace = worm_autoplace(0, 1, "z", true, "enemy-base") -data.raw.turret["medium-worm-turret"].autoplace = worm_autoplace(1, 1, "y", true, "enemy-base") -if data.raw.turret["bob-big-explosive-worm-turret"] then - data.raw.turret["bob-big-explosive-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") -end -if data.raw.turret["bob-big-fire-worm-turret"] then - data.raw.turret["bob-big-fire-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") -end -if data.raw.turret["bob-big-poison-worm-turret"] then - data.raw.turret["bob-big-poison-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") -end -if data.raw.turret["bob-big-piercing-worm-turret"] then - data.raw.turret["bob-big-piercing-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") -end -if data.raw.turret["bob-big-electric-worm-turret"] then - data.raw.turret["bob-big-electric-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") -end -if data.raw.turret["bob-giant-worm-turret"] then - data.raw.turret["bob-giant-worm-turret"].autoplace = worm_autoplace(2, 0.6, "u", false, "enemy-base") -end -if data.raw.turret["behemoth-worm-turret"] then - data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - data.raw.turret["behemoth-worm-turret"].autoplace = worm_autoplace(2, 0.2, "t", false, "enemy-base") -else - data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(2, 1, "v", false, "enemy-base") -end -data.raw.tree["puffer-nest"].autoplace = worm_autoplace(0, 0.01, "s", false) + return { + control = control_name, + order = order, + force = "enemy", + probability_expression = p, + richness_expression = tne(1), + } + end -for _, v in pairs(data.raw.turret) do - v.map_generator_bounding_box = nil -end + data.raw.turret["small-worm-turret"].autoplace = worm_autoplace(0, 1, "z", true, "enemy-base") + data.raw.turret["medium-worm-turret"].autoplace = worm_autoplace(1, 1, "y", true, "enemy-base") + if data.raw.turret["bob-big-explosive-worm-turret"] then + data.raw.turret["bob-big-explosive-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + end + if data.raw.turret["bob-big-fire-worm-turret"] then + data.raw.turret["bob-big-fire-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + end + if data.raw.turret["bob-big-poison-worm-turret"] then + data.raw.turret["bob-big-poison-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + end + if data.raw.turret["bob-big-piercing-worm-turret"] then + data.raw.turret["bob-big-piercing-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + end + if data.raw.turret["bob-big-electric-worm-turret"] then + data.raw.turret["bob-big-electric-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + end + if data.raw.turret["bob-giant-worm-turret"] then + data.raw.turret["bob-giant-worm-turret"].autoplace = worm_autoplace(2, 0.6, "u", false, "enemy-base") + end + if data.raw.turret["behemoth-worm-turret"] then + data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + data.raw.turret["behemoth-worm-turret"].autoplace = worm_autoplace(2, 0.2, "t", false, "enemy-base") + else + data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(2, 1, "v", false, "enemy-base") + end + data.raw.tree["puffer-nest"].autoplace = worm_autoplace(0, 0.01, "s", false) -data:extend({ - { - type = "noise-layer", - name = "desert-tree-noise", - }, - { - type = "noise-layer", - name = "temperate-tree-noise", - }, - { - type = "noise-layer", - name = "swamp-tree-noise", - }, - { - type = "noise-layer", - name = "desert-garden-noise", - }, - { - type = "noise-layer", - name = "temperate-garden-noise", - }, - { - type = "noise-layer", - name = "swamp-garden-noise", - }, -}) + for _, v in pairs(data.raw.turret) do + v.map_generator_bounding_box = nil + end -local function make_basis_noise_function(seed0, seed1, outscale0, inscale0) - outscale0 = outscale0 or 1 - inscale0 = inscale0 or 1 / outscale0 - return function(x, y, inscale, outscale) - return tne({ - type = "function-application", - function_name = "factorio-basis-noise", - arguments = { - x = tne(x), - y = tne(y), - seed0 = tne(seed0), - seed1 = tne(seed1), - input_scale = tne((inscale or 1) * inscale0), - output_scale = tne((outscale or 1) * outscale0), - }, - }) - end -end + data:extend({ + { + type = "noise-layer", + name = "desert-tree-noise", + }, + { + type = "noise-layer", + name = "temperate-tree-noise", + }, + { + type = "noise-layer", + name = "swamp-tree-noise", + }, + { + type = "noise-layer", + name = "desert-garden-noise", + }, + { + type = "noise-layer", + name = "temperate-garden-noise", + }, + { + type = "noise-layer", + name = "swamp-garden-noise", + }, + }) -data.raw["noise-expression"]["cliffiness"].expression = noise.define_noise_function(function(x, y, tile, map) - local t = noise.clamp((tile.tier - 0.2) * noise.ceil(noise.var("control-setting:cliffs:richness:multiplier")), 0, 1) -- No cliffs in starting area - return 100 * t -end) -data.raw["noise-expression"]["elevation"].expression = noise.define_noise_function(function(x, y, tile, map) - x = x + 40000 - y = y - local v = make_basis_noise_function(map.seed, 5, 6, 1 / 64)(x, y) - v = noise.max(v, 0) - v = (v * elevation_scale) - (waterline * (elevation_scale - 1)) -- Increase gradient for cliffs while leaving waterline unchanged - return v -end) + local function make_basis_noise_function(seed0, seed1, outscale0, inscale0) + outscale0 = outscale0 or 1 + inscale0 = inscale0 or 1 / outscale0 + return function(x, y, inscale, outscale) + return tne({ + type = "function-application", + function_name = "factorio-basis-noise", + arguments = { + x = tne(x), + y = tne(y), + seed0 = tne(seed0), + seed1 = tne(seed1), + input_scale = tne((inscale or 1) * inscale0), + output_scale = tne((outscale or 1) * outscale0), + }, + }) + end + end + + data.raw["noise-expression"]["cliffiness"].expression = noise.define_noise_function(function(x, y, tile, map) + local t = noise.clamp((tile.tier - 0.2) * noise.ceil(noise.var("control-setting:cliffs:richness:multiplier")), 0, 1) -- No cliffs in starting area + return 100 * t + end) + data.raw["noise-expression"]["elevation"].expression = noise.define_noise_function(function(x, y, tile, map) + x = x + 40000 + y = y + local v = make_basis_noise_function(map.seed, 5, 6, 1 / 64)(x, y) + v = noise.max(v, 0) + v = (v * elevation_scale) - (waterline * (elevation_scale - 1)) -- Increase gradient for cliffs while leaving waterline unchanged + return v + end) +end \ No newline at end of file From 8f7e347b9b864902d0eaa9745717f010f9b3006e Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 13:41:49 -0600 Subject: [PATCH 05/26] Added no trees and no minerals modes --- SeaBlock/data-final-fixes/mapgen.lua | 44 +++++++++++++++------------- SeaBlock/locale/en/SeaBlock.cfg | 4 ++- SeaBlock/mapgen.lua | 2 +- SeaBlock/settings.lua | 18 +++++++++++- 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index 7643638..e763b41 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -1,31 +1,33 @@ +if settings.startup["No-minerals-mode-setting"].value == true then -- No resource placement for k, v in pairs(data.raw.resource) do v.autoplace = nil end --- No trees -for k, v in pairs(data.raw.tree) do - if - k ~= "temperate-garden" - and k ~= "desert-garden" - and k ~= "swamp-garden" - and k ~= "temperate-tree" - and k ~= "desert-tree" - and k ~= "swamp-tree" - and k ~= "puffer-nest" - then - v.autoplace = nil - seablock.lib.add_flag("tree", v.name, "not-deconstructable") - end -end +if settings.startup["No-trees-mode-setting"].value == true then + -- No trees + for k, v in pairs(data.raw.tree) do + if + k ~= "temperate-garden" + and k ~= "desert-garden" + and k ~= "swamp-garden" + and k ~= "temperate-tree" + and k ~= "desert-tree" + and k ~= "swamp-tree" + and k ~= "puffer-nest" + then + v.autoplace = nil + seablock.lib.add_flag("tree", v.name, "not-deconstructable") + end + end --- No rocks -for k, v in pairs(data.raw["simple-entity"]) do - v.autoplace = nil - seablock.lib.add_flag("simple-entity", v.name, "not-deconstructable") + -- No rocks + for k, v in pairs(data.raw["simple-entity"]) do + v.autoplace = nil + seablock.lib.add_flag("simple-entity", v.name, "not-deconstructable") + end end - -if settings.startup["Landblock-mode-Seablock-setting"] == false then +if settings.startup["Landblock-mode-Seablock-setting"].value == false then -- No spawners for k, v in pairs(data.raw["unit-spawner"]) do v.autoplace = nil diff --git a/SeaBlock/locale/en/SeaBlock.cfg b/SeaBlock/locale/en/SeaBlock.cfg index 18a8bb5..b6028f0 100644 --- a/SeaBlock/locale/en/SeaBlock.cfg +++ b/SeaBlock/locale/en/SeaBlock.cfg @@ -61,7 +61,9 @@ sb-lab-tool=Craft a lab to complete this research [mod-setting-name] sb-default-landfill=Default landfill type bobmods-assembly-multipurposefurnaces=Recipe furnaces -Landblock-mode-Seablock-setting=Landblock mode (Keeps Recipes the same changes mapgen to normal-ish) +Landblock-mode-Seablock-setting=Landblock mode (Keeps Recipes the same changes mapgen to normal-ish) (Default=unchecked) +No-minerals-mode-setting=Setting to turn on normal resource production for mod incompatabilities (Default=checked) +No-trees-mode-setting=Setting to turn on normal tree/rock growth for mod incompatabilities (Default=checked) [string-mod-setting] sb-default-landfill-landfill-dirt-4=[img=item/landfill-dirt-4]Dirt diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index ee1bed5..9082855 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -31,7 +31,7 @@ data.raw.tile["sand-5"].vehicle_friction_modifier = 1.8 data.raw.tile["landfill"].vehicle_friction_modifier = 1.8 -if settings.startup["Landblock-mode-Seablock-setting"] == false then +if settings.startup["Landblock-mode-Seablock-setting"].value == false then for _, v in pairs(data.raw.tile) do v.autoplace = nil diff --git a/SeaBlock/settings.lua b/SeaBlock/settings.lua index c2ae556..47304fd 100644 --- a/SeaBlock/settings.lua +++ b/SeaBlock/settings.lua @@ -30,4 +30,20 @@ data:extend({ } }) - +data:extend({ + { + type = "bool-setting", + name = "No-minerals-mode-setting", + setting_type = "startup", + default_value = true + } +}) + +data:extend({ + { + type = "bool-setting", + name = "No-trees-mode-setting", + setting_type = "startup", + default_value = true + } +}) \ No newline at end of file From 2e16f348f525ede5d6e4e23f8aef48a1f03ccd3a Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 14:01:54 -0600 Subject: [PATCH 06/26] Added more if's for No Minerals setting --- SeaBlock/data-final-fixes/mapgen.lua | 7 ++++--- SeaBlock/data-updates/coal.lua | 8 +++++--- SeaBlock/data-updates/misc.lua | 14 ++++++++------ 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index e763b41..52c7b9e 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -1,7 +1,8 @@ if settings.startup["No-minerals-mode-setting"].value == true then --- No resource placement -for k, v in pairs(data.raw.resource) do - v.autoplace = nil + -- No resource placement + for k, v in pairs(data.raw.resource) do + v.autoplace = nil + end end if settings.startup["No-trees-mode-setting"].value == true then diff --git a/SeaBlock/data-updates/coal.lua b/SeaBlock/data-updates/coal.lua index bd5e160..ef24f8c 100644 --- a/SeaBlock/data-updates/coal.lua +++ b/SeaBlock/data-updates/coal.lua @@ -24,9 +24,11 @@ seablock.lib.moveeffect("pellet-coke", "angels-coal-cracking", "angels-coal-proc data.raw.item["carbon"].fuel_emissions_multiplier = nil data.raw.item["carbon"].fuel_value = nil data.raw.item["carbon"].fuel_category = nil -data.raw.item["coal"].fuel_emissions_multiplier = nil -data.raw.item["coal"].fuel_value = nil -data.raw.item["coal"].fuel_category = nil +if settings.startup["No-minerals-mode-setting"].value == true then + data.raw.item["coal"].fuel_emissions_multiplier = nil + data.raw.item["coal"].fuel_value = nil + data.raw.item["coal"].fuel_category = nil +end data.raw.item["coal-crushed"].fuel_value = nil data.raw.item["coal-crushed"].fuel_category = nil diff --git a/SeaBlock/data-updates/misc.lua b/SeaBlock/data-updates/misc.lua index fd2bdbe..696e824 100644 --- a/SeaBlock/data-updates/misc.lua +++ b/SeaBlock/data-updates/misc.lua @@ -63,12 +63,14 @@ end -- Remove resources so mining recipes don't show in FNEI -- Have to leave at least one resource or game will not load -for k, v in pairs(data.raw["resource"]) do - if k == "coal" then - v.minable.result = nil - v.minable.results = nil - else - data.raw["resource"][k] = nil +if settings.startup["No-minerals-mode-setting"].value == true then + for k, v in pairs(data.raw["resource"]) do + if k == "coal" then + v.minable.result = nil + v.minable.results = nil + else + data.raw["resource"][k] = nil + end end end From adb4abcc4a4156399a414bdb2b2ef28fe9ad69e8 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 20:59:39 -0600 Subject: [PATCH 07/26] got the mineral and no trees working not landblock Landblock needs to have spawners but they aren't showing for some reason --- SeaBlock/data-final-fixes/mapgen.lua | 61 +- .../data-final-fixes/unobtainable_items.lua | 5 +- SeaBlock/mapgen.lua | 638 +++++++++--------- 3 files changed, 375 insertions(+), 329 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index 52c7b9e..bacfc9f 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -1,3 +1,4 @@ +--header if settings.startup["No-minerals-mode-setting"].value == true then -- No resource placement for k, v in pairs(data.raw.resource) do @@ -28,33 +29,65 @@ if settings.startup["No-trees-mode-setting"].value == true then seablock.lib.add_flag("simple-entity", v.name, "not-deconstructable") end end + if settings.startup["Landblock-mode-Seablock-setting"].value == false then -- No spawners for k, v in pairs(data.raw["unit-spawner"]) do v.autoplace = nil v.control = nil end - - local keepcontrols = {} - local turrets = data.raw["turret"] - for turret_name, turret in pairs(turrets) do - if turret.autoplace and turret.autoplace.control then - keepcontrols[turret.autoplace.control] = true - end +end + + +local keepcontrols = {} +local turrets = data.raw["turret"] +for turret_name, turret in pairs(turrets) do +if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true +end +end + +if settings.startup["Landblock-mode-Seablock-setting"].value == true then +local enemies = data.raw["unit-spawner"] +for enemies_name, turret in pairs(enemies) do +if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true +end +end +end + +if settings.startup["No-minerals-mode-setting"].value == false then +local resources = data.raw["resource"] +for resource_name, turret in pairs(resources) do + if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true + end +end +end + +if settings.startup["No-trees-mode-setting"].value == false then +local trees = data.raw["tree"] +for tree_name, turret in pairs(trees) do + if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true end - - local controls = data.raw["autoplace-control"] - for k, v in pairs(controls) do - if k ~= "enemy-base" and not keepcontrols[k] then - controls[k] = nil - end +end +end + +local controls = data.raw["autoplace-control"] +--if settings.startup["No-minerals-mode-setting"].value == true then +--if settings.startup["No-trees-mode-setting"].value == true then +for k, v in pairs(controls) do + if k ~= "enemy-base" and not keepcontrols[k] then + controls[k] = nil end end + local presets = data.raw["map-gen-presets"]["default"] for k, v in pairs(presets) do -- Check for order as this is a manditory property for a MapGenPreset (so we skip type and name) if k ~= "default" and k ~= "marathon" and v.order then data.raw["map-gen-presets"]["default"][k] = nil end -end +end \ No newline at end of file diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index 41cee79..e17ad34 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -106,7 +106,7 @@ for _, v in ipairs({ "bio-tile", "burner-generator", "burner-mining-drill", - "coal", +--"coal", "coal-crushed", "diesel-fuel", "diesel-fuel-barrel", @@ -125,6 +125,9 @@ for _, v in ipairs({ }) do unobtainable[v] = {} end +if settings.startup["No-minerals-mode-setting"].value == true then + unobtainable["coal"] = {} +end -- unobtainable[key] -> { { a, and b, and .. }, or { c, ... } or, { d, and e, and f, ...}... } -- a,b,c... are items which if craftable imply key is also craftable and should not be removed diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index 9082855..b6a9fdd 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -31,9 +31,17 @@ data.raw.tile["sand-5"].vehicle_friction_modifier = 1.8 data.raw.tile["landfill"].vehicle_friction_modifier = 1.8 -if settings.startup["Landblock-mode-Seablock-setting"].value == false then - for _, v in pairs(data.raw.tile) do +local octaves = -3 +local persistence = 0.2 +local waterline = 9.4 +local elevation_scale = 5 +local function scale_elevation(x) + return (x - waterline) * elevation_scale + waterline +end + +if settings.startup["Landblock-mode-Seablock-setting"].value == false then + for k, v in pairs(data.raw.tile) do v.autoplace = nil end @@ -44,13 +52,6 @@ if settings.startup["Landblock-mode-Seablock-setting"].value == false then -- So use train-layer as a substitute player-layer data.raw.cliff["cliff"].collision_mask = { "object-layer", "train-layer", "not-colliding-with-itself" } - local octaves = -3 - local persistence = 0.2 - local waterline = 9.4 - local elevation_scale = 5 - local function scale_elevation(x) - return (x - waterline) * elevation_scale + waterline - end -- low lying sand data.raw.tile["sand-4"].autoplace = { peaks = { @@ -130,160 +131,7 @@ if settings.startup["Landblock-mode-Seablock-setting"].value == false then }, }, } - - local plant_elevation_range = 9.9 * elevation_scale - data.raw.tree["desert-garden"].autoplace = { - max_probability = 0.2, - random_probability_penalty = 0.05, - sharpness = 1, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 0, - tier_from_start_range = 0.1, - tier_from_start_max_range = 0.1, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "desert-garden-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "yc", - tile_restriction = { "sand-5" }, - } - - data.raw.tree["temperate-garden"].autoplace = { - max_probability = 0.2, - random_probability_penalty = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "temperate-garden-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "ya", - tile_restriction = { "sand-5" }, - } - - data.raw.tree["swamp-garden"].autoplace = { - max_probability = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - }, - order = "yb", - tile_restriction = { "sand-5" }, - } - - data.raw.tree["desert-tree"].autoplace = { - max_probability = 0.1, - random_probability_penalty = 0.025, - sharpness = 1, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands - min_influence = 0, - max_influence = 1, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - tier_from_start_optimal = 0, - tier_from_start_range = 0.1, - tier_from_start_max_range = 0.1, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "desert-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "za", - tile_restriction = { "sand-5" }, - } - data.raw.tree["temperate-tree"].autoplace = { - max_probability = 0.1, - random_probability_penalty = 0.025, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "temperate-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "zc", - tile_restriction = { "sand-5" }, - } - - data.raw.tree["swamp-tree"].autoplace = { - max_probability = 0.05, - peaks = { - { - influence = 1, - min_influence = 0, - elevation_optimal = scale_elevation(20), - elevation_range = plant_elevation_range, - elevation_max_range = plant_elevation_range, - }, - { - influence = 1, - max_influence = 0, - noise_layer = "swamp-tree-noise", - noise_persistence = 0.8, - noise_octaves_difference = -0.5, - }, - }, - order = "zb", - tile_restriction = { "sand-5" }, - } - + data.raw.tile["water"].autoplace = { peaks = { { @@ -319,165 +167,327 @@ if settings.startup["Landblock-mode-Seablock-setting"].value == false then }, } - data.raw.fish["alien-fish-1"].autoplace = { - peaks = { - { - influence = -0.1, - max_influence = 0, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - }, - { - influence = 0.01, - }, - }, - } - data.raw.fish["alien-fish-2"].autoplace = { - peaks = { - { - influence = 0.02, - min_influence = 0, - noise_layer = "enemy-base", - noise_octaves_difference = octaves, - noise_persistence = persistence, - }, - }, - } +local plant_elevation_range = 9.9 * elevation_scale +data.raw.tree["desert-garden"].autoplace = { + max_probability = 0.2, + random_probability_penalty = 0.05, + sharpness = 1, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "desert-garden-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "yc", + tile_restriction = { "sand-5" }, +} - data.raw.fish["alien-fish-3"].autoplace = { - peaks = { - { - influence = 0.015, - min_influence = 0, - elevation_optimal = scale_elevation(10), - elevation_range = 5 * elevation_scale, - elevation_max_range = 5 * elevation_scale, - tier_from_start_optimal = 0.1, - tier_from_start_range = 0, - tier_from_start_max_range = 0, - tier_from_start_top_property_limit = 0.1, - }, - }, - } +data.raw.tree["temperate-garden"].autoplace = { + max_probability = 0.2, + random_probability_penalty = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "temperate-garden-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "ya", + tile_restriction = { "sand-5" }, +} - local noise = require("noise") - local tne = noise.to_noise_expression - local enemy_random_seed = 1 - local function new_random_seed() - enemy_random_seed = enemy_random_seed + 1 - return enemy_random_seed - end - local function worm_autoplace(distance, probability, order, falloff, control_name) - local d = noise.var("distance") - noise.var("starting_area_radius") - local p = noise.clamp((d - distance * 128) / 128, 0, 1) - if falloff then - p = p * noise.clamp(((distance + 2) * 128 - d) / 128, 0, 1) - end - p = p * noise.clamp((waterline - noise.var("elevation")), 0, 1) - p = p * probability - p = noise.random_penalty(p, probability * 0.5, { - x = noise.var("x") + new_random_seed(), - }) +data.raw.tree["swamp-garden"].autoplace = { + max_probability = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + }, + order = "yb", + tile_restriction = { "sand-5" }, +} - return { - control = control_name, - order = order, - force = "enemy", - probability_expression = p, - richness_expression = tne(1), - } - end +data.raw.tree["desert-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + sharpness = 1, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "desert-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "za", + tile_restriction = { "sand-5" }, +} +data.raw.tree["temperate-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "temperate-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "zc", + tile_restriction = { "sand-5" }, +} - data.raw.turret["small-worm-turret"].autoplace = worm_autoplace(0, 1, "z", true, "enemy-base") - data.raw.turret["medium-worm-turret"].autoplace = worm_autoplace(1, 1, "y", true, "enemy-base") - if data.raw.turret["bob-big-explosive-worm-turret"] then - data.raw.turret["bob-big-explosive-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - end - if data.raw.turret["bob-big-fire-worm-turret"] then - data.raw.turret["bob-big-fire-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - end - if data.raw.turret["bob-big-poison-worm-turret"] then - data.raw.turret["bob-big-poison-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - end - if data.raw.turret["bob-big-piercing-worm-turret"] then - data.raw.turret["bob-big-piercing-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - end - if data.raw.turret["bob-big-electric-worm-turret"] then - data.raw.turret["bob-big-electric-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - end - if data.raw.turret["bob-giant-worm-turret"] then - data.raw.turret["bob-giant-worm-turret"].autoplace = worm_autoplace(2, 0.6, "u", false, "enemy-base") - end - if data.raw.turret["behemoth-worm-turret"] then - data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") - data.raw.turret["behemoth-worm-turret"].autoplace = worm_autoplace(2, 0.2, "t", false, "enemy-base") - else - data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(2, 1, "v", false, "enemy-base") - end - data.raw.tree["puffer-nest"].autoplace = worm_autoplace(0, 0.01, "s", false) +data.raw.tree["swamp-tree"].autoplace = { + max_probability = 0.05, + peaks = { + { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(20), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, + { + influence = 1, + max_influence = 0, + noise_layer = "swamp-tree-noise", + noise_persistence = 0.8, + noise_octaves_difference = -0.5, + }, + }, + order = "zb", + tile_restriction = { "sand-5" }, +} - for _, v in pairs(data.raw.turret) do - v.map_generator_bounding_box = nil - end +data.raw.fish["alien-fish-1"].autoplace = { + peaks = { + { + influence = -0.1, + max_influence = 0, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + }, + { + influence = 0.01, + }, + }, +} - data:extend({ - { - type = "noise-layer", - name = "desert-tree-noise", - }, - { - type = "noise-layer", - name = "temperate-tree-noise", - }, - { - type = "noise-layer", - name = "swamp-tree-noise", - }, - { - type = "noise-layer", - name = "desert-garden-noise", - }, - { - type = "noise-layer", - name = "temperate-garden-noise", - }, - { - type = "noise-layer", - name = "swamp-garden-noise", +data.raw.fish["alien-fish-2"].autoplace = { + peaks = { + { + influence = 0.02, + min_influence = 0, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + }, + }, +} + +data.raw.fish["alien-fish-3"].autoplace = { + peaks = { + { + influence = 0.015, + min_influence = 0, + elevation_optimal = scale_elevation(10), + elevation_range = 5 * elevation_scale, + elevation_max_range = 5 * elevation_scale, + tier_from_start_optimal = 0.1, + tier_from_start_range = 0, + tier_from_start_max_range = 0, + tier_from_start_top_property_limit = 0.1, + }, + }, +} + +local noise = require("noise") +local tne = noise.to_noise_expression +local enemy_random_seed = 1 +local function new_random_seed() + enemy_random_seed = enemy_random_seed + 1 + return enemy_random_seed +end +local function worm_autoplace(distance, probability, order, falloff, control_name) + local d = noise.var("distance") - noise.var("starting_area_radius") + local p = noise.clamp((d - distance * 128) / 128, 0, 1) + if falloff then + p = p * noise.clamp(((distance + 2) * 128 - d) / 128, 0, 1) + end + p = p * noise.clamp((waterline - noise.var("elevation")), 0, 1) + p = p * probability + p = noise.random_penalty(p, probability * 0.5, { + x = noise.var("x") + new_random_seed(), + }) + + return { + control = control_name, + order = order, + force = "enemy", + probability_expression = p, + richness_expression = tne(1), + } +end + +data.raw.turret["small-worm-turret"].autoplace = worm_autoplace(0, 1, "z", true, "enemy-base") +data.raw.turret["medium-worm-turret"].autoplace = worm_autoplace(1, 1, "y", true, "enemy-base") +if data.raw.turret["bob-big-explosive-worm-turret"] then + data.raw.turret["bob-big-explosive-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") +end +if data.raw.turret["bob-big-fire-worm-turret"] then + data.raw.turret["bob-big-fire-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") +end +if data.raw.turret["bob-big-poison-worm-turret"] then + data.raw.turret["bob-big-poison-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") +end +if data.raw.turret["bob-big-piercing-worm-turret"] then + data.raw.turret["bob-big-piercing-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") +end +if data.raw.turret["bob-big-electric-worm-turret"] then + data.raw.turret["bob-big-electric-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") +end +if data.raw.turret["bob-giant-worm-turret"] then + data.raw.turret["bob-giant-worm-turret"].autoplace = worm_autoplace(2, 0.6, "u", false, "enemy-base") +end +if data.raw.turret["behemoth-worm-turret"] then + data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(1.5, 0.5, "v", false, "enemy-base") + data.raw.turret["behemoth-worm-turret"].autoplace = worm_autoplace(2, 0.2, "t", false, "enemy-base") +else + data.raw.turret["big-worm-turret"].autoplace = worm_autoplace(2, 1, "v", false, "enemy-base") +end +data.raw.tree["puffer-nest"].autoplace = worm_autoplace(0, 0.01, "s", false) + +for _, v in pairs(data.raw.turret) do + v.map_generator_bounding_box = nil +end + +data:extend({ + { + type = "noise-layer", + name = "desert-tree-noise", + }, + { + type = "noise-layer", + name = "temperate-tree-noise", + }, + { + type = "noise-layer", + name = "swamp-tree-noise", + }, + { + type = "noise-layer", + name = "desert-garden-noise", + }, + { + type = "noise-layer", + name = "temperate-garden-noise", + }, + { + type = "noise-layer", + name = "swamp-garden-noise", + }, +}) + +local function make_basis_noise_function(seed0, seed1, outscale0, inscale0) + outscale0 = outscale0 or 1 + inscale0 = inscale0 or 1 / outscale0 + return function(x, y, inscale, outscale) + return tne({ + type = "function-application", + function_name = "factorio-basis-noise", + arguments = { + x = tne(x), + y = tne(y), + seed0 = tne(seed0), + seed1 = tne(seed1), + input_scale = tne((inscale or 1) * inscale0), + output_scale = tne((outscale or 1) * outscale0), }, }) + end +end - local function make_basis_noise_function(seed0, seed1, outscale0, inscale0) - outscale0 = outscale0 or 1 - inscale0 = inscale0 or 1 / outscale0 - return function(x, y, inscale, outscale) - return tne({ - type = "function-application", - function_name = "factorio-basis-noise", - arguments = { - x = tne(x), - y = tne(y), - seed0 = tne(seed0), - seed1 = tne(seed1), - input_scale = tne((inscale or 1) * inscale0), - output_scale = tne((outscale or 1) * outscale0), - }, - }) - end - end +--if settings.startup["Landblock-mode-Seablock-setting"].value == false then + data.raw["noise-expression"]["cliffiness"].expression = noise.define_noise_function(function(x, y, tile, map) + local t = noise.clamp((tile.tier - 0.2) * noise.ceil(noise.var("control-setting:cliffs:richness:multiplier")), 0, 1) -- No cliffs in starting area + return 100 * t + end) + data.raw["noise-expression"]["elevation"].expression = noise.define_noise_function(function(x, y, tile, map) + x = x + 40000 + y = y + local v = make_basis_noise_function(map.seed, 5, 6, 1 / 64)(x, y) + v = noise.max(v, 0) + v = (v * elevation_scale) - (waterline * (elevation_scale - 1)) -- Increase gradient for cliffs while leaving waterline unchanged + return v + end) - data.raw["noise-expression"]["cliffiness"].expression = noise.define_noise_function(function(x, y, tile, map) - local t = noise.clamp((tile.tier - 0.2) * noise.ceil(noise.var("control-setting:cliffs:richness:multiplier")), 0, 1) -- No cliffs in starting area - return 100 * t - end) - data.raw["noise-expression"]["elevation"].expression = noise.define_noise_function(function(x, y, tile, map) - x = x + 40000 - y = y - local v = make_basis_noise_function(map.seed, 5, 6, 1 / 64)(x, y) - v = noise.max(v, 0) - v = (v * elevation_scale) - (waterline * (elevation_scale - 1)) -- Increase gradient for cliffs while leaving waterline unchanged - return v - end) -end \ No newline at end of file + + for k, v in pairs(data.raw.tree) do + if v.autoplace.tile_restriction ~= nil then + v.autoplace.tile_restriction = nil + end + end +end From c0123f73a1697abaa26760748661c2aa8fde3948 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 21:50:48 -0600 Subject: [PATCH 08/26] fixed Landblock mode Landblock mode works now, the angels-biter-slider needs to be at 600% though so that it is normal --- SeaBlock/data-final-fixes/mapgen.lua | 10 ++++++++-- SeaBlock/mapgen.lua | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index bacfc9f..d0b517f 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -38,6 +38,9 @@ if settings.startup["Landblock-mode-Seablock-setting"].value == false then end end +--if settings.startup["Landblock-mode-Seablock-setting"].value == true then + +--else local keepcontrols = {} local turrets = data.raw["turret"] @@ -48,12 +51,15 @@ end end if settings.startup["Landblock-mode-Seablock-setting"].value == true then -local enemies = data.raw["unit-spawner"] -for enemies_name, turret in pairs(enemies) do +local enem = data.raw["unit-spawner"] +for enemies_name, turret in pairs(enem) do if turret.autoplace and turret.autoplace.control then keepcontrols[turret.autoplace.control] = true end end + +keepcontrols["angels-biter-slider"] = true + end if settings.startup["No-minerals-mode-setting"].value == false then diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index b6a9fdd..b5da5ba 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -470,7 +470,7 @@ local function make_basis_noise_function(seed0, seed1, outscale0, inscale0) end end ---if settings.startup["Landblock-mode-Seablock-setting"].value == false then +if settings.startup["Landblock-mode-Seablock-setting"].value == false then data.raw["noise-expression"]["cliffiness"].expression = noise.define_noise_function(function(x, y, tile, map) local t = noise.clamp((tile.tier - 0.2) * noise.ceil(noise.var("control-setting:cliffs:richness:multiplier")), 0, 1) -- No cliffs in starting area return 100 * t @@ -483,7 +483,7 @@ end v = (v * elevation_scale) - (waterline * (elevation_scale - 1)) -- Increase gradient for cliffs while leaving waterline unchanged return v end) - +end for k, v in pairs(data.raw.tree) do if v.autoplace.tile_restriction ~= nil then From 5de1815072543345982b800a09de0a29ab664ee0 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Thu, 23 Feb 2023 22:16:08 -0600 Subject: [PATCH 09/26] Rocks part of Tree setting now works Rocks are now placed in all modes but really infrequently if not Landblock mode --- SeaBlock/data-final-fixes/mapgen.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index d0b517f..688f29f 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -78,6 +78,14 @@ for tree_name, turret in pairs(trees) do keepcontrols[turret.autoplace.control] = true end end + +local trees = data.raw["simple-entity"] +for tree_name, turret in pairs(trees) do + if turret.autoplace and turret.autoplace.control then + keepcontrols[turret.autoplace.control] = true + end +end + end local controls = data.raw["autoplace-control"] From b19352f3d4d3385310b43dae85c604de5cf0cc50 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 15:14:11 -0600 Subject: [PATCH 10/26] Added stuff to the minerals mode so that minerals are mineable Unremoved some items so that the resources can be mined and charcoal can be made of coal for minimum balance issues --- .../data-final-fixes/unobtainable_items.lua | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index e17ad34..774609d 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -106,7 +106,7 @@ for _, v in ipairs({ "bio-tile", "burner-generator", "burner-mining-drill", ---"coal", + "coal", "coal-crushed", "diesel-fuel", "diesel-fuel-barrel", @@ -125,8 +125,24 @@ for _, v in ipairs({ }) do unobtainable[v] = {} end -if settings.startup["No-minerals-mode-setting"].value == true then - unobtainable["coal"] = {} + +if settings.startup["No-minerals-mode-setting"].value == false then + for _, v in ipairs({ + "burner-mining-drill", + "coal-crushed", + "electric-mining-drill" + }) do + removerecipes[v] = false + end + + for _, v in ipairs({ + "burner-mining-drill", + "coal", + "coal-crushed", + "electric-mining-drill" + }) do + unobtainable[v] = nil + end end -- unobtainable[key] -> { { a, and b, and .. }, or { c, ... } or, { d, and e, and f, ...}... } From 4f20c82c3ab4a4480e2c0165fdc937942806239f Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 15:25:56 -0600 Subject: [PATCH 11/26] Updated Locale to have mod setting descriptions Added mod setting descriptions to the mod settings I added. --- SeaBlock/locale/en/SeaBlock.cfg | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/SeaBlock/locale/en/SeaBlock.cfg b/SeaBlock/locale/en/SeaBlock.cfg index b6028f0..9776526 100644 --- a/SeaBlock/locale/en/SeaBlock.cfg +++ b/SeaBlock/locale/en/SeaBlock.cfg @@ -61,9 +61,14 @@ sb-lab-tool=Craft a lab to complete this research [mod-setting-name] sb-default-landfill=Default landfill type bobmods-assembly-multipurposefurnaces=Recipe furnaces -Landblock-mode-Seablock-setting=Landblock mode (Keeps Recipes the same changes mapgen to normal-ish) (Default=unchecked) -No-minerals-mode-setting=Setting to turn on normal resource production for mod incompatabilities (Default=checked) -No-trees-mode-setting=Setting to turn on normal tree/rock growth for mod incompatabilities (Default=checked) +Landblock-mode-Seablock-setting=Landblock mode +No-minerals-mode-setting=No Minerals mode +No-trees-mode-setting=No Tree/Rock mode + +[mod-setting-description] +Landblock-mode-Seablock-setting=Reverts changes to mapgen back to vanilla mapgen (Default=unchecked) +No-minerals-mode-setting=Turns on normal resource production for mod incompatabilities (Default=checked) +No-trees-mode-setting=Turns on normal tree/rock growth for mod incompatabilities (Default=checked) [string-mod-setting] sb-default-landfill-landfill-dirt-4=[img=item/landfill-dirt-4]Dirt From d3926fb1feac44394e51e94ebe95c1e9711daa19 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 20:07:24 -0600 Subject: [PATCH 12/26] Changing how the No minerals items were removed Changed how the items were removed to copying the list and just removing stuff --- .../data-final-fixes/unobtainable_items.lua | 97 +++++++++++++++++-- SeaBlock/data-updates/misc.lua | 3 +- 2 files changed, 93 insertions(+), 7 deletions(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index 774609d..f621f2a 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -40,7 +40,7 @@ end -- Recipes to unconditionally remove local removerecipes = {} -for _, v in ipairs({ +local recipes_to_remove = { "alien-artifact-blue-from-basic", "alien-artifact-green-from-basic", "alien-artifact-orange-from-basic", @@ -94,14 +94,73 @@ for _, v in ipairs({ "thermal-water-filtering-2", "water-thermal-lithia", "wood-charcoal", -}) do +} +if settings.startup["No-minerals-mode-setting"].value == false then +recipes_to_remove = { + "alien-artifact-blue-from-basic", + "alien-artifact-green-from-basic", + "alien-artifact-orange-from-basic", + "alien-artifact-purple-from-basic", + "alien-artifact-red-from-basic", + "alien-artifact-yellow-from-basic", + "angels-chemical-void-gas-natural-1", + "angels-chemical-void-liquid-condensates", + "angels-water-void-crystal-matrix", + "angels-water-void-lithia-water", + "angelsore1-crushed-hand", + "angelsore3-crushed-hand", + "big-burner-generator", + "bio-tile", + "bob-coal-from-wood", + "bob-resin-wood", + "burner-generator", +-- "burner-mining-drill", + "carbon-from-charcoal", + "coal-cracking-1", + "coal-cracking-2", + "coal-cracking-3", +-- "coal-crushed", + "condensates-oil-refining", + "condensates-refining", + "diesel-fuel", +-- "electric-mining-drill", + "empty-crystal-matrix-barrel", + "empty-diesel-fuel-barrel", + "empty-gas-natural-1-barrel", + "empty-liquid-condensates-barrel", + "empty-lithia-water-barrel", + "fill-crystal-matrix-barrel", + "fill-diesel-fuel-barrel", + "fill-gas-natural-1-barrel", + "fill-liquid-condensates-barrel", + "fill-lithia-water-barrel", + "gas-fractioning-condensates", + "gas-phosgene", + "gas-separation", + "oil-steam-boiler", + "petroleum-generator", + "protection-field-goopless", +-- "pumpjack", + "slag-processing-7", + "slag-processing-8", + "slag-processing-9", + "solid-coke", + "solid-coke-sulfur", + "thermal-water-filtering-1", + "thermal-water-filtering-2", + "water-thermal-lithia", + "wood-charcoal", +} +end + +for _, v in ipairs() do removerecipes[v] = true end -- Items to remove. Recipes are checked to ensure these can't be crafted, -- then any recipe that uses an unobtainable item is removed local unobtainable = {} -for _, v in ipairs({ +local items_to_remove = { "big-burner-generator", "bio-tile", "burner-generator", @@ -122,7 +181,33 @@ for _, v in ipairs({ "oil-steam-boiler", "petroleum-generator", "pumpjack", -}) do +} +if settings.startup["No-minerals-mode-setting"].value == false then +items_to_remove = { + "big-burner-generator", + "bio-tile", + "burner-generator", +-- "burner-mining-drill", +-- "coal", +-- "coal-crushed", + "diesel-fuel", + "diesel-fuel-barrel", +-- "electric-mining-drill", + "gas-natural-1", + "gas-natural-1-barrel", + "gas-phosgene", + "gas-phosgene-barrel", + "liquid-condensates", + "liquid-condensates-barrel", + "lithia-water", + "lithia-water-barrel", + "oil-steam-boiler", + "petroleum-generator", + "pumpjack", +} +end + +for _, v in ipairs(items_to_remove) do unobtainable[v] = {} end @@ -134,7 +219,7 @@ if settings.startup["No-minerals-mode-setting"].value == false then }) do removerecipes[v] = false end - +--[[ for _, v in ipairs({ "burner-mining-drill", "coal", @@ -142,7 +227,7 @@ if settings.startup["No-minerals-mode-setting"].value == false then "electric-mining-drill" }) do unobtainable[v] = nil - end + end --]] end -- unobtainable[key] -> { { a, and b, and .. }, or { c, ... } or, { d, and e, and f, ...}... } diff --git a/SeaBlock/data-updates/misc.lua b/SeaBlock/data-updates/misc.lua index 696e824..194b9a8 100644 --- a/SeaBlock/data-updates/misc.lua +++ b/SeaBlock/data-updates/misc.lua @@ -61,6 +61,7 @@ if not seablock.trigger.mining_productivity then end end +if settings.startup["No-minerals-mode-setting"].value == false then -- Remove resources so mining recipes don't show in FNEI -- Have to leave at least one resource or game will not load if settings.startup["No-minerals-mode-setting"].value == true then @@ -73,7 +74,7 @@ if settings.startup["No-minerals-mode-setting"].value == true then end end end - +end -- Add prerequisite for Tin and Lead if settings.startup["bobmods-logistics-beltoverhaul"].value then bobmods.lib.tech.add_prerequisite("logistics", "ore-crushing") From 08c2d418c2c6e8f7cdf797135753970825a68eba Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 20:15:45 -0600 Subject: [PATCH 13/26] Fixed a bug I forgot to give the for loop an argument --- SeaBlock/data-final-fixes/unobtainable_items.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index f621f2a..50455a1 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -153,7 +153,7 @@ recipes_to_remove = { } end -for _, v in ipairs() do +for _, v in ipairs(recipes_to_remove) do removerecipes[v] = true end From d0e17cbc2088a6c60f1fc99734e152c5a738303e Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 20:32:46 -0600 Subject: [PATCH 14/26] Fixed no minerals modes items no minerals modes items are fixed and tested --- SeaBlock/data-final-fixes/unobtainable_items.lua | 8 ++++---- SeaBlock/data-updates/misc.lua | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index 50455a1..1414196 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -210,7 +210,7 @@ end for _, v in ipairs(items_to_remove) do unobtainable[v] = {} end - +--[[ if settings.startup["No-minerals-mode-setting"].value == false then for _, v in ipairs({ "burner-mining-drill", @@ -219,7 +219,7 @@ if settings.startup["No-minerals-mode-setting"].value == false then }) do removerecipes[v] = false end ---[[ + for _, v in ipairs({ "burner-mining-drill", "coal", @@ -227,9 +227,9 @@ if settings.startup["No-minerals-mode-setting"].value == false then "electric-mining-drill" }) do unobtainable[v] = nil - end --]] + end end - +--]] -- unobtainable[key] -> { { a, and b, and .. }, or { c, ... } or, { d, and e, and f, ...}... } -- a,b,c... are items which if craftable imply key is also craftable and should not be removed local recipes = {} diff --git a/SeaBlock/data-updates/misc.lua b/SeaBlock/data-updates/misc.lua index 194b9a8..9676a84 100644 --- a/SeaBlock/data-updates/misc.lua +++ b/SeaBlock/data-updates/misc.lua @@ -61,7 +61,7 @@ if not seablock.trigger.mining_productivity then end end -if settings.startup["No-minerals-mode-setting"].value == false then + -- Remove resources so mining recipes don't show in FNEI -- Have to leave at least one resource or game will not load if settings.startup["No-minerals-mode-setting"].value == true then @@ -74,7 +74,7 @@ if settings.startup["No-minerals-mode-setting"].value == true then end end end -end + -- Add prerequisite for Tin and Lead if settings.startup["bobmods-logistics-beltoverhaul"].value then bobmods.lib.tech.add_prerequisite("logistics", "ore-crushing") @@ -115,9 +115,11 @@ bobmods.lib.tech.remove_prerequisite("tungsten-processing", "angels-nickel-smelt bobmods.lib.tech.remove_recipe_unlock("bio-arboretum-swamp-1", "solid-plastic") seablock.lib.hide("inserter", "steam-inserter") +if settings.startup["No-minerals-mode-setting"].value == true then seablock.lib.hide("mining-drill", "burner-mining-drill") seablock.lib.hide("mining-drill", "electric-mining-drill") seablock.lib.hide("mining-drill", "pumpjack") +end seablock.lib.hide("storage-tank", "bob-overflow-valve") seablock.lib.hide("storage-tank", "bob-valve") seablock.lib.hide("storage-tank", "bob-topup-valve") From 06fa55ee63cf6ff572ef0b8ad47539f034527a01 Mon Sep 17 00:00:00 2001 From: zerostarm Date: Fri, 24 Feb 2023 21:48:23 -0600 Subject: [PATCH 15/26] Added one more recipe to no minerals mode --- SeaBlock/data-final-fixes/unobtainable_items.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index 1414196..771df45 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -144,7 +144,7 @@ recipes_to_remove = { "slag-processing-7", "slag-processing-8", "slag-processing-9", - "solid-coke", +-- "solid-coke", "solid-coke-sulfur", "thermal-water-filtering-1", "thermal-water-filtering-2", From 72059cf48fc4257dec9aa2557205425385f3486f Mon Sep 17 00:00:00 2001 From: Stephen Date: Wed, 15 Mar 2023 21:51:52 -0500 Subject: [PATCH 16/26] Changed Landblock mode to have autoplace controls for gardens and trees Changed landblock mode to have autoplace controls for gardens and trees to keep inline with balance of normal seablock. --- SeaBlock/mapgen.lua | 184 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 182 insertions(+), 2 deletions(-) diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index b5da5ba..7344ac4 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -36,6 +36,15 @@ local octaves = -3 local persistence = 0.2 local waterline = 9.4 local elevation_scale = 5 + +if settings.startup["Landblock-mode-Seablock-setting"].value == true then +octaves = -3 +persistence = 0.2 +waterline = 1 +elevation_scale = 1 +end + + local function scale_elevation(x) return (x - waterline) * elevation_scale + waterline end @@ -166,7 +175,7 @@ if settings.startup["Landblock-mode-Seablock-setting"].value == false then }, }, } - +end local plant_elevation_range = 9.9 * elevation_scale data.raw.tree["desert-garden"].autoplace = { @@ -321,6 +330,174 @@ data.raw.tree["swamp-tree"].autoplace = { tile_restriction = { "sand-5" }, } + +if settings.startup["Landblock-mode-Seablock-setting"].value == true then +plant_elevation_range = 10 * elevation_scale +local elevation_number = 1 +local max_probability_val = 0.2 +data.raw.tree["desert-garden"].autoplace = { + max_probability = max_probability_val, + random_probability_penalty = 0.05, + sharpness = 1, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, --]] +--[[ { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, --]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "desert-garden-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "yc", +-- tile_restriction = { "sand-5" }, +} + +data.raw.tree["temperate-garden"].autoplace = { + max_probability = 0.2, + random_probability_penalty = 0.05, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, --]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "temperate-garden-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "ya", +-- tile_restriction = { "sand-5" }, +} + +data.raw.tree["swamp-garden"].autoplace = { + max_probability = 0.05, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + },--]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "swamp-garden-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "yb", +-- tile_restriction = { "sand-5" }, +} + +data.raw.tree["desert-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + sharpness = 1, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, --]] +--[[ { + influence = 0.31, -- Trial and error value to generate size that approximately matches starting area islands + min_influence = 0, + max_influence = 1, + noise_layer = "enemy-base", + noise_octaves_difference = octaves, + noise_persistence = persistence, + tier_from_start_optimal = 0, + tier_from_start_range = 0.1, + tier_from_start_max_range = 0.1, + }, --]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "desert-tree-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "za", +-- tile_restriction = { "sand-5" }, +} +data.raw.tree["temperate-tree"].autoplace = { + max_probability = 0.1, + random_probability_penalty = 0.025, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, --]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "temperate-tree-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "zc", +-- tile_restriction = { "sand-5" }, +} + +data.raw.tree["swamp-tree"].autoplace = { + max_probability = 0.05, + peaks = { +--[[ { + influence = 1, + min_influence = 0, + elevation_optimal = scale_elevation(elevation_number), + elevation_range = plant_elevation_range, + elevation_max_range = plant_elevation_range, + }, --]] + { + influence = 1, + max_influence = 0.003, + noise_layer = "swamp-tree-noise", + noise_persistence = 0.5, + noise_octaves_difference = -0.1, -- -0.5, + }, + }, + order = "zb", +-- tile_restriction = { "sand-5" }, +} + +end + + + data.raw.fish["alien-fish-1"].autoplace = { peaks = { { @@ -364,6 +541,8 @@ data.raw.fish["alien-fish-3"].autoplace = { }, } +if settings.startup["Landblock-mode-Seablock-setting"].value == false then + local noise = require("noise") local tne = noise.to_noise_expression local enemy_random_seed = 1 @@ -424,6 +603,8 @@ for _, v in pairs(data.raw.turret) do v.map_generator_bounding_box = nil end +end + data:extend({ { type = "noise-layer", @@ -490,4 +671,3 @@ end v.autoplace.tile_restriction = nil end end -end From bf3dab5f175ad7039ad05a6f40161c82fa036e25 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 24 Jun 2023 12:09:24 -0500 Subject: [PATCH 17/26] Added CargoShips Specific Deep Oil Settings and Bugfix --- SeaBlock/data-final-fixes/mapgen.lua | 10 ++++++++++ SeaBlock/mapgen.lua | 4 ++-- SeaBlock/settings.lua | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index 688f29f..6e4a873 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -6,6 +6,16 @@ if settings.startup["No-minerals-mode-setting"].value == true then end end +if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + data.raw["bool-setting"]["deep_oil"].forced_value=true + data.raw["bool-setting"]["deep_oil"].hidden=false + data.raw["string-setting"]["oil_richness"].hidden=false + data.raw["bool-setting"]["no_oil_for_oil_rig"].hidden=false + data.raw["int-setting"]["oil_rig_capacity"].hidden=false + data.raw["bool-setting"]["no_oil_on_land"].hidden=false + data.raw["bool-setting"]["no_shallow_oil"].hidden=false +end + if settings.startup["No-trees-mode-setting"].value == true then -- No trees for k, v in pairs(data.raw.tree) do diff --git a/SeaBlock/mapgen.lua b/SeaBlock/mapgen.lua index 7344ac4..fc963e0 100644 --- a/SeaBlock/mapgen.lua +++ b/SeaBlock/mapgen.lua @@ -541,11 +541,11 @@ data.raw.fish["alien-fish-3"].autoplace = { }, } -if settings.startup["Landblock-mode-Seablock-setting"].value == false then - local noise = require("noise") local tne = noise.to_noise_expression local enemy_random_seed = 1 + +if settings.startup["Landblock-mode-Seablock-setting"].value == false then local function new_random_seed() enemy_random_seed = enemy_random_seed + 1 return enemy_random_seed diff --git a/SeaBlock/settings.lua b/SeaBlock/settings.lua index 47304fd..e935947 100644 --- a/SeaBlock/settings.lua +++ b/SeaBlock/settings.lua @@ -46,4 +46,13 @@ data:extend({ setting_type = "startup", default_value = true } +}) + +data:extend({ + { + type = "bool-setting", + name = "Cargo-ships-deep-oil-setting", + setting_type = "startup", + default_value = false + } }) \ No newline at end of file From ee20e5ae10af6b554c65a2e1076e606d30090ed3 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 24 Jun 2023 12:32:00 -0500 Subject: [PATCH 18/26] Added Settings stuff for deep oil from Cargo Ships mod --- SeaBlock/data-final-fixes/mapgen.lua | 26 ++++++++++++------------ SeaBlock/info.json | 1 + SeaBlock/locale/en/SeaBlock.cfg | 1 + SeaBlock/settings-updates.lua | 1 + SeaBlock/settings-updates/cargoships.lua | 13 ++++++++++++ 5 files changed, 29 insertions(+), 13 deletions(-) create mode 100644 SeaBlock/settings-updates/cargoships.lua diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index 6e4a873..20c33da 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -1,21 +1,21 @@ --header + +--Resource Control if settings.startup["No-minerals-mode-setting"].value == true then - -- No resource placement - for k, v in pairs(data.raw.resource) do - v.autoplace = nil + --No Resource placement execpt deep oil from cargo ships + if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + for k, v in pairs(data.raw.resource) do + if k ~= "deep-oil" then + v.autoplace = nil + end + end + else -- No resource placement + for k, v in pairs(data.raw.resource) do + v.autoplace = nil + end end end -if settings.startup["Cargo-ships-deep-oil-setting"].value == true then - data.raw["bool-setting"]["deep_oil"].forced_value=true - data.raw["bool-setting"]["deep_oil"].hidden=false - data.raw["string-setting"]["oil_richness"].hidden=false - data.raw["bool-setting"]["no_oil_for_oil_rig"].hidden=false - data.raw["int-setting"]["oil_rig_capacity"].hidden=false - data.raw["bool-setting"]["no_oil_on_land"].hidden=false - data.raw["bool-setting"]["no_shallow_oil"].hidden=false -end - if settings.startup["No-trees-mode-setting"].value == true then -- No trees for k, v in pairs(data.raw.tree) do diff --git a/SeaBlock/info.json b/SeaBlock/info.json index 3799e69..e38d744 100644 --- a/SeaBlock/info.json +++ b/SeaBlock/info.json @@ -30,6 +30,7 @@ "? bobrevamp", "? bobtech", "? bobwarfare", + "? cargo-ships" "? CircuitProcessing", "? Explosive Excavation", "? KS_Power", diff --git a/SeaBlock/locale/en/SeaBlock.cfg b/SeaBlock/locale/en/SeaBlock.cfg index 9776526..097a132 100644 --- a/SeaBlock/locale/en/SeaBlock.cfg +++ b/SeaBlock/locale/en/SeaBlock.cfg @@ -68,6 +68,7 @@ No-trees-mode-setting=No Tree/Rock mode [mod-setting-description] Landblock-mode-Seablock-setting=Reverts changes to mapgen back to vanilla mapgen (Default=unchecked) No-minerals-mode-setting=Turns on normal resource production for mod incompatabilities (Default=checked) +Cargo-ships-deep-oil-setting=Turns on Cargo Ships Deep Oil (Default=unchecked) No-trees-mode-setting=Turns on normal tree/rock growth for mod incompatabilities (Default=checked) [string-mod-setting] diff --git a/SeaBlock/settings-updates.lua b/SeaBlock/settings-updates.lua index 601ac12..fad8166 100644 --- a/SeaBlock/settings-updates.lua +++ b/SeaBlock/settings-updates.lua @@ -42,6 +42,7 @@ require("settings-updates/bobpower") require("settings-updates/bobrevamp") require("settings-updates/bobtech") require("settings-updates/bobwarfare") +require("settings-updates/cargoships") require("settings-updates/reskins-angels") require("settings-updates/ScienceCostTweakerM") require("settings-updates/SpaceMod") diff --git a/SeaBlock/settings-updates/cargoships.lua b/SeaBlock/settings-updates/cargoships.lua new file mode 100644 index 0000000..4304c77 --- /dev/null +++ b/SeaBlock/settings-updates/cargoships.lua @@ -0,0 +1,13 @@ +if mods["cargo-ships"] then + if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + --Override Cargo Ships Settings + --Make Deep-oil on on the assumption people want the oil to spawn + data.raw["bool-setting"]["deep_oil"].forced_value=true + data.raw["bool-setting"]["deep_oil"].hidden=false + data.raw["string-setting"]["oil_richness"].hidden=false + data.raw["bool-setting"]["no_oil_for_oil_rig"].hidden=false + data.raw["int-setting"]["oil_rig_capacity"].hidden=false + data.raw["bool-setting"]["no_oil_on_land"].hidden=false + data.raw["bool-setting"]["no_shallow_oil"].hidden=false + end +end \ No newline at end of file From 274754939ee6a20de8b63c1686afea1f8f102f08 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 24 Jun 2023 14:46:07 -0500 Subject: [PATCH 19/26] Finished Adding Pumpjacks to the Cargo Ships Setting --- .../data-final-fixes/unobtainable_items.lua | 40 +++++++++++++++++++ SeaBlock/data-updates/misc.lua | 7 ++-- SeaBlock/info.json | 2 +- SeaBlock/locale/en/SeaBlock.cfg | 1 + SeaBlock/settings-updates.lua | 2 + SeaBlock/settings-updates/cargoships.lua | 3 +- 6 files changed, 50 insertions(+), 5 deletions(-) diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index 771df45..e7b1e84 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -95,6 +95,7 @@ local recipes_to_remove = { "water-thermal-lithia", "wood-charcoal", } +--[[ if settings.startup["No-minerals-mode-setting"].value == false then recipes_to_remove = { "alien-artifact-blue-from-basic", @@ -152,6 +153,45 @@ recipes_to_remove = { "wood-charcoal", } end +--]] + +if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + --remove pumpjack from recipes_to_remove + for k, v in ipairs(recipes_to_remove) do + if v == "pumpjack" then + table.remove(recipes_to_remove, k) + end + end +elseif settings.startup["No-minerals-mode-setting"].value == false then + --[[ + remove: + "burner-mining-drill", + "coal-crushed", + "electric-mining-drill", + "pumpjack", + "solid-coke", + --]] + for k, v in ipairs(recipes_to_remove) do + if v == "pumpjack" then + table.remove(recipes_to_remove, k) + + elseif v == "burner-mining-drill" then + table.remove(recipes_to_remove, k) + + elseif v == "coal-crushed" then + table.remove(recipes_to_remove, k) + + elseif v == "electric-mining-drill" then + table.remove(recipes_to_remove, k) + + elseif v == "solid-coke" then + table.remove(recipes_to_remove, k) + else + end + end +else +end + for _, v in ipairs(recipes_to_remove) do removerecipes[v] = true diff --git a/SeaBlock/data-updates/misc.lua b/SeaBlock/data-updates/misc.lua index 9676a84..58aafaf 100644 --- a/SeaBlock/data-updates/misc.lua +++ b/SeaBlock/data-updates/misc.lua @@ -214,9 +214,10 @@ if mods["bobrevamp"] and not mods["bobclasses"] then bobmods.lib.tech.add_prerequisite("rtg", "production-science-pack") bobmods.lib.tech.add_prerequisite("rtg", "utility-science-pack") end - -if mods["cargo-ships"] then - seablock.lib.hide_item("oil_rig") +if settings.startup["Cargo-ships-deep-oil-setting"].value == false then + if mods["cargo-ships"] then + seablock.lib.hide_item("oil_rig") + end end -- Swap gold for platinum diff --git a/SeaBlock/info.json b/SeaBlock/info.json index e38d744..f5ed25d 100644 --- a/SeaBlock/info.json +++ b/SeaBlock/info.json @@ -30,7 +30,7 @@ "? bobrevamp", "? bobtech", "? bobwarfare", - "? cargo-ships" + "? cargo-ships", "? CircuitProcessing", "? Explosive Excavation", "? KS_Power", diff --git a/SeaBlock/locale/en/SeaBlock.cfg b/SeaBlock/locale/en/SeaBlock.cfg index 097a132..57a4f21 100644 --- a/SeaBlock/locale/en/SeaBlock.cfg +++ b/SeaBlock/locale/en/SeaBlock.cfg @@ -63,6 +63,7 @@ sb-default-landfill=Default landfill type bobmods-assembly-multipurposefurnaces=Recipe furnaces Landblock-mode-Seablock-setting=Landblock mode No-minerals-mode-setting=No Minerals mode +Cargo-ships-deep-oil-setting=Cargo Ships Deep Oil Setting No-trees-mode-setting=No Tree/Rock mode [mod-setting-description] diff --git a/SeaBlock/settings-updates.lua b/SeaBlock/settings-updates.lua index fad8166..d1c9dc0 100644 --- a/SeaBlock/settings-updates.lua +++ b/SeaBlock/settings-updates.lua @@ -42,7 +42,9 @@ require("settings-updates/bobpower") require("settings-updates/bobrevamp") require("settings-updates/bobtech") require("settings-updates/bobwarfare") + require("settings-updates/cargoships") + require("settings-updates/reskins-angels") require("settings-updates/ScienceCostTweakerM") require("settings-updates/SpaceMod") diff --git a/SeaBlock/settings-updates/cargoships.lua b/SeaBlock/settings-updates/cargoships.lua index 4304c77..c45677d 100644 --- a/SeaBlock/settings-updates/cargoships.lua +++ b/SeaBlock/settings-updates/cargoships.lua @@ -1,8 +1,9 @@ if mods["cargo-ships"] then - if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + if data.raw["bool-setting"]["Cargo-ships-deep-oil-setting"].value == true then --Override Cargo Ships Settings --Make Deep-oil on on the assumption people want the oil to spawn data.raw["bool-setting"]["deep_oil"].forced_value=true + data.raw["bool-setting"]["deep_oil"].hidden=false data.raw["string-setting"]["oil_richness"].hidden=false data.raw["bool-setting"]["no_oil_for_oil_rig"].hidden=false From a7efc5a6cf5408a75851ad629fd550025f03d988 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 24 Jun 2023 18:50:40 -0500 Subject: [PATCH 20/26] I think i fixed the naming of deep oil --- SeaBlock/data-final-fixes/mapgen.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeaBlock/data-final-fixes/mapgen.lua b/SeaBlock/data-final-fixes/mapgen.lua index 20c33da..7f1cc52 100644 --- a/SeaBlock/data-final-fixes/mapgen.lua +++ b/SeaBlock/data-final-fixes/mapgen.lua @@ -5,7 +5,7 @@ if settings.startup["No-minerals-mode-setting"].value == true then --No Resource placement execpt deep oil from cargo ships if settings.startup["Cargo-ships-deep-oil-setting"].value == true then for k, v in pairs(data.raw.resource) do - if k ~= "deep-oil" then + if k ~= "deep_oil" then v.autoplace = nil end end From 6b8dbb208456933a0a1435a5b36a456a386d4687 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sun, 25 Jun 2023 14:17:41 -0500 Subject: [PATCH 21/26] Added another exception for pumpjacks and deep oil Fixed deep oil not spawning hopefully (at least now you should be able to put it in with editor) --- .../data-final-fixes/unobtainable_items.lua | 9 ++++++++ SeaBlock/data-updates.lua | 1 + SeaBlock/data-updates/mapgen.lua | 23 +++++++++++++++++++ SeaBlock/data-updates/misc.lua | 14 ----------- 4 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 SeaBlock/data-updates/mapgen.lua diff --git a/SeaBlock/data-final-fixes/unobtainable_items.lua b/SeaBlock/data-final-fixes/unobtainable_items.lua index e7b1e84..8607ef3 100644 --- a/SeaBlock/data-final-fixes/unobtainable_items.lua +++ b/SeaBlock/data-final-fixes/unobtainable_items.lua @@ -247,6 +247,15 @@ items_to_remove = { } end +if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + --remove pumpjack from recipes_to_remove + for k, v in ipairs(items_to_remove) do + if v == "pumpjack" then + table.remove(recipes_to_remove, k) + end + end +end + for _, v in ipairs(items_to_remove) do unobtainable[v] = {} end diff --git a/SeaBlock/data-updates.lua b/SeaBlock/data-updates.lua index 82cd90c..3879ae5 100644 --- a/SeaBlock/data-updates.lua +++ b/SeaBlock/data-updates.lua @@ -16,3 +16,4 @@ require("data-updates/thermal-extractor") require("data-updates/wood") require("data-updates/startup") require("data-updates/landfill") +require("data-updates/mapgen") diff --git a/SeaBlock/data-updates/mapgen.lua b/SeaBlock/data-updates/mapgen.lua new file mode 100644 index 0000000..c7eda43 --- /dev/null +++ b/SeaBlock/data-updates/mapgen.lua @@ -0,0 +1,23 @@ +-- Remove resources so mining recipes don't show in FNEI +-- Have to leave at least one resource or game will not load +if settings.startup["No-minerals-mode-setting"].value == true then + if settings.startup["Cargo-ships-deep-oil-setting"].value == true then + for k, v in pairs(data.raw["resource"]) do + if k == "deep_oil" or k == "deep-oil" then + --v.minable.result = nil + --v.minable.results = nil + else + data.raw["resource"][k] = nil + end + end + else + for k, v in pairs(data.raw["resource"]) do + if k == "coal" then + v.minable.result = nil + v.minable.results = nil + else + data.raw["resource"][k] = nil + end + end + end +end \ No newline at end of file diff --git a/SeaBlock/data-updates/misc.lua b/SeaBlock/data-updates/misc.lua index 58aafaf..2cb8e39 100644 --- a/SeaBlock/data-updates/misc.lua +++ b/SeaBlock/data-updates/misc.lua @@ -61,20 +61,6 @@ if not seablock.trigger.mining_productivity then end end - --- Remove resources so mining recipes don't show in FNEI --- Have to leave at least one resource or game will not load -if settings.startup["No-minerals-mode-setting"].value == true then - for k, v in pairs(data.raw["resource"]) do - if k == "coal" then - v.minable.result = nil - v.minable.results = nil - else - data.raw["resource"][k] = nil - end - end -end - -- Add prerequisite for Tin and Lead if settings.startup["bobmods-logistics-beltoverhaul"].value then bobmods.lib.tech.add_prerequisite("logistics", "ore-crushing") From 08e09218e0eedec134565010dd6ad7d3dcfb2c64 Mon Sep 17 00:00:00 2001 From: KiwiHawk <59639+KiwiHawk@users.noreply.github.com> Date: Fri, 14 Jul 2023 01:35:58 -0500 Subject: [PATCH 22/26] Milestones mod compatibility #292 --- SeaBlock/changelog.txt | 5 + SeaBlock/info.json | 1 + SeaBlock/remote.lua | 191 +++++++++++++++++++++++++++++++++++++ SeaBlockMetaPack/info.json | 3 +- 4 files changed, 199 insertions(+), 1 deletion(-) diff --git a/SeaBlock/changelog.txt b/SeaBlock/changelog.txt index 4114be6..1952e3d 100644 --- a/SeaBlock/changelog.txt +++ b/SeaBlock/changelog.txt @@ -1,4 +1,9 @@ --------------------------------------------------------------------------------------------------- +Version: 0.5.13 +Date: ??? + Changes: + - Milestones mod compatibility #292 +--------------------------------------------------------------------------------------------------- Version: 0.5.12 Date: 01.01.2023 Changes: diff --git a/SeaBlock/info.json b/SeaBlock/info.json index 3799e69..1fcedc5 100644 --- a/SeaBlock/info.json +++ b/SeaBlock/info.json @@ -34,6 +34,7 @@ "? Explosive Excavation", "? KS_Power", "? LandfillPainting >= 0.5.2", + "? Milestones >= 1.3.19", "? ScienceCostTweakerM >= 1.1.10", "? SpaceMod >= 1.1.1", diff --git a/SeaBlock/remote.lua b/SeaBlock/remote.lua index cb62bcf..79d830a 100644 --- a/SeaBlock/remote.lua +++ b/SeaBlock/remote.lua @@ -20,10 +20,201 @@ local function set_starting_items(items) global.starting_items = items end +-- Presets for Milestones mod +local function milestones_presets() + local grouped_milestones = {} + + -- Science + local bio_science_pack = script.active_mods["ScienceCostTweakerM"] and "sct-bio-science-pack" or "token-bio" + grouped_milestones["science"] = { + {type="group", name="Science"}, + {type="item", name="automation-science-pack", quantity=1}, + {type="item", name=bio_science_pack, quantity=1}, + {type="item", name="logistic-science-pack", quantity=1}, + {type="item", name="military-science-pack", quantity=1}, + {type="item", name="chemical-science-pack", quantity=1}, + script.active_mods["bobtech"] and + {type="item", name="advanced-logistic-science-pack", quantity=1} or nil, + {type="item", name="production-science-pack", quantity=1}, + {type="item", name="utility-science-pack", quantity=1}, + {type="item", name="automation-science-pack", quantity=1000, next="x10"}, + {type="item", name="space-science-pack", quantity=1}, + {type="item", name=bio_science_pack, quantity=1000, next="x10"}, + {type="item", name="logistic-science-pack", quantity=1000, next="x10"}, + {type="item", name="military-science-pack", quantity=1000, next="x10"}, + {type="item", name="chemical-science-pack", quantity=1000, next="x10"}, + script.active_mods["bobtech"] and + {type="item", name="advanced-logistic-science-pack", quantity=1000, next="x10"} or nil, + {type="item", name="production-science-pack", quantity=1000, next="x10"}, + {type="item", name="utility-science-pack", quantity=1000, next="x10"}, + {type="item", name="space-science-pack", quantity=10000, next="x10"}, + } + + -- Resources + grouped_milestones["resorces"] = { + {type="group", name="Resources"}, + {type="item", name="wood-charcoal", quantity=1}, + {type="item", name="basic-circuit-board", quantity=1}, + {type="item", name="electronic-circuit", quantity=1}, + {type="item", name="advanced-circuit", quantity=1}, + {type="item", name="processing-unit", quantity=1}, + {type="item", name="advanced-processing-unit", quantity=1}, + + {type="item", name="steel-plate", quantity=1}, + {type="item", name="bronze-alloy", quantity=1}, + {type="item", name="invar-alloy", quantity=1}, + {type="item", name="brass-alloy", quantity=1}, + {type="item", name="glass", quantity=1}, + {type="item", name="silver-plate", quantity=1}, + + {type="item", name="aluminium-plate", quantity=1}, + {type="item", name="titanium-plate", quantity=1}, + {type="item", name="gold-plate", quantity=1}, + {type="item", name="cobalt-steel-alloy", quantity=1}, + {type="item", name="angels-plate-chrome", quantity=1}, + {type="item", name="angels-plate-platinum", quantity=1}, + + {type="item", name="tungsten-plate", quantity=1}, + {type="item", name="copper-tungsten-alloy", quantity=1}, + {type="item", name="tungsten-carbide", quantity=1}, + {type="item", name="nitinol-alloy", quantity=1}, + + {type="item", name="plastic-bar", quantity=1}, + {type="item", name="resin", quantity=1}, + {type="item", name="rubber", quantity=1}, + {type="item", name="alien-bacteria", quantity=1}, + {type="item", name="sulfur", quantity=1}, + {type="fluid", name="mineral-sludge", quantity=1}, + {type="fluid", name="mineral-sludge", quantity=10000, next="x10"}, + } + + -- Progress + local seablock_default_landfill = + script.active_mods["LandfillPainting"] and + settings.startup["sb-default-landfill"] and + settings.startup["sb-default-landfill"].value or "landfill" + grouped_milestones["progress1"] = { + {type="group", name="Progress"}, + {type="item", name="lab", quantity=1}, + {type="item", name=seablock_default_landfill, quantity=1}, + {type="item", name=seablock_default_landfill, quantity=1000, next="x10"}, + {type="alias", name="landfill-dirt-4", equals=seablock_default_landfill, quantity=1}, + {type="alias", name="landfill-dry-dirt", equals=seablock_default_landfill, quantity=1}, + {type="alias", name="landfill-grass-1", equals=seablock_default_landfill, quantity=1}, + {type="alias", name="landfill-red-desert-1", equals=seablock_default_landfill, quantity=1}, + {type="alias", name="landfill-sand-3", equals=seablock_default_landfill, quantity=1}, + {type="alias", name="landfill", equals=seablock_default_landfill, quantity=1}, + {type="fluid", name="liquid-fuel-oil", quantity=1}, + {type="item", name="locomotive", quantity=1}, + {type="item", name="construction-robot", quantity=1}, + {type="item", name="logistic-chest-requester", quantity=1}, + } + + if not script.active_mods["bobmodules"] then + -- Vanilla modules + grouped_milestones["modules"] = { + {type="item", name="productivity-module", quantity=1}, + {type="item", name="productivity-module-4", quantity=1}, + {type="item", name="productivity-module-6", quantity=1}, + } + elseif script.active_mods["CircuitProcessing"] then + -- Circuit Processing modules + grouped_milestones["modules"] = { + {type="item", name="productivity-module-2", quantity=1}, + {type="item", name="productivity-module-4", quantity=1}, + {type="item", name="productivity-module-6", quantity=1}, + {type="item", name="productivity-module-8", quantity=1}, + } + else + -- Bob's Modules + grouped_milestones["modules"] = { + {type="item", name="productivity-module", quantity=1}, + {type="item", name="productivity-module-8", quantity=1}, + } + end + + grouped_milestones["progress2"] = { + {type="item", name="beacon", quantity=1}, + {type="item", name="rocket-fuel", quantity=1}, + {type="technology", name="rocket-silo", quantity=1}, + {type="item", name="nuclear-reactor", quantity=1}, + } + + -- SpaceX + if script.active_mods["SpaceMod"] then + grouped_milestones["SpaceX"] = { + {type="group", name="SpaceX"}, + {type="item", name="drydock-structural", quantity=10}, + {type="item", name="drydock-assembly", quantity=2}, + {type="item", name="protection-field", quantity=1}, + {type="item", name="fusion-reactor", quantity=1}, + {type="item", name="habitation", quantity=1}, + {type="item", name="life-support", quantity=1}, + {type="item", name="command", quantity=1}, + {type="item", name="fuel-cell", quantity=2}, + {type="item", name="space-thruster", quantity=4}, + {type="item", name="hull-component", quantity=10}, + {type="technology", name="ftl-theory-A", quantity=1}, + {type="technology", name="ftl-theory-B", quantity=1}, + {type="technology", name="ftl-theory-C", quantity=1}, + {type="technology", name="ftl-theory-D1", quantity=1}, + script.active_mods["bobtech"] and + {type="technology", name="ftl-theory-D", quantity=1} or nil, + {type="technology", name="ftl-theory-D2", quantity=1}, + {type="technology", name="ftl-propulsion", quantity=1}, + {type="item", name="ftl-drive", quantity=1}, + } + end + + -- Kills + if script.active_mods["bobenemies"] then + grouped_milestones["kills"] = { + {type="group", name="Kills"}, + {type="kill", name="small-worm-turret", quantity=1}, + {type="kill", name="medium-worm-turret", quantity=1}, + {type="kill", name="big-worm-turret", quantity=1}, + {type="alias", name="bob-big-explosive-worm-turret", equals="big-worm-turret", quantity=1}, + {type="alias", name="bob-big-piercing-worm-turret", equals="big-worm-turret", quantity=1}, + {type="alias", name="bob-big-fire-worm-turret", equals="big-worm-turret", quantity=1}, + {type="alias", name="bob-big-poison-worm-turret", equals="big-worm-turret", quantity=1}, + {type="alias", name="bob-big-electric-worm-turret", equals="big-worm-turret", quantity=1}, + {type="kill", name="bob-giant-worm-turret", quantity=1}, + {type="kill", name="behemoth-worm-turret", quantity=1}, + {type="kill", name="behemoth-worm-turret", quantity=1000, next="x10"}, + {type="kill", name="character", quantity=1, next="x5"}, + } + else + grouped_milestones["kills"] = { + {type="group", name="Kills"}, + {type="kill", name="small-worm-turret", quantity=1}, + {type="kill", name="medium-worm-turret", quantity=1}, + {type="kill", name="big-worm-turret", quantity=1}, + {type="kill", name="behemoth-worm-turret", quantity=1}, + {type="kill", name="behemoth-worm-turret", quantity=1000, next="x10"}, + {type="kill", name="character", quantity=1, next="x5"}, + } + end + + local milestones = {} + for group_name, group_milestones in pairs(grouped_milestones) do + for _, milestone in pairs(group_milestones) do + table.insert(milestones, milestone) + end + end + + return { + ["Sea Block"] = { + required_mods = {"SeaBlock", "bobplates", "bobelectronics", "angelsbioprocessing", "angelspetrochem"}, + milestones = milestones, + } + } +end + remote.add_interface("SeaBlock", { get_unlocks = get_unlocks, set_unlock = set_unlock, get_starting_items = get_starting_items, set_starting_item = set_starting_item, set_starting_items = set_starting_items, + milestones_presets = milestones_presets, }) diff --git a/SeaBlockMetaPack/info.json b/SeaBlockMetaPack/info.json index a07044b..f159b53 100644 --- a/SeaBlockMetaPack/info.json +++ b/SeaBlockMetaPack/info.json @@ -1,6 +1,6 @@ { "name": "SeaBlockMetaPack", - "version": "1.1.3", + "version": "1.1.4", "factorio_version": "1.1", "title": "Sea Block Pack", "author": "Trainwreck", @@ -40,6 +40,7 @@ "helmod", "KS_Power", "LandfillPainting", + "Milestones", "ScienceCostTweakerM", "SeaBlock", "SpaceMod" From 8dc70b695ec06dc482cace1178f26c062102d746 Mon Sep 17 00:00:00 2001 From: StyLuaFormatter Date: Fri, 14 Jul 2023 06:36:21 +0000 Subject: [PATCH 23/26] Format Code --- SeaBlock/remote.lua | 255 ++++++++++++++++++++++---------------------- 1 file changed, 127 insertions(+), 128 deletions(-) diff --git a/SeaBlock/remote.lua b/SeaBlock/remote.lua index 79d830a..6b46f76 100644 --- a/SeaBlock/remote.lua +++ b/SeaBlock/remote.lua @@ -27,171 +27,170 @@ local function milestones_presets() -- Science local bio_science_pack = script.active_mods["ScienceCostTweakerM"] and "sct-bio-science-pack" or "token-bio" grouped_milestones["science"] = { - {type="group", name="Science"}, - {type="item", name="automation-science-pack", quantity=1}, - {type="item", name=bio_science_pack, quantity=1}, - {type="item", name="logistic-science-pack", quantity=1}, - {type="item", name="military-science-pack", quantity=1}, - {type="item", name="chemical-science-pack", quantity=1}, - script.active_mods["bobtech"] and - {type="item", name="advanced-logistic-science-pack", quantity=1} or nil, - {type="item", name="production-science-pack", quantity=1}, - {type="item", name="utility-science-pack", quantity=1}, - {type="item", name="automation-science-pack", quantity=1000, next="x10"}, - {type="item", name="space-science-pack", quantity=1}, - {type="item", name=bio_science_pack, quantity=1000, next="x10"}, - {type="item", name="logistic-science-pack", quantity=1000, next="x10"}, - {type="item", name="military-science-pack", quantity=1000, next="x10"}, - {type="item", name="chemical-science-pack", quantity=1000, next="x10"}, - script.active_mods["bobtech"] and - {type="item", name="advanced-logistic-science-pack", quantity=1000, next="x10"} or nil, - {type="item", name="production-science-pack", quantity=1000, next="x10"}, - {type="item", name="utility-science-pack", quantity=1000, next="x10"}, - {type="item", name="space-science-pack", quantity=10000, next="x10"}, + { type = "group", name = "Science" }, + { type = "item", name = "automation-science-pack", quantity = 1 }, + { type = "item", name = bio_science_pack, quantity = 1 }, + { type = "item", name = "logistic-science-pack", quantity = 1 }, + { type = "item", name = "military-science-pack", quantity = 1 }, + { type = "item", name = "chemical-science-pack", quantity = 1 }, + script.active_mods["bobtech"] and { type = "item", name = "advanced-logistic-science-pack", quantity = 1 } or nil, + { type = "item", name = "production-science-pack", quantity = 1 }, + { type = "item", name = "utility-science-pack", quantity = 1 }, + { type = "item", name = "automation-science-pack", quantity = 1000, next = "x10" }, + { type = "item", name = "space-science-pack", quantity = 1 }, + { type = "item", name = bio_science_pack, quantity = 1000, next = "x10" }, + { type = "item", name = "logistic-science-pack", quantity = 1000, next = "x10" }, + { type = "item", name = "military-science-pack", quantity = 1000, next = "x10" }, + { type = "item", name = "chemical-science-pack", quantity = 1000, next = "x10" }, + script.active_mods["bobtech"] + and { type = "item", name = "advanced-logistic-science-pack", quantity = 1000, next = "x10" } + or nil, + { type = "item", name = "production-science-pack", quantity = 1000, next = "x10" }, + { type = "item", name = "utility-science-pack", quantity = 1000, next = "x10" }, + { type = "item", name = "space-science-pack", quantity = 10000, next = "x10" }, } -- Resources grouped_milestones["resorces"] = { - {type="group", name="Resources"}, - {type="item", name="wood-charcoal", quantity=1}, - {type="item", name="basic-circuit-board", quantity=1}, - {type="item", name="electronic-circuit", quantity=1}, - {type="item", name="advanced-circuit", quantity=1}, - {type="item", name="processing-unit", quantity=1}, - {type="item", name="advanced-processing-unit", quantity=1}, - - {type="item", name="steel-plate", quantity=1}, - {type="item", name="bronze-alloy", quantity=1}, - {type="item", name="invar-alloy", quantity=1}, - {type="item", name="brass-alloy", quantity=1}, - {type="item", name="glass", quantity=1}, - {type="item", name="silver-plate", quantity=1}, - - {type="item", name="aluminium-plate", quantity=1}, - {type="item", name="titanium-plate", quantity=1}, - {type="item", name="gold-plate", quantity=1}, - {type="item", name="cobalt-steel-alloy", quantity=1}, - {type="item", name="angels-plate-chrome", quantity=1}, - {type="item", name="angels-plate-platinum", quantity=1}, - - {type="item", name="tungsten-plate", quantity=1}, - {type="item", name="copper-tungsten-alloy", quantity=1}, - {type="item", name="tungsten-carbide", quantity=1}, - {type="item", name="nitinol-alloy", quantity=1}, - - {type="item", name="plastic-bar", quantity=1}, - {type="item", name="resin", quantity=1}, - {type="item", name="rubber", quantity=1}, - {type="item", name="alien-bacteria", quantity=1}, - {type="item", name="sulfur", quantity=1}, - {type="fluid", name="mineral-sludge", quantity=1}, - {type="fluid", name="mineral-sludge", quantity=10000, next="x10"}, + { type = "group", name = "Resources" }, + { type = "item", name = "wood-charcoal", quantity = 1 }, + { type = "item", name = "basic-circuit-board", quantity = 1 }, + { type = "item", name = "electronic-circuit", quantity = 1 }, + { type = "item", name = "advanced-circuit", quantity = 1 }, + { type = "item", name = "processing-unit", quantity = 1 }, + { type = "item", name = "advanced-processing-unit", quantity = 1 }, + + { type = "item", name = "steel-plate", quantity = 1 }, + { type = "item", name = "bronze-alloy", quantity = 1 }, + { type = "item", name = "invar-alloy", quantity = 1 }, + { type = "item", name = "brass-alloy", quantity = 1 }, + { type = "item", name = "glass", quantity = 1 }, + { type = "item", name = "silver-plate", quantity = 1 }, + + { type = "item", name = "aluminium-plate", quantity = 1 }, + { type = "item", name = "titanium-plate", quantity = 1 }, + { type = "item", name = "gold-plate", quantity = 1 }, + { type = "item", name = "cobalt-steel-alloy", quantity = 1 }, + { type = "item", name = "angels-plate-chrome", quantity = 1 }, + { type = "item", name = "angels-plate-platinum", quantity = 1 }, + + { type = "item", name = "tungsten-plate", quantity = 1 }, + { type = "item", name = "copper-tungsten-alloy", quantity = 1 }, + { type = "item", name = "tungsten-carbide", quantity = 1 }, + { type = "item", name = "nitinol-alloy", quantity = 1 }, + + { type = "item", name = "plastic-bar", quantity = 1 }, + { type = "item", name = "resin", quantity = 1 }, + { type = "item", name = "rubber", quantity = 1 }, + { type = "item", name = "alien-bacteria", quantity = 1 }, + { type = "item", name = "sulfur", quantity = 1 }, + { type = "fluid", name = "mineral-sludge", quantity = 1 }, + { type = "fluid", name = "mineral-sludge", quantity = 10000, next = "x10" }, } -- Progress - local seablock_default_landfill = - script.active_mods["LandfillPainting"] and - settings.startup["sb-default-landfill"] and - settings.startup["sb-default-landfill"].value or "landfill" + local seablock_default_landfill = script.active_mods["LandfillPainting"] + and settings.startup["sb-default-landfill"] + and settings.startup["sb-default-landfill"].value + or "landfill" grouped_milestones["progress1"] = { - {type="group", name="Progress"}, - {type="item", name="lab", quantity=1}, - {type="item", name=seablock_default_landfill, quantity=1}, - {type="item", name=seablock_default_landfill, quantity=1000, next="x10"}, - {type="alias", name="landfill-dirt-4", equals=seablock_default_landfill, quantity=1}, - {type="alias", name="landfill-dry-dirt", equals=seablock_default_landfill, quantity=1}, - {type="alias", name="landfill-grass-1", equals=seablock_default_landfill, quantity=1}, - {type="alias", name="landfill-red-desert-1", equals=seablock_default_landfill, quantity=1}, - {type="alias", name="landfill-sand-3", equals=seablock_default_landfill, quantity=1}, - {type="alias", name="landfill", equals=seablock_default_landfill, quantity=1}, - {type="fluid", name="liquid-fuel-oil", quantity=1}, - {type="item", name="locomotive", quantity=1}, - {type="item", name="construction-robot", quantity=1}, - {type="item", name="logistic-chest-requester", quantity=1}, + { type = "group", name = "Progress" }, + { type = "item", name = "lab", quantity = 1 }, + { type = "item", name = seablock_default_landfill, quantity = 1 }, + { type = "item", name = seablock_default_landfill, quantity = 1000, next = "x10" }, + { type = "alias", name = "landfill-dirt-4", equals = seablock_default_landfill, quantity = 1 }, + { type = "alias", name = "landfill-dry-dirt", equals = seablock_default_landfill, quantity = 1 }, + { type = "alias", name = "landfill-grass-1", equals = seablock_default_landfill, quantity = 1 }, + { type = "alias", name = "landfill-red-desert-1", equals = seablock_default_landfill, quantity = 1 }, + { type = "alias", name = "landfill-sand-3", equals = seablock_default_landfill, quantity = 1 }, + { type = "alias", name = "landfill", equals = seablock_default_landfill, quantity = 1 }, + { type = "fluid", name = "liquid-fuel-oil", quantity = 1 }, + { type = "item", name = "locomotive", quantity = 1 }, + { type = "item", name = "construction-robot", quantity = 1 }, + { type = "item", name = "logistic-chest-requester", quantity = 1 }, } if not script.active_mods["bobmodules"] then -- Vanilla modules grouped_milestones["modules"] = { - {type="item", name="productivity-module", quantity=1}, - {type="item", name="productivity-module-4", quantity=1}, - {type="item", name="productivity-module-6", quantity=1}, + { type = "item", name = "productivity-module", quantity = 1 }, + { type = "item", name = "productivity-module-4", quantity = 1 }, + { type = "item", name = "productivity-module-6", quantity = 1 }, } elseif script.active_mods["CircuitProcessing"] then -- Circuit Processing modules grouped_milestones["modules"] = { - {type="item", name="productivity-module-2", quantity=1}, - {type="item", name="productivity-module-4", quantity=1}, - {type="item", name="productivity-module-6", quantity=1}, - {type="item", name="productivity-module-8", quantity=1}, + { type = "item", name = "productivity-module-2", quantity = 1 }, + { type = "item", name = "productivity-module-4", quantity = 1 }, + { type = "item", name = "productivity-module-6", quantity = 1 }, + { type = "item", name = "productivity-module-8", quantity = 1 }, } else -- Bob's Modules grouped_milestones["modules"] = { - {type="item", name="productivity-module", quantity=1}, - {type="item", name="productivity-module-8", quantity=1}, + { type = "item", name = "productivity-module", quantity = 1 }, + { type = "item", name = "productivity-module-8", quantity = 1 }, } end grouped_milestones["progress2"] = { - {type="item", name="beacon", quantity=1}, - {type="item", name="rocket-fuel", quantity=1}, - {type="technology", name="rocket-silo", quantity=1}, - {type="item", name="nuclear-reactor", quantity=1}, + { type = "item", name = "beacon", quantity = 1 }, + { type = "item", name = "rocket-fuel", quantity = 1 }, + { type = "technology", name = "rocket-silo", quantity = 1 }, + { type = "item", name = "nuclear-reactor", quantity = 1 }, } -- SpaceX if script.active_mods["SpaceMod"] then grouped_milestones["SpaceX"] = { - {type="group", name="SpaceX"}, - {type="item", name="drydock-structural", quantity=10}, - {type="item", name="drydock-assembly", quantity=2}, - {type="item", name="protection-field", quantity=1}, - {type="item", name="fusion-reactor", quantity=1}, - {type="item", name="habitation", quantity=1}, - {type="item", name="life-support", quantity=1}, - {type="item", name="command", quantity=1}, - {type="item", name="fuel-cell", quantity=2}, - {type="item", name="space-thruster", quantity=4}, - {type="item", name="hull-component", quantity=10}, - {type="technology", name="ftl-theory-A", quantity=1}, - {type="technology", name="ftl-theory-B", quantity=1}, - {type="technology", name="ftl-theory-C", quantity=1}, - {type="technology", name="ftl-theory-D1", quantity=1}, - script.active_mods["bobtech"] and - {type="technology", name="ftl-theory-D", quantity=1} or nil, - {type="technology", name="ftl-theory-D2", quantity=1}, - {type="technology", name="ftl-propulsion", quantity=1}, - {type="item", name="ftl-drive", quantity=1}, + { type = "group", name = "SpaceX" }, + { type = "item", name = "drydock-structural", quantity = 10 }, + { type = "item", name = "drydock-assembly", quantity = 2 }, + { type = "item", name = "protection-field", quantity = 1 }, + { type = "item", name = "fusion-reactor", quantity = 1 }, + { type = "item", name = "habitation", quantity = 1 }, + { type = "item", name = "life-support", quantity = 1 }, + { type = "item", name = "command", quantity = 1 }, + { type = "item", name = "fuel-cell", quantity = 2 }, + { type = "item", name = "space-thruster", quantity = 4 }, + { type = "item", name = "hull-component", quantity = 10 }, + { type = "technology", name = "ftl-theory-A", quantity = 1 }, + { type = "technology", name = "ftl-theory-B", quantity = 1 }, + { type = "technology", name = "ftl-theory-C", quantity = 1 }, + { type = "technology", name = "ftl-theory-D1", quantity = 1 }, + script.active_mods["bobtech"] and { type = "technology", name = "ftl-theory-D", quantity = 1 } or nil, + { type = "technology", name = "ftl-theory-D2", quantity = 1 }, + { type = "technology", name = "ftl-propulsion", quantity = 1 }, + { type = "item", name = "ftl-drive", quantity = 1 }, } end -- Kills if script.active_mods["bobenemies"] then grouped_milestones["kills"] = { - {type="group", name="Kills"}, - {type="kill", name="small-worm-turret", quantity=1}, - {type="kill", name="medium-worm-turret", quantity=1}, - {type="kill", name="big-worm-turret", quantity=1}, - {type="alias", name="bob-big-explosive-worm-turret", equals="big-worm-turret", quantity=1}, - {type="alias", name="bob-big-piercing-worm-turret", equals="big-worm-turret", quantity=1}, - {type="alias", name="bob-big-fire-worm-turret", equals="big-worm-turret", quantity=1}, - {type="alias", name="bob-big-poison-worm-turret", equals="big-worm-turret", quantity=1}, - {type="alias", name="bob-big-electric-worm-turret", equals="big-worm-turret", quantity=1}, - {type="kill", name="bob-giant-worm-turret", quantity=1}, - {type="kill", name="behemoth-worm-turret", quantity=1}, - {type="kill", name="behemoth-worm-turret", quantity=1000, next="x10"}, - {type="kill", name="character", quantity=1, next="x5"}, + { type = "group", name = "Kills" }, + { type = "kill", name = "small-worm-turret", quantity = 1 }, + { type = "kill", name = "medium-worm-turret", quantity = 1 }, + { type = "kill", name = "big-worm-turret", quantity = 1 }, + { type = "alias", name = "bob-big-explosive-worm-turret", equals = "big-worm-turret", quantity = 1 }, + { type = "alias", name = "bob-big-piercing-worm-turret", equals = "big-worm-turret", quantity = 1 }, + { type = "alias", name = "bob-big-fire-worm-turret", equals = "big-worm-turret", quantity = 1 }, + { type = "alias", name = "bob-big-poison-worm-turret", equals = "big-worm-turret", quantity = 1 }, + { type = "alias", name = "bob-big-electric-worm-turret", equals = "big-worm-turret", quantity = 1 }, + { type = "kill", name = "bob-giant-worm-turret", quantity = 1 }, + { type = "kill", name = "behemoth-worm-turret", quantity = 1 }, + { type = "kill", name = "behemoth-worm-turret", quantity = 1000, next = "x10" }, + { type = "kill", name = "character", quantity = 1, next = "x5" }, } else grouped_milestones["kills"] = { - {type="group", name="Kills"}, - {type="kill", name="small-worm-turret", quantity=1}, - {type="kill", name="medium-worm-turret", quantity=1}, - {type="kill", name="big-worm-turret", quantity=1}, - {type="kill", name="behemoth-worm-turret", quantity=1}, - {type="kill", name="behemoth-worm-turret", quantity=1000, next="x10"}, - {type="kill", name="character", quantity=1, next="x5"}, + { type = "group", name = "Kills" }, + { type = "kill", name = "small-worm-turret", quantity = 1 }, + { type = "kill", name = "medium-worm-turret", quantity = 1 }, + { type = "kill", name = "big-worm-turret", quantity = 1 }, + { type = "kill", name = "behemoth-worm-turret", quantity = 1 }, + { type = "kill", name = "behemoth-worm-turret", quantity = 1000, next = "x10" }, + { type = "kill", name = "character", quantity = 1, next = "x5" }, } end @@ -204,9 +203,9 @@ local function milestones_presets() return { ["Sea Block"] = { - required_mods = {"SeaBlock", "bobplates", "bobelectronics", "angelsbioprocessing", "angelspetrochem"}, + required_mods = { "SeaBlock", "bobplates", "bobelectronics", "angelsbioprocessing", "angelspetrochem" }, milestones = milestones, - } + }, } end From 67488179db2bccc982d0a19fa847517a089ff386 Mon Sep 17 00:00:00 2001 From: KiwiHawk <59639+KiwiHawk@users.noreply.github.com> Date: Fri, 14 Jul 2023 12:18:44 -0500 Subject: [PATCH 24/26] Rename pack mod #306 --- SeaBlockMetaPack/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeaBlockMetaPack/info.json b/SeaBlockMetaPack/info.json index f159b53..2977967 100644 --- a/SeaBlockMetaPack/info.json +++ b/SeaBlockMetaPack/info.json @@ -2,11 +2,11 @@ "name": "SeaBlockMetaPack", "version": "1.1.4", "factorio_version": "1.1", - "title": "Sea Block Pack", + "title": "Sea Block Pack - Official", "author": "Trainwreck", "contact": "https://forums.factorio.com/viewtopic.php?t=43759", "homepage": "https://github.com/KiwiHawk/SeaBlock", - "description": "Cutting edge version of the Sea Block mod pack. Contains dependencies on all mods distributed as part of the Sea Block Pack. This mod does nothing by itself.", + "description": "Enable this mod to get the full recommended Sea Block Mod Pack. Contains dependencies on all mods in the pack. Does nothing by itself.", "dependencies": [ "base", "angelsaddons-storage", From d2eb502344377bc18a5b9515cdc74084a6b9c13b Mon Sep 17 00:00:00 2001 From: KiwiHawk <59639+KiwiHawk@users.noreply.github.com> Date: Fri, 14 Jul 2023 12:20:00 -0500 Subject: [PATCH 25/26] Updating mod version number and date --- SeaBlock/changelog.txt | 2 +- SeaBlock/info.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SeaBlock/changelog.txt b/SeaBlock/changelog.txt index 1952e3d..154f856 100644 --- a/SeaBlock/changelog.txt +++ b/SeaBlock/changelog.txt @@ -1,6 +1,6 @@ --------------------------------------------------------------------------------------------------- Version: 0.5.13 -Date: ??? +Date: 14.07.2023 Changes: - Milestones mod compatibility #292 --------------------------------------------------------------------------------------------------- diff --git a/SeaBlock/info.json b/SeaBlock/info.json index 1fcedc5..bacfcc8 100644 --- a/SeaBlock/info.json +++ b/SeaBlock/info.json @@ -1,6 +1,6 @@ { "name": "SeaBlock", - "version": "0.5.12", + "version": "0.5.13", "factorio_version": "1.1", "title": "Sea Block", "author": "Trainwreck", From 24f558ae4a251a9201d4bec0f9c4c7fd4f6275e9 Mon Sep 17 00:00:00 2001 From: Stephen Date: Fri, 14 Jul 2023 20:00:48 -0500 Subject: [PATCH 26/26] update to 0.5.13 updated the info file to 0.5.13 --- SeaBlock/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeaBlock/info.json b/SeaBlock/info.json index f5ed25d..ad6d199 100644 --- a/SeaBlock/info.json +++ b/SeaBlock/info.json @@ -1,6 +1,6 @@ { "name": "SeaBlock", - "version": "0.5.12", + "version": "0.5.13", "factorio_version": "1.1", "title": "Sea Block", "author": "Trainwreck",