Update to 2.0

This commit is contained in:
Simon Brodtmann 2025-10-05 09:32:17 +02:00
parent b819550db8
commit 70d34155af
19 changed files with 212 additions and 450 deletions

3
.editorconfig Normal file
View file

@ -0,0 +1,3 @@
[*]
indent_style = space
indent_size = 2

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.idea

View file

@ -15,6 +15,7 @@ See changelog.txt
- [snouz](https://github.com/snouz) (logo inspiration, ore graphics templates) - [snouz](https://github.com/snouz) (logo inspiration, ore graphics templates)
- FreeSVG/OpenClipart for spark plug: https://freesvg.org/spark-plug-vector-image - FreeSVG/OpenClipart for spark plug: https://freesvg.org/spark-plug-vector-image
- Krastorio2 team for automation-core icons (Licensed under GNU LGPL v3.0) - Krastorio2 team for automation-core icons (Licensed under GNU LGPL v3.0)
- [cackling fiend](https://mods.factorio.com/user/cackling.fiend) (Update to 2.0)
### Compatibility ### Compatibility
- [U.N.Owen](https://mods.factorio.com/user/U.N.Owen) - [U.N.Owen](https://mods.factorio.com/user/U.N.Owen)

View file

@ -28,25 +28,25 @@ util.replace_ingredient("lab", "copper-cable", "aluminum-cable")
util.replace_ingredient("lab", "basic-circuit-board", "aluminum-cable") -- Bob's util.replace_ingredient("lab", "basic-circuit-board", "aluminum-cable") -- Bob's
if mods.Krastorio2 then if mods.Krastorio2 then
util.replace_ingredient("automation-core", "copper-plate", "aluminum-plate") util.replace_ingredient("kr-automation-core", "copper-plate", "aluminum-plate")
util.replace_ingredient("kr-wind-turbine", "copper-cable", "aluminum-cable") util.replace_ingredient("kr-wind-turbine", "copper-cable", "aluminum-cable")
util.replace_ingredient("kr-crusher", "copper-cable", "aluminum-cable") util.replace_ingredient("kr-crusher", "copper-cable", "aluminum-cable")
util.replace_ingredient("kr-sentinel", "copper-cable", "aluminum-cable") util.replace_ingredient("kr-sentinel", "copper-cable", "aluminum-cable")
util.replace_ingredient("repair-pack", "copper-plate", "aluminum-plate") util.replace_ingredient("repair-pack", "copper-plate", "aluminum-plate")
util.remove_ingredient("basic-tech-card", "copper-cable") util.remove_ingredient("kr-basic-tech-card", "copper-cable")
util.add_ingredient("basic-tech-card", "aluminum-cable", 1) util.add_ingredient("kr-basic-tech-card", "aluminum-cable", 1)
util.add_prerequisite("automation-science-pack", "copper-processing") util.add_prerequisite("automation-science-pack", "copper-processing")
if mods.bobassembly then if mods.bobassembly then
util.set_prerequisite("basic-automation", {"kr-automation-core"}) util.set_prerequisite("basic-automation", {"kr-automation-core"})
util.set_tech_recipe("basic-automation", {{"basic-tech-card", 1}}) util.set_tech_recipe("basic-automation", {{"kr-basic-tech-card", 1}})
end end
util.remove_prerequisite("automation", "smelting") -- Bitumen mod util.remove_prerequisite("automation", "smelting") -- Bitumen mod
-- For warptorio2 expansion with K2 -- For warptorio2 expansion with K2
util.remove_prerequisite("laboratory", "automation-science-pack") util.remove_prerequisite("laboratory", "automation-science-pack")
util.set_tech_recipe("laboratory", {{"basic-tech-card", 1}}) util.set_tech_recipe("laboratory", {{"kr-basic-tech-card", 1}})
end end
@ -74,11 +74,11 @@ if mods["aai-industry"] and mods.Krastorio2 then
util.remove_prerequisite("fuel-processing", "automation-science-pack") util.remove_prerequisite("fuel-processing", "automation-science-pack")
util.remove_prerequisite("electricity", "automation-science-pack") util.remove_prerequisite("electricity", "automation-science-pack")
util.remove_prerequisite("kr-sentinel", "automation-science-pack") util.remove_prerequisite("kr-sentinel", "automation-science-pack")
util.set_tech_recipe("logistics", {{"basic-tech-card", 1}}) util.set_tech_recipe("logistics", {{"kr-basic-tech-card", 1}})
util.set_tech_recipe("fuel-processing", {{"basic-tech-card", 1}}) util.set_tech_recipe("fuel-processing", {{"kr-basic-tech-card", 1}})
util.set_tech_recipe("electricity", {{"basic-tech-card", 1}}) util.set_tech_recipe("electricity", {{"kr-basic-tech-card", 1}})
util.set_tech_recipe("kr-sentinel", {{"basic-tech-card", 1}}) util.set_tech_recipe("kr-sentinel", {{"kr-basic-tech-card", 1}})
util.set_tech_recipe("kr-basic-fluid-handling", {{"basic-tech-card", 1}}) util.set_tech_recipe("kr-basic-fluid-handling", {{"kr-basic-tech-card", 1}})
util.add_prerequisite("deadlock-stacking-1", "automation-science-pack") util.add_prerequisite("deadlock-stacking-1", "automation-science-pack")
util.add_prerequisite("kr-radar", "automation-science-pack") util.add_prerequisite("kr-radar", "automation-science-pack")
@ -122,9 +122,10 @@ require("compatibility/textplates")
-- All customizations or custom unlocks prior to this block -- All customizations or custom unlocks prior to this block
util.add_unlock_force("electronics", "electronic-circuit") util.add_unlock_force("electronics", "electronic-circuit")
util.replace_ingredients_prior_to("electronics", "electronic-circuit", "aluminum-cable") -- Disabled for now because replace_ingredients_prior_to has an infinite recursion
util.replace_ingredients_prior_to("copper-processing", "copper-cable", "aluminum-cable") --util.replace_ingredients_prior_to("electronics", "electronic-circuit", "aluminum-cable")
util.replace_ingredients_prior_to("copper-processing", "copper-plate", "aluminum-plate") --util.replace_ingredients_prior_to("copper-processing", "copper-cable", "aluminum-cable")
--util.replace_ingredients_prior_to("copper-processing", "copper-plate", "aluminum-plate")
-- Any post-fixes (eg aluminum back to copper) after this block -- Any post-fixes (eg aluminum back to copper) after this block
util.remove_prerequisite("copper-processing", "automation") util.remove_prerequisite("copper-processing", "automation")

View file

@ -10,14 +10,14 @@ data:extend(
icon_size = 128, icon_size = 128,
icon = "__bzaluminum__/graphics/icons/enriched-aluminum.png", icon = "__bzaluminum__/graphics/icons/enriched-aluminum.png",
pictures = { pictures = {
{filename="__bzaluminum__/graphics/icons/enriched-aluminum.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/enriched-aluminum.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/enriched-aluminum-1.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/enriched-aluminum-1.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/enriched-aluminum-2.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/enriched-aluminum-2.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/enriched-aluminum-3.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/enriched-aluminum-3.png", size=128, scale=0.25},
}, },
subgroup = "raw-material", subgroup = "raw-material",
order = "e05-a[enriched-ores]-a1[enriched-aluminum]", order = "e05-a[enriched-ores]-a1[enriched-aluminum]",
stack_size = util.get_stack_size(100) stack_size = 100
}, },
{ {
type = "recipe", type = "recipe",
@ -41,7 +41,7 @@ data:extend(
results = results =
{ {
{type = "item", name = "enriched-aluminum", amount = 6}, {type = "item", name = "enriched-aluminum", amount = 6},
{type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25} {type = "fluid", name = "kr-dirty-water", amount = 25, catalyst_amount = 25}
}, },
crafting_machine_tint = crafting_machine_tint =
{ {
@ -66,28 +66,28 @@ data:extend(
always_show_made_in = true, always_show_made_in = true,
always_show_products = true, always_show_products = true,
allow_productivity = true, allow_productivity = true,
ingredients = { {"enriched-aluminum", 5} }, ingredients = { {type="item", name="enriched-aluminum", amount=5} },
results = { {"alumina", 5} }, results = { {type="item", name="alumina", amount=5} },
order = "b[alumina]-b[enriched-alumina]", order = "b[alumina]-b[enriched-alumina]",
}, },
{ {
type = "recipe", type = "recipe",
name = "dirty-water-filtration-aluminum", name = "dirty-water-filtration-aluminum",
category = "fluid-filtration", category = "kr-fluid-filtration",
icons = icons =
{ {
{ {
icon = data.raw.fluid["dirty-water"].icon, icon = data.raw.fluid["kr-dirty-water"].icon,
icon_size = data.raw.fluid["dirty-water"].icon_size icon_size = data.raw.fluid["kr-dirty-water"].icon_size
}, },
{ {
icon = data.raw.item["aluminum-ore"].icon, icon = data.raw.item["aluminum-ore"].icon,
icon_size = data.raw.item["aluminum-ore"].icon_size, icon_size = data.raw.item["aluminum-ore"].icon_size,
scale = 0.20 * (data.raw.fluid["dirty-water"].icon_size/data.raw.item["aluminum-ore"].icon_size), scale = 0.20,
shift = {0, 4} shift = {0, 4}
} }
}, },
icon_size = data.raw.fluid["dirty-water"].icon_size, icon_size = data.raw.fluid["kr-dirty-water"].icon_size,
energy_required = 2, energy_required = 2,
enabled = false, enabled = false,
allow_as_intermediate = false, allow_as_intermediate = false,
@ -95,7 +95,7 @@ data:extend(
always_show_products = true, always_show_products = true,
ingredients = ingredients =
{ {
{type = "fluid", name = "dirty-water", amount = 100, catalyst_amount = 100}, {type = "fluid", name = "kr-dirty-water", amount = 100, catalyst_amount = 100},
}, },
results = results =
{ {

View file

@ -1,7 +1,7 @@
-- Matter recipes for Krastorio2 -- Matter recipes for Krastorio2
if mods["Krastorio2"] then if mods["Krastorio2"] then
local util = require("data-util"); local util = require("data-util");
local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") local matter = require("__Krastorio2__/prototypes/libraries/matter")
data:extend( data:extend(
{ {
@ -28,44 +28,41 @@ data:extend(
{ {
{"production-science-pack", 1}, {"production-science-pack", 1},
{"utility-science-pack", 1}, {"utility-science-pack", 1},
{"matter-tech-card", 1} {"kr-matter-tech-card", 1}
}, },
time = 45 time = 45
} }
}, },
}) })
local flake_graphite_matter = local aluminum_ore_matter =
{ {
item_name = "aluminum-ore", material = { type = "item", name = "aluminum-ore", amount = 10 },
minimum_conversion_quantity = 10, matter_count = 5,
matter_value = 5,
energy_required = 1, energy_required = 1,
need_stabilizer = false, need_stabilizer = false,
unlocked_by_technology = "aluminum-matter-processing" unlocked_by_technology = "aluminum-matter-processing"
} }
matter.createMatterRecipe(flake_graphite_matter) matter.make_recipes(aluminum_ore_matter)
local graphite_matter = local alumina_matter =
{ {
item_name = "alumina", material = { type = "item", name = "alumina", amount = 10 },
minimum_conversion_quantity = 10, matter_count = 7.5,
matter_value = 7.5,
energy_required = 2, energy_required = 2,
only_deconversion = true, only_deconversion = true,
need_stabilizer = true, need_stabilizer = true,
unlocked_by_technology = "aluminum-matter-processing" unlocked_by_technology = "aluminum-matter-processing"
} }
matter.createMatterRecipe(graphite_matter) matter.make_recipes(alumina_matter)
local graphite_matter = local aluminum_plate_matter =
{ {
item_name = "aluminum-plate", material = { type = "item", name = "aluminum-plate", amount = 10 },
minimum_conversion_quantity = 10, matter_count = 10,
matter_value = 10,
energy_required = 3, energy_required = 3,
only_deconversion = true, only_deconversion = true,
need_stabilizer = true, need_stabilizer = true,
unlocked_by_technology = "aluminum-matter-processing" unlocked_by_technology = "aluminum-matter-processing"
} }
matter.createMatterRecipe(graphite_matter) matter.make_recipes(aluminum_plate_matter)
end end

View file

@ -1,8 +1,11 @@
local resource_autoplace = require('resource-autoplace'); local resource_autoplace = require('resource-autoplace');
local noise = require('noise');
local util = require("data-util"); local util = require("data-util");
data.raw.planet.nauvis.map_gen_settings.autoplace_controls["aluminum-ore"] = {}
data.raw.planet.nauvis.map_gen_settings.autoplace_settings.entity.settings["aluminum-ore"] = {}
resource_autoplace.initialize_patch_set("aluminum-ore", true)
data:extend({ data:extend({
{ {
type = "autoplace-control", type = "autoplace-control",
@ -12,10 +15,6 @@ data:extend({
order = "b-e" order = "b-e"
}, },
{ {
type = "noise-layer",
name = "aluminum-ore"
},
{
type = "resource", type = "resource",
icon_size = 64, icon_mipmaps = 3, icon_size = 64, icon_mipmaps = 3,
name = "aluminum-ore", name = "aluminum-ore",
@ -73,13 +72,13 @@ data:extend({
icon_size = 64, icon_mipmaps = 3, icon_size = 64, icon_mipmaps = 3,
icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon = "__bzaluminum__/graphics/icons/aluminum-ore.png",
pictures = { pictures = {
{filename="__bzaluminum__/graphics/icons/aluminum-ore.png", size=64, scale=0.25}, {filename="__bzaluminum__/graphics/icons/aluminum-ore.png", size=64, scale=0.5},
{filename="__bzaluminum__/graphics/icons/aluminum-ore-2.png", size=64, scale=0.25}, {filename="__bzaluminum__/graphics/icons/aluminum-ore-2.png", size=64, scale=0.5},
{filename="__bzaluminum__/graphics/icons/aluminum-ore-3.png", size=64, scale=0.25}, {filename="__bzaluminum__/graphics/icons/aluminum-ore-3.png", size=64, scale=0.5},
{filename="__bzaluminum__/graphics/icons/aluminum-ore-4.png", size=64, scale=0.25}, {filename="__bzaluminum__/graphics/icons/aluminum-ore-4.png", size=64, scale=0.5},
}, },
subgroup = "raw-resource", subgroup = "raw-resource",
order = "t-c-a", order = "t-c-a",
stack_size = util.get_stack_size(50) stack_size = 50
}, },
}) })

View file

@ -1,15 +1,9 @@
-- Enable prod modules for some recipes
-- Recipes with very specific ratios are deliberately excluded
local util = require("data-util") local util = require("data-util")
for i, recipe in pairs(util.me.recipes) do for i, recipe in pairs(util.me.recipes) do
if data.raw.recipe[recipe] then if data.raw.recipe[recipe] then
for j, module in pairs(data.raw.module) do data.raw.recipe[recipe].allow_productivity = true
if module.effect then
for effect_name, effect in pairs(module.effect) do
if effect_name == "productivity" and effect.bonus > 0 and module.limitation and #module.limitation > 0 then
table.insert(module.limitation, recipe)
end
end
end
end
end end
end end

View file

@ -24,7 +24,6 @@ if mods["space-exploration"] then
starting_rq_factor_multiplier = 1.5, starting_rq_factor_multiplier = 1.5,
} }
if string.sub(mods["space-exploration"], 1, 3) == "0.6" then
util.se_matter({ore="aluminum-ore", energy_required=1, quant_out=10, stream_out=60}) util.se_matter({ore="aluminum-ore", energy_required=1, quant_out=10, stream_out=60})
data:extend({ data:extend({
{ {
@ -71,7 +70,7 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then
}, },
energy_required = 60, energy_required = 60,
ingredients = { ingredients = {
{name = "alumina", amount = 24}, { type = "item", name = "alumina", amount = 24},
{type = "fluid", name = "se-pyroflux", amount = 10}, {type = "fluid", name = "se-pyroflux", amount = 10},
}, },
enabled = false, enabled = false,
@ -83,7 +82,7 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then
type = "recipe", type = "recipe",
name = "aluminum-ingot", name = "aluminum-ingot",
category = "casting", category = "casting",
results = {{"aluminum-ingot", 1}}, results = {{type="item", name="aluminum-ingot", amount=1}},
energy_required = 25, energy_required = 25,
ingredients = { ingredients = {
{type = "fluid", name = "molten-aluminum", amount = 250}, {type = "fluid", name = "molten-aluminum", amount = 250},
@ -102,11 +101,11 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then
{icon = "__bzaluminum__/graphics/icons/aluminum-ingot.png", icon_size = 128, scale = 0.125, shift = {-8, -8}}, {icon = "__bzaluminum__/graphics/icons/aluminum-ingot.png", icon_size = 128, scale = 0.125, shift = {-8, -8}},
}, },
results = { results = {
{name = "aluminum-plate", amount = 10}, { type = "item", name = "aluminum-plate", amount = 10},
}, },
energy_required = 5, energy_required = 5,
ingredients = { ingredients = {
{name = "aluminum-ingot", amount = 1} { type = "item", name = "aluminum-ingot", amount = 1}
}, },
enabled = false, enabled = false,
always_show_made_in = true, always_show_made_in = true,
@ -126,101 +125,4 @@ if string.sub(mods["space-exploration"], 1, 3) == "0.6" then
end end
se_delivery_cannon_recipes["aluminum-ingot"] = {name= "aluminum-ingot"} se_delivery_cannon_recipes["aluminum-ingot"] = {name= "aluminum-ingot"}
else
-- Organization
data.raw.item["aluminum-plate"].subgroup = "plates"
data.raw.recipe["aluminum-plate"].subgroup = "plates"
if mods["Krastorio2"] then
data:extend({
{
type = "recipe",
name = "enriched-alumina-smelting-vulcanite",
category = "smelting",
order = "d[alumina]",
energy_required = 24,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "enriched-aluminum", amount = 8},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "alumina", amount = 12},
},
icons =
{
{ icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128 },
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, scale=0.25, shift= {-10, -10}},
},
},
})
table.insert(data.raw.technology["se-processing-vulcanite"].effects,
{type = "unlock-recipe", recipe= "enriched-alumina-smelting-vulcanite"})
data.raw.recipe["enriched-alumina"].order= "d[alumina]"
se_delivery_cannon_recipes["enriched-aluminum"] = {name= "enriched-aluminum"}
else
data:extend({
{
type = "recipe",
name = "alumina-smelting-vulcanite",
category = "smelting",
subgroup = "plates",
order = "d[alumina]",
energy_required = 24,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "aluminum-ore", amount = 8},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "alumina", amount = util.me.byproduct() and 10 or 12},
},
icons =
{
{ icon = "__bzaluminum__/graphics/icons/alumina.png", icon_size = 128},
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-10, -10}},
},
},
})
if util.me.byproduct() then util.add_product("alumina-smelting-vulcanite", {"silica", 2}, {force=true}) end
table.insert(data.raw.technology["se-processing-vulcanite"].effects,
{type = "unlock-recipe", recipe= "alumina-smelting-vulcanite"})
end
data:extend({
{
type = "recipe",
name = "aluminum-plate-smelting-vulcanite",
category = "smelting",
subgroup = "plates",
order = "d[aluminum-plate]",
energy_required = 24,
enabled = false,
always_show_made_in = true,
allow_as_intermediate = false,
ingredients = {
{name = "alumina", amount = 8},
{name = "se-vulcanite-block", amount = 1},
},
results = {
{name = "aluminum-plate", amount = 12},
},
icons =
{
{ icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128},
{ icon = "__space-exploration-graphics__/graphics/icons/vulcanite-block.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-10, -10}},
},
},
})
table.insert(data.raw.technology["se-processing-vulcanite"].effects,
{type = "unlock-recipe", recipe= "aluminum-plate-smelting-vulcanite"})
end
end end

View file

@ -29,12 +29,12 @@ if mods["space-exploration"] then
util.remove_product("se-recycle-large-electric-pole", "copper-cable") util.remove_product("se-recycle-large-electric-pole", "copper-cable")
util.remove_product("se-recycle-substation", "copper-cable") util.remove_product("se-recycle-substation", "copper-cable")
util.add_product("se-recycle-small-iron-electric-pole", {"aluminum-cable", 1}) util.add_product("se-recycle-small-iron-electric-pole", {type="item", name="aluminum-cable", amount=1})
util.add_product("se-recycle-small-electric-pole", {"aluminum-cable", 1}) util.add_product("se-recycle-small-electric-pole", {type="item", name="aluminum-cable", amount=1})
util.add_product("se-recycle-medium-electric-pole", {"acsr-cable", 1}) util.add_product("se-recycle-medium-electric-pole", {type="item", name="acsr-cable", amount=1})
util.add_product("se-recycle-big-electric-pole", {"acsr-cable", 2}) util.add_product("se-recycle-big-electric-pole", {type="item", name="acsr-cable", amount=2})
util.add_product("se-recycle-large-electric-pole", {"acsr-cable", 4}) util.add_product("se-recycle-large-electric-pole", {type="item", name="acsr-cable", amount=4})
util.add_product("se-recycle-substation", {"acsr-cable", 4}) util.add_product("se-recycle-substation", {type="item", name="acsr-cable", amount=4})
end end
-- final amounts apply to all mod loadouts -- final amounts apply to all mod loadouts

View file

@ -77,15 +77,18 @@ end
util.replace_ingredient("kr-shelter", "copper-cable", "aluminum-cable") util.replace_ingredient("kr-shelter", "copper-cable", "aluminum-cable")
local glass = mods["Krastorio2"] and "kr-glass" or "glass"
local sand = mods["Krastorio2"] and "kr-sand" or "sand"
-- Glass -- Glass
-- k2 -- k2
util.replace_some_ingredient("glass", "sand", 3, "alumina", 1) util.replace_some_ingredient(glass, sand, 3, "alumina", 1)
-- aai -- aai
util.multiply_recipe("glass-from-sand", 4) util.multiply_recipe("glass-from-sand", 4)
util.replace_some_ingredient("glass-from-sand", "sand", 3, "alumina", 1) util.replace_some_ingredient("glass-from-sand", sand, 3, "alumina", 1)
util.set_category("glass-from-sand", "basic-founding") util.set_category("glass-from-sand", "basic-founding")
-- se -- se
util.replace_some_ingredient("se-glass-vulcanite", "sand", 3, "alumina", 1) util.replace_some_ingredient("se-glass-vulcanite", sand, 3, "alumina", 1)
-- sand-and-glass -- sand-and-glass
util.multiply_recipe("sng-glass-plate", 4) util.multiply_recipe("sng-glass-plate", 4)
@ -107,10 +110,9 @@ end
-- k2 -- k2
if mods.Krastorio2 then if mods.Krastorio2 then
util.replace_some_ingredient("inserter-parts", "iron-stick", 2, "aluminum-plate", 1) util.replace_some_ingredient("kr-inserter-parts", "iron-stick", 2, "aluminum-plate", 1)
util.add_ingredient("inserter", "iron-stick", 1) -- nice symmetry util.add_ingredient("inserter", "iron-stick", 1) -- nice symmetry
util.replace_ingredient("fast-inserter", "steel-plate", "aluminum-plate") util.replace_ingredient("fast-inserter", "steel-plate", "aluminum-plate")
util.replace_ingredient("filter-inserter", "steel-plate", "aluminum-plate")
util.replace_ingredient("kr-wind-turbine", "iron-plate", "aluminum-plate") util.replace_ingredient("kr-wind-turbine", "iron-plate", "aluminum-plate")
util.replace_ingredient("battery-equipment", "iron-plate", "aluminum-plate") util.replace_ingredient("battery-equipment", "iron-plate", "aluminum-plate")
@ -118,8 +120,8 @@ if mods.Krastorio2 then
util.replace_ingredient("big-battery-equipment", "iron-plate", "aluminum-plate") util.replace_ingredient("big-battery-equipment", "iron-plate", "aluminum-plate")
util.replace_ingredient("personal-submachine-laser-defense-mk1-equipment", "iron-plate", "aluminum-plate") util.replace_ingredient("personal-submachine-laser-defense-mk1-equipment", "iron-plate", "aluminum-plate")
util.replace_ingredient("additional-engine", "steel-plate", "aluminum-6061") util.replace_ingredient("kr-additional-engine-equipment", "steel-plate", "aluminum-6061")
util.replace_ingredient("advanced-additional-engine", "steel-plate", "aluminum-6061") util.replace_ingredient("kr-advanced-additional-engine-equipment", "steel-plate", "aluminum-6061")
util.replace_ingredient("vehicle-roboport", "steel-plate", "aluminum-6061") util.replace_ingredient("vehicle-roboport", "steel-plate", "aluminum-6061")
@ -172,9 +174,7 @@ util.replace_ingredient("Schall-fast-inserter-R4", "iron-plate", "aluminum-plate
util.replace_ingredient("Schall-fast-inserter-R5", "iron-plate", "aluminum-plate") util.replace_ingredient("Schall-fast-inserter-R5", "iron-plate", "aluminum-plate")
util.replace_ingredient("very-long-handed-inserter", "iron-plate", "aluminum-plate") util.replace_ingredient("very-long-handed-inserter", "iron-plate", "aluminum-plate")
util.replace_ingredient("FastLongInserters_fast-inserter", "iron-plate", "aluminum-plate") util.replace_ingredient("FastLongInserters_fast-inserter", "iron-plate", "aluminum-plate")
util.replace_ingredient("FastLongInserters_filter-inserter", "iron-plate", "aluminum-plate")
util.replace_ingredient("FastLongInserters_stack-inserter", "iron-plate", "aluminum-plate") util.replace_ingredient("FastLongInserters_stack-inserter", "iron-plate", "aluminum-plate")
util.replace_ingredient("FastLongInserters_stack-filter-inserter", "iron-plate", "aluminum-plate")
-- Robocharger -- Robocharger
util.add_ingredient("robocharger", "aluminum-6061", 35) util.add_ingredient("robocharger", "aluminum-6061", 35)
@ -195,7 +195,7 @@ util.replace_some_ingredient("Teslacharge-pack", "steel-plate", 4, "aluminum-pla
if mods.leighzerscrapyards then if mods.leighzerscrapyards then
util.add_to_product("scrap-processing", "iron-plate", -1) util.add_to_product("scrap-processing", "iron-plate", -1)
util.add_to_product("scrap-processing", "copper-plate", -1) util.add_to_product("scrap-processing", "copper-plate", -1)
util.add_product("scrap-processing", {"aluminum-plate", 2}) util.add_product("scrap-processing", {type="item", name="aluminum-plate", amount=2})
end end

View file

@ -43,7 +43,7 @@ data:extend({
), ),
enabled = true, enabled = true,
energy_required = mods.Krastorio2 and 16 or 3.2, energy_required = mods.Krastorio2 and 16 or 3.2,
ingredients = {{"aluminum-ore", mods.Krastorio2 and 10 or 1}}, ingredients = {{type = "item", name = "aluminum-ore", amount = mods.Krastorio2 and 10 or 1}},
subgroup = "raw-material", subgroup = "raw-material",
results = alumina_results, results = alumina_results,
}, },
@ -60,33 +60,13 @@ data:extend({
} or { } or {
{ icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128}, { icon = "__bzaluminum__/graphics/icons/aluminum-plate.png", icon_size = 128},
} }
), ),
normal = (mods["Krastorio2"] and enabled = true,
{ energy_required = mods["Krastorio2"] and 16 or 3.2,
enabled = true, ingredients = {{type="item", name="alumina", amount=mods["Krastorio2"] and 10 or 1}},
energy_required = 16, results = {
ingredients = {{"alumina", 10}}, {type="item", name = "aluminum-plate", amount=mods["Krastorio2"] and 10 or 1}
results = { },
{type="item", name = "aluminum-plate", amount=10}
}
} or
{
enabled = true,
energy_required = 3.2,
ingredients = {{"alumina", 1}},
results = {
{type="item", name = "aluminum-plate", amount=1}
}
}),
expensive =
{
enabled = true,
energy_required = 3.2,
ingredients = {{"alumina", 2}},
results = {
{type="item", name = "aluminum-plate", amount=1},
}
}
}, },
{ {
type = "item", type = "item",
@ -94,14 +74,14 @@ data:extend({
icon = "__bzaluminum__/graphics/icons/alumina.png", icon = "__bzaluminum__/graphics/icons/alumina.png",
icon_size = 128, icon_size = 128,
pictures = { pictures = {
{filename="__bzaluminum__/graphics/icons/alumina.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/alumina.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/alumina-1.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/alumina-1.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/alumina-2.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/alumina-2.png", size=128, scale=0.25},
{filename="__bzaluminum__/graphics/icons/alumina-3.png", size=128, scale=0.125}, {filename="__bzaluminum__/graphics/icons/alumina-3.png", size=128, scale=0.25},
}, },
subgroup = "raw-material", subgroup = "raw-material",
order = "b[alumina]", order = "b[alumina]",
stack_size = util.get_stack_size(100) stack_size = 100
}, },
{ {
type = "item", type = "item",
@ -110,7 +90,7 @@ data:extend({
icon_size = 128, icon_size = 128,
subgroup = "raw-material", subgroup = "raw-material",
order = "b[aluminum-plate]", order = "b[aluminum-plate]",
stack_size = util.get_stack_size(100) stack_size = 100
}, },
}) })
@ -150,7 +130,7 @@ data:extend({
unit = { unit = {
count = 10, time = 15, count = 10, time = 15,
ingredients = mods.Krastorio2 and ingredients = mods.Krastorio2 and
{{"basic-tech-card", 1}} or {{"automation-science-pack", 1}}, {{"kr-basic-tech-card", 1}} or {{"automation-science-pack", 1}},
}, },
prerequisites = {}, prerequisites = {},
ignore_tech_cost_multiplier = true, ignore_tech_cost_multiplier = true,
@ -190,7 +170,7 @@ data:extend({
icon_size = 64, icon_mipmaps = 4, icon_size = 64, icon_mipmaps = 4,
subgroup = util.cablesg, subgroup = util.cablesg,
order = "b[aaac-cable]", order = "b[aaac-cable]",
stack_size = util.get_stack_size(100), stack_size = 100,
}, },
{ {
type = "recipe", type = "recipe",
@ -199,8 +179,8 @@ data:extend({
order = "d[aaac-cable]", order = "d[aaac-cable]",
enabled = true, enabled = true,
energy_required = 0.5, energy_required = 0.5,
ingredients = {{"aluminum-plate", 2}}, ingredients = {{type="item", name="aluminum-plate", amount=2}},
results = {{"aluminum-cable", 1}}, results = {{type="item", name="aluminum-cable", amount=1}},
}, },
{ {
type = "item", type = "item",
@ -218,8 +198,8 @@ data:extend({
order = "d[acsr-cable]", order = "d[acsr-cable]",
enabled = false, enabled = false,
energy_required = 0.5, energy_required = 0.5,
ingredients = {{"aluminum-cable", 6}, {"steel-plate", 1}}, ingredients = {{type="item", name="aluminum-cable", amount=6}, {type="item", name="steel-plate", amount=1}},
results = {{"acsr-cable", 3}}, results = {{type="item", name="acsr-cable", amount=3}},
} }
}) })
@ -228,14 +208,14 @@ if mods.Krastorio2 then
{ {
type = "recipe", type = "recipe",
name = "aluminum-cable-s-c", name = "aluminum-cable-s-c",
category = "smelting-crafting", category = "kr-smelting-crafting",
subgroup = "smelting-crafting", subgroup = "kr-smelting-crafting",
order = "d[aaac-cable]", order = "d[aaac-cable]",
enabled = false, enabled = false,
energy_required = 0.5, energy_required = 0.5,
hide_from_player_crafting = true, hide_from_player_crafting = true,
ingredients = {{"aluminum-ore", 4}}, ingredients = {{type="item", name="aluminum-ore", amount=4}},
results = {{"aluminum-cable", 1}}, results = {{type="item", name="aluminum-cable", amount=1}},
icons = { icons = {
{icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4}, {icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4},
{icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8}}, {icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8}},
@ -244,14 +224,14 @@ if mods.Krastorio2 then
{ {
type = "recipe", type = "recipe",
name = "aluminum-cable-enriched-s-c", name = "aluminum-cable-enriched-s-c",
category = "smelting-crafting", category = "kr-smelting-crafting",
subgroup = "smelting-crafting", subgroup = "kr-smelting-crafting",
order = "d[aaac-cable]", order = "d[aaac-cable]",
enabled = false, enabled = false,
energy_required = 0.5, energy_required = 0.5,
hide_from_player_crafting = true, hide_from_player_crafting = true,
ingredients = {{"enriched-aluminum", 2}}, ingredients = {{type="item", name="enriched-aluminum", amount=2}},
results = {{"aluminum-cable", 1}}, results = {{type="item", name="aluminum-cable", amount=1}},
icons = { icons = {
{icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4}, {icon = "__bzaluminum__/graphics/icons/aluminum-cable.png", icon_size = 64, icon_mipmaps = 4},
{icon = "__bzaluminum__/graphics/icons/enriched-aluminum.png", icon_size = 128, scale=0.125, shift= {-8, -8}}, {icon = "__bzaluminum__/graphics/icons/enriched-aluminum.png", icon_size = 128, scale=0.125, shift= {-8, -8}},
@ -263,12 +243,12 @@ if mods.Krastorio2 then
end end
local plug = { local plug = {
{"alumina", 1}, {type="item", name="alumina", amount=1},
{"copper-plate", 1}, {type="item", name="copper-plate", amount=1},
{"iron-plate", 1}, -- replace with tungsten plate later {type="item", name="iron-plate", amount=1}, -- replace with tungsten plate later
} }
if mods.bzzirconium then if mods.bzzirconium then
table.insert(plug, {"zirconia", 1}) table.insert(plug, {type="item", name="zirconia", amount=1})
end end
data:extend({ data:extend({
{ {
@ -288,7 +268,7 @@ data:extend({
enabled = false, enabled = false,
energy_required = 2, energy_required = 2,
ingredients = plug, ingredients = plug,
results = {{"spark-plug", #plug}}, results = {{type = "item", name = "spark-plug", amount = #plug}},
} }
}) })
util.add_effect("engine", { type = "unlock-recipe", recipe = "spark-plug" }) util.add_effect("engine", { type = "unlock-recipe", recipe = "spark-plug" })
@ -303,11 +283,11 @@ aluminum_6061["aluminum-plate"] = 18
aluminum_6061["copper-plate"] = 1 aluminum_6061["copper-plate"] = 1
aluminum_6061["iron-plate"] = 1 aluminum_6061["iron-plate"] = 1
if mods.bzsilicon or mods.Krastorio2 then if mods.bzsilicon or mods.Krastorio2 then
aluminum_6061["silicon"] = 1 aluminum_6061[mods.Krastorio2 and "kr-silicon" or "silicon"] = 1
aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1 aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1
end end
if mods.Krastorio2 then if mods.Krastorio2 then
aluminum_6061["rare-metals"] = 1 aluminum_6061["kr-rare-metals"] = 1
aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1 aluminum_6061["aluminum-plate"] = aluminum_6061["aluminum-plate"] - 1
end end
data:extend({ data:extend({
@ -329,7 +309,7 @@ data:extend({
enabled = false, enabled = false,
energy_required = 100, energy_required = 100,
ingredients = {}, ingredients = {},
results = {{"aluminum-6061", 20}}, results = {{type="item", name="aluminum-6061", amount=20}},
}, },
{ {
type = "technology", type = "technology",
@ -366,7 +346,7 @@ if mods.bzzirconium then
aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1 aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1
end end
if mods.Krastorio2 then if mods.Krastorio2 then
aluminum_2219["rare-metals"] = 1 aluminum_2219["kr-rare-metals"] = 1
aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1 aluminum_2219["aluminum-plate"] = aluminum_2219["aluminum-plate"] - 1
end end
data:extend({ data:extend({
@ -388,7 +368,7 @@ data:extend({
enabled = false, enabled = false,
energy_required = 100, energy_required = 100,
ingredients = {}, ingredients = {},
results = {{"aluminum-2219", 20}}, results = {{type="item", name="aluminum-2219", amount=20}},
}, },
{ {
type = "technology", type = "technology",
@ -434,11 +414,11 @@ if mods.bztitanium then
enabled = false, enabled = false,
energy_required = 10, energy_required = 10,
ingredients = { ingredients = {
{"alumina", 10}, {type="item", name="alumina", amount=10},
{util.titanium_plate, 1}, {type="item", name=util.titanium_plate, amount=1},
{type="fluid", name=mods.Krastorio2 and "ammonia" or "sulfuric-acid", amount=5}, {type="fluid", name=mods.Krastorio2 and "kr-ammonia" or "sulfuric-acid", amount=5},
}, },
results = {{"ti-sapphire", 1}}, results = {{type="item", name="ti-sapphire", amount=1}},
}, },
}) })
util.add_effect("laser", {type="unlock-recipe", recipe="ti-sapphire"}) util.add_effect("laser", {type="unlock-recipe", recipe="ti-sapphire"})
@ -457,8 +437,8 @@ data:extend({
category = "double-smelting", category = "double-smelting",
enabled = false, enabled = false,
energy_required = 3.2, energy_required = 3.2,
ingredients = {{"aluminum-ore", 1}}, ingredients = {{type="item", name="aluminum-ore", amount=1}},
results = {{"aluminum-plate", 1}}, results = {{type="item", name="aluminum-plate", amount=1}},
} }
}) })
util.add_effect("double-smelting-tech-steel", {type = "unlock-recipe", recipe = "double-aluminum"}) util.add_effect("double-smelting-tech-steel", {type = "unlock-recipe", recipe = "double-aluminum"})

View file

@ -1,5 +1,5 @@
if mods["248k"] then if mods["248k-Redux"] then
data:extend({ data:extend({
{ {
@ -20,7 +20,7 @@ data:extend({
always_show_made_in = true, always_show_made_in = true,
icons = { icons = {
{ {
icon = "__248k__/ressources/fluids/el_dirty_water.png", icon_size = 64, icon = "__248k-Redux-graphics__/ressources/fluids/el_dirty_water.png", icon_size = 64,
}, },
{ {
icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8} icon = "__bzaluminum__/graphics/icons/aluminum-ore.png", icon_size = 64, icon_mipmaps = 3, scale=0.25, shift= {-8, -8}

View file

@ -10,7 +10,7 @@ end
local util = require("data-util"); local util = require("data-util");
if mods["space-exploration"] then if mods["space-exploration"] then
-- Must be in final fixes -- Must be in final fixes
util.replace_ingredient("rocket-control-unit", "iron-plate", "aluminum-plate") util.replace_ingredient("rocket-control-unit", "iron-plate", "aluminum-plate")

View file

@ -14,12 +14,11 @@ require("compatibility/rsc")
require("compatibility/crafting-efficiency") require("compatibility/crafting-efficiency")
local util = require("data-util") local util = require("data-util")
if data.raw.resource["copper-ore"] then if data.raw.resource["copper-ore"] and not mods["bzgold"] then
if mods["space-exploration"] then if mods["space-exploration"] then
local noise = require('noise');
-- decrease richness of copper a bit -- decrease richness of copper a bit
data.raw.resource["copper-ore"].autoplace.richness_expression = data.raw.resource["copper-ore"].autoplace.richness_expression =
data.raw.resource["copper-ore"].autoplace.richness_expression * noise.to_noise_expression(3/4) data.raw.resource["copper-ore"].autoplace.richness_expression .. "*(3/4)"
else else
log("Replacing vanilla copper-ore autoplace") log("Replacing vanilla copper-ore autoplace")
local resource_autoplace = require('resource-autoplace'); local resource_autoplace = require('resource-autoplace');

View file

@ -64,17 +64,7 @@ function util.fe_plus(sub)
end end
end end
function util.get_stack_size(default) function util.k2assets()
if mods.Krastorio2 then
local size = get_setting("kr-stack-size")
if size and tonumber(size) then
return tonumber(size)
end
end
return default
end
function util.k2assets()
if mods["Krastorio2Assets"] then if mods["Krastorio2Assets"] then
return "__Krastorio2Assets__" return "__Krastorio2Assets__"
end end
@ -111,8 +101,8 @@ function util.se_landfill(params)
category = "hard-recycling", category = "hard-recycling",
order = "z-b-"..params.ore, order = "z-b-"..params.ore,
subgroup = "terrain", subgroup = "terrain",
result = "landfill", results = {{type="item", name="landfill", amount=1}},
ingredients = {{params.ore, 50}}, ingredients = {{type="item", name=params.ore, amount=50}},
} }
}) })
util.add_unlock("se-recycling-facility", lname) util.add_unlock("se-recycling-facility", lname)
@ -123,7 +113,7 @@ end
-- k2 matter -- k2 matter
-- params: {k2matter}, k2baseicon , {icon} -- params: {k2matter}, k2baseicon , {icon}
function util.k2matter(params) function util.k2matter(params)
local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") local matter = require("__Krastorio2__/prototypes/libraries/matter")
if mods["space-exploration"] then if mods["space-exploration"] then
params.k2matter.need_stabilizer = true params.k2matter.need_stabilizer = true
end end
@ -169,15 +159,15 @@ function util.k2matter(params)
{ {
{"production-science-pack", 1}, {"production-science-pack", 1},
{"utility-science-pack", 1}, {"utility-science-pack", 1},
{"matter-tech-card", 1} {"kr-matter-tech-card", 1}
}, },
time = 45, time = 45,
}, },
-- (ignore for now) localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}},
}, },
}) })
end end
matter.createMatterRecipe(params.k2matter) matter.make_recipes(params.k2matter)
end end
@ -211,16 +201,16 @@ function util.se_matter(params)
energy_required = params.energy_required, energy_required = params.energy_required,
enabled = false, enabled = false,
ingredients = { ingredients = {
{sedata, 1}, {type="item", name=sedata, amount=1},
{type="fluid", name="se-particle-stream", amount=50}, {type="fluid", name="se-particle-stream", amount=50},
{type="fluid", name="se-space-coolant-supercooled", amount=25}, {type="fluid", name="se-space-coolant-supercooled", amount=25},
}, },
results = { results = {
{params.ore, params.quant_out}, {type="item", name=params.ore, amount=params.quant_out},
{"se-contaminated-scrap", 1}, {type="item", name="se-contaminated-scrap", amount=1},
{type=item, name=sedata, amount=1, probability=.99}, {type="item", name=sedata, amount=1, probability=.99},
{type=item, name=sejunk, amount=1, probability=.01}, {type="item", name=sejunk, amount=1, probability=.01},
{type="fluid", name="se-space-coolant-hot", amount=25, catalyst_amount=25}, {type="fluid", name="se-space-coolant-hot", amount=25, ignored_by_productivity=25, ignored_by_stats=25},
} }
} }
}) })
@ -250,14 +240,14 @@ function util.se_matter(params)
energy_required = 30, energy_required = 30,
enabled = false, enabled = false,
ingredients = { ingredients = {
{"se-kr-matter-liberation-data", 1}, {type="item", name="se-kr-matter-liberation-data", amount=1},
{params.ore, params.quant_in}, {type="item", name=params.ore, amount=params.quant_in},
{type="fluid", name="se-particle-stream", amount=50}, {type="fluid", name="se-particle-stream", amount=50},
}, },
results = { results = {
{type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99}, {type="item", name="se-kr-matter-liberation-data", amount=1, probability=.99},
{type=item, name=sejunk, amount=1, probability=.01}, {type="item", name=sejunk, amount=1, probability=.01},
{type="fluid", name="se-particle-stream", amount=params.stream_out, catalyst_amount=50}, {type="fluid", name="se-particle-stream", amount=params.stream_out, ignored_by_productivity=50, ignored_by_stats=50},
} }
} }
}) })
@ -284,7 +274,7 @@ function util.se_matter(params)
{"se-astronomic-science-pack-4", 1}, {"se-astronomic-science-pack-4", 1},
{"se-energy-science-pack-4", 1}, {"se-energy-science-pack-4", 1},
{"se-material-science-pack-4", 1}, {"se-material-science-pack-4", 1},
{"matter-tech-card", 1}, {"kr-matter-tech-card", 1},
{"se-deep-space-science-pack-1", 1}, {"se-deep-space-science-pack-1", 1},
} }
@ -298,18 +288,6 @@ function util.se_matter(params)
end end
end end
-- Get the normal prototype for a recipe -- either .normal or the recipe itself
function util.get_normal(recipe_name)
if data.raw.recipe[recipe_name] then
recipe = data.raw.recipe[recipe_name]
if recipe.normal and recipe.normal.ingredients then
return recipe.normal
elseif recipe.ingredients then
return recipe
end
end
end
-- Set/override a technology's prerequisites -- Set/override a technology's prerequisites
function util.set_prerequisite(technology_name, prerequisites) function util.set_prerequisite(technology_name, prerequisites)
local technology = data.raw.technology[technology_name] local technology = data.raw.technology[technology_name]
@ -376,7 +354,7 @@ function util.add_unlock(technology_name, recipe)
end end
-- Check if a tech unlocks a recipe -- Check if a tech unlocks a recipe
function util.check_unlock(technology_name, recipe_name) function util.check_unlock(technology_name, recipe)
local technology = data.raw.technology[technology_name] local technology = data.raw.technology[technology_name]
if technology and technology.effects then if technology and technology.effects then
for i, effect in pairs(technology.effects) do for i, effect in pairs(technology.effects) do
@ -421,17 +399,13 @@ end
function util.set_enabled(recipe_name, enabled) function util.set_enabled(recipe_name, enabled)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.enabled = enabled end data.raw.recipe[recipe_name].enabled = enabled
if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.enabled = enabled end
if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].enabled = enabled end
end end
end end
function util.set_hidden(recipe_name) function util.set_hidden(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.hidden = true end data.raw.recipe[recipe_name].hidden = true
if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.hidden = true end
if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].hidden = true end
end end
end end
@ -441,8 +415,6 @@ function util.add_or_add_to_ingredient(recipe_name, ingredient, quantity, option
if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then
me.add_modified(recipe_name) me.add_modified(recipe_name)
add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
add_or_add_to_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
add_or_add_to_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
end end
end end
@ -465,8 +437,6 @@ function util.add_ingredient(recipe_name, ingredient, quantity, options)
if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then
me.add_modified(recipe_name) me.add_modified(recipe_name)
add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid) add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid)
add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity, is_fluid)
add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity, is_fluid)
end end
end end
@ -480,7 +450,7 @@ function add_ingredient(recipe, ingredient, quantity, is_fluid)
if is_fluid then if is_fluid then
table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity}) table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity})
else else
table.insert(recipe.ingredients, {ingredient, quantity}) table.insert(recipe.ingredients, {type="item", name=ingredient, amount=quantity})
end end
end end
end end
@ -491,8 +461,6 @@ function util.add_ingredient_raw(recipe_name, ingredient, options)
if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then
me.add_modified(recipe_name) me.add_modified(recipe_name)
add_ingredient_raw(data.raw.recipe[recipe_name], ingredient) add_ingredient_raw(data.raw.recipe[recipe_name], ingredient)
add_ingredient_raw(data.raw.recipe[recipe_name].normal, ingredient)
add_ingredient_raw(data.raw.recipe[recipe_name].expensive, ingredient)
end end
end end
@ -514,56 +482,45 @@ end
function util.set_ingredient(recipe_name, ingredient, quantity, options) function util.set_ingredient(recipe_name, ingredient, quantity, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then
local is_fluid = not not data.raw.fluid[ingredient]
me.add_modified(recipe_name) me.add_modified(recipe_name)
set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid)
set_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
set_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
end end
end end
function set_ingredient(recipe, ingredient, quantity) function set_ingredient(recipe, ingredient, quantity, is_fluid)
if recipe ~= nil and recipe.ingredients ~= nil then if recipe ~= nil and recipe.ingredients ~= nil then
for i, existing in pairs(recipe.ingredients) do for i, existing in pairs(recipe.ingredients) do
if existing[1] == ingredient then if existing.name == ingredient then
existing[2] = quantity
return
elseif existing.name == ingredient then
existing.amount = quantity existing.amount = quantity
existing.amount_min = nil existing.amount_min = nil
existing.amount_max = nil existing.amount_max = nil
return return
end end
end end
table.insert(recipe.ingredients, {ingredient, quantity}) if is_fluid then
table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity})
else
table.insert(recipe.ingredients, {type="item", name=ingredient, amount=quantity})
end
end end
end end
-- Add a given quantity of product to a given recipe. -- Add a given quantity of product to a given recipe.
-- Only works for recipes with multiple products -- Only works for recipes with multiple products
function util.add_product(recipe_name, product, options) function util.add_product(recipe_name, product, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] and if data.raw.recipe[recipe_name] and
(data.raw.item[product[1]] or data.raw.item[product.name] or (data.raw.item[product.name] or data.raw.fluid[product.name]) then
data.raw.fluid[product[1]] or data.raw.fluid[product.name]
) then
add_product(data.raw.recipe[recipe_name], product) add_product(data.raw.recipe[recipe_name], product)
add_product(data.raw.recipe[recipe_name].normal, product)
add_product(data.raw.recipe[recipe_name].expensive, product)
end end
end end
function add_product(recipe, product) function add_product(recipe, product)
if recipe ~= nil then if recipe ~= nil then
if (product[1] and data.raw.item[product[1]]) or if recipe.results == nil then
(product.name and data.raw[product.type][product.name]) then recipe.results = {}
if not recipe.normal then
if recipe.results == nil then
recipe.results = {{recipe.result, recipe.result_count and recipe.result_count or 1}}
end
recipe.result = nil
recipe.result_count = nil
table.insert(recipe.results, product)
end end
end table.insert(recipe.results, product)
end end
end end
@ -571,18 +528,13 @@ end
function util.get_ingredient_amount(recipe_name, ingredient_name) function util.get_ingredient_amount(recipe_name, ingredient_name)
local recipe = data.raw.recipe[recipe_name] local recipe = data.raw.recipe[recipe_name]
if recipe then if recipe then
if recipe.normal and recipe.normal.ingredients then if recipe.ingredients then
for i, ingredient in pairs(recipe.normal.ingredients) do
if ingredient[1] == ingredient_name then return ingredient[2] end
if ingredient.name == ingredient_name then return ingredient.amount end
end
elseif recipe.ingredients then
for i, ingredient in pairs(recipe.ingredients) do for i, ingredient in pairs(recipe.ingredients) do
if ingredient[1] == ingredient_name then return ingredient[2] end if ingredient[1] == ingredient_name then return ingredient[2] end
if ingredient.name == ingredient_name then return ingredient.amount end if ingredient.name == ingredient_name then return ingredient.amount end
end end
end end
return 0 return 1
end end
return 0 return 0
end end
@ -592,14 +544,7 @@ function util.get_amount(recipe_name, product)
if not product then product = recipe_name end if not product then product = recipe_name end
local recipe = data.raw.recipe[recipe_name] local recipe = data.raw.recipe[recipe_name]
if recipe then if recipe then
if recipe.normal and recipe.normal.results then if recipe.results then
for i, result in pairs(recipe.normal.results) do
if result[1] == product then return result[2] end
if result.name == product then return result.amount end
end
elseif recipe.normal and recipe.normal.result_count then
return recipe.normal.result_count
elseif recipe.results then
for i, result in pairs(recipe.results) do for i, result in pairs(recipe.results) do
if result[1] == product then return result[2] end if result[1] == product then return result[2] end
if result.name == product then return result.amount end if result.name == product then return result.amount end
@ -617,9 +562,7 @@ function util.get_result_count(recipe_name, product)
if not product then product = recipe_name end if not product then product = recipe_name end
local recipe = data.raw.recipe[recipe_name] local recipe = data.raw.recipe[recipe_name]
if recipe then if recipe then
if recipe.normal and recipe.normal.results then if recipe.results then
return #(recipe.normal.results)
elseif recipe.results then
return #(recipe.results) return #(recipe.results)
end end
return 1 return 1
@ -634,8 +577,6 @@ function util.replace_ingredient(recipe_name, old, new, amount, multiply, option
if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then
me.add_modified(recipe_name) me.add_modified(recipe_name)
replace_ingredient(data.raw.recipe[recipe_name], old, new, amount, multiply) replace_ingredient(data.raw.recipe[recipe_name], old, new, amount, multiply)
replace_ingredient(data.raw.recipe[recipe_name].normal, old, new, amount, multiply)
replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new, amount, multiply)
end end
end end
@ -677,8 +618,6 @@ function util.remove_ingredient(recipe_name, old, options)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
me.add_modified(recipe_name) me.add_modified(recipe_name)
remove_ingredient(data.raw.recipe[recipe_name], old) remove_ingredient(data.raw.recipe[recipe_name], old)
remove_ingredient(data.raw.recipe[recipe_name].normal, old)
remove_ingredient(data.raw.recipe[recipe_name].expensive, old)
end end
end end
@ -704,28 +643,23 @@ function util.replace_some_product(recipe_name, old, old_amount, new, new_amount
if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then
me.add_modified(recipe_name) me.add_modified(recipe_name)
replace_some_product(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) replace_some_product(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid)
replace_some_product(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid)
replace_some_product(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid)
end end
end end
function replace_some_product(recipe, old, old_amount, new, new_amount) function replace_some_product(recipe, old, old_amount, new, new_amount, is_fluid)
if recipe ~= nil then if recipe ~= nil then
if recipe.result == new then return end if recipe.result == new then return end
if recipe.results then if recipe.results then
for i, existing in pairs(recipe.results) do for i, existing in pairs(recipe.results) do
if existing[1] == new or existing.name == new then if existing.name == new then
return return
end end
end end
end end
add_product(recipe, {new, new_amount}) add_product(recipe, {type=is_fluid and "fluid" or "item", name=new, amount=new_amount})
for i, product in pairs(recipe.results) do for i, product in pairs(recipe.results) do
if product.name == old then if product.name == old then
product.amount = math.max(1, product.amount - old_amount) product.amount = math.max(1, product.amount - old_amount)
end
if product[1] == old then
product[2] = math.max(1, product[2] - old_amount)
end end
end end
end end
@ -738,8 +672,6 @@ function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amo
if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then
me.add_modified(recipe_name) me.add_modified(recipe_name)
replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid)
replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid)
replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid)
end end
end end
@ -768,8 +700,6 @@ function util.set_product_amount(recipe_name, product, amount, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
set_product_amount(data.raw.recipe[recipe_name], product, amount) set_product_amount(data.raw.recipe[recipe_name], product, amount)
set_product_amount(data.raw.recipe[recipe_name].normal, product, amount)
set_product_amount(data.raw.recipe[recipe_name].expensive, product, amount)
end end
end end
@ -808,8 +738,6 @@ function util.multiply_recipe(recipe_name, multiple, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
multiply_recipe(data.raw.recipe[recipe_name], multiple) multiply_recipe(data.raw.recipe[recipe_name], multiple)
multiply_recipe(data.raw.recipe[recipe_name].normal, multiple)
multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple)
end end
end end
@ -817,8 +745,6 @@ function multiply_recipe(recipe, multiple)
if recipe then if recipe then
if recipe.energy_required then if recipe.energy_required then
recipe.energy_required = recipe.energy_required * multiple recipe.energy_required = recipe.energy_required * multiple
else
recipe.energy_required = 0.5 * multiple -- 0.5 is factorio default
end end
if recipe.result_count then if recipe.result_count then
recipe.result_count = recipe.result_count * multiple recipe.result_count = recipe.result_count * multiple
@ -833,8 +759,11 @@ function multiply_recipe(recipe, multiple)
result.amount_min = result.amount_min * multiple result.amount_min = result.amount_min * multiple
result.amount_max = result.amount_max * multiple result.amount_max = result.amount_max * multiple
end end
if result.catalyst_amount then if result.ignored_by_productivity then
result.catalyst_amount = result.catalyst_amount * multiple result.ignored_by_productivity = result.ignored_by_productivity * multiple
end
if result.ignored_by_stats then
result.ignored_by_stats = result.ignored_by_stats * multiple
end end
end end
if result[1] then if result[1] then
@ -861,9 +790,8 @@ end
-- Returns true if a recipe has an ingredient -- Returns true if a recipe has an ingredient
function util.has_ingredient(recipe_name, ingredient) function util.has_ingredient(recipe_name, ingredient)
return data.raw.recipe[recipe_name] and ( return data.raw.recipe[recipe_name] and
has_ingredient(data.raw.recipe[recipe_name], ingredient) or has_ingredient(data.raw.recipe[recipe_name], ingredient)
has_ingredient(data.raw.recipe[recipe_name].normal, ingredient))
end end
function has_ingredient(recipe, ingredient) function has_ingredient(recipe, ingredient)
@ -883,8 +811,6 @@ function util.remove_product(recipe_name, old, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
remove_product(data.raw.recipe[recipe_name], old) remove_product(data.raw.recipe[recipe_name], old)
remove_product(data.raw.recipe[recipe_name].normal, old)
remove_product(data.raw.recipe[recipe_name].expensive, old)
end end
end end
@ -907,8 +833,6 @@ function util.set_main_product(recipe_name, product, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
set_main_product(data.raw.recipe[recipe_name], product) set_main_product(data.raw.recipe[recipe_name], product)
set_main_product(data.raw.recipe[recipe_name].normal, product)
set_main_product(data.raw.recipe[recipe_name].expensive, product)
end end
end end
@ -922,25 +846,18 @@ end
function util.replace_product(recipe_name, old, new, options) function util.replace_product(recipe_name, old, new, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
replace_product(data.raw.recipe[recipe_name], old, new, options) replace_product(data.raw.recipe[recipe_name], old, new)
replace_product(data.raw.recipe[recipe_name].normal, old, new, options)
replace_product(data.raw.recipe[recipe_name].expensive, old, new, options)
end end
end end
function replace_product(recipe, old, new, options) function replace_product(recipe, old, new)
if recipe then if recipe then
if recipe.main_product == old then if recipe.main_product == old then
recipe.main_product = new recipe.main_product = new
end end
if recipe.result == old then
recipe.result = new
return
end
if recipe.results then if recipe.results then
for i, result in pairs(recipe.results) do for i, result in pairs(recipe.results) do
if result.name == old then result.name = new end if result.name == old then result.name = new end
if result[1] == old then result[1] = new end
end end
end end
end end
@ -968,8 +885,6 @@ function util.set_recipe_time(recipe_name, time, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
set_recipe_time(data.raw.recipe[recipe_name], time) set_recipe_time(data.raw.recipe[recipe_name], time)
set_recipe_time(data.raw.recipe[recipe_name].normal, time)
set_recipe_time(data.raw.recipe[recipe_name].expensive, time)
end end
end end
@ -987,8 +902,6 @@ function util.multiply_time(recipe_name, factor, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
multiply_time(data.raw.recipe[recipe_name], factor) multiply_time(data.raw.recipe[recipe_name], factor)
multiply_time(data.raw.recipe[recipe_name].normal, factor)
multiply_time(data.raw.recipe[recipe_name].expensive, factor)
end end
end end
@ -1006,8 +919,6 @@ function util.add_time(recipe_name, amount, options)
me.add_modified(recipe_name) me.add_modified(recipe_name)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
add_time(data.raw.recipe[recipe_name], amount) add_time(data.raw.recipe[recipe_name], amount)
add_time(data.raw.recipe[recipe_name].normal, amount)
add_time(data.raw.recipe[recipe_name].expensive, amount)
end end
end end
@ -1031,7 +942,7 @@ end
-- Set recipe subgroup -- Set recipe subgroup
function util.set_subgroup(recipe_name, subgroup, options) function util.set_subgroup(recipe_name, subgroup, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] and data.raw["item-subgroup"][subgroup] then if data.raw.recipe[recipe_name] then
me.add_modified(recipe_name) me.add_modified(recipe_name)
data.raw.recipe[recipe_name].subgroup = subgroup data.raw.recipe[recipe_name].subgroup = subgroup
end end
@ -1050,34 +961,16 @@ function util.add_icon(recipe_name, icon, options)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
me.add_modified(recipe_name) me.add_modified(recipe_name)
if not (data.raw.recipe[recipe_name].icons and #(data.raw.recipe[recipe_name].icons) > 0) then if not (data.raw.recipe[recipe_name].icons and #(data.raw.recipe[recipe_name].icons) > 0) then
if data.raw.recipe[recipe_name].icon then data.raw.recipe[recipe_name].icons = {}
data.raw.recipe[recipe_name].icons = {{ if data.raw.recipe[recipe_name].icon then
icon=data.raw.recipe[recipe_name].icon, data.raw.recipe[recipe_name].icons = {{
icon_size=data.raw.recipe[recipe_name].icon_size, icon=data.raw.recipe[recipe_name].icon,
icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps, icon_size=data.raw.recipe[recipe_name].icon_size,
}} icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps,
elseif data.raw.item[data.raw.recipe[recipe_name].main_product] then }}
data.raw.recipe[recipe_name].icons = {{ data.raw.recipe[recipe_name].icon = nil
icon=data.raw.item[data.raw.recipe[recipe_name].main_product].icon, data.raw.recipe[recipe_name].icon_size = nil
icon_size=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_size, end
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_mipmaps,
}}
elseif data.raw.item[data.raw.recipe[recipe_name].result] then
data.raw.recipe[recipe_name].icons = {{
icon=data.raw.item[data.raw.recipe[recipe_name].result].icon,
icon_size=data.raw.item[data.raw.recipe[recipe_name].result].icon_size,
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].result].icon_mipmaps,
}}
elseif data.raw.recipe[recipe_name].normal and
data.raw.item[data.raw.recipe[recipe_name].normal.result] then
data.raw.recipe[recipe_name].icons = {{
icon=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon,
icon_size=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_size,
icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_mipmaps,
}}
end
data.raw.recipe[recipe_name].icon = nil
data.raw.recipe[recipe_name].icon_size = nil
end end
table.insert(data.raw.recipe[recipe_name].icons, icon) table.insert(data.raw.recipe[recipe_name].icons, icon)
end end
@ -1137,8 +1030,6 @@ function util.add_to_ingredient(recipe, ingredient, amount, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe] then if data.raw.recipe[recipe] then
add_to_ingredient(data.raw.recipe[recipe], ingredient, amount) add_to_ingredient(data.raw.recipe[recipe], ingredient, amount)
add_to_ingredient(data.raw.recipe[recipe].normal, ingredient, amount)
add_to_ingredient(data.raw.recipe[recipe].expensive, ingredient, amount)
end end
end end
@ -1161,8 +1052,6 @@ function util.add_to_product(recipe_name, product, amount, options)
if not should_force(options) and bypass(recipe_name) then return end if not should_force(options) and bypass(recipe_name) then return end
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
add_to_product(data.raw.recipe[recipe_name], product, amount) add_to_product(data.raw.recipe[recipe_name], product, amount)
add_to_product(data.raw.recipe[recipe_name].normal, product, amount)
add_to_product(data.raw.recipe[recipe_name].expensive, product, amount)
end end
end end
@ -1285,10 +1174,8 @@ function remove_prior_unlocks(tech, recipe)
util.remove_recipe_effect(tech, recipe) util.remove_recipe_effect(tech, recipe)
if technology.prerequisites then if technology.prerequisites then
for i, prerequisite in pairs(technology.prerequisites) do for i, prerequisite in pairs(technology.prerequisites) do
if string.sub(prerequisite, 1, 3) ~= 'ei_' then -- log("BZZZ removing prior unlocks for " .. tech ..", checking " .. prerequisite) -- Handy Debug :|
-- log("BZZZ removing prior unlocks for " .. recipe .. " from " .. tech ..", checking " .. prerequisite) -- Handy Debug :| remove_prior_unlocks(prerequisite, recipe)
remove_prior_unlocks(prerequisite, recipe)
end
end end
end end
end end
@ -1330,9 +1217,7 @@ function replace_ingredients_prior_to(tech, old, new, multiplier)
if technology.prerequisites then if technology.prerequisites then
for i, prerequisite in pairs(technology.prerequisites) do for i, prerequisite in pairs(technology.prerequisites) do
-- log("BZZZ checking " .. prerequisite) -- Handy Debug :| -- log("BZZZ checking " .. prerequisite) -- Handy Debug :|
if string.sub(prerequisite, 1, 3) ~= 'ei_' then replace_ingredients_prior_to(prerequisite, old, new, multiplier)
replace_ingredients_prior_to(prerequisite, old, new, multiplier)
end
end end
end end
end end

View file

@ -9,8 +9,8 @@ local util = require("data-util");
if mods.Krastorio2 then if mods.Krastorio2 then
if data.raw.item["automation-core"] then if data.raw.item["kr-automation-core"] then
data.raw.item["automation-core"].icon = "__bzaluminum__/graphics/icons/automation-core.png" data.raw.item["kr-automation-core"].icon = "__bzaluminum__/graphics/icons/automation-core.png"
end end
if data.raw.technology["kr-automation-core"] then if data.raw.technology["kr-automation-core"] then
data.raw.technology["kr-automation-core"].icon = "__bzaluminum__/graphics/technology/automation-core.png" data.raw.technology["kr-automation-core"].icon = "__bzaluminum__/graphics/technology/automation-core.png"

View file

@ -1,25 +1,25 @@
{ {
"name": "bzaluminum", "name": "bzaluminum",
"version": "0.4.28", "version": "2.0.0",
"factorio_version": "1.1", "factorio_version": "2.0",
"title": "Aluminum", "title": "Aluminum",
"author": "Brevven", "author": "Brevven",
"contact": "", "contact": "",
"homepage": "", "homepage": "",
"dependencies": [ "dependencies": [
"base >= 1.1.0", "base >= 2.0.0",
"bzfoundry >= 0.2.1", "bzfoundry >= 2.0.0",
"~ bz-dsr-bridge", "~ bz-dsr-bridge",
"? bztitanium >= 1.0.3", "? bztitanium >= 2.0.26",
"? bzlead", "? bzlead >= 2.0.28",
"? bzzirconium >= 0.5.4", "? bzzirconium >= 2.1.13",
"? bztungsten >= 0.5.4", "? bztungsten >= 0.5.4",
"? bzcarbon >= 0.1.2", "? bzcarbon >= 2.0.21",
"? space-exploration", "? space-exploration >= 0.7.34",
"? aai-industry", "? aai-industry >= 0.6.13",
"? Krastorio2", "? Krastorio2 >= 2.0.8",
"? sand-and-glass", "? sand-and-glass",
"? 248k", "? 248k-Redux",
"? deadlock-beltboxes-loaders", "? deadlock-beltboxes-loaders",
"? DeadlockCrating", "? DeadlockCrating",
"(?) bobtech", "(?) bobtech",

View file

@ -15,7 +15,7 @@ data:extend({
enabled = false, enabled = false,
energy_required = 1, energy_required = 1,
ingredients = {{type="fluid", name="strange-matter", amount = 2}}, ingredients = {{type="fluid", name="strange-matter", amount = 2}},
result = ore, results = {{type="item", name=ore, amount=1}},
category = "crafting-with-fluid", category = "crafting-with-fluid",
subgroup = "synthesis", subgroup = "synthesis",
}, },