Natural Tree Expansion Reloaded

by 8ZN

Trees spread naturally over time, they'll grow around anywhere the player visits, but only on grass and dirt areas, not concrete or any man-made tiles or sandy deserts etc. This originally was msakuta's mod! I simply patched it to version 0.16 of Factorio.

9 months ago
0.16 - 0.18
2 years ago
Latest Version:
0.18.0 (9 months ago)
Factorio version:
0.16 - 0.18
6876 times

This is an updated version to make it compatible with Factorio 0.16.
I'm taking the first steps in modding this game to make my 015-savegame compatible.
So I need the mod, maybe you too?

If you are the creator of former versions and you want me to remove it, please contact me on steam (

0.3.1: Implemented configuration options (en, de) -> config.lua is obsolete
0.3.0: Updated to 0.16, simply edited info.json

Old but gold:

0.2.0: Added "landfill" to whitelist, new trees will not spawn if pollution is too high, existing trees will randomly die if the pollution goes too high also. Lowered spawn rate, seemed a bit fast after exploring the world a bit.

0.1.0: Changed from black-listing tiles to white-listing tiles, anything with "grass" or "dirt" in the entity name will spawn trees, so no trees on concrete, tarmac, sandy deserts etc.

0.0.1: Bumped factorio version to 0.15.x and added 5DIM's colourful concrete to the list of 'no-go' areas where trees won't spread onto.


There's a hard limit on tree count, whose default value is 800000, so your save file won't get super-heavy.

Trees won't grow on sand, stone path or concrete, so pave your base to prevent them from entering.

Trees too far from any of player's entities (about 192 tiles) won't grow, because it would make the game and save file unnecessarily heavy.

Debug mode shows count of existing trees and trees which have been added.

Multiplayer is not tested. This mod uses Lua's math.random(), which could cause problems on multiplayer game and replays.

Although this mod gradually processes all trees in the game, the algorithm is highly optimized so that execution time per tick is very low. You won't feel a 'micro freeze' unless the game is very big.