init
214
changelog.txt
Normal file
@ -0,0 +1,214 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.10
|
||||
Date: 2020-02-22
|
||||
|
||||
Fixes:
|
||||
- Fixed concrete recipe icons.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.9
|
||||
Date: 2020-02-03
|
||||
|
||||
Changes:
|
||||
- Incremented to version 18.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.8
|
||||
Date: 2019-12-24
|
||||
|
||||
Recipes:
|
||||
- Reduced solid-fuel cost of calcite recipe from 5 to 1.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.7
|
||||
Date: 2019-10-04
|
||||
|
||||
Changes:
|
||||
- Code improvements from library integration.
|
||||
- Moved all remaining recipe generation code
|
||||
to data-final-fixes.lua for better cross-mod
|
||||
integration.
|
||||
|
||||
Graphics:
|
||||
- Added dynamic colorization of recognized recipes
|
||||
that don't originate as chemistry recipes.
|
||||
- Fixed escape pressure on process vessel to run at
|
||||
constant speed.
|
||||
|
||||
Recipes:
|
||||
- Removed electronic-circuit from blast furnace recipe.
|
||||
- Reduced blast furnace recipe to take 2 pipes.
|
||||
- Added electronic-circuit to process vessel recipe.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.6
|
||||
Date: 2019-10-01
|
||||
|
||||
Balancing:
|
||||
- Made sulfur burnable for energy in many
|
||||
vanilla entities and some mod entities
|
||||
with a 12-fold pollution multiplier.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.5
|
||||
Date: 2019-09-30
|
||||
|
||||
Balancing:
|
||||
- Reduced calcite input count for flux smelting.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.4
|
||||
Date: 2019-09-30
|
||||
|
||||
Graphics:
|
||||
- Updated chemistry recipe tints for new
|
||||
chemical plant graphic.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.3
|
||||
Date: 2019-09-29
|
||||
|
||||
Fixes:
|
||||
- Fixed catalyst_amount on gypsum output from
|
||||
HF: I forgot to set it to 5 instead of 1.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.2
|
||||
Date: 2019-09-28
|
||||
|
||||
Balancing:
|
||||
- Added catalyst_amount to gypsum output in
|
||||
HF recipe, so productivity modules will not
|
||||
violate conservation of calcium and sulfur.
|
||||
- Increased science pack yield from 2 to 3
|
||||
in fluorite science pack recipe, since
|
||||
fluorite is already more valuable than sulfur.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.1
|
||||
Date: 2019-09-28
|
||||
|
||||
Recipes:
|
||||
- Changed fluorite battery recipe to require
|
||||
solid-fuel instead of plastic-bar, and calcite
|
||||
instead of stone. Note calcite can be sourced
|
||||
from HF production. Reduced input and output
|
||||
numbers from 2 to 1 (20->10 for HF).
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.1.0
|
||||
Date: 2019-09-27
|
||||
|
||||
Balancing:
|
||||
- Changed fluorite battery recipe to be
|
||||
easier.
|
||||
|
||||
Fixes:
|
||||
- Fixed changelog.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.11
|
||||
Date: 2019-09-27
|
||||
|
||||
Balancing:
|
||||
- Drastically reduced the amount of minerals from
|
||||
smelting. Now you should get just enough clinker
|
||||
to cover the gypsum from advanced stone separation
|
||||
when making concrete, and 5% of the ore count goes
|
||||
to the probability of finding other minerals,
|
||||
divided by their geological constants.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.10
|
||||
Date: 2019-09-26
|
||||
|
||||
Balancing:
|
||||
- Removed gypsum result from chemical science pack.
|
||||
- Moved gypsum ratio component from fluorite to
|
||||
sulfur in smelting recipes. This makes fluorite
|
||||
slightly more rare while still providing the same
|
||||
potential amount of gypsum.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.9
|
||||
Date: 2019-09-26
|
||||
|
||||
Fixes:
|
||||
- Fixed typo in flourite battery technology
|
||||
assignment.
|
||||
|
||||
Balancing:
|
||||
- Balanced flux smelting recipes against
|
||||
geological globals to improve overall
|
||||
balance relative to fluorite-consuming
|
||||
recipes.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.8
|
||||
Date: 2019-09-25
|
||||
|
||||
Graphics:
|
||||
- Updated blast furnace graphics.
|
||||
|
||||
Balancing:
|
||||
- Reduced blast furnace footprint to 2x2.
|
||||
- Balanced blast furnace smelting ratios to
|
||||
optimize output ratios with their associated
|
||||
production chains.
|
||||
- Changed prerequisite tech for fluorite
|
||||
processing to chemical science pack.
|
||||
|
||||
Recipes:
|
||||
- Added fluorite-based recipe for chemical
|
||||
science pack, which also gives gypsum, so
|
||||
fluorite can be processed toward concrete
|
||||
in the early game.
|
||||
- Changed blast furnace recipe.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.7
|
||||
Date: 2019-09-15
|
||||
|
||||
Fixes:
|
||||
- Added exception for assembler mk3 and centrifuge
|
||||
in assembler pipe passthrough mod. You can already use
|
||||
the assembler as a passthrough device under this mod's
|
||||
changes.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.6
|
||||
Date: 2019-09-14
|
||||
|
||||
Updates:
|
||||
- Compability update with Adamo Nuclear due to
|
||||
changes in centrifuge fluid boxes.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.5
|
||||
Date: 2019-09-06
|
||||
|
||||
Order:
|
||||
- Reordered a few items to better match vanilla
|
||||
ordering.
|
||||
|
||||
Recipes:
|
||||
- Added Gold Mining recipe categories to scan.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.4
|
||||
Date: 2019-09-06
|
||||
|
||||
Entities:
|
||||
- Adjusted assembler pipes to attempt to match with pipe
|
||||
passthrough.
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.0.3
|
||||
Date: 2019-09-06
|
||||
|
||||
Balancing:
|
||||
- Adjusted blast furnace smelting recipes to
|
||||
lower input counts, because there seems to be
|
||||
an inserter bug with very high ingredient
|
||||
amounts.
|
||||
- Moved process vessel further back in tech tree.
|
616
data-final-fixes.lua
Normal file
@ -0,0 +1,616 @@
|
||||
require("factsheet")
|
||||
|
||||
local binding_time_mult = 1
|
||||
local binding_prod_mult = 5
|
||||
local separation_time_mult = 1/2
|
||||
local separation_prod_mult = 2
|
||||
local vapor_time_mult = 2
|
||||
local vapor_prod_mult = 5
|
||||
local screening_efficiency = 0.8
|
||||
|
||||
chem_category_list = {
|
||||
"crafting-with-fluid",
|
||||
"chemistry",
|
||||
"drugs",
|
||||
"drugs-et-et",
|
||||
"drugs-to-et",
|
||||
"drugs-et-to",
|
||||
"drugs-to-to",
|
||||
"drugs-tre-tre",
|
||||
"agitation",
|
||||
"advanced-agitation",
|
||||
"drugged-science",
|
||||
"gold-mining",
|
||||
"super-gold-mining"
|
||||
}
|
||||
|
||||
function is_chem_category(category)
|
||||
if type(category) ~= "string" then return false end
|
||||
for _,category_name in pairs(chem_category_list) do
|
||||
if category == category_name then return true end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
smelting_category_list = {
|
||||
"smelting"
|
||||
}
|
||||
|
||||
function is_smelting_category(category)
|
||||
if type(category) ~= "string" then return false end
|
||||
for _,category_name in pairs(smelting_category_list) do
|
||||
if category == category_name then return true end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
manufacturing_names = {
|
||||
"steel-plate",
|
||||
"belt",
|
||||
"inserter",
|
||||
"rounds",
|
||||
"barrel"
|
||||
}
|
||||
|
||||
manufacturing_subgroups = {
|
||||
"intermediate-product",
|
||||
"science-pack",
|
||||
}
|
||||
|
||||
catalyst_names = {
|
||||
"iron-plate",
|
||||
"copper-plate",
|
||||
}
|
||||
|
||||
function manufacturing_needed_for(ingredient)
|
||||
if type(ingredient) ~= "table" then return false end
|
||||
local itemname = ingredient.name or ingredient[1]
|
||||
for _,matchname in pairs(manufacturing_names) do
|
||||
if itemname:match(matchname)
|
||||
or itemname == matchname then
|
||||
return true
|
||||
end
|
||||
end
|
||||
if type(data.raw.item[itemname]) == "table" then
|
||||
if data.raw.item[itemname].normal
|
||||
or data.raw.item[itemname].expensive then
|
||||
for _,subgroup in pairs(manufacturing_subgroups) do
|
||||
if (
|
||||
data.raw.item[itemname].normal.subgroup
|
||||
or data.raw.item[itemname].expensive.subgroup
|
||||
) == subgroup then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
for _,subgroup in pairs(manufacturing_subgroups) do
|
||||
if data.raw.item[itemname].subgroup == subgroup then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function is_plate(io_type)
|
||||
local io_type = io_prototype_or_bust(io_type)
|
||||
if not io_type then return end
|
||||
return (io_type.name or io_type[1]):match("plate")
|
||||
end
|
||||
|
||||
function is_catalyst(io_type)
|
||||
local io_type = io_prototype_or_bust(io_type)
|
||||
if not io_type then return end
|
||||
if io_type.catalyst_amount then
|
||||
if io_type.catalyst_amount > 0 then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
local itemname = io_type.name or io_type[1]
|
||||
for _,matchname in pairs(catalyst_names) do
|
||||
if itemname:match(matchname)
|
||||
or itemname == matchname then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function chemical_category(
|
||||
name,
|
||||
solid_input_count,
|
||||
solid_output_count,
|
||||
fluid_input_count,
|
||||
fluid_output_count,
|
||||
catalyst_inputs,
|
||||
catalyst_outputs,
|
||||
takes_water,
|
||||
outputs_water,
|
||||
uses_carbonation
|
||||
)
|
||||
local solid_output_count = solid_output_count - catalyst_outputs
|
||||
local solid_input_count = solid_input_count - catalyst_inputs
|
||||
|
||||
if uses_carbonation then
|
||||
solid_input_count = solid_input_count - 1
|
||||
end
|
||||
|
||||
if fluid_input_count == 0
|
||||
and fluid_output_count == 0 then
|
||||
if solid_input_count < solid_output_count then
|
||||
return "adamo-chemical-separation"
|
||||
elseif solid_input_count == solid_output_count then
|
||||
return "adamo-chemical-manufacturing"
|
||||
elseif solid_output_count == 1
|
||||
and solid_input_count > 1 then
|
||||
return "adamo-chemical-firing"
|
||||
else
|
||||
return "adamo-chemical-manufacturing"
|
||||
end
|
||||
end
|
||||
|
||||
if solid_output_count == 0
|
||||
and solid_input_count == 0 then
|
||||
return "adamo-chemical-vaporworks"
|
||||
end
|
||||
|
||||
-- from this point everything has fluids and solids
|
||||
|
||||
if takes_water
|
||||
and fluid_input_count == 1
|
||||
and solid_input_count == 0
|
||||
then
|
||||
return "adamo-chemical-vaporworks"
|
||||
end
|
||||
|
||||
if solid_input_count > solid_output_count
|
||||
and fluid_input_count > 0
|
||||
and fluid_output_count > 0
|
||||
and fluid_input_count >= solid_input_count
|
||||
then
|
||||
return "adamo-chemical-disassociation"
|
||||
end
|
||||
|
||||
if takes_water then
|
||||
fluid_input_count = fluid_input_count - 1
|
||||
end
|
||||
|
||||
-- water is incidental for these
|
||||
|
||||
if fluid_input_count == 0
|
||||
and fluid_output_count == 0 then
|
||||
if solid_input_count < solid_output_count then
|
||||
return "adamo-chemical-separation"
|
||||
end
|
||||
end
|
||||
|
||||
if solid_input_count == solid_output_count then
|
||||
if fluid_input_count < fluid_output_count then
|
||||
return "adamo-chemical-recovery"
|
||||
elseif fluid_input_count == fluid_output_count then
|
||||
if fluid_input_count > 0 then
|
||||
return "adamo-chemical-displacement"
|
||||
end
|
||||
return "adamo-chemical-binding"
|
||||
elseif fluid_input_count > fluid_output_count then
|
||||
return "adamo-chemical-activation"
|
||||
end
|
||||
end
|
||||
|
||||
if takes_water then
|
||||
fluid_input_count = fluid_input_count + 1
|
||||
end
|
||||
|
||||
if fluid_input_count > 0
|
||||
--and fluid_output_count >= 0 implied
|
||||
and solid_output_count > 0
|
||||
and solid_output_count < (fluid_output_count + 2)
|
||||
then
|
||||
if solid_input_count < solid_output_count
|
||||
or (
|
||||
(
|
||||
solid_input_count
|
||||
- fluid_input_count
|
||||
+ fluid_output_count
|
||||
) < solid_output_count
|
||||
) then
|
||||
return "adamo-chemical-deposition"
|
||||
end
|
||||
if solid_input_count > solid_output_count
|
||||
and fluid_output_count == 0 then
|
||||
return "adamo-chemical-binding"
|
||||
end
|
||||
end
|
||||
|
||||
return "adamo-chemical-manufacturing"
|
||||
end
|
||||
|
||||
-- Calcination smelting should give back some resources.
|
||||
-- at time_norm 5 and 150kW, ~10-25 ore_norm is the range
|
||||
-- between stone and steel furnace power use
|
||||
local ore_norm = 10
|
||||
local time_norm = 4
|
||||
local calcinate_recipe = function(recipe,mult)
|
||||
local recipe = recipe_or_bust(recipe)
|
||||
if not recipe then return nil end
|
||||
if type(mult) ~= "number"
|
||||
or mult <= 0 then mult = ore_norm end
|
||||
local calcined_recipe = util.table.deepcopy(recipe)
|
||||
mult_recipe_energy(
|
||||
calcined_recipe,mult*time_norm/ore_norm
|
||||
)
|
||||
mult_recipe_io(calcined_recipe,mult)
|
||||
calcined_recipe.name = calcined_recipe.name.."-calcined"
|
||||
calcined_recipe.category = "adamo-chemical-firing"
|
||||
calcined_recipe.subgroup = "adamo-chemical-firing"
|
||||
if uses_ingredient(recipe,"iron-plate") then
|
||||
replace_in_recipe_io(
|
||||
calcined_recipe,
|
||||
"iron-plate",
|
||||
"iron-ore"
|
||||
)
|
||||
end
|
||||
if uses_ingredient(recipe,"copper-plate") then
|
||||
replace_in_recipe_io(
|
||||
calcined_recipe,
|
||||
"copper-plate",
|
||||
"copper-ore"
|
||||
)
|
||||
end
|
||||
local toss,ore_count,toss =
|
||||
get_ingredient(calcined_recipe,"iron-ore")
|
||||
if ore_count == 0 then
|
||||
toss,ore_count,toss =
|
||||
get_ingredient(calcined_recipe,"copper-ore")
|
||||
end
|
||||
if ore_count == 0 then
|
||||
toss,stone_count,toss =
|
||||
get_ingredient(calcined_recipe,"stone")
|
||||
if stone_count > 0 then
|
||||
replace_in_recipe_io(
|
||||
calcined_recipe,
|
||||
"stone",
|
||||
"adamo-chemical-clinker",
|
||||
1/2
|
||||
)
|
||||
add_ingredient(
|
||||
calcined_recipe,"adamo-chemical-calcite",
|
||||
math.ceil(stone_count/2)
|
||||
)
|
||||
return calcined_recipe
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end
|
||||
local mineral_count = ore_count/20
|
||||
local flux_input = math.ceil(mineral_count*2)
|
||||
local clinker_ratio = 1/3 -- to match gypsum
|
||||
local clinker_output = clinker_ratio*flux_input
|
||||
local clinker_count = clinker_ratio*flux_input
|
||||
local clinker_prob = nil
|
||||
if clinker_output > 1 then
|
||||
clinker_count = math.ceil(clinker_output)
|
||||
clinker_prob = clinker_count/clinker_output
|
||||
end
|
||||
add_ingredient(
|
||||
calcined_recipe,"adamo-chemical-calcite",
|
||||
flux_input
|
||||
)
|
||||
add_result(
|
||||
calcined_recipe,"adamo-chemical-fluorite",
|
||||
mineral_count,
|
||||
(fluorite_ratio)
|
||||
|
||||
)
|
||||
if data.raw.item["SiSi-quartz"] then
|
||||
add_result(
|
||||
calcined_recipe,"SiSi-quartz",
|
||||
mineral_count,
|
||||
quartz_ratio
|
||||
)
|
||||
end
|
||||
if data.raw.item["adamo-chemical-quartz"] then
|
||||
add_result(
|
||||
calcined_recipe,"adamo-chemical-quartz",
|
||||
mineral_count,
|
||||
quartz_ratio
|
||||
)
|
||||
end
|
||||
add_result(
|
||||
calcined_recipe,"sulfur",
|
||||
mineral_count,
|
||||
(1 - fluorite_ratio - quartz_ratio)
|
||||
)
|
||||
add_result(
|
||||
calcined_recipe,"adamo-chemical-clinker",
|
||||
clinker_count,
|
||||
clinker_prob
|
||||
)
|
||||
return calcined_recipe
|
||||
end
|
||||
|
||||
-- Generate chemical engineering recipes.
|
||||
-- Should be able to use hydrofluoric acid to clean chips, make batteries, do science.
|
||||
local processing_unit_from_hf_recipe =
|
||||
util.table.deepcopy(data.raw.recipe["processing-unit"])
|
||||
processing_unit_from_hf_recipe.name = "adamo-chemical-processing-unit"
|
||||
for _,ingredient in pairs(processing_unit_from_hf_recipe.normal.ingredients) do
|
||||
if ingredient.type and ingredient.name == "sulfuric-acid" then
|
||||
ingredient.name = "adamo-chemical-hydrofluoric-acid"
|
||||
end
|
||||
end
|
||||
for _,ingredient in pairs(processing_unit_from_hf_recipe.expensive.ingredients) do
|
||||
if ingredient.type and ingredient.name == "sulfuric-acid" then
|
||||
ingredient.name = "adamo-chemical-hydrofluoric-acid"
|
||||
end
|
||||
end
|
||||
local fluoride_battery_recipe =
|
||||
util.table.deepcopy(data.raw.recipe["battery"])
|
||||
fluoride_battery_recipe.name =
|
||||
"adamo-chemical-fluoride-battery"
|
||||
fluoride_battery_recipe.normal.result_count = 1
|
||||
fluoride_battery_recipe.normal.ingredients = {{
|
||||
name = "copper-plate", type = "item",
|
||||
amount = 1, catalyst_amount = 0
|
||||
},{
|
||||
"adamo-chemical-calcite",1
|
||||
},{
|
||||
"solid-fuel",1
|
||||
},{
|
||||
name = "adamo-chemical-hydrofluoric-acid",
|
||||
type = "fluid",
|
||||
amount = 10
|
||||
}}
|
||||
fluoride_battery_recipe.expensive.result_count = 1
|
||||
fluoride_battery_recipe.expensive.ingredients = {{
|
||||
name = "copper-plate", type = "item",
|
||||
amount = 2, catalyst_amount = 0
|
||||
},{
|
||||
"adamo-chemical-calcite",2
|
||||
},{
|
||||
"solid-fuel",2
|
||||
},{
|
||||
name = "adamo-chemical-hydrofluoric-acid",
|
||||
type = "fluid",
|
||||
amount = 20
|
||||
}}
|
||||
local fluorite_science_pack = util.table.deepcopy(
|
||||
data.raw.recipe["chemical-science-pack"]
|
||||
)
|
||||
fluorite_science_pack
|
||||
.name = "chemical-science-pack-from-fluorite"
|
||||
mult_recipe_energy(fluorite_science_pack,1/2)
|
||||
replace_recipe_io(
|
||||
fluorite_science_pack,
|
||||
"sulfur",
|
||||
"adamo-chemical-fluorite",
|
||||
1
|
||||
)
|
||||
mult_recipe_io(
|
||||
fluorite_science_pack,
|
||||
1.5,
|
||||
"chemical-science-pack"
|
||||
)
|
||||
mult_recipe_io(
|
||||
fluorite_science_pack,
|
||||
1.5,
|
||||
"engine-unit"
|
||||
)
|
||||
data:extend({
|
||||
processing_unit_from_hf_recipe,
|
||||
fluoride_battery_recipe,
|
||||
fluorite_science_pack
|
||||
})
|
||||
add_recipe_to_tech(
|
||||
"advanced-electronics-2",
|
||||
processing_unit_from_hf_recipe.name
|
||||
)
|
||||
add_recipe_to_tech(
|
||||
"adamo-chemical-fluorine-processing",
|
||||
fluoride_battery_recipe.name
|
||||
)
|
||||
add_recipe_to_tech(
|
||||
"chemical-science-pack",
|
||||
fluorite_science_pack.name
|
||||
)
|
||||
|
||||
set_productivity_recipes({
|
||||
fluoride_battery_recipe.name,
|
||||
processing_unit_from_hf_recipe.name,
|
||||
fluorite_science_pack.name
|
||||
})
|
||||
|
||||
-- Now make copies of everything.
|
||||
for _,recipe in pairs(data.raw.recipe) do
|
||||
local category = get_recipe_category(recipe)
|
||||
local main_result = get_main_result(recipe)
|
||||
local new_category
|
||||
local solid_input_count = 0
|
||||
local fluid_input_count = 0
|
||||
local solid_output_count = 0
|
||||
local fluid_output_count = 0
|
||||
local uses_plates = false
|
||||
local catalyst_inputs = 0
|
||||
local catalyst_outputs = 0
|
||||
local takes_water = false
|
||||
local outputs_water = false
|
||||
local uses_carbonation = false
|
||||
local uses_manufacturing = false
|
||||
if is_smelting_category(category)
|
||||
and has_ingredients(recipe) and has_results(recipe) then
|
||||
local calcined_recipe = calcinate_recipe(recipe)
|
||||
if calcined_recipe then
|
||||
mirror_recipe_in_techs(
|
||||
recipe,
|
||||
calcined_recipe
|
||||
)
|
||||
if is_productivity_recipe(recipe) then
|
||||
set_productivity_recipe(calcined_recipe)
|
||||
end
|
||||
data:extend({calcined_recipe})
|
||||
end
|
||||
end
|
||||
if is_chem_category(category)
|
||||
and has_ingredients(recipe) and has_results(recipe) then
|
||||
for k,ingredient
|
||||
in pairs(
|
||||
recipe.ingredients
|
||||
or recipe.expensive.ingredients
|
||||
or recipe.normal.ingredients
|
||||
) do
|
||||
if ingredient.type ~= "fluid" then
|
||||
if manufacturing_needed_for(ingredient) then
|
||||
uses_manufacturing = true
|
||||
end
|
||||
if is_plate(ingredient) then
|
||||
uses_plates = true
|
||||
end
|
||||
if is_catalyst(ingredient) then
|
||||
catalyst_inputs = catalyst_inputs + 1
|
||||
end
|
||||
if (ingredient.name or ingredient[1])
|
||||
== "solid-fuel" then
|
||||
uses_carbonation = true
|
||||
end
|
||||
solid_input_count = solid_input_count + 1
|
||||
elseif ingredient.name == "water" then
|
||||
takes_water = true
|
||||
fluid_input_count = fluid_input_count + 1
|
||||
else
|
||||
fluid_input_count = fluid_input_count + 1
|
||||
end
|
||||
end
|
||||
if type(recipe.results) == "table"
|
||||
or (
|
||||
recipe.expensive
|
||||
and type(recipe.expensive.results) == "table"
|
||||
) or (
|
||||
recipe.normal
|
||||
and type(recipe.normal.results) == "table"
|
||||
) then
|
||||
for k,result
|
||||
in pairs(
|
||||
recipe.results
|
||||
or recipe.expensive.results
|
||||
or recipe.normal.results
|
||||
) do
|
||||
if result.type ~= "fluid" then
|
||||
solid_output_count = solid_output_count + 1
|
||||
if is_catalyst(result) then
|
||||
catalyst_outputs = catalyst_outputs + 1
|
||||
end
|
||||
else
|
||||
if result.name == "water" then
|
||||
outputs_water = true
|
||||
end
|
||||
fluid_output_count = fluid_output_count + 1
|
||||
end
|
||||
end
|
||||
elseif recipe.result then
|
||||
solid_output_count = 1
|
||||
elseif recipe.normal.result then
|
||||
solid_output_count = 1
|
||||
elseif recipe.expensive.result then
|
||||
solid_output_count = 1
|
||||
end
|
||||
-- Assign new recipe type.
|
||||
if uses_manufacturing then
|
||||
new_category = "adamo-chemical-manufacturing"
|
||||
elseif 2*catalyst_inputs
|
||||
> (fluid_input_count + solid_input_count) then
|
||||
new_category = "adamo-chemical-manufacturing"
|
||||
else
|
||||
new_category = chemical_category(
|
||||
recipe.name,
|
||||
solid_input_count,
|
||||
solid_output_count,
|
||||
fluid_input_count,
|
||||
fluid_output_count,
|
||||
catalyst_inputs,
|
||||
catalyst_outputs,
|
||||
takes_water,
|
||||
outputs_water,
|
||||
uses_carbonation
|
||||
)
|
||||
if new_category == "adamo-chemical-binding"
|
||||
and not adamochemical.mixer then
|
||||
new_category = "adamo-chemical-manufacturing"
|
||||
end
|
||||
end
|
||||
if not (
|
||||
new_category == "adamo-chemical-manufacturing"
|
||||
and category == "crafting-with-fluid"
|
||||
) then
|
||||
local new_recipe = util.table.deepcopy(recipe)
|
||||
format_ingredients(new_recipe)
|
||||
format_results(new_recipe)
|
||||
new_recipe.name = "adamo-cc-"..recipe.name
|
||||
if main_result then
|
||||
set_main_product(new_recipe,main_result)
|
||||
end
|
||||
new_recipe.category = new_category
|
||||
new_recipe.subgroup = new_category
|
||||
if new_category == "adamo-chemical-binding" then
|
||||
mult_recipe_energy(new_recipe,binding_time_mult)
|
||||
mult_recipe_io(new_recipe,binding_prod_mult)
|
||||
elseif new_category == "adamo-chemical-separation" then
|
||||
mult_recipe_energy(new_recipe,separation_time_mult)
|
||||
mult_recipe_io(new_recipe,separation_prod_mult)
|
||||
elseif new_category == "adamo-chemical-vaporworks" then
|
||||
mult_recipe_energy(new_recipe,vapor_time_mult)
|
||||
mult_recipe_io(new_recipe,vapor_prod_mult)
|
||||
end
|
||||
fill_recipe_tint(new_recipe)
|
||||
new_recipe.always_show_products = true
|
||||
new_recipe.show_amount_in_title = true
|
||||
data:extend({new_recipe})
|
||||
if is_productivity_recipe(recipe) then
|
||||
set_productivity_recipe(new_recipe)
|
||||
end
|
||||
mirror_recipe_in_techs(recipe,new_recipe)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Screeners should screen.
|
||||
if data.raw["recipe-category"]["screening"] then
|
||||
for _,recipe in pairs(data.raw.recipe) do
|
||||
if recipe.category == "adamo-chemical-separation" then
|
||||
local screen_recipe =
|
||||
util.table.deepcopy(recipe)
|
||||
screen_recipe.name =
|
||||
screen_recipe.name
|
||||
.."-by-screening"
|
||||
screen_recipe.category = "screening"
|
||||
screen_recipe.hide_from_player_crafting = true
|
||||
screen_recipe.order = screen_recipe.order
|
||||
if uses_ingredient(screen_recipe,"water") then
|
||||
remove_ingredient(screen_recipe,"water")
|
||||
for _,ingred_name in pairs(
|
||||
get_io_names(screen_recipe)
|
||||
) do
|
||||
mult_recipe_io(
|
||||
screen_recipe,
|
||||
1/screening_efficiency,
|
||||
ingred_name
|
||||
)
|
||||
mult_recipe_io(
|
||||
screen_recipe,
|
||||
separation_time_mult
|
||||
)
|
||||
mult_recipe_energy(
|
||||
screen_recipe,
|
||||
separation_time_mult
|
||||
)
|
||||
end
|
||||
end
|
||||
data:extend({screen_recipe})
|
||||
mirror_recipe_in_techs(recipe,screen_recipe)
|
||||
if is_productivity_recipe(recipe) then
|
||||
set_productivity_recipe(screen_recipe)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
103
data-updates.lua
Normal file
@ -0,0 +1,103 @@
|
||||
require("factsheet")
|
||||
|
||||
apply_sulfur_fuel_stats(data.raw.item.sulfur)
|
||||
|
||||
if appmod and type(appmod) == "table" then
|
||||
appmod
|
||||
.blacklist["assembling-machine-3"] = true
|
||||
end
|
||||
|
||||
if appmod and type(appmod) == "table" then
|
||||
appmod
|
||||
.blacklist["centrifuge"] = true
|
||||
end
|
||||
|
||||
local still_name =
|
||||
settings.startup["adamo-chemical-still"].value
|
||||
local reactor_name =
|
||||
settings.startup["adamo-chemical-reactor"].value
|
||||
local mixer_name =
|
||||
settings.startup["adamo-chemical-mixer"].value
|
||||
local kiln_name =
|
||||
settings.startup["adamo-chemical-kiln"].value
|
||||
local screener_name =
|
||||
settings.startup["adamo-chemical-screener"].value
|
||||
|
||||
add_string_to_table(
|
||||
data.raw["assembling-machine"]["oil-refinery"]
|
||||
.crafting_categories,
|
||||
"adamo-chemical-vaporworks"
|
||||
)
|
||||
|
||||
data.raw["assembling-machine"]["assembling-machine-3"]
|
||||
.fluid_boxes = chem_assembling_machine_fluid_boxes()
|
||||
table.insert(
|
||||
data.raw["assembling-machine"]["assembling-machine-3"]
|
||||
.crafting_categories,
|
||||
"adamo-chemical-manufacturing"
|
||||
)
|
||||
|
||||
data.raw["assembling-machine"].centrifuge.fluid_boxes =
|
||||
centrifuge_fluid_boxes()
|
||||
add_string_to_table(
|
||||
data.raw["assembling-machine"].centrifuge
|
||||
.crafting_categories,
|
||||
"adamo-chemical-separation"
|
||||
)
|
||||
|
||||
if data.raw["assembling-machine"][still_name] then
|
||||
add_string_to_table(
|
||||
data.raw["assembling-machine"][still_name]
|
||||
.crafting_categories,
|
||||
"adamo-chemical-vaporworks"
|
||||
)
|
||||
end
|
||||
|
||||
if data.raw["assembling-machine"][reactor_name] then
|
||||
add_strings_to_table(
|
||||
data.raw["assembling-machine"][reactor_name]
|
||||
.crafting_categories,
|
||||
{
|
||||
"adamo-chemical-disassociation",
|
||||
"adamo-chemical-recovery",
|
||||
"adamo-chemical-displacement",
|
||||
"adamo-chemical-activation",
|
||||
"adamo-chemical-deposition"
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
if data.raw["assembling-machine"][mixer_name] then
|
||||
add_strings_to_table(
|
||||
data.raw["assembling-machine"][mixer_name]
|
||||
.crafting_categories,
|
||||
{
|
||||
"adamo-chemical-binding",
|
||||
"adamo-chemical-disassociation",
|
||||
"adamo-chemical-recovery",
|
||||
"adamo-chemical-displacement",
|
||||
"adamo-chemical-activation"
|
||||
}
|
||||
)
|
||||
adamochemical.mixer = true
|
||||
else
|
||||
for _,name in pairs({
|
||||
"assembling-machine-1",
|
||||
"assembling-machine-2",
|
||||
"assembling-machine-3"
|
||||
}) do
|
||||
add_string_to_table(
|
||||
data.raw["assembling-machine"][name]
|
||||
.crafting_categories,
|
||||
"adamo-chemical-binding"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
if data.raw["assembling-machine"][kiln_name] then
|
||||
add_string_to_table(
|
||||
data.raw["assembling-machine"][kiln_name]
|
||||
.crafting_categories,
|
||||
"adamo-chemical-firing"
|
||||
)
|
||||
end
|
679
data.lua
Normal file
@ -0,0 +1,679 @@
|
||||
require("factsheet")
|
||||
require("facilities")
|
||||
|
||||
adamochemical = {}
|
||||
adamochemical.mixer = false
|
||||
|
||||
data:extend({{
|
||||
type = "item-group",
|
||||
name = "adamo-chemical-group",
|
||||
order = "m",
|
||||
icon = "__adamo-chemical__/graphics/flask.png",
|
||||
icon_size = 64
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-production-machine",
|
||||
order = "0"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-manufacturing",
|
||||
order = "1"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-vaporworks",
|
||||
order = "a"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-disassociation",
|
||||
order = "g"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-recovery",
|
||||
order = "h"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-displacement",
|
||||
order = "i"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-activation",
|
||||
order = "j"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-deposition",
|
||||
order = "k"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-binding",
|
||||
order = "n"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-firing",
|
||||
order = "o"
|
||||
},{
|
||||
type = "item-subgroup",
|
||||
group = "adamo-chemical-group",
|
||||
name = "adamo-chemical-separation",
|
||||
order = "p"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-separation"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-firing"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-binding"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-vaporworks"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-hydrolysis"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-displacement"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-heating"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-deposition"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-decomposition"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-recovery"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-manufacturing"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-activation"
|
||||
},{
|
||||
type = "recipe-category",
|
||||
name = "adamo-chemical-disassociation"
|
||||
}})
|
||||
|
||||
local fluorine_processing_tech = {
|
||||
type = "technology",
|
||||
name = "adamo-chemical-fluorine-processing",
|
||||
icon = "__adamo-chemical__/graphics/icons/fluorite.png",
|
||||
icon_size = 64,
|
||||
effects =
|
||||
{
|
||||
{
|
||||
type = "unlock-recipe",
|
||||
recipe = "adamo-chemical-hydrofluoric-acid"
|
||||
},
|
||||
},
|
||||
prerequisites = {"chemical-science-pack"},
|
||||
unit =
|
||||
{
|
||||
count = 150,
|
||||
ingredients = {
|
||||
{"automation-science-pack", 1},
|
||||
{"logistic-science-pack", 1},
|
||||
{"chemical-science-pack", 1},
|
||||
},
|
||||
time = 30
|
||||
},
|
||||
order = "c-c-c",
|
||||
}
|
||||
data:extend({
|
||||
fluorine_processing_tech,
|
||||
})
|
||||
|
||||
local calcite_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
icon = "__adamo-chemical__/graphics/icons/calcite.png",
|
||||
icon_size = 32,
|
||||
subgroup = "raw-material",
|
||||
order = "g1[adamo-chemical-calcite]",
|
||||
stack_size = 50
|
||||
}
|
||||
local clinker_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-clinker",
|
||||
icon = "__adamo-chemical__/graphics/icons/clinker.png",
|
||||
icon_size = 32,
|
||||
subgroup = "raw-material",
|
||||
order = "g1[adamo-chemical-clinker]",
|
||||
stack_size = 50
|
||||
}
|
||||
local gypsum_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
icon = "__adamo-chemical__/graphics/icons/gypsum.png",
|
||||
icon_size = 32,
|
||||
subgroup = "raw-material",
|
||||
order = "g1[adamo-chemical-gypsum]",
|
||||
stack_size = 50
|
||||
}
|
||||
local fluorite_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-fluorite",
|
||||
icon = "__adamo-chemical__/graphics/icons/fluorite.png",
|
||||
icon_size = 64,
|
||||
subgroup = "raw-material",
|
||||
order = "h1[adamo-chemical-fluorite]",
|
||||
stack_size = 50
|
||||
}
|
||||
local cement_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-cement",
|
||||
icon = "__adamo-chemical__/graphics/icons/cement.png",
|
||||
icon_size = 32,
|
||||
subgroup = "intermediate-product",
|
||||
order = "i1[adamo-chemical-cement]",
|
||||
stack_size = 50
|
||||
}
|
||||
data:extend({
|
||||
calcite_item,
|
||||
clinker_item,
|
||||
gypsum_item,
|
||||
fluorite_item,
|
||||
cement_item
|
||||
})
|
||||
local found_sisiquartz = false
|
||||
if data.raw.item["SiSi-quartz"] then
|
||||
data.raw.item["SiSi-quartz"]
|
||||
.order = "g[adamo-chemical-quartz]"
|
||||
data.raw.item["SiSi-quartz"]
|
||||
.subgroup = "raw-material"
|
||||
--data.raw.item["SiSi-quartz"]
|
||||
--.icon = "__adamo-chemical__/graphics/icons/quartz.png"
|
||||
--data.raw.item["SiSi-quartz"]
|
||||
--.icon_size = 64
|
||||
found_sisiquartz = true
|
||||
if data.raw.recipe["SiSi-quartz"] then
|
||||
data.raw.recipe["SiSi-quartz"]
|
||||
.normal.hidden = true
|
||||
data.raw.recipe["SiSi-quartz"]
|
||||
.expensive.hidden = true
|
||||
data.raw.recipe["SiSi-quartz"]
|
||||
.icon = nil
|
||||
data.raw.recipe["SiSi-quartz"]
|
||||
.icon_size = nil
|
||||
end
|
||||
else
|
||||
local quartz_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-quartz",
|
||||
icon = "__adamo-chemical__/graphics/icons/quartz.png",
|
||||
icon_size = 32,
|
||||
flags = {},
|
||||
subgroup = "raw-material",
|
||||
order = "g1[adamo-chemical-quartz]",
|
||||
stack_size = 50
|
||||
}
|
||||
data:extend({quartz_item})
|
||||
end
|
||||
|
||||
local hydrofluoric_acid_fluid = {
|
||||
type = "fluid",
|
||||
name = "adamo-chemical-hydrofluoric-acid",
|
||||
order = "a[fluid]-g1[adamo-chemical-hydrofluoric-acid]",
|
||||
icon = "__adamo-chemical__/graphics/icons/hydrofluoride.png",
|
||||
icon_size = 32,
|
||||
base_color = colors.hf_base,
|
||||
flow_color = colors.hf_flow,
|
||||
default_temperature = 25,
|
||||
max_temperature = 100,
|
||||
heat_capacity = "0.1KJ",
|
||||
}
|
||||
data:extend({
|
||||
hydrofluoric_acid_fluid
|
||||
})
|
||||
|
||||
local calcite_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-calcite",
|
||||
category = "chemistry",
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
show_amount_in_title = true,
|
||||
main_product = "adamo-chemical-calcite",
|
||||
ingredients = {{
|
||||
type = "item",
|
||||
name = "solid-fuel",
|
||||
amount = 1
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = 100
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
amount = 5
|
||||
}},
|
||||
results = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
amount = 5,
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "sulfuric-acid",
|
||||
amount = 50
|
||||
}},
|
||||
crafting_machine_tint = {
|
||||
primary = data.raw.fluid["sulfuric-acid"].base_color,
|
||||
secondary = colors.highgrey,
|
||||
tertiary = data.raw.fluid.water.flow_color,
|
||||
quaternary = colors.midgrey
|
||||
},
|
||||
}
|
||||
local gypsum_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-gypsum",
|
||||
category = "chemistry",
|
||||
enabled = false,
|
||||
energy_required = 1,
|
||||
show_amount_in_title = true,
|
||||
main_product = "adamo-chemical-gypsum",
|
||||
ingredients = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
amount = 5,
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "sulfuric-acid",
|
||||
amount = 50
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = 50
|
||||
}},
|
||||
results = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
amount = 5
|
||||
}},
|
||||
crafting_machine_tint = {
|
||||
primary = colors.midgrey,
|
||||
secondary = data.raw.fluid["sulfuric-acid"].base_color,
|
||||
tertiary = data.raw.fluid["sulfuric-acid"].flow_color,
|
||||
quaternary = data.raw.fluid.water.flow_color
|
||||
},
|
||||
}
|
||||
local hydrofluoric_acid_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-hydrofluoric-acid",
|
||||
category = "chemistry",
|
||||
subgroup = "fluid-recipes",
|
||||
enabled = false,
|
||||
energy_required = 1, -- same as sulfuric-acid
|
||||
ingredients = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-fluorite",
|
||||
amount = 5
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "sulfuric-acid",
|
||||
amount = 50
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = 100
|
||||
}},
|
||||
results = {{
|
||||
type='fluid',
|
||||
name = "adamo-chemical-hydrofluoric-acid",
|
||||
amount = 100
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
amount = 5,
|
||||
catalyst_amount = 5
|
||||
|
||||
}},
|
||||
main_product = "adamo-chemical-hydrofluoric-acid",
|
||||
requester_paste_multiplier = 4,
|
||||
crafting_machine_tint = {
|
||||
primary = colors.hf_base,
|
||||
secondary = colors.midgrey,
|
||||
tertiary = data.raw.fluid["sulfuric-acid"].flow_color,
|
||||
quaternary = data.raw.fluid.water.flow_color,
|
||||
},
|
||||
}
|
||||
local water_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-water-condensation",
|
||||
category = "chemistry",
|
||||
subgroup = "fluid-recipes",
|
||||
enabled = true,
|
||||
energy_required = 1,
|
||||
ingredients = {{
|
||||
type = "fluid",
|
||||
name = "steam",
|
||||
amount = 10
|
||||
}},
|
||||
results = {{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = 10
|
||||
}},
|
||||
main_product = "water",
|
||||
emissions_multiplier = 0,
|
||||
crafting_machine_tint = {
|
||||
primary = data.raw.fluid["water"].base_color,
|
||||
secondary = data.raw.fluid["steam"].base_color,
|
||||
tertiary = data.raw.fluid["steam"].flow_color,
|
||||
quaternary = data.raw.fluid["water"].flow_color
|
||||
},
|
||||
}
|
||||
local clinker_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-clinker",
|
||||
category = "adamo-chemical-firing",
|
||||
subgroup = "adamo-chemical-firing",
|
||||
order = "0",
|
||||
enabled = false,
|
||||
energy_required = 6.4,
|
||||
ingredients = {
|
||||
{"adamo-chemical-calcite",5},
|
||||
{"stone",5},
|
||||
},
|
||||
results = {
|
||||
{"adamo-chemical-clinker",10}
|
||||
}
|
||||
}
|
||||
local clinker_recipe_with_fluorite = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-clinker-with-fluorite",
|
||||
category = "adamo-chemical-firing",
|
||||
subgroup = "adamo-chemical-firing",
|
||||
order = "1",
|
||||
enabled = false,
|
||||
energy_required = 25.6,
|
||||
ingredients = {
|
||||
{"adamo-chemical-calcite",44},
|
||||
{"adamo-chemical-fluorite",1},
|
||||
{"adamo-chemical-gypsum",5},
|
||||
{"stone",50},
|
||||
},
|
||||
results = {
|
||||
{"adamo-chemical-clinker",100}
|
||||
}
|
||||
}
|
||||
local brick_recipe = util.table.deepcopy(
|
||||
data.raw.recipe["stone-brick"]
|
||||
)
|
||||
if brick_recipe then
|
||||
replace_in_recipe_io(
|
||||
brick_recipe,"stone","adamo-chemical-calcite"
|
||||
)
|
||||
brick_recipe.name = "adamo-chemical-limestone-brick"
|
||||
end
|
||||
local cement_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-cement",
|
||||
category = "advanced-crafting",
|
||||
enabled = false,
|
||||
energy_required = 3.2,
|
||||
icon = "__adamo-chemical__/graphics/icons/cement.png",
|
||||
icon_size = 32,
|
||||
ingredients = {
|
||||
{"adamo-chemical-clinker",10},
|
||||
{"adamo-chemical-gypsum",1}
|
||||
},
|
||||
results = {
|
||||
{"adamo-chemical-cement",1}
|
||||
}
|
||||
}
|
||||
local concrete_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-concrete",
|
||||
category = "adamo-chemical-binding",
|
||||
subgroup = "adamo-chemical-binding",
|
||||
order = "00[adamo-chemical-concrete]",
|
||||
enabled = false,
|
||||
energy_required = 8,
|
||||
icon = "__base__/graphics/icons/concrete.png",
|
||||
icon_size = 64,
|
||||
ingredients = {
|
||||
{"adamo-chemical-cement",5},
|
||||
{"stone",50},
|
||||
{type="fluid",name="water",amount=200}
|
||||
},
|
||||
results = {
|
||||
{"concrete",50}
|
||||
}
|
||||
}
|
||||
local refined_concrete_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-refined-concrete",
|
||||
category = "adamo-chemical-binding",
|
||||
subgroup = "adamo-chemical-binding",
|
||||
order = "00[adamo-chemical-refined-concrete]",
|
||||
enabled = false,
|
||||
energy_required = 8,
|
||||
icon = "__base__/graphics/icons/refined-concrete.png",
|
||||
icon_size = 64,
|
||||
ingredients = {
|
||||
{"adamo-chemical-cement",5},
|
||||
{"stone",50},
|
||||
{"SiSi-quartz",10},
|
||||
{type="fluid",name="water",amount=200},
|
||||
},
|
||||
results = {
|
||||
{"refined-concrete",50}
|
||||
}
|
||||
}
|
||||
local stone_input = 40
|
||||
local basic_loss = 3/4
|
||||
local basic_froth_flotation_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-basic-mineral-processing",
|
||||
category = "chemistry",
|
||||
subgroup = "raw-material",
|
||||
order = "h1[adamo-chemical-basic-mineral-processing]",
|
||||
icon =
|
||||
"__adamo-chemical__/graphics/icons/"
|
||||
.."basic-mineral-processing.png",
|
||||
icon_size = 32,
|
||||
enabled = false,
|
||||
always_show_made_in = true,
|
||||
energy_required = 20,
|
||||
ingredients = {{
|
||||
type = "item",
|
||||
name = "stone",
|
||||
amount = stone_input*basic_loss,
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = stone_input
|
||||
}},
|
||||
crafting_machine_tint = {
|
||||
primary = colors.softgreen,
|
||||
secondary = data.raw.fluid.water.base_color,
|
||||
tertiary = data.raw.fluid.water.flow_color,
|
||||
quaternary = colors.highbrown,
|
||||
},
|
||||
}
|
||||
local advanced_froth_flotation_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-advanced-mineral-processing",
|
||||
category = "chemistry",
|
||||
subgroup = "raw-material",
|
||||
order = "h0[adamo-chemical-advanced-mineral-processing]",
|
||||
icon =
|
||||
"__adamo-chemical__/graphics/icons/"
|
||||
.."advanced-mineral-processing.png",
|
||||
icon_size = 32,
|
||||
enabled = false,
|
||||
always_show_made_in = true,
|
||||
energy_required = 20,
|
||||
ingredients = {{
|
||||
type = "item",
|
||||
name = "stone",
|
||||
amount = stone_input,
|
||||
},{
|
||||
type = "fluid",
|
||||
name = "water",
|
||||
amount = stone_input
|
||||
}},
|
||||
crafting_machine_tint = {
|
||||
primary = colors.softgreen,
|
||||
secondary = data.raw.fluid.water.base_color,
|
||||
tertiary = data.raw.fluid.water.flow_color,
|
||||
quaternary = colors.highbrown,
|
||||
},
|
||||
}
|
||||
if found_sisiquartz then
|
||||
basic_froth_flotation_recipe.results = {{
|
||||
type = "item",
|
||||
name = "SiSi-quartz",
|
||||
probability = quartz_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
probability = calcite_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
probability = gypsum_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "landfill",
|
||||
probability = 0.5,
|
||||
amount = math.ceil(stone_input/50)
|
||||
}}
|
||||
advanced_froth_flotation_recipe.results = {{
|
||||
type = "item",
|
||||
name = "SiSi-quartz",
|
||||
probability = quartz_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-fluorite",
|
||||
probability = fluorite_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
probability = calcite_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
probability = gypsum_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "landfill",
|
||||
amount = math.ceil(stone_input/50)
|
||||
}}
|
||||
else
|
||||
basic_froth_flotation_recipe.results = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-quartz",
|
||||
probability = quartz_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
probability = calcite_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
probability = gypsum_ratio,
|
||||
amount = stone_input/2.5*basic_loss
|
||||
},{
|
||||
type = "item",
|
||||
name = "landfill",
|
||||
probability = 0.5,
|
||||
amount = math.ceil(stone_input/50)
|
||||
}}
|
||||
advanced_froth_flotation_recipe.results = {{
|
||||
type = "item",
|
||||
name = "adamo-chemical-quartz",
|
||||
probability = quartz_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-fluorite",
|
||||
probability = fluorite_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-calcite",
|
||||
probability = calcite_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "adamo-chemical-gypsum",
|
||||
probability = gypsum_ratio,
|
||||
amount = stone_input/2.5
|
||||
},{
|
||||
type = "item",
|
||||
name = "landfill",
|
||||
amount = math.ceil(stone_input/50)
|
||||
}}
|
||||
end
|
||||
data:extend({
|
||||
calcite_recipe,
|
||||
gypsum_recipe,
|
||||
hydrofluoric_acid_recipe,
|
||||
water_recipe,
|
||||
clinker_recipe,
|
||||
clinker_recipe_with_fluorite,
|
||||
brick_recipe,
|
||||
cement_recipe,
|
||||
concrete_recipe,
|
||||
refined_concrete_recipe,
|
||||
basic_froth_flotation_recipe,
|
||||
advanced_froth_flotation_recipe,
|
||||
})
|
||||
|
||||
add_recipes_to_tech(
|
||||
"advanced-material-processing",
|
||||
{
|
||||
"adamo-chemical-basic-mineral-processing"
|
||||
}
|
||||
)
|
||||
add_recipes_to_tech(
|
||||
"advanced-material-processing-2",
|
||||
{
|
||||
"adamo-chemical-gypsum",
|
||||
"adamo-chemical-calcite",
|
||||
"adamo-chemical-advanced-mineral-processing",
|
||||
}
|
||||
)
|
||||
add_recipes_to_tech(
|
||||
"concrete",
|
||||
{
|
||||
"adamo-chemical-clinker",
|
||||
"adamo-chemical-clinker-with-fluorite",
|
||||
"adamo-chemical-cement",
|
||||
"adamo-chemical-concrete",
|
||||
"adamo-chemical-refined-concrete",
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
set_productivity_recipes({
|
||||
"adamo-chemical-clinker",
|
||||
"adamo-chemical-clinker-with-fluorite",
|
||||
"adamo-chemical-limestone-brick",
|
||||
"adamo-chemical-cement",
|
||||
"adamo-chemical-basic-mineral-processing",
|
||||
"adamo-chemical-advanced-mineral-processing",
|
||||
"adamo-chemical-hydrofluoric-acid",
|
||||
})
|
430
facilities.lua
Normal file
@ -0,0 +1,430 @@
|
||||
local vesselpipecovers = function()
|
||||
return {
|
||||
east = {
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/"
|
||||
.."connections/pipe-cover-east-medium.png",
|
||||
priority = "extra-high",
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5
|
||||
},
|
||||
west = {
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/"
|
||||
.."connections/pipe-cover-west-medium.png",
|
||||
priority = "extra-high",
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5
|
||||
},
|
||||
north = {
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/"
|
||||
.."connections/pipe-cover-north-medium.png",
|
||||
priority = "extra-high",
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
},
|
||||
south = {
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/"
|
||||
.."connections/pipe-cover-south-medium.png",
|
||||
priority = "extra-high",
|
||||
width = 128,
|
||||
height = 128,
|
||||
scale = 0.5,
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
local vessel_layers = function()
|
||||
return {{
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/entity/"
|
||||
.."process-vessel.png",
|
||||
width = 160,
|
||||
height = 220,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(0, -23)
|
||||
},{
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/entity/"
|
||||
.."process-vessel-shadow.png",
|
||||
width = 274,
|
||||
height = 220,
|
||||
frame_count = 1,
|
||||
draw_as_shadow = true,
|
||||
shift = util.by_pixel(58, -26)
|
||||
}}
|
||||
end
|
||||
|
||||
local vessel_escaping_pressure_layer = function ()
|
||||
return {
|
||||
north_position = util.by_pixel(16, 11),
|
||||
west_position = util.by_pixel(16, 11),
|
||||
south_position = util.by_pixel(16, 11),
|
||||
east_position = util.by_pixel(16, 11),
|
||||
constant_speed = true,
|
||||
animation = {
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/entity/"
|
||||
.."process-vessel-anim.png",
|
||||
frame_count = 40,
|
||||
line_length = 10,
|
||||
width = 128,
|
||||
height = 96,
|
||||
animation_speed = 0.8
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
local blast_furnace_layers = function(size,speed)
|
||||
local size = number_or_one(size)
|
||||
local speed = number_or_one(speed)
|
||||
return {{
|
||||
filename =
|
||||
"__adamo-chemical__/graphics/entity/"
|
||||
.."hr-blast-furnace.png",
|
||||
priority = "extra-high",
|
||||
width = 200,
|
||||
height = 221,
|
||||
scale = 0.5*size,
|
||||
shift = util.by_pixel(
|
||||
size*0,
|
||||
size*0
|
||||
),
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/stone-furnace/"
|
||||
.."hr-stone-furnace-shadow.png",
|
||||
priority = "extra-high",
|
||||
line_length = 8,
|
||||
width = 164,
|
||||
height = 74,
|
||||
scale = 0.5*size,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(
|
||||
size*42,
|
||||
size*16
|
||||
),
|
||||
draw_as_shadow = true,
|
||||
},{
|
||||
filename =
|
||||
"__base__/graphics/entity/boiler/"
|
||||
.."hr-boiler-N-shadow.png",
|
||||
priority = "extra-high",
|
||||
width = 274,
|
||||
height = 164,
|
||||
scale = 0.3*size,
|
||||
shift = util.by_pixel(
|
||||
size*26,
|
||||
size*6
|
||||
),
|
||||
draw_as_shadow = true
|
||||
}}
|
||||
end
|
||||
|
||||
local blast_furnace_fire = function(size,speed)
|
||||
local size = number_or_one(size)
|
||||
local speed = number_or_one(speed)
|
||||
local depth_scale = 0.85
|
||||
return {
|
||||
filename =
|
||||
"__base__/graphics/entity/"
|
||||
.."stone-furnace/hr-stone-furnace-fire.png",
|
||||
priority = "extra-high",
|
||||
animation_speed = speed,
|
||||
scale = 0.5*depth_scale*size,
|
||||
line_length = 8,
|
||||
width = 41,
|
||||
height = 100,
|
||||
frame_count = 48,
|
||||
axially_symmetrical = false,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel(
|
||||
0/size,
|
||||
-10/size
|
||||
),
|
||||
}
|
||||
end
|
||||
local furnace_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-blast-furnace",
|
||||
energy_required = 2,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{"stone-furnace", 1},
|
||||
{"pipe", 2},
|
||||
{"pump", 1},
|
||||
},
|
||||
results = {
|
||||
{"adamo-blast-furnace", 1}
|
||||
}
|
||||
}
|
||||
local furnace_item = {
|
||||
type = "item",
|
||||
name = "adamo-blast-furnace",
|
||||
icon =
|
||||
"__adamo-chemical__/graphics/icons/"
|
||||
.."blast-furnace.png",
|
||||
icon_size = 32,
|
||||
flags = {},
|
||||
subgroup = "adamo-chemical-production-machine",
|
||||
order = "c[adamo-blast-furnace]",
|
||||
place_result = "adamo-blast-furnace",
|
||||
stack_size = 25
|
||||
}
|
||||
local furnace_entity = {
|
||||
type = "assembling-machine",
|
||||
name = "adamo-blast-furnace",
|
||||
gui_title_key = "adamo-blast-furnace",
|
||||
has_backer_name = true,
|
||||
icon =
|
||||
"__adamo-chemical__/graphics/icons/"
|
||||
.."blast-furnace.png",
|
||||
icon_size = 32,
|
||||
flags = {"placeable-neutral", "player-creation"},
|
||||
minable = {
|
||||
hardness = 0.2,
|
||||
mining_time = 1,
|
||||
result = "adamo-blast-furnace"
|
||||
},
|
||||
module_specification = {
|
||||
module_slots = 1
|
||||
},
|
||||
allowed_effects = {
|
||||
"consumption",
|
||||
"speed",
|
||||
"productivity",
|
||||
"pollution"
|
||||
},
|
||||
max_health = 250,
|
||||
corpse = "medium-remnants",
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact.ogg",
|
||||
volume = 0.65
|
||||
},
|
||||
resistances = {
|
||||
{ type = "fire", percent = 100 },
|
||||
{ type = "explosion", percent = 30 },
|
||||
{ type = "impact", percent = 50 }
|
||||
},
|
||||
selection_box = {{-1,-1}, {1,1}},
|
||||
collision_box = {{-0.99, -0.99}, {0.99, 0.99}},
|
||||
crafting_speed = 1,
|
||||
crafting_categories = {"adamo-chemical-firing"},
|
||||
energy_usage = "150kW",
|
||||
energy_source = {
|
||||
type = "burner",
|
||||
fuel_category = "chemical",
|
||||
fuel_inventory_size = 1,
|
||||
emissions_per_minute = 6,
|
||||
smoke = {{
|
||||
name = "smoke",
|
||||
position = {-0.725,-1.275},
|
||||
frequency = 10,
|
||||
starting_vertical_speed = 0.12,
|
||||
deviation = {0.025,0.05}
|
||||
}}
|
||||
},
|
||||
animation = {
|
||||
layers = blast_furnace_layers()
|
||||
},
|
||||
working_visualisations = {{
|
||||
animation = blast_furnace_fire()
|
||||
}},
|
||||
working_sound = {
|
||||
sound = {
|
||||
filename = "__base__/sound/furnace.ogg",
|
||||
volume = 1.6
|
||||
},
|
||||
max_sounds_per_type = 3
|
||||
}
|
||||
}
|
||||
data:extend({
|
||||
furnace_recipe,
|
||||
furnace_item,
|
||||
furnace_entity
|
||||
})
|
||||
add_recipe_to_tech(
|
||||
"advanced-material-processing",
|
||||
"adamo-blast-furnace"
|
||||
)
|
||||
|
||||
local process_vessel_recipe = {
|
||||
type = "recipe",
|
||||
name = "adamo-chemical-process-vessel",
|
||||
energy_required = 5,
|
||||
enabled = false,
|
||||
ingredients = {
|
||||
{"concrete", 50},
|
||||
{"pump",10},
|
||||
{"electronic-circuit",20},
|
||||
{"advanced-circuit",20},
|
||||
{"pipe", 20},
|
||||
{"steel-plate", 50}
|
||||
},
|
||||
results = {{"adamo-chemical-process-vessel", 1}},
|
||||
}
|
||||
local process_vessel_item = {
|
||||
type = "item",
|
||||
name = "adamo-chemical-process-vessel",
|
||||
icon = "__adamo-chemical__/graphics/icons/process-vessel.png",
|
||||
icon_size = 32,
|
||||
flags = {},
|
||||
subgroup = "adamo-chemical-production-machine",
|
||||
order = "g[adamo-chemical-process-vessel]",
|
||||
place_result = "adamo-chemical-process-vessel",
|
||||
stack_size = 10
|
||||
}
|
||||
local process_vessel_entity = {
|
||||
type = "assembling-machine",
|
||||
name = "adamo-chemical-process-vessel",
|
||||
gui_title_key = "adamo-chemical-process-vessel",
|
||||
has_backer_name = true,
|
||||
scale_entity_info_icon = true,
|
||||
icon = "__adamo-chemical__/graphics/icons/process-vessel.png",
|
||||
icon_size = 32,
|
||||
flags = {"placeable-neutral", "player-creation"},
|
||||
minable = {
|
||||
mining_time = 3,
|
||||
result = "adamo-chemical-process-vessel"
|
||||
},
|
||||
fast_replaceable_group = "assembling-machine",
|
||||
max_health = 750,
|
||||
corpse = "medium-remnants",
|
||||
dying_explosion = "big-explosion",
|
||||
collision_box = {{-2.4, -2.4}, {2.4, 2.4}},
|
||||
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
|
||||
module_specification = {
|
||||
module_slots = 5
|
||||
},
|
||||
allowed_effects = {
|
||||
"consumption",
|
||||
"speed",
|
||||
"productivity",
|
||||
"pollution"
|
||||
},
|
||||
crafting_categories = {
|
||||
"adamo-chemical-hydrolysis",
|
||||
"adamo-chemical-displacement",
|
||||
"adamo-chemical-heating",
|
||||
"adamo-chemical-deposition",
|
||||
"adamo-chemical-decomposition",
|
||||
"adamo-chemical-recovery",
|
||||
"adamo-chemical-activation",
|
||||
"adamo-chemical-disassociation"
|
||||
},
|
||||
result_inventory_size = 0,
|
||||
crafting_speed = 3,
|
||||
energy_source = {
|
||||
type = "electric",
|
||||
usage_priority = "secondary-input",
|
||||
emissions_per_minute = 0.06,
|
||||
},
|
||||
energy_usage = "750kW",
|
||||
ingredient_count = 4,
|
||||
animation = {
|
||||
layers = vessel_layers()
|
||||
},
|
||||
working_visualisations = {
|
||||
vessel_escaping_pressure_layer()
|
||||
},
|
||||
fluid_boxes = {{
|
||||
production_type = "input",
|
||||
base_level = -1,
|
||||
height = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {-1.0,3.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "input",
|
||||
base_level = -1,
|
||||
height = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {1.0,-3.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "input",
|
||||
base_level = -1,
|
||||
height = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {3.0, 1.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "input",
|
||||
base_level = -1,
|
||||
height = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {-3.0,-1.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "output",
|
||||
base_level = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {-3.0, 2.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "output",
|
||||
base_level = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {3.0, -2.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "output",
|
||||
base_level = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {2.0, 3.0}},
|
||||
}
|
||||
},{
|
||||
production_type = "output",
|
||||
base_level = 1,
|
||||
pipe_covers = vesselpipecovers(),
|
||||
pipe_connections = {
|
||||
{position = {-2.0, -3.0}},
|
||||
}
|
||||
}
|
||||
},
|
||||
vehicle_impact_sound = {
|
||||
filename = "__base__/sound/car-metal-impact.ogg",
|
||||
volume = 0.65
|
||||
},
|
||||
working_sound = {
|
||||
sound = {
|
||||
filename =
|
||||
"__adamo-chemical__/sounds/process-vessel.ogg",
|
||||
volume = 0.6
|
||||
},
|
||||
idle_sound = {
|
||||
filename =
|
||||
"__adamo-chemical__/sounds/process-vessel.ogg",
|
||||
volume = 0.1
|
||||
},
|
||||
apparent_volume = 2.5
|
||||
}
|
||||
}
|
||||
data:extend({
|
||||
process_vessel_recipe,
|
||||
process_vessel_item,
|
||||
process_vessel_entity
|
||||
})
|
||||
if data.raw.technology["advanced-material-processing-3"] then
|
||||
add_recipe_to_tech(
|
||||
"advanced-material-processing-3",
|
||||
"adamo-chemical-process-vessel"
|
||||
)
|
||||
else
|
||||
add_recipe_to_tech(
|
||||
"logistics-3",
|
||||
"adamo-chemical-process-vessel"
|
||||
)
|
||||
end
|
1
factsheet.lua
Symbolic link
@ -0,0 +1 @@
|
||||
../factsheet.lua
|
BIN
graphics/connections/pipe-cover-east-dark.png
Normal file
After Width: | Height: | Size: 502 B |
BIN
graphics/connections/pipe-cover-east-light.png
Normal file
After Width: | Height: | Size: 674 B |
BIN
graphics/connections/pipe-cover-east-medium.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
graphics/connections/pipe-cover-north-dark.png
Normal file
After Width: | Height: | Size: 597 B |
BIN
graphics/connections/pipe-cover-north-light.png
Normal file
After Width: | Height: | Size: 804 B |
BIN
graphics/connections/pipe-cover-north-medium.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
graphics/connections/pipe-cover-south-dark.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
graphics/connections/pipe-cover-south-light.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
graphics/connections/pipe-cover-south-medium.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
graphics/connections/pipe-cover-west-dark.png
Normal file
After Width: | Height: | Size: 574 B |
BIN
graphics/connections/pipe-cover-west-light.png
Normal file
After Width: | Height: | Size: 640 B |
BIN
graphics/connections/pipe-cover-west-medium.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
graphics/entity/hr-blast-furnace.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
graphics/entity/process-vessel-anim.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
graphics/entity/process-vessel-shadow.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
graphics/entity/process-vessel.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
graphics/flask.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
graphics/icons/advanced-mineral-processing.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
graphics/icons/basic-mineral-processing.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
graphics/icons/blast-furnace.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
graphics/icons/calcite.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
graphics/icons/cement.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
graphics/icons/clinker.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
graphics/icons/fluorite.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
graphics/icons/gypsum.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
graphics/icons/hydrofluoride.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
graphics/icons/process-vessel.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
graphics/icons/quartz.png
Normal file
After Width: | Height: | Size: 13 KiB |
12
info.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "adamo-chemical",
|
||||
"version": "1.0.0",
|
||||
"title": "Adamo Chemical",
|
||||
"author": "adamo",
|
||||
"dependencies": [
|
||||
"base",
|
||||
"SimpleSilicon"
|
||||
],
|
||||
"description": "Chemical reverse engineering.",
|
||||
"factorio_version": "0.18"
|
||||
}
|
10
license
Normal file
@ -0,0 +1,10 @@
|
||||
Copyright 2019 MadClown01 for icons
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Copyright 2019 Pyanodon for chemical reactor, screener (Coal Processing), process vessel (HighTech) graphics
|
42
locale/en/base.cfg
Normal file
@ -0,0 +1,42 @@
|
||||
adamo-chemical-process-vessel=Process vessel
|
||||
adamo-blast-furnace=Blast furnace
|
||||
|
||||
[entity-name]
|
||||
adamo-chemical-process-vessel=Process vessel
|
||||
adamo-blast-furnace=Blast furnace
|
||||
|
||||
[technology-name]
|
||||
adamo-chemical-fluorine-processing=Fluorine processing
|
||||
concrete=Material binding
|
||||
|
||||
[item-group-name]
|
||||
adamo-chemical-group=Chemical engineering
|
||||
|
||||
[fluid-name]
|
||||
adamo-chemical-hydrofluoric-acid=Hydrofluoric acid
|
||||
|
||||
[item-name]
|
||||
adamo-chemical-fluorite=Fluorite
|
||||
adamo-chemical-calcite=Limestone
|
||||
adamo-chemical-gypsum=Gypsum
|
||||
adamo-chemical-clinker=Clinker
|
||||
adamo-chemical-cement=Cement
|
||||
|
||||
[recipe-name]
|
||||
adamo-chemical-hydrofluoric-acid=Hydrofluoric acid
|
||||
adamo-chemical-basic-mineral-processing=Basic mineral processing
|
||||
adamo-chemical-advanced-mineral-processing=Advanced mineral processing
|
||||
adamo-chemical-basic-mineral-processing-by-screening=Basic mineral processing
|
||||
adamo-chemical-advanced-mineral-processing-by-screening=Advanced mineral processing
|
||||
adamo-chemical-fluoride-battery=Battery from fluoride
|
||||
|
||||
[technology-description]
|
||||
advanced-materials-processing=Better furnaces and stone processing.
|
||||
concrete=Use binders to make stronger materials.
|
||||
|
||||
[mod-setting-name]
|
||||
adamo-chemical-screener=Name of screener entity
|
||||
adamo-chemical-still=Name of still entity
|
||||
adamo-chemical-kiln=Name of kiln entity
|
||||
adamo-chemical-reactor=Name of reactor entity
|
||||
adamo-chemical-mixer=Name of mixer entity
|
11
migrations/anhydrite_rebrand.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"recipe":
|
||||
[
|
||||
["adamo-chemical-anhydrite","adamo-chemical-gypsum"]
|
||||
],
|
||||
"item":
|
||||
[
|
||||
["adamo-chemical-anhydrite","adamo-chemical-gypsum"]
|
||||
]
|
||||
}
|
||||
|
15
migrations/better_names.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"recipe":
|
||||
[
|
||||
["adamo-chemical-pressure-reactor","adamo-chemical-process-vessel"]
|
||||
],
|
||||
"item":
|
||||
[
|
||||
["adamo-chemical-pressure-reactor","adamo-chemical-process-vessel"]
|
||||
],
|
||||
"entity":
|
||||
[
|
||||
["adamo-chemical-pressure-reactor","adamo-chemical-process-vessel"]
|
||||
]
|
||||
}
|
||||
|
15
migrations/chemical_reaction_tank.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"recipe":
|
||||
[
|
||||
["adamo-chemical-mixer","adamo-chemical-reactor"]
|
||||
],
|
||||
"item":
|
||||
[
|
||||
["adamo-chemical-mixer","adamo-chemical-reactor"]
|
||||
],
|
||||
"entity":
|
||||
[
|
||||
["adamo-chemical-mixer","adamo-chemical-reactor"]
|
||||
]
|
||||
}
|
||||
|
15
migrations/deleting_oven.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"recipe":
|
||||
[
|
||||
["adamo-chemical-oven","adamo-blast-furnace"]
|
||||
],
|
||||
"item":
|
||||
[
|
||||
["adamo-chemical-oven","adamo-blast-furnace"]
|
||||
],
|
||||
"entity":
|
||||
[
|
||||
["adamo-chemical-oven","adamo-blast-furnace"]
|
||||
]
|
||||
}
|
||||
|
39
settings.lua
Normal file
@ -0,0 +1,39 @@
|
||||
data:extend({
|
||||
{
|
||||
name = "adamo-chemical-screener",
|
||||
type = "string-setting",
|
||||
setting_type = "startup",
|
||||
default_value = "community-screener",
|
||||
order = "a"
|
||||
},
|
||||
{
|
||||
name = "adamo-chemical-still",
|
||||
type = "string-setting",
|
||||
setting_type = "startup",
|
||||
default_value = "adamo-cinefaction-still",
|
||||
order = "c"
|
||||
},
|
||||
{
|
||||
name = "adamo-chemical-kiln",
|
||||
type = "string-setting",
|
||||
setting_type = "startup",
|
||||
default_value = "community-kiln",
|
||||
order = "e"
|
||||
},
|
||||
{
|
||||
name = "adamo-chemical-reactor",
|
||||
type = "string-setting",
|
||||
setting_type = "startup",
|
||||
default_value = "adamo-cinefaction-reaction-kettle",
|
||||
order = "g"
|
||||
},
|
||||
{
|
||||
name = "adamo-chemical-mixer",
|
||||
type = "string-setting",
|
||||
setting_type = "startup",
|
||||
default_value = "community-mixer",
|
||||
order = "j"
|
||||
},
|
||||
})
|
||||
|
||||
|
BIN
sounds/process-vessel.ogg
Normal file
BIN
thumbnail.png
Normal file
After Width: | Height: | Size: 3.4 KiB |