In other languages: Deutsch Русский Українська 简体中文

Blueprint

From Official Factorio Wiki
Revision as of 15:30, 9 February 2023 by Alfonse (talk | contribs) (→‎Placement and existing entities: Interactions with recipes.)
Jump to navigation Jump to search
Blueprint.png
Blueprint

Blueprint-example-03.png

Stack size

1

Prototype type

blueprint

Internal name

blueprint

Required technologies

None required

Blueprints are items that contain building layouts. Blueprints are used to 'copy & paste' parts of a factory. Built areas can be selected for inclusion in a blueprint. When a blueprint is placed, a ghost of the layout appears on the ground. This can be used as a guide for manually placing factory pieces, or, more commonly, handed over to construction robots for automated completion.

Blueprints can be stored in a blueprint book or blueprint library to prevent them occupying inventory space or for organization or sharing purposes.

Achievements

Automated-construction-achievement.png Automated construction

Construct 100 machines using robots.

You-are-doing-it-right-achievement.png You are doing it right

Construct more machines using robots than manually.

Usage

Blank blueprints can be crafted by clicking the ( Blueprint button.png ) button in the shortcut bar.

The blank blueprint can now be used to 'copy' a set of buildings.

For example, copying this small gun turret defense setup:

Blueprint-example-01.png

Create a blueprint

To create a blueprint select the blueprint item out of the toolbar or the inventory. With the blueprint icon shown next to the mouse cursor, click and hold the left mouse button and drag a box as large as needed (which can be cancelled by pressing Q). All buildings which will be included in the blueprint will be highlighted with a green square. Once everything to 'copy' is inside the drag box, release the mouse button, and the 'Blueprint icon setup' menu will open.

Blueprint-example-02.png

Blueprint icon setup

On the top left of the "Setup new blueprint" menu there are four icon slots. The game chooses automatically the number of icons and which are pre-selected depending on the number of buildings that are included. This can be changed by simply clicking on the icons to choose the desired ones. On the left the 'Total' number of components included in the blueprint is shown.

The green "Create blueprint" button creates the blueprint. Additionally, blueprint creation can be cancelled by clicking the X in the top right corner. Canceling the blueprint does not consume the blueprint item. The created blueprint will replace the empty blueprint in the player's cursor.

Blueprint-example-03.png

Placing the blueprint

To use/place the created blueprint select it from the tool belt or inventory. The whole building setup of the blueprint will be shown at your mouse cursor. In this case the Blueprint was renamed to "Example blueprint". It is possible to place it rotated, press the default key r to rotate. The blueprint can be placed anywhere inside the green (or orange) 110×110 tiles area of a roboport, or within range of a personal roboport installed in modular armor or spidertron.

Blueprint-example-04.png

After the blueprint gets placed somewhere, the buildings are placed as ghost buildings. Construction robots will now start to pick up the needed items from the construction network/the player inventory (if using a personal roboport) and place them at the ghost buildings. The required items need to be in the network in an active provider chest, a passive provider chest, a buffer chest or a storage chest.

Blueprint-example-05.png

Blueprints can be placed from map view as long as the area has been explored.

Factorio Blueprint MapView.jpg

Viewing and clearing a blueprint

Right clicking on a blueprint allows you to view, edit and clear it. By clearing it, it will become blank so it can be set again.

Placement and existing entities

If the player attempts to place a blueprint such that new entities from the blueprint overlap with existing entities, then the placement system will attempt to resolve this conflict. If the conflicting entity in the terrain is the same as the one from the blueprint, then there is no conflict and the blueprint can be placed.

If the conflicting entity in the terrain is a tree, rock, or cliff, then the blueprint cannot be placed by left-clicking. If you shift-left-click to place the blueprint, then the conflicting terrain entity will be set to be destroyed (only if it is one of the above) and the ghost will be placed on top of it.

By default, if the conflicting entity is player-placed and it is not the same as the one from the blueprint, then the blueprint cannot be placed by Left mouse button. If you SHIFT + Left mouse button to place the blueprint, any conflicts of this type are resolved by not affecting conflicting entities in the terrain.

Upgrades

There are exceptions to the previous rule about conflicting player-placed entities. If the entity in the blueprint exactly overlays the placed entity and the blueprint version is an upgraded form of the existing one, then the blueprint can be placed by left-clicking. For these conflicts, the entity on the terrain will be marked to be upgraded to the one from the blueprint.

What entities upgrade to which other entities is defined by the upgrade planner#valid entities. If there is a transport belt on the ground and you place a blueprint that exactly overlays the entity with a fast transport belt, then the belt will be marked to be upgraded to a fast belt.

There are some properties of entities which can cause problems with upgrading. In particular, recipes and modules can confound the process.

When the two entities are exactly the same, differences in recipes work as follows. If the blueprinted entity has a recipe, then that will overwrite the recipe in the terrain entity. If the blueprinted entity does not have a recipe, then it will leave the recipe (if any) in the terrain entity untouched.

When it comes to upgradable buildings with recipes (like assembling machines), things work out as follows. If the terrain entity has no recipe, but the blueprinted entity does, then placing it will simultaneously upgrade the building and set its recipe. If the terrain entity has a recipe, but the blueprinted entity does not, then placing it will upgrade the building (if the new building can craft using the previous recipe).

However, if both buildings have a recipe, these will cause a conflict and the blueprint cannot be placed. This will be true even if the recipe is the same. That is, if you want a blueprint to be able to upgrade a building that has an existing recipe, that blueprint must not have a recipe for that building.

Modules work a lot like recipes.

