SkillAgentSearch skills...

Foreman2

Visual planning tool for Factorio

Install / Use

/learn @DanielKote/Foreman2
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Foreman 2.0

1: Foreman 2.0

This is a relatively simple program for generating flowcharts for production lines in the game Factorio.

Requires .Net 4.8 or higher and Visual C++ 2019 x86 to run. I am not sure about earlier versions, sorry.

For example, here's a flowchart showing the optimal resources and assemblers required to make the first base red science in the Pyanodon mod pack (rather comparable to base Factorio rocket I would say):

2: Base red science for Pyanodons

Download

To download the latest version of Foreman 2.0 please visit the "Releases" tab here on Github and download the "Release.zip" from the latest release.

The vanilla preset is included in the release, with a couple presets (from common modpacks) available in the "Presets.zip". You can always import your own preset using your customized modpack via the foreman app (see below for "presets" heading).

Usage

Run Foreman.exe. It will already have the default Factorio 1.1 preset loaded so you can start graphing right away. Click on 'add item' or 'add recipe' button to begin.

Once you have your first node, you can drag from the ingredients/products of the node to add more nodes, or just click on add item/add recipe to add a disconnected node.

If you are dragging from the ingredients/products of the node and let go, you will have an option to choose which recipe you wish to use for the new node, or if you wish to create an input/passthrough/output node. If however you are holding Ctrl when you let go you will automatically create a passthrough node without any options.

If you are dragging from the ingredients/products of a selected passthrough node while holding down Ctrl and have multiple passthrough nodes selected (and only passthrough nodes), you will automatically place down a set of new passthrough nodes connected to the old ones. This should enable for quickly laying down a bus for larger graphs.

Movement around the graph can be done by dragging with the middle mouse button, or by dragging with the right mouse button (assuming you werent pressing down on a node when you started). Dragging with the middle mouse button is recommended, and is possible even while doing other operations such as selecting / moving modes, or dragging a new connection.

Dragging with the left mouse button (from an empty location) will enable you to select a group of nodes, and doing this while holding down the Ctrl key will 'add' to the currently selected nodes, while doing the selection while holding down the Alt key will 'subtract' from the currently selected nodes.

A node (or a selection of nodes) can be moved around the graph by dragging them with the left mouse button, or by using the arrow keys. Holding shift while dragging with the mouse will limit movement to the horizontal or vertical axis, while holding shift while moving with the arrow keys will move by a major grid increment rather than the minor grid increment.

Once a group of nodes has been selected you can also Ctrl+C or Ctrl+X the group (copy/cut), and Ctrl-V afterwards to paste the nodes wherever you wish. Keep in mind that pasting nodes will deselect the currently selected nodes and select the newly pasted nodes instead.

In most cases there is a helpful tool tip available at the top left of the screen to give guidance. Dont quite rely on it though - still working on it.

Menu

3: Main Menu

Add new item/recipe buttons will allow you to make the first nodes, following which you can drag from the ingredients/products to add further nodes.

You can activate grid lines to snap nodes into position, and set the given graph time scale in the options right above the graph. Currently the graph summary is still in development, so you can ignore that.

In most cases you would wish to keep the graph in auto-update mode which will re-calculate the flows every time you make a change (such as adding a new recipe, linking two nodes, deleting a node, etc). However for extremely large graph chains (such as planning out the entire production chain for science in B&A mods) it would be a good idea to activate the "pause all calculations" option (under graph options) which will stop any graph flow updates. Once your entire graph is finalized, you can deactivate that option and it will calculate the flows again (which for large graphs can take over 1 second).

Graphs are loaded in and saved through the save/load buttons, though keep in mind that no auto-save is present. It is recommended to save often, as this is currently a DEV version and is (not as much anymore but still) prone to crashes. For larger graphs it is recommended to design them in parts, save each separately, then import them into the final large graph.

Clear graph will clear the current graph completely, though it WILL NOT touch your save. You will need to save/overwrite your save for that to happen.

Item / Recipe Selection

4: Item & Recipe Selection Window

The item and recipe selection have been modeled after the Factorio window, so should be intuitive to navigate. A few things of note:

(1) There is an additional extraction/power group that has been added by foreman. It is there to group together any 'recipe' for mining ores, pumping oil (or other liquid, including water), generating heat (for example from nuclear reactors), and producing electricity (ex: steam generators). So if you are looking for any of those, they will be in that group.

(2) The filter will search through both the dev-name of the item/recipe, as well as the translated name. If you wish to search for the recipe only, there is a checkbox for that. Otherwise it will search for a possible match in the recipe name as well as a possible match in the ingredients/products.

(3) It is recommended to leave 'Ignore assembler' and 'Show disabled' turned off. Ignore assembler will no longer check if the item/recipe has an enabled assembler for its production, while show disabled will include recipes that have been disabled. If these options are turned on, then the recipes without an enabled assembler will have a dark yellow background, while disabled recipes will have a dark red background. If the DEV option to show unavailable items/recipes is turned on (in settings), then any unavailable item/recipe will have a light purple background.

(4) If the recipe selection is based off a pre-selected item (such as after the 'add item' button, or after a drag operation on a node's input/output), then there may be several other filter options: Ingredient, Product, and Fuel. They do exactly as you would expect - filtering the possible recipes based on the item's use as an ingredient, as a product, or as fuel. So if you are planning your coal production and dont want to see all the different recipes that can use coal as fuel, then you can turn off that option.

(5) The lower buttons can be used to add a source / passthrough / output node.

Nodes

5: Node examples

Nodes come in 4 varieties; source nodes that act as inputs, sink nodes that act as outputs, passthrough nodes that can be used as limiters or just to tidy up the graph, and recipe nodes that actually do stuff. The first 3 can have a specific flow set that would specify the amount of items coming in/out/through the node, while the last (recipe node) can specify the number of buildings (among many other options) that will be utilized. Any of the 4 can be set to automatic (and in fact are thus set when first placed), meaning that their flow/building count is calculated based on the optimized flow of the graph. Those nodes with set flow/building count will have a darker background, and should thus be easy to visually identify.

The item input/output boxes are usually drawn with a grey border, but appear as red if they are not connected to anything, or golden if they are receiving too much input You can drag from them to quickly establish a new linked node, or right click for options (delete all links).

The nodes themselves are usually colored in light green with a dark green border around them.

(1) If the assigned flow or building count can not be achieved (due to insufficient incoming ingredients), then the border will be colored red. This tends to happen if the user has set one of the previous recipes / inputs to a fixed amount (that is insufficient).

(2) If the assigned flow or building count is too high (overproduction is expected) or the output isnt connected to anything then the border will be colored golden and whichever item is being overproduced (and thus will begin to stockpile!) will also have its frame colored golden. The two values provided represent the consumed amount (top) and the produced amount (bottom). The difference between the two represent the rate at which the item will accumulate.

(3) If the node uses an unobtainable or disabled recipe or building, then there will be an orange flag on the top left of the node, with a warning sign on the top left.

(4) If the node has errors (such as a recipe / item / building from another mod, assembler / fuel / module assigned that cant be used, or anything else of similar severity), then the background will be fully colored in orange with a warning sign on the top left.

For passthrough nodes, they can be set to be simply drawn, meaning they will appear as a line with two circles you can drag connections from. When you export the graph to an image the circles will not be visible, leaving the passthrough node virtually unrecognizable from a simple connection. This should allow for cleaner graphs. You can also set it to be fully drawn, which will draw the full node with item input/output boxes and flow values.

Hovering

View on GitHub
GitHub Stars279
CategoryDevelopment
Updated17d ago
Forks40

Languages

C#

Security Score

80/100

Audited on Mar 13, 2026

No findings