From Official Factorio Wiki
Jump to navigation Jump to search

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/types/MapGenPreset.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.


A map gen preset. Used in Prototype/MapGenPresets.

Mandatory properties


Type: Types/Order

Specifies the ordering in the map generator gui.

Optional properties


Type: Types/bool

Default: true

Whether this is the default preset. If set to true, this preset may not have any other properties besides this and order.

If no MapGenPreset has default = true, the preset selector will have a blank preset label, having default settings. The "blank" preset goes away when another preset is selected.


Type: Types/table

This is a table with the below key/value pairs. All key/value pairs are optional. If not set they will just use the default values.

This is the inverse of "water scale" in the map generator GUI. So a water scale that shows as 50% in the GUI is a value of 1/0.5 = 2 for terrain_segmentation.
Shown as water coverage in the map generator GUI.
  • default_enable_all_autoplace_controls - Types/bool - Default: true
Whether undefined autoplace_controls should fall back to the default controls or not.
Table of Data.raw#autoplace-control name keys mapped to table values. Each table can have the following fields:
autoplace_controls =
    ["iron-ore"] = { richness = 2, size = 0.5, frequency=2},
    ["enemy-base"] = { size = 1},
    ["trees"] = { richness = 4}
Each setting in this table maps the string type to the settings for that type. Valid types are "entity", "tile" and "decorative".
Map of property name (e.g. "elevation") to name of noise expression that will provide it. Entries may be omitted. A notable usage is changing autoplace behavior of an entity based on the preset, which cannot be read from a noise expression.
Array of the positions of the starting areas.
Read by the game, but not used or set in the GUI.
Amount of tiles from left to right. Silently limited to 2,000,000, +/- 1 million tiles from the center.
Amount of tiles from top to bottom. Silently limited to 2,000,000, +/- 1 million tiles from the center.
Size of the starting area. The starting area only effects enemy placement, and has no effect on resources.


Type: Types/table

This is a table with the below key/value pairs. All key/value pairs are optional, if not set they will just use the existing values.

Property name Type Comment
enabled Types/bool
diffusion_ratio Types/double Must be <= 0.25.
ageing Types/double Also known as dissipation rate. Must be >= 0.5.
enemy_attack_pollution_consumption_modifier Types/double
min_pollution_to_damage_trees Types/double
pollution_restored_per_tree_damage Types/double
Property name Type
enabled Types/bool
time_factor Types/double
destroy_factor Types/double
pollution_factor Types/double
Property name Type Comment
enabled Types/bool
max_expansion_distance Types/double
settler_group_min_size Types/double
settler_group_max_size Types/double
min_expansion_cooldown Types/double In ticks.
max_expansion_cooldown Types/double In ticks.
Property name Type Comment
recipe_difficulty defines.difficulty_settings.recipe_difficulty
technology_difficulty defines.difficulty_settings.technology_difficulty
technology_price_multiplier Types/double
research_queue_setting Types/string Either "after-victory", "always" or "never".