If the entity in the terrain has modules, but the blueprint does not, then the placement can still work provided that the entity being upgraded to can contain the same number of modules as the terrain entity. That is, you cannot "upgrade" a module-containing assembler 2 to an assembler 1 because assembler 1s cannot have modules.

If the terrain entity does not have modules, and the blueprint entity does, the placement will mark the target entity to have those modules only if they are the exact same entity. That is, you can upgrade an assembling machine 2 with no modules to an assembling machine 2 with 2 modules, but you cannot upgrade it to an assembling machine 3 with modules. You can upgrade it to an assembling machine 3 with no modules, then upgrade that to one with modules, but this requires two separate blueprints.

If both the entity on the ground and in the blueprint have modules, the placement will only work if they are the same entity with the exact same module layout (in number, kind, and position in the list of modules). That is, while a blueprint can upgrade an assembler 3 with no modules to one with 4 productivity module 1s, a blueprint cannot later upgrade it to use productivity module 2s. However, the inability to place the blueprint can still be a hint to upgrade the modules manually with an upgrade planner. Once the entity on the ground is upgraded to match the blueprint, the print can be placed (though it will do nothing to that particular assembler).

Circuits networks

When creating a blueprint, any circuit network wiring or conditions are also copied into the blueprint. When placing a blueprint, if there are matching or upgraded versions of that entity on the ground, any changes to circuit logic is also copied into the existing or upgraded entity. This means that blueprints can add or modify circuit logic to existing entities, for example, to turn on or off belts.

This also includes other properties, such as chest limits or storage chest filters, or splitter filters.

However, there is no notion of "turning off" circuit logic or "removing wiring" with blueprinting on top of existing entities. Once those entities have wiring or logic, they will be retained. New blueprints can change the logic however, so if you want to make a blueprint turn off a condition from an earlier one, you need to change the logic into one that always passes.

Importing/Exporting blueprints

It is possible to export blueprints as a text string and import said text string to create a new blueprint. This makes sharing blueprints between players very easy.
Clicking the Export to string button ( ExportToString.png ) in the top right of the blueprint edit window will pop up a window containing the Blueprint string. This string can be copied to the operating system clipboard, from where it could be saved to a text file or uploaded to a website.

To import a blueprint, the player can click the Import string icon on the shortcut bar ( ImportString.png ). A dialogue box will appear into which the string can be pasted. This will result in a blueprint appearing on the hand with the same setup as the one that was exported.

The text string itself is a base64 encoded, compressed JSON string which contains all the information of the blueprint. It is therefore possible to decode/decompress the text string, change attributes of the blueprint in the JSON text and finally re-encode/compress it back to the known text string format. This basically allows blueprint editing outside of the game itself.

A complete explanation of the blueprint JSON can be found on the blueprint string format page.

Additional information

  • Once a blueprint is created, it can be used an unlimited amount of times.
  • To place a blueprint that is blocked by existing buildings, you can hold Shift to place the objects that aren't blocked.
  • The above trick will also mark rocks and trees for deconstruction.
  • Buildings marked for destruction will not block placing a blueprint. The blueprinted building cannot be placed if there are any buildings in the way. This can cause an item outside the construction zone to block construction of a 2×2 building on the edge of the zone.
  • The maximum of size a blueprint is 10k by 10k tiles.

History

  • 0.17.10:
    • "Make blueprint" function is now accessible via keyboard shortcut.
  • 0.17.0:
    • Trains can be blueprinted.
  • 0.15.24:
    • In multiplayer, admins are allowed to modify other players' blueprints in the library, including deleting them.
  • 0.15.3:
    • Blueprints can be destroyed by clicking the trash can icon in the GUI.
  • 0.15.0:
    • Blueprint library introduced: Allows for keeping player's blueprints between individual game saves and allows sharing blueprints in multiplayer games. Also serves as unlimited inventory space for blueprints.
    • The build rotation of each blueprint is remembered independently of the general item build rotation.
    • Alternative select with blueprints (shift + select) skips the blueprint setup GUI.
    • Added ability to export and import blueprints, blueprint books, and deconstruction planners as strings.
    • Blueprints, blueprint books and deconstruction planners are obtainable from the library GUI with no crafting cost.
  • 0.14.15:
    • Changed the clear blueprint icon to the trashcan icon and moved it to the left of the cancel button, to make it less confusing for users.
  • 0.13.7:
    • Rocks can be mined while holding blueprints.
  • 0.13.5:
    • Blueprints with labels will now show the label when holding them in the active hand.
  • 0.13.0:
    • Blueprints can now be edited.
    • Added the blueprint book item, can hold multiple blueprints in one item.
    • Modules are now supported by blueprints.
    • Optimized drawing of connections between roboports in blueprints.
    • Virtual signals can be used in blueprint icons.
  • 0.12.2:
    • Enabled swapping held blueprints with other blueprints directly.
    • Force building blueprints will mark colliding trees for deconstruction.
  • 0.12.0:
    • Enabled mining trees/ghosts while holding blueprints to be built.
    • Building blueprints over existing ghosts restores the ghost's life time.
    • Proper blueprint centering.
  • 0.11.18:
    • Blueprints can be built over things marked for deconstruction.
    • Blueprints can be force built by shift clicking.
  • 0.11.10:
    • Added Lua API for reading/writing information from blueprints.
  • 0.10.2:
    • The rotation of turrets in blueprints no longer matters when testing for entity collision.
  • 0.10.0:
    • Blueprints can copy circuit network connections.
    • Miners in blueprints are now ignored if they are non-functional.
    • An inserter's logistic conditions are copied when blueprinting.
  • 0.9.4:
    • Limit the size of the blueprint preview, so it is usable for very large blueprints.

See also