Why did you completely replace completely fine technologies? you can just modify the existing technologies added by the normal game!
For instance, you could replace this code:
{
type = "technology",
name = "rocket-silo",
icon_size = 256, icon_mipmaps = 4,
icon = "__base__/graphics/technology/rocket-silo.png",
effects = {{
type = "unlock-recipe",
recipe = "rocket-silo",
}, {
type = "unlock-recipe",
recipe = "rocket-part",
}, {
type = "unlock-recipe",
recipe = "cargo-landing-pad",
}, {
type = "unlock-recipe",
recipe = "space-platform-starter-pack",
}, {
type = "unlock-recipe",
recipe = "space-platform-foundation",
}},
prerequisites = {"bots-robots-steamworks", "concrete", "low-density-structure", "processing-unit", "advanced-material-processing-2", "rocket-fuel"},
unit =
{
ingredients =
{
{"automation-science-pack", 1},
{"logistic-science-pack", 1},
{"chemical-science-pack", 1}
},
time = 30,
count = 1000
},
order = "e-p-b-c"
}
with
table.insert(data.raw["technology"]["rocket-silo"].prerequisites, "bots-robots-steamworks")
or
data.raw["technology"]["rocket-silo"].prerequisites = {"bots-robots-steamworks", "concrete", "low-density-structure", "processing-unit", "advanced-material-processing-2", "rocket-fuel"}
See? Much cleaner than the current implementation, and it would fix all the problems which may arise from replacing existing technology.