Forked from pfmoore/factorio-recipe-parser.lua
Last active
November 12, 2017 16:41
-
-
Save j000/d398ceea09b1fd8706fb41e23348e6cd to your computer and use it in GitHub Desktop.
Parse the Factorio recipe files to create a CSV of recipes
This file contains hidden or 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
| local write = io.write | |
| function print_me(write,...) | |
| local n = select("#",...) | |
| for i = 1,n do | |
| local v = tostring(select(i,...)) | |
| write(v) | |
| if i~=n then write'\t' end | |
| end | |
| write'\n' | |
| end | |
| function print(...) | |
| print_me(write,...) | |
| end | |
| function error(...) | |
| local function write(...) | |
| io.stderr:write(...) | |
| end | |
| print_me(write,...) | |
| end | |
| -- remember about trailing / (or \\ on Windows™) | |
| local basepath='/home/j000/.local/share/Steam/steamapps/common/Factorio/data/base/' | |
| -- global variables | |
| local constraints = {} | |
| local images = {} | |
| local skip = {} | |
| local nodes = {} | |
| function mark(array, what) | |
| if type(what) ~= 'table' then | |
| array[what] = true | |
| return | |
| end | |
| for _, value in ipairs(what) do | |
| mark(array, value) | |
| end | |
| end | |
| function check_node(name) | |
| if nodes[name] ~= false then | |
| nodes[name] = true | |
| end | |
| end | |
| function make_node(name, attributes) | |
| nodes[name] = false | |
| -- just name | |
| if (type(attributes) ~= 'table') then | |
| error(name .. ' does not have attributes') | |
| attributes = {} | |
| end | |
| -- open attributes | |
| write('\t"' .. name .. '" [') | |
| -- loop through attributes | |
| for k, v in pairs(attributes) do | |
| write(k .. '="' .. v .. '", ') | |
| end | |
| -- clear label | |
| if (not attributes['label'] and images[name] ~= '') then | |
| write('label=" ", ') | |
| end | |
| -- add images | |
| if not attributes['image'] then | |
| write('image="' .. (images[name] or (name .. '.png')) .. '", ') | |
| --write('labelloc="b", ') | |
| end | |
| -- close attributes | |
| write('];\n') | |
| end | |
| function make_edge(from, to, attributes) | |
| if (type(attributes) ~= 'table') then | |
| error(from .. ' -> ' .. to .. ' does not have attributes') | |
| attributes = {} | |
| end | |
| write('\t"' .. from .. '" -> "' .. to .. '" [') | |
| for k, v in pairs(attributes) do | |
| write(k .. '="' .. v .. '", ') | |
| end | |
| if constraints[from] and not constraints[to] then | |
| write('constraint=false, /*style=invis,*/ ') | |
| end | |
| write('];\n') | |
| end | |
| function get_recipes() | |
| local file_name = '' | |
| data = {} | |
| data["extend"] = function (data, t) | |
| print('// '..file_name) | |
| for n, recipe in ipairs(t) do | |
| local name = recipe["name"] | |
| if not skip[name] then | |
| local image = recipe["icon"] | |
| if image then | |
| image = basepath .. string.sub(image, 10) | |
| end | |
| -- we have array of results | |
| if recipe["results"] then | |
| -- just one result with same name as product (i.e. water, petroleum gas -> sulfur -> sulfur) | |
| if recipe["results"][2] == nil | |
| and ((recipe["results"][1][1] and recipe["results"][1][1] == name) | |
| or (recipe["results"][1]["name"] and recipe["results"][1]["name"] == name)) then | |
| make_node(name, {image = image}) | |
| else | |
| make_node(name, {image = image, shape = 'box'}) | |
| for i, result in ipairs(recipe["results"]) do | |
| local rname = result[1] or result["name"] | |
| local ramt = result[2] or result["amount"] | |
| check_node(rname) | |
| make_edge(name, rname, {label = ramt}) | |
| end | |
| end | |
| else | |
| make_node(name, {image = image}) | |
| end | |
| for i, component in ipairs(recipe["ingredients"]) do | |
| local cname = component[1] or component["name"] | |
| local camt = component[2] or component["amount"] | |
| check_node(cname) | |
| make_edge(cname, name, {label = camt}) | |
| end | |
| end | |
| end | |
| end | |
| local files = { | |
| 'ammo', | |
| 'capsule', | |
| 'demo-furnace-recipe', | |
| 'demo-recipe', | |
| 'demo-turret', | |
| 'equipment', | |
| 'fluid-recipe', | |
| 'furnace-recipe', | |
| 'inserter', | |
| 'module', | |
| 'recipe', | |
| 'turret', | |
| } | |
| mark(constraints, { | |
| --'electronic-circuit', | |
| --'advanced-circuit', | |
| --'processing-unit', | |
| 'empty-barrel', | |
| 'crude-oil-barrel', | |
| --'empty-crude-oil-barrel', | |
| --'fill-crude-oil-barrel' | |
| }) | |
| -- not usable in-game items as of 0.14.21 | |
| mark(skip, { | |
| 'small-plane', | |
| 'loader', | |
| 'fast-loader', | |
| 'express-loader', | |
| 'player-port', | |
| 'electric-energy-interface' | |
| }) | |
| -- images have different names | |
| images['railgun-dart'] = 'railgun-ammo.png' | |
| images['low-density-structure'] = 'rocket-structure.png' | |
| -- no image | |
| images['discharge-defense-remote'] = '' | |
| images['electric-energy-interface'] = '' | |
| for i, f in ipairs(files) do | |
| file_name = f | |
| dofile(basepath .. "prototypes/recipe/" .. f .. ".lua") | |
| end | |
| for k, v in pairs(nodes) do | |
| if v then | |
| --error('making node '..k) | |
| make_node(k, {}) | |
| end | |
| end | |
| end | |
| print([[ | |
| digraph factorio { | |
| imagepath="]]..basepath..[[graphics/icons/fluid:]]..basepath..[[graphics/icons"; | |
| graph [ | |
| //compound=true, | |
| //ordering="out", // preserve order from file | |
| ]; | |
| //rankdir=LR; // draw from left to right, not top to bottom | |
| ranksep="0.1 equally" // space between "ranks" | |
| //size="8,5"; // image size | |
| //ratio="0.625"; // image ratio | |
| overlap=false; // don't overlap nodes | |
| //style=invis; // hide clusters' borders | |
| maxiter=100000; // number of iterations | |
| ]]) | |
| get_recipes() | |
| print([[ | |
| // some positioning | |
| //{ rank=min; "coal"; "iron-ore"; "copper-ore"; "stone"; "raw-wood"; "water"; "crude-oil" } | |
| //{ rank=same; "iron-plate"; "copper-plate"; "wood"; "landfill"; "stone-brick" } | |
| //{ rank=same; "lubricant"; "heavy-oil"; "heavy-oil-cracking"; "light-oil"; "light-oil-cracking"; "petroleum-gas" } | |
| //{ rank=same; "splitter"; "underground-belt"; "loader"; "fast-transport-belt" } | |
| //{ rank=same; "empty-barrel"; "crude-oil-barrel"; "empty-crude-oil-barrel"; "fill-crude-oil-barrel" } | |
| subgraph cluster_barrels { | |
| { rank=same; "empty-barrel"; "crude-oil-barrel"; } | |
| "empty-crude-oil-barrel"; "fill-crude-oil-barrel" | |
| } | |
| } | |
| ]]) |
This file contains hidden or 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
| piercing-rounds-magazine | copper-plate | 5 | |
|---|---|---|---|
| piercing-rounds-magazine | steel-plate | 1 | |
| rocket | electronic-circuit | 1 | |
| rocket | explosives | 2 | |
| rocket | iron-plate | 2 | |
| explosive-rocket | rocket | 1 | |
| explosive-rocket | explosives | 5 | |
| shotgun-shell | copper-plate | 2 | |
| shotgun-shell | iron-plate | 2 | |
| piercing-shotgun-shell | copper-plate | 2 | |
| piercing-shotgun-shell | steel-plate | 2 | |
| railgun-dart | steel-plate | 5 | |
| railgun-dart | electronic-circuit | 5 | |
| cannon-shell | steel-plate | 4 | |
| cannon-shell | plastic-bar | 2 | |
| cannon-shell | explosives | 1 | |
| explosive-cannon-shell | steel-plate | 4 | |
| explosive-cannon-shell | plastic-bar | 2 | |
| explosive-cannon-shell | explosives | 4 | |
| poison-capsule | steel-plate | 3 | |
| poison-capsule | electronic-circuit | 3 | |
| poison-capsule | coal | 10 | |
| slowdown-capsule | steel-plate | 2 | |
| slowdown-capsule | electronic-circuit | 2 | |
| slowdown-capsule | coal | 5 | |
| grenade | iron-plate | 5 | |
| grenade | coal | 10 | |
| cluster-grenade | grenade | 7 | |
| cluster-grenade | explosives | 5 | |
| cluster-grenade | steel-plate | 5 | |
| defender-capsule | piercing-rounds-magazine | 1 | |
| defender-capsule | electronic-circuit | 2 | |
| defender-capsule | iron-gear-wheel | 3 | |
| distractor-capsule | defender-capsule | 4 | |
| distractor-capsule | advanced-circuit | 3 | |
| destroyer-capsule | distractor-capsule | 4 | |
| destroyer-capsule | speed-module | 1 | |
| discharge-defense-remote | electronic-circuit | 1 | |
| copper-plate | copper-ore | 1 | |
| iron-plate | iron-ore | 1 | |
| stone-brick | stone | 2 | |
| wood | raw-wood | 1 | |
| wooden-chest | wood | 4 | |
| iron-stick | iron-plate | 1 | |
| iron-axe | iron-stick | 2 | |
| iron-axe | iron-plate | 3 | |
| stone-furnace | stone | 5 | |
| boiler | stone-furnace | 1 | |
| boiler | pipe | 1 | |
| steam-engine | iron-gear-wheel | 5 | |
| steam-engine | pipe | 5 | |
| steam-engine | iron-plate | 5 | |
| iron-gear-wheel | iron-plate | 2 | |
| electronic-circuit | iron-plate | 1 | |
| electronic-circuit | copper-cable | 3 | |
| transport-belt | iron-plate | 1 | |
| transport-belt | iron-gear-wheel | 1 | |
| electric-mining-drill | electronic-circuit | 3 | |
| electric-mining-drill | iron-gear-wheel | 5 | |
| electric-mining-drill | iron-plate | 10 | |
| burner-mining-drill | iron-gear-wheel | 3 | |
| burner-mining-drill | stone-furnace | 1 | |
| burner-mining-drill | iron-plate | 3 | |
| inserter | electronic-circuit | 1 | |
| inserter | iron-gear-wheel | 1 | |
| inserter | iron-plate | 1 | |
| burner-inserter | iron-plate | 1 | |
| burner-inserter | iron-gear-wheel | 1 | |
| pipe | iron-plate | 1 | |
| offshore-pump | electronic-circuit | 2 | |
| offshore-pump | pipe | 1 | |
| offshore-pump | iron-gear-wheel | 1 | |
| copper-cable | copper-plate | 1 | |
| small-electric-pole | wood | 2 | |
| small-electric-pole | copper-cable | 2 | |
| pistol | copper-plate | 5 | |
| pistol | iron-plate | 5 | |
| submachine-gun | iron-gear-wheel | 10 | |
| submachine-gun | copper-plate | 5 | |
| submachine-gun | iron-plate | 10 | |
| firearm-magazine | iron-plate | 2 | |
| light-armor | iron-plate | 40 | |
| radar | electronic-circuit | 5 | |
| radar | iron-gear-wheel | 5 | |
| radar | iron-plate | 10 | |
| small-lamp | electronic-circuit | 1 | |
| small-lamp | iron-stick | 3 | |
| small-lamp | iron-plate | 1 | |
| pipe-to-ground | pipe | 10 | |
| pipe-to-ground | iron-plate | 5 | |
| assembling-machine-1 | electronic-circuit | 3 | |
| assembling-machine-1 | iron-gear-wheel | 5 | |
| assembling-machine-1 | iron-plate | 9 | |
| repair-pack | electronic-circuit | 1 | |
| repair-pack | iron-gear-wheel | 1 | |
| gun-turret | iron-gear-wheel | 10 | |
| gun-turret | copper-plate | 10 | |
| gun-turret | iron-plate | 20 | |
| night-vision-equipment | advanced-circuit | 5 | |
| night-vision-equipment | steel-plate | 10 | |
| energy-shield-equipment | advanced-circuit | 5 | |
| energy-shield-equipment | steel-plate | 10 | |
| energy-shield-mk2-equipment | energy-shield-equipment | 10 | |
| energy-shield-mk2-equipment | processing-unit | 10 | |
| battery-equipment | battery | 5 | |
| battery-equipment | steel-plate | 10 | |
| battery-mk2-equipment | battery-equipment | 10 | |
| battery-mk2-equipment | processing-unit | 20 | |
| solar-panel-equipment | solar-panel | 5 | |
| solar-panel-equipment | processing-unit | 1 | |
| solar-panel-equipment | steel-plate | 5 | |
| fusion-reactor-equipment | processing-unit | 100 | |
| fusion-reactor-equipment | alien-artifact | 30 | |
| personal-laser-defense-equipment | processing-unit | 1 | |
| personal-laser-defense-equipment | steel-plate | 5 | |
| personal-laser-defense-equipment | laser-turret | 5 | |
| discharge-defense-equipment | processing-unit | 5 | |
| discharge-defense-equipment | steel-plate | 20 | |
| discharge-defense-equipment | laser-turret | 10 | |
| exoskeleton-equipment | processing-unit | 10 | |
| exoskeleton-equipment | electric-engine-unit | 30 | |
| exoskeleton-equipment | steel-plate | 20 | |
| personal-roboport-equipment | processing-unit | 10 | |
| personal-roboport-equipment | iron-gear-wheel | 40 | |
| personal-roboport-equipment | steel-plate | 20 | |
| personal-roboport-equipment | battery | 45 | |
| basic-oil-processing | crude-oil | 10 | |
| advanced-oil-processing | water | 5 | |
| advanced-oil-processing | crude-oil | 10 | |
| heavy-oil-cracking | water | 3 | |
| heavy-oil-cracking | heavy-oil | 4 | |
| light-oil-cracking | water | 3 | |
| light-oil-cracking | light-oil | 3 | |
| sulfuric-acid | sulfur | 5 | |
| sulfuric-acid | iron-plate | 1 | |
| sulfuric-acid | water | 10 | |
| plastic-bar | petroleum-gas | 3 | |
| plastic-bar | coal | 1 | |
| solid-fuel-from-light-oil | light-oil | 1 | |
| solid-fuel-from-petroleum-gas | petroleum-gas | 2 | |
| solid-fuel-from-heavy-oil | heavy-oil | 2 | |
| sulfur | water | 3 | |
| sulfur | petroleum-gas | 3 | |
| lubricant | heavy-oil | 1 | |
| empty-barrel | steel-plate | 1 | |
| fill-crude-oil-barrel | crude-oil | 25 | |
| fill-crude-oil-barrel | empty-barrel | 1 | |
| empty-crude-oil-barrel | crude-oil-barrel | 1 | |
| flame-thrower-ammo | iron-plate | 5 | |
| flame-thrower-ammo | light-oil | 2.5 | |
| flame-thrower-ammo | heavy-oil | 2.5 | |
| steel-plate | iron-plate | 5 | |
| long-handed-inserter | iron-gear-wheel | 1 | |
| long-handed-inserter | iron-plate | 1 | |
| long-handed-inserter | inserter | 1 | |
| fast-inserter | electronic-circuit | 2 | |
| fast-inserter | iron-plate | 2 | |
| fast-inserter | inserter | 1 | |
| filter-inserter | fast-inserter | 1 | |
| filter-inserter | electronic-circuit | 4 | |
| stack-inserter | iron-gear-wheel | 15 | |
| stack-inserter | electronic-circuit | 15 | |
| stack-inserter | advanced-circuit | 1 | |
| stack-inserter | fast-inserter | 1 | |
| stack-filter-inserter | stack-inserter | 1 | |
| stack-filter-inserter | electronic-circuit | 5 | |
| speed-module | advanced-circuit | 5 | |
| speed-module | electronic-circuit | 5 | |
| speed-module-2 | speed-module | 4 | |
| speed-module-2 | processing-unit | 5 | |
| speed-module-2 | advanced-circuit | 5 | |
| speed-module-3 | speed-module-2 | 4 | |
| speed-module-3 | advanced-circuit | 5 | |
| speed-module-3 | processing-unit | 5 | |
| speed-module-3 | alien-artifact | 1 | |
| productivity-module | advanced-circuit | 5 | |
| productivity-module | electronic-circuit | 5 | |
| productivity-module-2 | productivity-module | 4 | |
| productivity-module-2 | advanced-circuit | 5 | |
| productivity-module-2 | processing-unit | 5 | |
| productivity-module-3 | productivity-module-2 | 5 | |
| productivity-module-3 | advanced-circuit | 5 | |
| productivity-module-3 | processing-unit | 5 | |
| productivity-module-3 | alien-artifact | 1 | |
| effectivity-module | advanced-circuit | 5 | |
| effectivity-module | electronic-circuit | 5 | |
| effectivity-module-2 | effectivity-module | 4 | |
| effectivity-module-2 | advanced-circuit | 5 | |
| effectivity-module-2 | processing-unit | 5 | |
| effectivity-module-3 | effectivity-module-2 | 5 | |
| effectivity-module-3 | advanced-circuit | 5 | |
| effectivity-module-3 | processing-unit | 5 | |
| effectivity-module-3 | alien-artifact | 1 | |
| player-port | electronic-circuit | 10 | |
| player-port | iron-gear-wheel | 5 | |
| player-port | iron-plate | 1 | |
| fast-transport-belt | iron-gear-wheel | 5 | |
| fast-transport-belt | transport-belt | 1 | |
| express-transport-belt | iron-gear-wheel | 5 | |
| express-transport-belt | fast-transport-belt | 1 | |
| express-transport-belt | lubricant | 2 | |
| solar-panel | steel-plate | 5 | |
| solar-panel | electronic-circuit | 15 | |
| solar-panel | copper-plate | 5 | |
| assembling-machine-2 | iron-plate | 9 | |
| assembling-machine-2 | electronic-circuit | 3 | |
| assembling-machine-2 | iron-gear-wheel | 5 | |
| assembling-machine-2 | assembling-machine-1 | 1 | |
| assembling-machine-3 | speed-module | 4 | |
| assembling-machine-3 | assembling-machine-2 | 2 | |
| car | engine-unit | 8 | |
| car | iron-plate | 20 | |
| car | steel-plate | 5 | |
| tank | engine-unit | 16 | |
| tank | steel-plate | 50 | |
| tank | iron-gear-wheel | 15 | |
| tank | advanced-circuit | 5 | |
| rail | stone | 1 | |
| rail | iron-stick | 1 | |
| rail | steel-plate | 1 | |
| diesel-locomotive | engine-unit | 20 | |
| diesel-locomotive | electronic-circuit | 10 | |
| diesel-locomotive | steel-plate | 30 | |
| cargo-wagon | iron-gear-wheel | 10 | |
| cargo-wagon | iron-plate | 20 | |
| cargo-wagon | steel-plate | 20 | |
| train-stop | electronic-circuit | 5 | |
| train-stop | iron-plate | 10 | |
| train-stop | steel-plate | 3 | |
| rail-signal | electronic-circuit | 1 | |
| rail-signal | iron-plate | 5 | |
| rail-chain-signal | electronic-circuit | 1 | |
| rail-chain-signal | iron-plate | 5 | |
| heavy-armor | copper-plate | 100 | |
| heavy-armor | steel-plate | 50 | |
| modular-armor | advanced-circuit | 30 | |
| modular-armor | processing-unit | 5 | |
| modular-armor | steel-plate | 50 | |
| power-armor | processing-unit | 40 | |
| power-armor | electric-engine-unit | 20 | |
| power-armor | steel-plate | 40 | |
| power-armor | alien-artifact | 10 | |
| power-armor-mk2 | effectivity-module-3 | 5 | |
| power-armor-mk2 | speed-module-3 | 5 | |
| power-armor-mk2 | processing-unit | 40 | |
| power-armor-mk2 | steel-plate | 40 | |
| power-armor-mk2 | alien-artifact | 50 | |
| iron-chest | iron-plate | 8 | |
| steel-chest | steel-plate | 8 | |
| stone-wall | stone-brick | 5 | |
| gate | stone-wall | 1 | |
| gate | steel-plate | 2 | |
| gate | electronic-circuit | 2 | |
| flame-thrower | steel-plate | 5 | |
| flame-thrower | iron-gear-wheel | 10 | |
| land-mine | steel-plate | 1 | |
| land-mine | explosives | 2 | |
| rocket-launcher | iron-plate | 5 | |
| rocket-launcher | iron-gear-wheel | 5 | |
| rocket-launcher | electronic-circuit | 5 | |
| shotgun | iron-plate | 15 | |
| shotgun | iron-gear-wheel | 5 | |
| shotgun | copper-plate | 10 | |
| shotgun | wood | 5 | |
| combat-shotgun | steel-plate | 15 | |
| combat-shotgun | iron-gear-wheel | 5 | |
| combat-shotgun | copper-plate | 10 | |
| combat-shotgun | wood | 10 | |
| railgun | steel-plate | 15 | |
| railgun | copper-plate | 15 | |
| railgun | electronic-circuit | 10 | |
| railgun | advanced-circuit | 5 | |
| science-pack-1 | copper-plate | 1 | |
| science-pack-1 | iron-gear-wheel | 1 | |
| science-pack-2 | inserter | 1 | |
| science-pack-2 | transport-belt | 1 | |
| science-pack-3 | battery | 1 | |
| science-pack-3 | advanced-circuit | 1 | |
| science-pack-3 | filter-inserter | 1 | |
| science-pack-3 | steel-plate | 1 | |
| alien-science-pack | alien-artifact | 1 | |
| lab | electronic-circuit | 10 | |
| lab | iron-gear-wheel | 10 | |
| lab | transport-belt | 4 | |
| red-wire | electronic-circuit | 1 | |
| red-wire | copper-cable | 1 | |
| green-wire | electronic-circuit | 1 | |
| green-wire | copper-cable | 1 | |
| underground-belt | iron-plate | 10 | |
| underground-belt | transport-belt | 5 | |
| fast-underground-belt | iron-gear-wheel | 20 | |
| fast-underground-belt | underground-belt | 2 | |
| express-underground-belt | iron-gear-wheel | 40 | |
| express-underground-belt | fast-underground-belt | 2 | |
| express-underground-belt | lubricant | 4 | |
| loader | inserter | 5 | |
| loader | electronic-circuit | 5 | |
| loader | iron-gear-wheel | 5 | |
| loader | iron-plate | 5 | |
| loader | transport-belt | 5 | |
| fast-loader | fast-transport-belt | 5 | |
| fast-loader | loader | 1 | |
| express-loader | express-transport-belt | 5 | |
| express-loader | fast-loader | 1 | |
| splitter | electronic-circuit | 5 | |
| splitter | iron-plate | 5 | |
| splitter | transport-belt | 4 | |
| fast-splitter | splitter | 1 | |
| fast-splitter | iron-gear-wheel | 10 | |
| fast-splitter | electronic-circuit | 10 | |
| express-splitter | fast-splitter | 1 | |
| express-splitter | iron-gear-wheel | 10 | |
| express-splitter | advanced-circuit | 10 | |
| express-splitter | lubricant | 8 | |
| advanced-circuit | electronic-circuit | 2 | |
| advanced-circuit | plastic-bar | 2 | |
| advanced-circuit | copper-cable | 4 | |
| processing-unit | electronic-circuit | 20 | |
| processing-unit | advanced-circuit | 2 | |
| processing-unit | sulfuric-acid | 0.5 | |
| logistic-robot | flying-robot-frame | 1 | |
| logistic-robot | advanced-circuit | 2 | |
| construction-robot | flying-robot-frame | 1 | |
| construction-robot | electronic-circuit | 2 | |
| logistic-chest-passive-provider | steel-chest | 1 | |
| logistic-chest-passive-provider | electronic-circuit | 3 | |
| logistic-chest-passive-provider | advanced-circuit | 1 | |
| logistic-chest-active-provider | steel-chest | 1 | |
| logistic-chest-active-provider | electronic-circuit | 3 | |
| logistic-chest-active-provider | advanced-circuit | 1 | |
| logistic-chest-storage | steel-chest | 1 | |
| logistic-chest-storage | electronic-circuit | 3 | |
| logistic-chest-storage | advanced-circuit | 1 | |
| logistic-chest-requester | steel-chest | 1 | |
| logistic-chest-requester | electronic-circuit | 3 | |
| logistic-chest-requester | advanced-circuit | 1 | |
| rocket-silo | steel-plate | 1000 | |
| rocket-silo | concrete | 1000 | |
| rocket-silo | pipe | 100 | |
| rocket-silo | processing-unit | 200 | |
| rocket-silo | electric-engine-unit | 200 | |
| roboport | steel-plate | 45 | |
| roboport | iron-gear-wheel | 45 | |
| roboport | advanced-circuit | 45 | |
| steel-axe | steel-plate | 5 | |
| steel-axe | iron-stick | 2 | |
| big-electric-pole | steel-plate | 5 | |
| big-electric-pole | copper-plate | 5 | |
| substation | steel-plate | 10 | |
| substation | advanced-circuit | 5 | |
| substation | copper-plate | 5 | |
| medium-electric-pole | steel-plate | 2 | |
| medium-electric-pole | copper-plate | 2 | |
| accumulator | iron-plate | 2 | |
| accumulator | battery | 5 | |
| steel-furnace | steel-plate | 8 | |
| steel-furnace | stone-brick | 10 | |
| electric-furnace | steel-plate | 15 | |
| electric-furnace | advanced-circuit | 5 | |
| electric-furnace | stone-brick | 10 | |
| beacon | electronic-circuit | 20 | |
| beacon | advanced-circuit | 20 | |
| beacon | steel-plate | 10 | |
| beacon | copper-cable | 10 | |
| blueprint | advanced-circuit | 1 | |
| blueprint-book | advanced-circuit | 15 | |
| deconstruction-planner | advanced-circuit | 1 | |
| pumpjack | steel-plate | 15 | |
| pumpjack | iron-gear-wheel | 10 | |
| pumpjack | electronic-circuit | 10 | |
| pumpjack | pipe | 10 | |
| oil-refinery | steel-plate | 15 | |
| oil-refinery | iron-gear-wheel | 10 | |
| oil-refinery | stone-brick | 10 | |
| oil-refinery | electronic-circuit | 10 | |
| oil-refinery | pipe | 10 | |
| engine-unit | steel-plate | 1 | |
| engine-unit | iron-gear-wheel | 1 | |
| engine-unit | pipe | 2 | |
| electric-engine-unit | engine-unit | 1 | |
| electric-engine-unit | lubricant | 2 | |
| electric-engine-unit | electronic-circuit | 2 | |
| flying-robot-frame | electric-engine-unit | 1 | |
| flying-robot-frame | battery | 2 | |
| flying-robot-frame | steel-plate | 1 | |
| flying-robot-frame | electronic-circuit | 3 | |
| explosives | sulfur | 1 | |
| explosives | coal | 1 | |
| explosives | water | 1 | |
| battery | sulfuric-acid | 2 | |
| battery | iron-plate | 1 | |
| battery | copper-plate | 1 | |
| storage-tank | iron-plate | 20 | |
| storage-tank | steel-plate | 5 | |
| small-pump | electric-engine-unit | 1 | |
| small-pump | steel-plate | 1 | |
| small-pump | pipe | 1 | |
| chemical-plant | steel-plate | 5 | |
| chemical-plant | iron-gear-wheel | 5 | |
| chemical-plant | electronic-circuit | 5 | |
| chemical-plant | pipe | 5 | |
| small-plane | plastic-bar | 100 | |
| small-plane | advanced-circuit | 200 | |
| small-plane | electric-engine-unit | 20 | |
| small-plane | battery | 100 | |
| arithmetic-combinator | copper-cable | 5 | |
| arithmetic-combinator | electronic-circuit | 5 | |
| decider-combinator | copper-cable | 5 | |
| decider-combinator | electronic-circuit | 5 | |
| constant-combinator | copper-cable | 5 | |
| constant-combinator | electronic-circuit | 2 | |
| power-switch | iron-plate | 5 | |
| power-switch | copper-cable | 5 | |
| power-switch | electronic-circuit | 2 | |
| low-density-structure | steel-plate | 10 | |
| low-density-structure | copper-plate | 5 | |
| low-density-structure | plastic-bar | 5 | |
| rocket-fuel | solid-fuel | 10 | |
| rocket-control-unit | processing-unit | 1 | |
| rocket-control-unit | speed-module | 1 | |
| rocket-part | low-density-structure | 10 | |
| rocket-part | rocket-fuel | 10 | |
| rocket-part | rocket-control-unit | 10 | |
| satellite | low-density-structure | 100 | |
| satellite | solar-panel | 100 | |
| satellite | accumulator | 100 | |
| satellite | radar | 5 | |
| satellite | processing-unit | 100 | |
| satellite | rocket-fuel | 50 | |
| concrete | stone-brick | 5 | |
| concrete | iron-ore | 1 | |
| concrete | water | 10 | |
| hazard-concrete | concrete | 10 | |
| landfill | stone | 20 | |
| electric-energy-interface | iron-plate | 2 | |
| electric-energy-interface | electronic-circuit | 5 | |
| laser-turret | steel-plate | 20 | |
| laser-turret | electronic-circuit | 20 | |
| laser-turret | battery | 12 | |
| flamethrower-turret | steel-plate | 30 | |
| flamethrower-turret | iron-gear-wheel | 15 | |
| flamethrower-turret | pipe | 10 | |
| flamethrower-turret | engine-unit | 5 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment