Nanobots: Early Bots Continued
A community-maintained continuation of Nanobots: Early Bots for Factorio 2.1.
Nanobots provide automated construction assistance before normal construction robots become available. Equip the Nano Emitter with constructor ammunition and it will automatically handle nearby construction, repair, deconstruction and upgrade tasks using items from your inventory.
This continuation keeps the original gameplay, graphics, concept and public interfaces as intact as possible while updating the mod for Factorio 2.1 and Space Age compatibility.
Important
This is not an official release from the original maintainer.
This continuation exists to keep Nanobots playable on newer Factorio versions. If the original maintainer returns and wishes to resume maintenance, this continuation can be archived, redirected or transferred as appropriate.
Compatibility
- Factorio 2.1
- Space Age is supported but optional
- Requires
kry_stdlibversion 2.2.4 or newer - Incompatible with the original
Nanobots2package
Early construction nanobots
Research Nanobots after the early automation technologies, then craft a Nano Emitter and the appropriate ammunition.
The Nano Emitter automatically scans an area around the player. When it finds a valid task, it consumes ammunition and, where required, the corresponding construction item before dispatching a visual nanobot projectile.
Nanobots are intended to bridge the gap between manual construction and full construction robotics. They are especially useful for early blueprints, factory expansion and cleanup.
Nano Constructors
Nano Constructor ammunition can perform several construction and maintenance tasks.
Supported tasks include:
- Building entity ghosts
- Building tile ghosts
- Repairing damaged structures
- Deconstructing marked entities
- Completing upgrade-planner orders
- Handling rotated upgrade targets
- Fulfilling item-request proxies
- Inserting requested modules and items
- Demolishing cliffs after the relevant technology has been researched
Required construction items are taken from the player inventory, vehicle inventory or train cargo when available.
Items retain their quality when moved, inserted, returned or spilled. Higher-quality blueprint ghosts therefore require construction items of the matching quality.
If a queued action can no longer be completed, consumed construction items are returned whenever possible.
Nano Termites
Nano Termite ammunition targets nearby trees.
Termites destroy trees instead of collecting wood. The process may also damage nearby structures, so care should be taken when using them close to the factory.
Manually firing constructor or termite ammunition only produces the visual nanobot cloud. Automatic construction work is performed by the nearby scanning system.
Logistic network behaviour
By default, nanobots avoid operating inside areas already covered by an active construction network.
This prevents nanobots from competing unnecessarily with normal construction robots.
The Nanobot Logistic Interface equipment module can override this restriction and allow Nano Constructors to operate inside active logistic and construction networks.
Equipment modules
Nanobots also includes equipment-grid modules that extend personal-roboport behaviour.
Most automatic equipment functions require:
- A character with an equipment grid
- A powered personal roboport
- Available construction robots
- The relevant equipment module
Automatic item retriever
Marks nearby items on the ground for collection by construction robots.
Items are not marked while enemies are detected nearby.
Automatic tree cutter
Marks nearby trees for deconstruction.
This allows personal construction robots to clear trees automatically while the player moves through an area.
Automatic unit launcher
Automatically launches available combat-robot capsules when enemies enter the configured range.
The module uses combat capsules from the player inventory and respects the normal follower-robot limit.
Automatic feeder
Automatically uses supported healing items when the player is injured.
If suitable healing items are unavailable, the module can provide a smaller emergency healing effect. Each feeder has a cooldown between activations.
Nanobot Logistic Interface
Allows Nano Constructors to operate inside areas covered by logistic and construction networks.
Only one interface module is required.
Programmable Roboport Interface
The Roboport Interface is a placeable programmable device that assigns additional jobs to an existing logistic network.
The placed interface consists of a visible roboport-style structure, a scanner and a configurable constant combinator.
Set virtual signals on the combinator to control the work performed by the connected logistic network.
Supported jobs include:
- Marking items on the ground for collection
- Marking trees for removal
- Gathering fish
- Deconstructing exhausted mining drills
- Limiting operations to the nearest roboport construction area
The interface only operates when enough construction robots are available. A configurable percentage of robots can be reserved for normal construction work.
Automatic network tasks pause when enemies are detected nearby.
Negative signal values
Some signals support negative values as inventory thresholds.
For example, a negative tree signal can instruct the network to cut trees only while the network contains less than the specified amount of wood.
This makes it possible to maintain a resource stock level without continuously clearing every available target.
Runtime settings
The mod includes runtime settings for:
- Automatic Nano Emitter operation
- Whether the Nano Emitter must be the selected weapon
- Nanobot scanning frequency
- Queue processing speed
- Maximum work radius
- Tile construction
- Item-request fulfilment
- Logistic-network restrictions
- Equipment automation
- Player AFK handling
- Roboport Interface scan speed
- The percentage of construction robots kept free
Very aggressive scan and queue settings may increase script activity in large multiplayer games.
Factorio 2.1 continuation changes
The Factorio 2.1 continuation includes:
- New internal mod name:
Nanobots2-continued - Migrated from the temporary
stdlib2-continuedfork to the maintainedkry_stdlib - Updated Factorio 2.1 ghost revival handling
- Updated upgrade-planner handling
- Quality-aware construction and inventory movement
- Updated item-request proxy handling
- Updated constant-combinator sections and filters
- Safer delayed action queues
- Improved handling of deleted or invalid entities
- Improved multiplayer polling
- Updated shortcut prototypes
- Updated Space Age compatibility
- Updated packaging and automated GitHub releases
- Automated testing against the required Standard Library release
- Updated documentation and metadata
Testing
The continuation is tested using:
- Lua syntax validation
- Factorio-compatible package validation
- Factorio 2.1 headless loading
- Base-game save creation
- Space Age save creation
- Automatic testing with
kry_stdlib - Manual gameplay testing
Reporting problems
Please report reproducible continuation problems at:
https://github.com/goakiller900/Nanobots2/issues
Please include:
- Factorio version
- Nanobots version
kry_stdlibversion- Enabled mods
- Whether Space Age is enabled
- The complete error message
factorio-current.logwhen available- Steps required to reproduce the problem
Source code
https://github.com/goakiller900/Nanobots2
Many thanks to
- Articulating for his help and ideas.
- TokMor for extensive bug testing.
- M16 for breaking things.
- Kryzeth for maintaining
kry_stdliband consolidating the Factorio 2.1 Standard Library fixes. - Wube and the Factorio development team.
- KatherineOfSky, Arumba, Momentary Flux, and all other YouTubers who showcased Nanobots.
- Xterminator for his Nanobots spotlight: https://www.youtube.com/watch?v=sh_oIgUMfV4
- And you, as an everyday user of Nanobots.
In memory of KatherineOfSky, whose videos, enthusiasm and contribution to the Factorio community will not be forgotten.
Credits
Original mod, gameplay concept and implementation by Nexela.
This Factorio 2.1 continuation is maintained by Goakiller900.