Forked from pfmoore/factorio-recipe-parser.lua
Last active
September 10, 2021 15:41
-
-
Save eliask/958425b18faf35016a43139226a2abc0 to your computer and use it in GitHub Desktop.
Parse the Factorio recipe files to create a CSV of recipes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ Usage | |
Windows: | |
lua factorio-recipe-parser.lua "C:/Apps/Factorio/data/base/prototypes/recipe/" | |
Steam on macOS: | |
lua factorio-recipe-parser.lua ~/"Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/" | |
NB: json.lua is from https://gist.github.com/tylerneylon/59f4bcf316be525b30ab | |
]]-- | |
local json = require "json" | |
data = {} | |
data["extend"] = function (data, t) | |
for n, recipe in ipairs(t) do | |
print(json.stringify(recipe)) | |
end | |
end | |
-- file list is current as of 0.15.26: | |
files = { | |
"ammo", | |
"capsule", | |
"demo-furnace-recipe", | |
"demo-recipe", | |
"demo-turret", | |
"equipment", | |
"fluid-recipe", | |
"furnace-recipe", | |
"inserter", | |
"module", | |
"recipe", | |
"turret", | |
} | |
for i, f in ipairs(files) do | |
dofile(arg[1] .. "/data/base/prototypes/recipe/" .. f .. ".lua") | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ json.lua | |
A compact pure-Lua JSON library. | |
The main functions are: json.stringify, json.parse. | |
## json.stringify: | |
This expects the following to be true of any tables being encoded: | |
* They only have string or number keys. Number keys must be represented as | |
strings in json; this is part of the json spec. | |
* They are not recursive. Such a structure cannot be specified in json. | |
A Lua table is considered to be an array if and only if its set of keys is a | |
consecutive sequence of positive integers starting at 1. Arrays are encoded like | |
so: `[2, 3, false, "hi"]`. Any other type of Lua table is encoded as a json | |
object, encoded like so: `{"key1": 2, "key2": false}`. | |
Because the Lua nil value cannot be a key, and as a table value is considerd | |
equivalent to a missing key, there is no way to express the json "null" value in | |
a Lua table. The only way this will output "null" is if your entire input obj is | |
nil itself. | |
An empty Lua table, {}, could be considered either a json object or array - | |
it's an ambiguous edge case. We choose to treat this as an object as it is the | |
more general type. | |
To be clear, none of the above considerations is a limitation of this code. | |
Rather, it is what we get when we completely observe the json specification for | |
as arbitrary a Lua object as json is capable of expressing. | |
## json.parse: | |
This function parses json, with the exception that it does not pay attention to | |
\u-escaped unicode code points in strings. | |
It is difficult for Lua to return null as a value. In order to prevent the loss | |
of keys with a null value in a json string, this function uses the one-off | |
table value json.null (which is just an empty table) to indicate null values. | |
This way you can check if a value is null with the conditional | |
`val == json.null`. | |
If you have control over the data and are using Lua, I would recommend just | |
avoiding null values in your data to begin with. | |
--]] | |
local json = {} | |
-- Internal functions. | |
local function kind_of(obj) | |
if type(obj) ~= 'table' then return type(obj) end | |
local i = 1 | |
for _ in pairs(obj) do | |
if obj[i] ~= nil then i = i + 1 else return 'table' end | |
end | |
if i == 1 then return 'table' else return 'array' end | |
end | |
local function escape_str(s) | |
local in_char = {'\\', '"', '/', '\b', '\f', '\n', '\r', '\t'} | |
local out_char = {'\\', '"', '/', 'b', 'f', 'n', 'r', 't'} | |
for i, c in ipairs(in_char) do | |
s = s:gsub(c, '\\' .. out_char[i]) | |
end | |
return s | |
end | |
-- Returns pos, did_find; there are two cases: | |
-- 1. Delimiter found: pos = pos after leading space + delim; did_find = true. | |
-- 2. Delimiter not found: pos = pos after leading space; did_find = false. | |
-- This throws an error if err_if_missing is true and the delim is not found. | |
local function skip_delim(str, pos, delim, err_if_missing) | |
pos = pos + #str:match('^%s*', pos) | |
if str:sub(pos, pos) ~= delim then | |
if err_if_missing then | |
error('Expected ' .. delim .. ' near position ' .. pos) | |
end | |
return pos, false | |
end | |
return pos + 1, true | |
end | |
-- Expects the given pos to be the first character after the opening quote. | |
-- Returns val, pos; the returned pos is after the closing quote character. | |
local function parse_str_val(str, pos, val) | |
val = val or '' | |
local early_end_error = 'End of input found while parsing string.' | |
if pos > #str then error(early_end_error) end | |
local c = str:sub(pos, pos) | |
if c == '"' then return val, pos + 1 end | |
if c ~= '\\' then return parse_str_val(str, pos + 1, val .. c) end | |
-- We must have a \ character. | |
local esc_map = {b = '\b', f = '\f', n = '\n', r = '\r', t = '\t'} | |
local nextc = str:sub(pos + 1, pos + 1) | |
if not nextc then error(early_end_error) end | |
return parse_str_val(str, pos + 2, val .. (esc_map[nextc] or nextc)) | |
end | |
-- Returns val, pos; the returned pos is after the number's final character. | |
local function parse_num_val(str, pos) | |
local num_str = str:match('^-?%d+%.?%d*[eE]?[+-]?%d*', pos) | |
local val = tonumber(num_str) | |
if not val then error('Error parsing number at position ' .. pos .. '.') end | |
return val, pos + #num_str | |
end | |
-- Public values and functions. | |
function json.stringify(obj, as_key) | |
local s = {} -- We'll build the string as an array of strings to be concatenated. | |
local kind = kind_of(obj) -- This is 'array' if it's an array or type(obj) otherwise. | |
if kind == 'array' then | |
if as_key then error('Can\'t encode array as key.') end | |
s[#s + 1] = '[' | |
for i, val in ipairs(obj) do | |
if i > 1 then s[#s + 1] = ', ' end | |
s[#s + 1] = json.stringify(val) | |
end | |
s[#s + 1] = ']' | |
elseif kind == 'table' then | |
if as_key then error('Can\'t encode table as key.') end | |
s[#s + 1] = '{' | |
for k, v in pairs(obj) do | |
if #s > 1 then s[#s + 1] = ', ' end | |
s[#s + 1] = json.stringify(k, true) | |
s[#s + 1] = ':' | |
s[#s + 1] = json.stringify(v) | |
end | |
s[#s + 1] = '}' | |
elseif kind == 'string' then | |
return '"' .. escape_str(obj) .. '"' | |
elseif kind == 'number' then | |
if as_key then return '"' .. tostring(obj) .. '"' end | |
return tostring(obj) | |
elseif kind == 'boolean' then | |
return tostring(obj) | |
elseif kind == 'nil' then | |
return 'null' | |
else | |
error('Unjsonifiable type: ' .. kind .. '.') | |
end | |
return table.concat(s) | |
end | |
json.null = {} -- This is a one-off table to represent the null value. | |
function json.parse(str, pos, end_delim) | |
pos = pos or 1 | |
if pos > #str then error('Reached unexpected end of input.') end | |
local pos = pos + #str:match('^%s*', pos) -- Skip whitespace. | |
local first = str:sub(pos, pos) | |
if first == '{' then -- Parse an object. | |
local obj, key, delim_found = {}, true, true | |
pos = pos + 1 | |
while true do | |
key, pos = json.parse(str, pos, '}') | |
if key == nil then return obj, pos end | |
if not delim_found then error('Comma missing between object items.') end | |
pos = skip_delim(str, pos, ':', true) -- true -> error if missing. | |
obj[key], pos = json.parse(str, pos) | |
pos, delim_found = skip_delim(str, pos, ',') | |
end | |
elseif first == '[' then -- Parse an array. | |
local arr, val, delim_found = {}, true, true | |
pos = pos + 1 | |
while true do | |
val, pos = json.parse(str, pos, ']') | |
if val == nil then return arr, pos end | |
if not delim_found then error('Comma missing between array items.') end | |
arr[#arr + 1] = val | |
pos, delim_found = skip_delim(str, pos, ',') | |
end | |
elseif first == '"' then -- Parse a string. | |
return parse_str_val(str, pos + 1) | |
elseif first == '-' or first:match('%d') then -- Parse a number. | |
return parse_num_val(str, pos) | |
elseif first == end_delim then -- End of an object or array. | |
return nil, pos + 1 | |
else -- Parse true, false, or null. | |
local literals = {['true'] = true, ['false'] = false, ['null'] = json.null} | |
for lit_str, lit_val in pairs(literals) do | |
local lit_end = pos + #lit_str - 1 | |
if str:sub(pos, lit_end) == lit_str then return lit_val, lit_end + 1 end | |
end | |
local pos_info_str = 'position ' .. pos .. ': ' .. str:sub(pos, pos + 10) | |
error('Invalid json syntax starting at ' .. pos_info_str) | |
end | |
end | |
return json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"name":"piercing-rounds-magazine", "type":"recipe", "result":"piercing-rounds-magazine", "ingredients":[["firearm-magazine", 1], ["steel-plate", 1], ["copper-plate", 5]], "energy_required":3, "enabled":false} | |
{"name":"uranium-rounds-magazine", "type":"recipe", "result":"uranium-rounds-magazine", "ingredients":[["piercing-rounds-magazine", 1], ["uranium-238", 1]], "energy_required":10, "enabled":false} | |
{"name":"rocket", "type":"recipe", "result":"rocket", "ingredients":[["electronic-circuit", 1], ["explosives", 1], ["iron-plate", 2]], "energy_required":8, "enabled":false} | |
{"name":"explosive-rocket", "type":"recipe", "result":"explosive-rocket", "ingredients":[["rocket", 1], ["explosives", 2]], "energy_required":8, "enabled":false} | |
{"name":"atomic-bomb", "type":"recipe", "result":"atomic-bomb", "ingredients":[["processing-unit", 20], ["explosives", 10], ["uranium-235", 30]], "energy_required":50, "enabled":false} | |
{"name":"shotgun-shell", "type":"recipe", "result":"shotgun-shell", "ingredients":[["copper-plate", 2], ["iron-plate", 2]], "energy_required":3, "enabled":false} | |
{"name":"piercing-shotgun-shell", "type":"recipe", "result":"piercing-shotgun-shell", "ingredients":[["shotgun-shell", 2], ["copper-plate", 5], ["steel-plate", 2]], "energy_required":8, "enabled":false} | |
{"name":"railgun-dart", "type":"recipe", "result":"railgun-dart", "ingredients":[["steel-plate", 5], ["electronic-circuit", 5]], "energy_required":8, "enabled":false} | |
{"name":"cannon-shell", "type":"recipe", "normal":{"ingredients":[["steel-plate", 2], ["plastic-bar", 2], ["explosives", 1]], "energy_required":8, "result":"cannon-shell", "enabled":false}, "expensive":{"ingredients":[["steel-plate", 4], ["plastic-bar", 4], ["explosives", 1]], "energy_required":8, "result":"cannon-shell", "enabled":false}} | |
{"name":"explosive-cannon-shell", "type":"recipe", "normal":{"ingredients":[["steel-plate", 2], ["plastic-bar", 2], ["explosives", 2]], "energy_required":8, "result":"explosive-cannon-shell", "enabled":false}, "expensive":{"ingredients":[["steel-plate", 4], ["plastic-bar", 4], ["explosives", 2]], "energy_required":8, "result":"explosive-cannon-shell", "enabled":false}} | |
{"name":"uranium-cannon-shell", "type":"recipe", "result":"uranium-cannon-shell", "ingredients":[["cannon-shell", 1], ["uranium-238", 1]], "energy_required":12, "enabled":false} | |
{"name":"explosive-uranium-cannon-shell", "type":"recipe", "result":"explosive-uranium-cannon-shell", "ingredients":[["explosive-cannon-shell", 1], ["uranium-238", 1]], "energy_required":12, "enabled":false} | |
{"name":"flamethrower-ammo", "type":"recipe", "result":"flamethrower-ammo", "enabled":false, "ingredients":[{"name":"steel-plate", "type":"item", "amount":5}, {"name":"light-oil", "type":"fluid", "amount":50}, {"name":"heavy-oil", "type":"fluid", "amount":50}], "energy_required":6, "crafting_machine_tint":{"tertiary":{"a":0, "r":0.685, "g":0.329, "b":0}, "secondary":{"a":0, "r":0.655, "g":0, "b":0}, "primary":{"a":0, "r":0.845, "g":0.533, "b":0}}, "category":"chemistry"} | |
{"name":"poison-capsule", "type":"recipe", "result":"poison-capsule", "ingredients":[["steel-plate", 3], ["electronic-circuit", 3], ["coal", 10]], "energy_required":8, "enabled":false} | |
{"name":"slowdown-capsule", "type":"recipe", "result":"slowdown-capsule", "ingredients":[["steel-plate", 2], ["electronic-circuit", 2], ["coal", 5]], "energy_required":8, "enabled":false} | |
{"name":"grenade", "type":"recipe", "result":"grenade", "ingredients":[["iron-plate", 5], ["coal", 10]], "energy_required":8, "enabled":false} | |
{"name":"cluster-grenade", "type":"recipe", "result":"cluster-grenade", "ingredients":[["grenade", 7], ["explosives", 5], ["steel-plate", 5]], "energy_required":8, "enabled":false} | |
{"name":"defender-capsule", "type":"recipe", "result":"defender-capsule", "ingredients":[["piercing-rounds-magazine", 1], ["electronic-circuit", 2], ["iron-gear-wheel", 3]], "energy_required":8, "enabled":false} | |
{"name":"distractor-capsule", "type":"recipe", "result":"distractor-capsule", "ingredients":[["defender-capsule", 4], ["advanced-circuit", 3]], "energy_required":15, "enabled":false} | |
{"name":"destroyer-capsule", "type":"recipe", "result":"destroyer-capsule", "ingredients":[["distractor-capsule", 4], ["speed-module", 1]], "energy_required":15, "enabled":false} | |
{"name":"discharge-defense-remote", "type":"recipe", "result":"discharge-defense-remote", "ingredients":[["electronic-circuit", 1]], "enabled":false} | |
{"name":"copper-plate", "type":"recipe", "result":"copper-plate", "ingredients":[["copper-ore", 1]], "energy_required":3.5, "category":"smelting"} | |
{"name":"iron-plate", "type":"recipe", "result":"iron-plate", "ingredients":[["iron-ore", 1]], "energy_required":3.5, "category":"smelting"} | |
{"name":"stone-brick", "type":"recipe", "result":"stone-brick", "ingredients":[["stone", 2]], "enabled":true, "energy_required":3.5, "category":"smelting"} | |
{"name":"wood", "type":"recipe", "result":"wood", "ingredients":[["raw-wood", 1]], "result_count":2} | |
{"name":"wooden-chest", "type":"recipe", "result":"wooden-chest", "ingredients":[["wood", 4]], "requester_paste_multiplier":4} | |
{"name":"iron-stick", "type":"recipe", "result":"iron-stick", "ingredients":[["iron-plate", 1]], "result_count":2} | |
{"name":"iron-axe", "type":"recipe", "result":"iron-axe", "ingredients":[["iron-stick", 2], ["iron-plate", 3]]} | |
{"name":"stone-furnace", "type":"recipe", "result":"stone-furnace", "ingredients":[["stone", 5]]} | |
{"name":"boiler", "type":"recipe", "result":"boiler", "ingredients":[["stone-furnace", 1], ["pipe", 4]]} | |
{"name":"steam-engine", "type":"recipe", "normal":{"ingredients":[["iron-gear-wheel", 8], ["pipe", 5], ["iron-plate", 10]], "result":"steam-engine"}, "expensive":{"ingredients":[["iron-gear-wheel", 10], ["pipe", 5], ["iron-plate", 50]], "result":"steam-engine"}} | |
{"name":"iron-gear-wheel", "type":"recipe", "normal":{"ingredients":[["iron-plate", 2]], "result":"iron-gear-wheel"}, "expensive":{"ingredients":[["iron-plate", 4]], "result":"iron-gear-wheel"}} | |
{"name":"electronic-circuit", "type":"recipe", "normal":{"ingredients":[["iron-plate", 1], ["copper-cable", 3]], "result":"electronic-circuit", "requester_paste_multiplier":50}, "expensive":{"ingredients":[["iron-plate", 2], ["copper-cable", 10]], "result":"electronic-circuit", "requester_paste_multiplier":50}} | |
{"name":"transport-belt", "type":"recipe", "result":"transport-belt", "ingredients":[["iron-plate", 1], ["iron-gear-wheel", 1]], "requester_paste_multiplier":20, "result_count":2} | |
{"name":"electric-mining-drill", "type":"recipe", "normal":{"ingredients":[["electronic-circuit", 3], ["iron-gear-wheel", 5], ["iron-plate", 10]], "result":"electric-mining-drill", "energy_required":2}, "expensive":{"ingredients":[["electronic-circuit", 5], ["iron-gear-wheel", 10], ["iron-plate", 20]], "result":"electric-mining-drill", "energy_required":2}} | |
{"name":"burner-mining-drill", "type":"recipe", "normal":{"ingredients":[["iron-gear-wheel", 3], ["stone-furnace", 1], ["iron-plate", 3]], "result":"burner-mining-drill", "energy_required":2}, "expensive":{"ingredients":[["iron-gear-wheel", 6], ["stone-furnace", 2], ["iron-plate", 6]], "result":"burner-mining-drill", "energy_required":4}} | |
{"name":"inserter", "type":"recipe", "result":"inserter", "ingredients":[["electronic-circuit", 1], ["iron-gear-wheel", 1], ["iron-plate", 1]], "requester_paste_multiplier":15} | |
{"name":"burner-inserter", "type":"recipe", "result":"burner-inserter", "ingredients":[["iron-plate", 1], ["iron-gear-wheel", 1]], "requester_paste_multiplier":15} | |
{"name":"pipe", "type":"recipe", "normal":{"ingredients":[["iron-plate", 1]], "result":"pipe", "requester_paste_multiplier":15}, "expensive":{"ingredients":[["iron-plate", 2]], "result":"pipe", "requester_paste_multiplier":15}} | |
{"name":"offshore-pump", "type":"recipe", "result":"offshore-pump", "ingredients":[["electronic-circuit", 2], ["pipe", 1], ["iron-gear-wheel", 1]]} | |
{"name":"copper-cable", "type":"recipe", "result":"copper-cable", "ingredients":[["copper-plate", 1]], "result_count":2} | |
{"name":"small-electric-pole", "type":"recipe", "result":"small-electric-pole", "ingredients":[["wood", 2], ["copper-cable", 2]], "requester_paste_multiplier":4, "result_count":2} | |
{"name":"pistol", "type":"recipe", "result":"pistol", "ingredients":[["copper-plate", 5], ["iron-plate", 5]], "energy_required":5} | |
{"name":"submachine-gun", "type":"recipe", "normal":{"ingredients":[["iron-gear-wheel", 10], ["copper-plate", 5], ["iron-plate", 10]], "energy_required":10, "result":"submachine-gun", "enabled":false}, "expensive":{"ingredients":[["iron-gear-wheel", 15], ["copper-plate", 20], ["iron-plate", 30]], "energy_required":10, "result":"submachine-gun", "enabled":false}} | |
{"name":"firearm-magazine", "type":"recipe", "result":"firearm-magazine", "ingredients":[["iron-plate", 4]], "result_count":1, "energy_required":1} | |
{"name":"light-armor", "type":"recipe", "result":"light-armor", "ingredients":[["iron-plate", 40]], "energy_required":3, "enabled":true} | |
{"name":"radar", "type":"recipe", "result":"radar", "ingredients":[["electronic-circuit", 5], ["iron-gear-wheel", 5], ["iron-plate", 10]], "requester_paste_multiplier":4} | |
{"name":"small-lamp", "type":"recipe", "result":"small-lamp", "ingredients":[["electronic-circuit", 1], ["iron-stick", 3], ["iron-plate", 1]], "enabled":false} | |
{"name":"pipe-to-ground", "type":"recipe", "result":"pipe-to-ground", "ingredients":[["pipe", 10], ["iron-plate", 5]], "result_count":2} | |
{"name":"assembling-machine-1", "type":"recipe", "result":"assembling-machine-1", "ingredients":[["electronic-circuit", 3], ["iron-gear-wheel", 5], ["iron-plate", 9]], "enabled":false} | |
{"name":"repair-pack", "type":"recipe", "result":"repair-pack", "ingredients":[["electronic-circuit", 2], ["iron-gear-wheel", 2]]} | |
{"name":"gun-turret", "type":"recipe", "result":"gun-turret", "ingredients":[["iron-gear-wheel", 10], ["copper-plate", 10], ["iron-plate", 20]], "energy_required":8, "enabled":false} | |
{"name":"night-vision-equipment", "type":"recipe", "result":"night-vision-equipment", "ingredients":[["advanced-circuit", 5], ["steel-plate", 10]], "energy_required":10, "enabled":false} | |
{"name":"energy-shield-equipment", "type":"recipe", "result":"energy-shield-equipment", "ingredients":[["advanced-circuit", 5], ["steel-plate", 10]], "energy_required":10, "enabled":false} | |
{"name":"energy-shield-mk2-equipment", "type":"recipe", "result":"energy-shield-mk2-equipment", "ingredients":[["energy-shield-equipment", 10], ["processing-unit", 10]], "energy_required":10, "enabled":false} | |
{"name":"battery-equipment", "type":"recipe", "result":"battery-equipment", "ingredients":[["battery", 5], ["steel-plate", 10]], "energy_required":10, "enabled":false} | |
{"name":"battery-mk2-equipment", "type":"recipe", "result":"battery-mk2-equipment", "ingredients":[["battery-equipment", 10], ["processing-unit", 20]], "energy_required":10, "enabled":false} | |
{"name":"solar-panel-equipment", "type":"recipe", "result":"solar-panel-equipment", "ingredients":[["solar-panel", 5], ["advanced-circuit", 1], ["steel-plate", 5]], "energy_required":10, "enabled":false} | |
{"name":"fusion-reactor-equipment", "type":"recipe", "result":"fusion-reactor-equipment", "ingredients":[["processing-unit", 250]], "energy_required":10, "enabled":false} | |
{"name":"personal-laser-defense-equipment", "type":"recipe", "result":"personal-laser-defense-equipment", "ingredients":[["processing-unit", 1], ["steel-plate", 5], ["laser-turret", 5]], "energy_required":10, "enabled":false} | |
{"name":"discharge-defense-equipment", "type":"recipe", "result":"discharge-defense-equipment", "ingredients":[["processing-unit", 5], ["steel-plate", 20], ["laser-turret", 10]], "energy_required":10, "enabled":false} | |
{"name":"exoskeleton-equipment", "type":"recipe", "result":"exoskeleton-equipment", "ingredients":[["processing-unit", 10], ["electric-engine-unit", 30], ["steel-plate", 20]], "energy_required":10, "enabled":false} | |
{"name":"personal-roboport-equipment", "type":"recipe", "result":"personal-roboport-equipment", "ingredients":[["advanced-circuit", 10], ["iron-gear-wheel", 40], ["steel-plate", 20], ["battery", 45]], "energy_required":10, "enabled":false} | |
{"name":"personal-roboport-mk2-equipment", "type":"recipe", "result":"personal-roboport-mk2-equipment", "ingredients":[["personal-roboport-equipment", 5], ["processing-unit", 100]], "energy_required":20, "enabled":false} | |
{"name":"basic-oil-processing", "type":"recipe", "ingredients":[{"name":"crude-oil", "type":"fluid", "amount":100}], "subgroup":"fluid-recipes", "category":"oil-processing", "results":[{"name":"heavy-oil", "type":"fluid", "amount":30}, {"name":"light-oil", "type":"fluid", "amount":30}, {"name":"petroleum-gas", "type":"fluid", "amount":40}], "icon":"__base__\/graphics\/icons\/fluid\/basic-oil-processing.png", "order":"a[oil-processing]-a[basic-oil-processing]", "enabled":false, "energy_required":5} | |
{"name":"advanced-oil-processing", "type":"recipe", "ingredients":[{"name":"water", "type":"fluid", "amount":50}, {"name":"crude-oil", "type":"fluid", "amount":100}], "subgroup":"fluid-recipes", "category":"oil-processing", "results":[{"name":"heavy-oil", "type":"fluid", "amount":10}, {"name":"light-oil", "type":"fluid", "amount":45}, {"name":"petroleum-gas", "type":"fluid", "amount":55}], "icon":"__base__\/graphics\/icons\/fluid\/advanced-oil-processing.png", "order":"a[oil-processing]-b[advanced-oil-processing]", "enabled":false, "energy_required":5} | |
{"name":"coal-liquefaction", "type":"recipe", "ingredients":[{"name":"coal", "type":"item", "amount":10}, {"name":"heavy-oil", "type":"fluid", "amount":25}, {"name":"steam", "type":"fluid", "amount":50}], "subgroup":"fluid-recipes", "category":"oil-processing", "results":[{"name":"heavy-oil", "type":"fluid", "amount":35}, {"name":"light-oil", "type":"fluid", "amount":15}, {"name":"petroleum-gas", "type":"fluid", "amount":20}], "allow_decomposition":false, "icon":"__base__\/graphics\/icons\/fluid\/coal-liquefaction.png", "order":"a[oil-processing]-c[coal-liquefaction]", "enabled":false, "energy_required":5} | |
{"name":"heavy-oil-cracking", "type":"recipe", "ingredients":[{"name":"water", "type":"fluid", "amount":30}, {"name":"heavy-oil", "type":"fluid", "amount":40}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.87, "g":0.365, "b":0}, "secondary":{"a":0, "r":0.722, "g":0.465, "b":0.19}, "primary":{"a":0, "r":0.29, "g":0.027, "b":0}}, "category":"chemistry", "results":[{"name":"light-oil", "type":"fluid", "amount":30}], "order":"b[fluid-chemistry]-a[heavy-oil-cracking]", "icon":"__base__\/graphics\/icons\/fluid\/heavy-oil-cracking.png", "main_product":"", "enabled":false, "energy_required":3} | |
{"name":"light-oil-cracking", "type":"recipe", "ingredients":[{"name":"water", "type":"fluid", "amount":30}, {"name":"light-oil", "type":"fluid", "amount":30}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.835, "g":0.551, "b":0}, "secondary":{"a":0, "r":0.795, "g":0.805, "b":0.605}, "primary":{"a":0, "r":0.785, "g":0.406, "b":0}}, "category":"chemistry", "results":[{"name":"petroleum-gas", "type":"fluid", "amount":20}], "order":"b[fluid-chemistry]-b[light-oil-cracking]", "icon":"__base__\/graphics\/icons\/fluid\/light-oil-cracking.png", "main_product":"", "enabled":false, "energy_required":3} | |
{"name":"sulfuric-acid", "type":"recipe", "ingredients":[{"name":"sulfur", "type":"item", "amount":5}, {"name":"iron-plate", "type":"item", "amount":1}, {"name":"water", "type":"fluid", "amount":100}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.564, "g":0.795, "b":0}, "secondary":{"a":0, "r":0.103, "g":0.94, "b":0}, "primary":{"a":0, "r":0.875, "g":0.735, "b":0}}, "category":"chemistry", "results":[{"name":"sulfuric-acid", "type":"fluid", "amount":50}], "enabled":false, "energy_required":1} | |
{"name":"plastic-bar", "type":"recipe", "ingredients":[{"name":"petroleum-gas", "type":"fluid", "amount":20}, {"name":"coal", "type":"item", "amount":1}], "crafting_machine_tint":{"tertiary":{"a":0, "r":0.305, "g":0.305, "b":0.305}, "secondary":{"a":0, "r":0.4, "g":0.4, "b":0.4}, "primary":{"a":0, "r":0.498, "g":0.498, "b":0.498}}, "category":"chemistry", "results":[{"name":"plastic-bar", "type":"item", "amount":2}], "enabled":false, "requester_paste_multiplier":4, "energy_required":1} | |
{"name":"solid-fuel-from-light-oil", "type":"recipe", "ingredients":[{"name":"light-oil", "type":"fluid", "amount":10}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.61, "g":0.348, "b":0}, "secondary":{"a":0, "r":0.735, "g":0.546, "b":0.325}, "primary":{"a":0, "r":0.27, "g":0.122, "b":0}}, "category":"chemistry", "results":[{"name":"solid-fuel", "type":"item", "amount":1}], "icon":"__base__\/graphics\/icons\/solid-fuel-from-light-oil.png", "order":"b[fluid-chemistry]-c[solid-fuel-from-light-oil]", "enabled":false, "energy_required":3} | |
{"name":"solid-fuel-from-petroleum-gas", "type":"recipe", "ingredients":[{"name":"petroleum-gas", "type":"fluid", "amount":20}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.469, "g":0.145, "b":0.695}, "secondary":{"a":0.361, "r":0.589, "g":0.54, "b":0.615}, "primary":{"a":0, "r":0.331, "g":0.075, "b":0.51}}, "category":"chemistry", "results":[{"name":"solid-fuel", "type":"item", "amount":1}], "icon":"__base__\/graphics\/icons\/solid-fuel-from-petroleum-gas.png", "order":"b[fluid-chemistry]-d[solid-fuel-from-petroleum-gas]", "enabled":false, "energy_required":3} | |
{"name":"solid-fuel-from-heavy-oil", "type":"recipe", "ingredients":[{"name":"heavy-oil", "type":"fluid", "amount":20}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.435, "g":0.144, "b":0.135}, "secondary":{"a":0, "r":0.47, "g":0.215, "b":0.19}, "primary":{"a":0, "r":0.16, "g":0.095, "b":0.095}}, "category":"chemistry", "results":[{"name":"solid-fuel", "type":"item", "amount":1}], "icon":"__base__\/graphics\/icons\/solid-fuel-from-heavy-oil.png", "order":"b[fluid-chemistry]-e[solid-fuel-from-heavy-oil]", "enabled":false, "energy_required":3} | |
{"name":"sulfur", "type":"recipe", "results":[{"name":"sulfur", "type":"item", "amount":2}], "energy_required":1, "ingredients":[{"name":"water", "type":"fluid", "amount":30}, {"name":"petroleum-gas", "type":"fluid", "amount":30}], "enabled":false, "crafting_machine_tint":{"tertiary":{"a":0, "r":0.96, "g":0.806, "b":0}, "secondary":{"a":0, "r":0.812, "g":1, "b":0}, "primary":{"a":0, "r":1, "g":0.659, "b":0}}, "category":"chemistry"} | |
{"name":"lubricant", "type":"recipe", "ingredients":[{"name":"heavy-oil", "type":"fluid", "amount":10}], "subgroup":"fluid-recipes", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.026, "g":0.52, "b":0}, "secondary":{"a":0, "r":0.071, "g":0.64, "b":0}, "primary":{"a":0, "r":0, "g":0.26, "b":0.01}}, "category":"chemistry", "results":[{"name":"lubricant", "type":"fluid", "amount":10}], "enabled":false, "energy_required":1} | |
{"name":"empty-barrel", "type":"recipe", "results":[{"name":"empty-barrel", "type":"item", "amount":1}], "enabled":false, "ingredients":[{"name":"steel-plate", "type":"item", "amount":1}], "subgroup":"intermediate-product", "energy_required":1, "category":"crafting"} | |
{"name":"steel-plate", "type":"recipe", "expensive":{"ingredients":[["iron-plate", 10]], "energy_required":35, "result":"steel-plate", "enabled":false}, "normal":{"ingredients":[["iron-plate", 5]], "energy_required":17.5, "result":"steel-plate", "enabled":false}, "category":"smelting"} | |
{"name":"long-handed-inserter", "type":"recipe", "result":"long-handed-inserter", "ingredients":[["iron-gear-wheel", 1], ["iron-plate", 1], ["inserter", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"fast-inserter", "type":"recipe", "result":"fast-inserter", "ingredients":[["electronic-circuit", 2], ["iron-plate", 2], ["inserter", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"filter-inserter", "type":"recipe", "result":"filter-inserter", "ingredients":[["fast-inserter", 1], ["electronic-circuit", 4]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"stack-inserter", "type":"recipe", "result":"stack-inserter", "ingredients":[["iron-gear-wheel", 15], ["electronic-circuit", 15], ["advanced-circuit", 1], ["fast-inserter", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"stack-filter-inserter", "type":"recipe", "result":"stack-filter-inserter", "ingredients":[["stack-inserter", 1], ["electronic-circuit", 5]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"speed-module", "type":"recipe", "result":"speed-module", "ingredients":[["advanced-circuit", 5], ["electronic-circuit", 5]], "energy_required":15, "enabled":false} | |
{"name":"speed-module-2", "type":"recipe", "result":"speed-module-2", "ingredients":[["speed-module", 4], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":30, "enabled":false} | |
{"name":"speed-module-3", "type":"recipe", "result":"speed-module-3", "ingredients":[["speed-module-2", 5], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":60, "enabled":false} | |
{"name":"productivity-module", "type":"recipe", "result":"productivity-module", "ingredients":[["advanced-circuit", 5], ["electronic-circuit", 5]], "energy_required":15, "enabled":false} | |
{"name":"productivity-module-2", "type":"recipe", "result":"productivity-module-2", "ingredients":[["productivity-module", 4], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":30, "enabled":false} | |
{"name":"productivity-module-3", "type":"recipe", "result":"productivity-module-3", "ingredients":[["productivity-module-2", 5], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":60, "enabled":false} | |
{"name":"effectivity-module", "type":"recipe", "result":"effectivity-module", "ingredients":[["advanced-circuit", 5], ["electronic-circuit", 5]], "energy_required":15, "enabled":false} | |
{"name":"effectivity-module-2", "type":"recipe", "result":"effectivity-module-2", "ingredients":[["effectivity-module", 4], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":30, "enabled":false} | |
{"name":"effectivity-module-3", "type":"recipe", "result":"effectivity-module-3", "ingredients":[["effectivity-module-2", 5], ["advanced-circuit", 5], ["processing-unit", 5]], "energy_required":60, "enabled":false} | |
{"name":"player-port", "type":"recipe", "result":"player-port", "ingredients":[["electronic-circuit", 10], ["iron-gear-wheel", 5], ["iron-plate", 1]], "enabled":false} | |
{"name":"fast-transport-belt", "type":"recipe", "result":"fast-transport-belt", "ingredients":[["iron-gear-wheel", 5], ["transport-belt", 1]], "enabled":false} | |
{"name":"express-transport-belt", "type":"recipe", "expensive":{"ingredients":[["iron-gear-wheel", 20], ["fast-transport-belt", 1], {"name":"lubricant", "type":"fluid", "amount":20}], "requester_paste_multiplier":20, "result":"express-transport-belt", "enabled":false}, "normal":{"ingredients":[["iron-gear-wheel", 10], ["fast-transport-belt", 1], {"name":"lubricant", "type":"fluid", "amount":20}], "result":"express-transport-belt", "enabled":false}, "category":"crafting-with-fluid"} | |
{"name":"solar-panel", "type":"recipe", "result":"solar-panel", "ingredients":[["steel-plate", 5], ["electronic-circuit", 15], ["copper-plate", 5]], "enabled":false, "energy_required":10} | |
{"name":"assembling-machine-2", "type":"recipe", "normal":{"ingredients":[["iron-plate", 9], ["electronic-circuit", 3], ["iron-gear-wheel", 5], ["assembling-machine-1", 1]], "requester_paste_multiplier":4, "result":"assembling-machine-2", "enabled":false}, "expensive":{"ingredients":[["iron-plate", 20], ["electronic-circuit", 5], ["iron-gear-wheel", 10], ["assembling-machine-1", 1]], "requester_paste_multiplier":4, "result":"assembling-machine-2", "enabled":false}} | |
{"name":"assembling-machine-3", "type":"recipe", "result":"assembling-machine-3", "ingredients":[["speed-module", 4], ["assembling-machine-2", 2]], "enabled":false} | |
{"name":"car", "type":"recipe", "result":"car", "ingredients":[["engine-unit", 8], ["iron-plate", 20], ["steel-plate", 5]], "enabled":false} | |
{"name":"tank", "type":"recipe", "normal":{"ingredients":[["engine-unit", 32], ["steel-plate", 50], ["iron-gear-wheel", 15], ["advanced-circuit", 10]], "result":"tank", "enabled":false}, "expensive":{"ingredients":[["engine-unit", 64], ["steel-plate", 100], ["iron-gear-wheel", 30], ["advanced-circuit", 20]], "result":"tank", "enabled":false}} | |
{"name":"rail", "type":"recipe", "result":"rail", "ingredients":[["stone", 1], ["iron-stick", 1], ["steel-plate", 1]], "result_count":2, "requester_paste_multiplier":4, "enabled":false} | |
{"name":"locomotive", "type":"recipe", "result":"locomotive", "ingredients":[["engine-unit", 20], ["electronic-circuit", 10], ["steel-plate", 30]], "enabled":false} | |
{"name":"cargo-wagon", "type":"recipe", "result":"cargo-wagon", "ingredients":[["iron-gear-wheel", 10], ["iron-plate", 20], ["steel-plate", 20]], "enabled":false} | |
{"name":"fluid-wagon", "type":"recipe", "result":"fluid-wagon", "ingredients":[["iron-gear-wheel", 10], ["steel-plate", 16], ["pipe", 8], ["storage-tank", 3]], "energy_required":1.5, "enabled":false} | |
{"name":"train-stop", "type":"recipe", "result":"train-stop", "ingredients":[["electronic-circuit", 5], ["iron-plate", 10], ["steel-plate", 3]], "enabled":false} | |
{"name":"rail-signal", "type":"recipe", "result":"rail-signal", "ingredients":[["electronic-circuit", 1], ["iron-plate", 5]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"rail-chain-signal", "type":"recipe", "result":"rail-chain-signal", "ingredients":[["electronic-circuit", 1], ["iron-plate", 5]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"heavy-armor", "type":"recipe", "result":"heavy-armor", "ingredients":[["copper-plate", 100], ["steel-plate", 50]], "energy_required":8, "enabled":false} | |
{"name":"modular-armor", "type":"recipe", "result":"modular-armor", "ingredients":[["advanced-circuit", 30], ["steel-plate", 50]], "energy_required":15, "enabled":false} | |
{"name":"power-armor", "type":"recipe", "result":"power-armor", "ingredients":[["processing-unit", 40], ["electric-engine-unit", 20], ["steel-plate", 40]], "energy_required":20, "requester_paste_multiplier":1, "enabled":false} | |
{"name":"power-armor-mk2", "type":"recipe", "result":"power-armor-mk2", "ingredients":[["effectivity-module-3", 5], ["speed-module-3", 5], ["processing-unit", 40], ["steel-plate", 40]], "energy_required":25, "requester_paste_multiplier":1, "enabled":false} | |
{"name":"iron-chest", "type":"recipe", "result":"iron-chest", "ingredients":[["iron-plate", 8]], "requester_paste_multiplier":4, "enabled":true} | |
{"name":"steel-chest", "type":"recipe", "result":"steel-chest", "ingredients":[["steel-plate", 8]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"stone-wall", "type":"recipe", "result":"stone-wall", "ingredients":[["stone-brick", 5]], "enabled":false} | |
{"name":"gate", "type":"recipe", "result":"gate", "ingredients":[["stone-wall", 1], ["steel-plate", 2], ["electronic-circuit", 2]], "enabled":false} | |
{"name":"flamethrower", "type":"recipe", "result":"flamethrower", "ingredients":[["steel-plate", 5], ["iron-gear-wheel", 10]], "energy_required":10, "enabled":false} | |
{"name":"land-mine", "type":"recipe", "result":"land-mine", "ingredients":[["steel-plate", 1], ["explosives", 2]], "result_count":4, "energy_required":5, "enabled":false} | |
{"name":"rocket-launcher", "type":"recipe", "result":"rocket-launcher", "ingredients":[["iron-plate", 5], ["iron-gear-wheel", 5], ["electronic-circuit", 5]], "energy_required":10, "enabled":false} | |
{"name":"shotgun", "type":"recipe", "result":"shotgun", "ingredients":[["iron-plate", 15], ["iron-gear-wheel", 5], ["copper-plate", 10], ["wood", 5]], "energy_required":10, "enabled":false} | |
{"name":"combat-shotgun", "type":"recipe", "result":"combat-shotgun", "ingredients":[["steel-plate", 15], ["iron-gear-wheel", 5], ["copper-plate", 10], ["wood", 10]], "energy_required":10, "enabled":false} | |
{"name":"railgun", "type":"recipe", "result":"railgun", "ingredients":[["steel-plate", 15], ["copper-plate", 15], ["electronic-circuit", 10], ["advanced-circuit", 5]], "energy_required":8, "enabled":false} | |
{"name":"science-pack-1", "type":"recipe", "result":"science-pack-1", "ingredients":[["copper-plate", 1], ["iron-gear-wheel", 1]], "energy_required":5} | |
{"name":"science-pack-2", "type":"recipe", "result":"science-pack-2", "ingredients":[["inserter", 1], ["transport-belt", 1]], "energy_required":6} | |
{"name":"science-pack-3", "type":"recipe", "result":"science-pack-3", "ingredients":[["advanced-circuit", 1], ["engine-unit", 1], ["electric-mining-drill", 1]], "energy_required":12, "enabled":false} | |
{"name":"military-science-pack", "type":"recipe", "result":"military-science-pack", "ingredients":[["piercing-rounds-magazine", 1], ["grenade", 1], ["gun-turret", 1]], "result_count":2, "energy_required":10, "enabled":false} | |
{"name":"production-science-pack", "type":"recipe", "result":"production-science-pack", "ingredients":[["electric-engine-unit", 1], ["assembling-machine-1", 1], ["electric-furnace", 1]], "result_count":2, "energy_required":14, "enabled":false} | |
{"name":"high-tech-science-pack", "type":"recipe", "result":"high-tech-science-pack", "ingredients":[["battery", 1], ["processing-unit", 3], ["speed-module", 1], ["copper-cable", 30]], "result_count":2, "energy_required":14, "enabled":false} | |
{"name":"lab", "type":"recipe", "result":"lab", "ingredients":[["electronic-circuit", 10], ["iron-gear-wheel", 10], ["transport-belt", 4]], "energy_required":3} | |
{"name":"red-wire", "type":"recipe", "result":"red-wire", "ingredients":[["electronic-circuit", 1], ["copper-cable", 1]], "enabled":false} | |
{"name":"green-wire", "type":"recipe", "result":"green-wire", "ingredients":[["electronic-circuit", 1], ["copper-cable", 1]], "enabled":false} | |
{"name":"underground-belt", "type":"recipe", "result":"underground-belt", "energy_required":1, "ingredients":[["iron-plate", 10], ["transport-belt", 5]], "result_count":2, "requester_paste_multiplier":4, "enabled":false} | |
{"name":"fast-underground-belt", "type":"recipe", "result":"fast-underground-belt", "ingredients":[["iron-gear-wheel", 40], ["underground-belt", 2]], "result_count":2, "requester_paste_multiplier":4, "enabled":false} | |
{"name":"express-underground-belt", "type":"recipe", "result":"express-underground-belt", "ingredients":[["iron-gear-wheel", 80], ["fast-underground-belt", 2], {"name":"lubricant", "type":"fluid", "amount":40}], "result_count":2, "enabled":false, "category":"crafting-with-fluid"} | |
{"name":"loader", "type":"recipe", "result":"loader", "ingredients":[["inserter", 5], ["electronic-circuit", 5], ["iron-gear-wheel", 5], ["iron-plate", 5], ["transport-belt", 5]], "energy_required":1, "enabled":false} | |
{"name":"fast-loader", "type":"recipe", "result":"fast-loader", "ingredients":[["fast-transport-belt", 5], ["loader", 1]], "energy_required":3, "enabled":false} | |
{"name":"express-loader", "type":"recipe", "result":"express-loader", "ingredients":[["express-transport-belt", 5], ["fast-loader", 1]], "energy_required":10, "enabled":false} | |
{"name":"splitter", "type":"recipe", "result":"splitter", "ingredients":[["electronic-circuit", 5], ["iron-plate", 5], ["transport-belt", 4]], "energy_required":1, "requester_paste_multiplier":4, "enabled":false} | |
{"name":"fast-splitter", "type":"recipe", "result":"fast-splitter", "ingredients":[["splitter", 1], ["iron-gear-wheel", 10], ["electronic-circuit", 10]], "energy_required":2, "requester_paste_multiplier":4, "enabled":false} | |
{"name":"express-splitter", "type":"recipe", "result":"express-splitter", "ingredients":[["fast-splitter", 1], ["iron-gear-wheel", 10], ["advanced-circuit", 10], {"name":"lubricant", "type":"fluid", "amount":80}], "energy_required":2, "enabled":false, "category":"crafting-with-fluid"} | |
{"name":"advanced-circuit", "type":"recipe", "normal":{"result":"advanced-circuit", "ingredients":[["electronic-circuit", 2], ["plastic-bar", 2], ["copper-cable", 4]], "energy_required":6, "requester_paste_multiplier":5, "enabled":false}, "expensive":{"result":"advanced-circuit", "ingredients":[["electronic-circuit", 2], ["plastic-bar", 4], ["copper-cable", 8]], "energy_required":6, "requester_paste_multiplier":5, "enabled":false}} | |
{"name":"processing-unit", "type":"recipe", "expensive":{"ingredients":[["electronic-circuit", 20], ["advanced-circuit", 2], {"name":"sulfuric-acid", "type":"fluid", "amount":10}], "energy_required":10, "result":"processing-unit", "enabled":false}, "normal":{"ingredients":[["electronic-circuit", 20], ["advanced-circuit", 2], {"name":"sulfuric-acid", "type":"fluid", "amount":5}], "energy_required":10, "result":"processing-unit", "enabled":false}, "category":"crafting-with-fluid"} | |
{"name":"logistic-robot", "type":"recipe", "result":"logistic-robot", "ingredients":[["flying-robot-frame", 1], ["advanced-circuit", 2]], "enabled":false} | |
{"name":"construction-robot", "type":"recipe", "result":"construction-robot", "ingredients":[["flying-robot-frame", 1], ["electronic-circuit", 2]], "enabled":false} | |
{"name":"logistic-chest-passive-provider", "type":"recipe", "result":"logistic-chest-passive-provider", "ingredients":[["steel-chest", 1], ["electronic-circuit", 3], ["advanced-circuit", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"logistic-chest-active-provider", "type":"recipe", "result":"logistic-chest-active-provider", "ingredients":[["steel-chest", 1], ["electronic-circuit", 3], ["advanced-circuit", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"logistic-chest-storage", "type":"recipe", "result":"logistic-chest-storage", "ingredients":[["steel-chest", 1], ["electronic-circuit", 3], ["advanced-circuit", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"logistic-chest-requester", "type":"recipe", "result":"logistic-chest-requester", "ingredients":[["steel-chest", 1], ["electronic-circuit", 3], ["advanced-circuit", 1]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"rocket-silo", "type":"recipe", "result":"rocket-silo", "ingredients":[["steel-plate", 1000], ["concrete", 1000], ["pipe", 100], ["processing-unit", 200], ["electric-engine-unit", 200]], "energy_required":30, "requester_paste_multiplier":1, "enabled":false} | |
{"name":"roboport", "type":"recipe", "result":"roboport", "ingredients":[["steel-plate", 45], ["iron-gear-wheel", 45], ["advanced-circuit", 45]], "energy_required":10, "enabled":false} | |
{"name":"steel-axe", "type":"recipe", "result":"steel-axe", "ingredients":[["steel-plate", 5], ["iron-stick", 2]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"big-electric-pole", "type":"recipe", "result":"big-electric-pole", "ingredients":[["steel-plate", 5], ["copper-plate", 5]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"substation", "type":"recipe", "result":"substation", "ingredients":[["steel-plate", 10], ["advanced-circuit", 5], ["copper-plate", 5]], "enabled":false} | |
{"name":"medium-electric-pole", "type":"recipe", "result":"medium-electric-pole", "ingredients":[["steel-plate", 2], ["copper-plate", 2]], "requester_paste_multiplier":4, "enabled":false} | |
{"name":"accumulator", "type":"recipe", "result":"accumulator", "ingredients":[["iron-plate", 2], ["battery", 5]], "enabled":false, "energy_required":10} | |
{"name":"steel-furnace", "type":"recipe", "result":"steel-furnace", "ingredients":[["steel-plate", 6], ["stone-brick", 10]], "enabled":false, "energy_required":3} | |
{"name":"electric-furnace", "type":"recipe", "result":"electric-furnace", "ingredients":[["steel-plate", 10], ["advanced-circuit", 5], ["stone-brick", 10]], "enabled":false, "energy_required":5} | |
{"name":"beacon", "type":"recipe", "result":"beacon", "ingredients":[["electronic-circuit", 20], ["advanced-circuit", 20], ["steel-plate", 10], ["copper-cable", 10]], "energy_required":15, "enabled":false} | |
{"name":"pumpjack", "type":"recipe", "result":"pumpjack", "ingredients":[["steel-plate", 5], ["iron-gear-wheel", 10], ["electronic-circuit", 5], ["pipe", 10]], "enabled":false, "energy_required":5} | |
{"name":"oil-refinery", "type":"recipe", "result":"oil-refinery", "ingredients":[["steel-plate", 15], ["iron-gear-wheel", 10], ["stone-brick", 10], ["electronic-circuit", 10], ["pipe", 10]], "enabled":false, "energy_required":10} | |
{"name":"engine-unit", "type":"recipe", "result":"engine-unit", "ingredients":[["steel-plate", 1], ["iron-gear-wheel", 1], ["pipe", 2]], "enabled":false, "category":"advanced-crafting", "energy_required":10} | |
{"name":"electric-engine-unit", "type":"recipe", "result":"electric-engine-unit", "ingredients":[["engine-unit", 1], {"name":"lubricant", "type":"fluid", "amount":15}, ["electronic-circuit", 2]], "enabled":false, "energy_required":10, "category":"crafting-with-fluid"} | |
{"name":"flying-robot-frame", "type":"recipe", "result":"flying-robot-frame", "ingredients":[["electric-engine-unit", 1], ["battery", 2], ["steel-plate", 1], ["electronic-circuit", 3]], "enabled":false, "energy_required":20} | |
{"name":"explosives", "type":"recipe", "expensive":{"ingredients":[{"name":"sulfur", "type":"item", "amount":2}, {"name":"coal", "type":"item", "amount":2}, {"name":"water", "type":"fluid", "amount":10}], "enabled":false, "result":"explosives", "energy_required":5}, "normal":{"ingredients":[{"name":"sulfur", "type":"item", "amount":1}, {"name":"coal", "type":"item", "amount":1}, {"name":"water", "type":"fluid", "amount":10}], "enabled":false, "result":"explosives", "energy_required":5}, "crafting_machine_tint":{"tertiary":{"a":0, "r":0, "g":0.288, "b":0.365}, "secondary":{"a":0.898, "r":0, "g":0.441, "b":0.659}, "primary":{"a":0, "r":0.955, "g":0.945, "b":0}}, "category":"chemistry"} | |
{"name":"battery", "type":"recipe", "crafting_machine_tint":{"tertiary":{"a":0, "r":0.43, "g":0.805, "b":0.726}, "secondary":{"a":0.357, "r":0, "g":0.68, "b":0.894}, "primary":{"a":0, "r":0.97, "g":0.611, "b":0}}, "expensive":{"ingredients":[{"name":"sulfuric-acid", "type":"fluid", "amount":40}, ["iron-plate", 1], ["copper-plate", 1]], "enabled":false, "result":"battery", "energy_required":5}, "normal":{"ingredients":[{"name":"sulfuric-acid", "type":"fluid", "amount":20}, ["iron-plate", 1], ["copper-plate", 1]], "enabled":false, "result":"battery", "energy_required":5}, "category":"chemistry"} | |
{"name":"storage-tank", "type":"recipe", "result":"storage-tank", "ingredients":[["iron-plate", 20], ["steel-plate", 5]], "enabled":false, "energy_required":3} | |
{"name":"pump", "type":"recipe", "result":"pump", "ingredients":[["engine-unit", 1], ["steel-plate", 1], ["pipe", 1]], "enabled":false, "energy_required":2} | |
{"name":"chemical-plant", "type":"recipe", "result":"chemical-plant", "ingredients":[["steel-plate", 5], ["iron-gear-wheel", 5], ["electronic-circuit", 5], ["pipe", 5]], "enabled":false, "energy_required":5} | |
{"name":"small-plane", "type":"recipe", "result":"small-plane", "ingredients":[["plastic-bar", 100], ["advanced-circuit", 200], ["electric-engine-unit", 20], ["battery", 100]], "category":"crafting", "enabled":false, "energy_required":30} | |
{"name":"arithmetic-combinator", "type":"recipe", "result":"arithmetic-combinator", "ingredients":[["copper-cable", 5], ["electronic-circuit", 5]], "enabled":false} | |
{"name":"decider-combinator", "type":"recipe", "result":"decider-combinator", "ingredients":[["copper-cable", 5], ["electronic-circuit", 5]], "enabled":false} | |
{"name":"constant-combinator", "type":"recipe", "result":"constant-combinator", "ingredients":[["copper-cable", 5], ["electronic-circuit", 2]], "enabled":false} | |
{"name":"power-switch", "type":"recipe", "result":"power-switch", "ingredients":[["iron-plate", 5], ["copper-cable", 5], ["electronic-circuit", 2]], "energy_required":2, "enabled":false} | |
{"name":"programmable-speaker", "type":"recipe", "result":"programmable-speaker", "ingredients":[["iron-plate", 5], ["copper-cable", 5], ["electronic-circuit", 4]], "energy_required":2, "enabled":false} | |
{"name":"low-density-structure", "type":"recipe", "expensive":{"ingredients":[["steel-plate", 10], ["copper-plate", 10], ["plastic-bar", 10]], "enabled":false, "result":"low-density-structure", "energy_required":30}, "normal":{"ingredients":[["steel-plate", 10], ["copper-plate", 5], ["plastic-bar", 5]], "enabled":false, "result":"low-density-structure", "energy_required":30}, "category":"crafting"} | |
{"name":"rocket-fuel", "type":"recipe", "result":"rocket-fuel", "ingredients":[["solid-fuel", 10]], "category":"crafting", "enabled":false, "energy_required":30} | |
{"name":"rocket-control-unit", "type":"recipe", "result":"rocket-control-unit", "ingredients":[["processing-unit", 1], ["speed-module", 1]], "category":"crafting", "enabled":false, "energy_required":30} | |
{"name":"rocket-part", "type":"recipe", "result":"rocket-part", "category":"rocket-building", "ingredients":[["low-density-structure", 10], ["rocket-fuel", 10], ["rocket-control-unit", 10]], "enabled":false, "hidden":true, "energy_required":3} | |
{"name":"satellite", "type":"recipe", "result":"satellite", "ingredients":[["low-density-structure", 100], ["solar-panel", 100], ["accumulator", 100], ["radar", 5], ["processing-unit", 100], ["rocket-fuel", 50]], "category":"crafting", "enabled":false, "energy_required":3} | |
{"name":"concrete", "type":"recipe", "result":"concrete", "result_count":10, "ingredients":[["stone-brick", 5], ["iron-ore", 1], {"name":"water", "type":"fluid", "amount":100}], "category":"crafting-with-fluid", "enabled":false, "energy_required":10} | |
{"name":"hazard-concrete", "type":"recipe", "result":"hazard-concrete", "result_count":10, "ingredients":[["concrete", 10]], "category":"crafting", "enabled":false, "energy_required":0.25} | |
{"name":"landfill", "type":"recipe", "result":"landfill", "result_count":1, "ingredients":[["stone", 20]], "category":"crafting", "enabled":false, "energy_required":0.5} | |
{"name":"electric-energy-interface", "type":"recipe", "result":"electric-energy-interface", "ingredients":[["iron-plate", 2], ["electronic-circuit", 5]], "enabled":false, "energy_required":0.5} | |
{"name":"nuclear-reactor", "type":"recipe", "result":"nuclear-reactor", "ingredients":[["concrete", 500], ["steel-plate", 500], ["advanced-circuit", 500], ["copper-plate", 500]], "enabled":false, "requester_paste_multiplier":1, "energy_required":4} | |
{"name":"centrifuge", "type":"recipe", "result":"centrifuge", "ingredients":[["concrete", 100], ["steel-plate", 50], ["advanced-circuit", 100], ["iron-gear-wheel", 100]], "enabled":false, "requester_paste_multiplier":2, "energy_required":4} | |
{"name":"uranium-processing", "type":"recipe", "ingredients":[["uranium-ore", 10]], "subgroup":"raw-material", "enabled":false, "results":[{"name":"uranium-235", "amount":1, "probability":0.007}, {"name":"uranium-238", "amount":1, "probability":0.993}], "icon":"__base__\/graphics\/icons\/uranium-processing.png", "order":"h[uranium-processing]", "category":"centrifuging", "energy_required":10} | |
{"name":"kovarex-enrichment-process", "type":"recipe", "ingredients":[["uranium-235", 40], ["uranium-238", 5]], "subgroup":"intermediate-product", "enabled":false, "order":"r[uranium-processing]-c[kovarex-enrichment-process]", "results":[{"name":"uranium-235", "amount":41}, {"name":"uranium-238", "amount":2}], "allow_decomposition":false, "icon":"__base__\/graphics\/icons\/kovarex-enrichment-process.png", "main_product":"", "category":"centrifuging", "energy_required":50} | |
{"name":"nuclear-fuel-reprocessing", "type":"recipe", "ingredients":[["used-up-uranium-fuel-cell", 5]], "subgroup":"intermediate-product", "enabled":false, "order":"r[uranium-processing]-b[nuclear-fuel-reprocessing]", "results":[{"name":"uranium-238", "amount":3}], "allow_decomposition":false, "icon":"__base__\/graphics\/icons\/nuclear-fuel-reprocessing.png", "main_product":"", "category":"centrifuging", "energy_required":50} | |
{"name":"uranium-fuel-cell", "type":"recipe", "result":"uranium-fuel-cell", "ingredients":[["iron-plate", 10], ["uranium-235", 1], ["uranium-238", 19]], "result_count":10, "enabled":false, "energy_required":10} | |
{"name":"heat-exchanger", "type":"recipe", "result":"heat-exchanger", "ingredients":[["steel-plate", 10], ["copper-plate", 100], ["pipe", 10]], "enabled":false} | |
{"name":"heat-pipe", "type":"recipe", "result":"heat-pipe", "ingredients":[["steel-plate", 10], ["copper-plate", 20]], "enabled":false} | |
{"name":"steam-turbine", "type":"recipe", "result":"steam-turbine", "ingredients":[["iron-gear-wheel", 50], ["copper-plate", 50], ["pipe", 20]], "enabled":false} | |
{"name":"laser-turret", "type":"recipe", "result":"laser-turret", "ingredients":[["steel-plate", 20], ["electronic-circuit", 20], ["battery", 12]], "energy_required":20, "enabled":false} | |
{"name":"flamethrower-turret", "type":"recipe", "result":"flamethrower-turret", "ingredients":[["steel-plate", 30], ["iron-gear-wheel", 15], ["pipe", 10], ["engine-unit", 5]], "energy_required":20, "enabled":false} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment