Types/MapGenPreset: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Fixed basic_settings type)
(Reformatted advanced/basic settings properties)
Line 19: Line 19:


=== basic_settings ===
=== basic_settings ===
'''Type''': [[Types/table]] with the below listed key/value pairs.
All properties can be omitted. If not set they will just use the default values.
==== terrain_segmentation ====
'''Type''': [[Types/MapGenSize]]
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 <code>1/0.5 = 2</code> for <code>terrain_segmentation</code>.
==== water ====
'''Type''': [[Types/MapGenSize]]
Shown as water coverage in the map generator GUI.
==== default_enable_all_autoplace_controls ====
'''Type''': [[Types/bool]]
'''Default''': true
If this is false, then all autoplace controls will be disabled.
==== autoplace_controls ====
'''Type''': [[Types/table]]
'''Type''': [[Types/table]]


Table of [[Data.raw#autoplace-control]] name keys mapped to table values. Each table can have the following fields:
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.
* frequency - [[Types/MapGenSize]]
* size - [[Types/MapGenSize]]
* richness - [[Types/MapGenSize]]
 
Example:


<syntaxhighlight lang="lua">autoplace_controls =
* terrain_segmentation - [[Types/MapGenSize]]
** 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 <code>1/0.5 = 2</code> for <code>terrain_segmentation</code>.
* water - [[Types/MapGenSize]]
** Shown as water coverage in the map generator GUI.
* default_enable_all_autoplace_controls - [[Types/bool]] - Default: true
** If this is false, then all autoplace controls will be disabled.
* autoplace_controls - [[Types/table]]
** Table of [[Data.raw#autoplace-control]] name keys mapped to table values. Each table can have the following fields:
::* frequency - [[Types/MapGenSize]]
::* size - [[Types/MapGenSize]]
::* richness - [[Types/MapGenSize]]
::Example:
::<syntaxhighlight lang="lua">autoplace_controls =
   {
   {
     ["iron-ore"] = { richness = 2, size = 0.5, frequency=2},
     ["iron-ore"] = { richness = 2, size = 0.5, frequency=2},
Line 56: Line 41:
     ["trees"] = { richness = 4}
     ["trees"] = { richness = 4}
   }</syntaxhighlight>
   }</syntaxhighlight>
 
* autoplace_settings - [[Types/table]]
==== autoplace_settings ====
* property_expression_names - [[Types/table]]
'''Type''': [[Types/table]]
** 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.
 
* starting_points - [[Types/table]] of [[Types/Position]]
==== property_expression_names ====
** Array of the positions of the starting areas.
'''Type''': [[Types/table]]
* seed - [[Types/uint32]]
 
** Read by the game, but not used or set in the GUI.
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.
* width - [[Types/uint32]]
 
* height - [[Types/uint32]]
==== starting_points ====
* starting_area - [[Types/MapGenSize]]
'''Type''': [[Types/table]] of [[Types/Position]]
** Size of the starting area. The starting area only effects enemy placement, and has no effect on resources.
 
* peaceful_mode - [[Types/bool]]
Array of the positions of the starting areas.
* cliff_settings - [https://lua-api.factorio.com/latest/Concepts.html#CliffPlacementSettings CliffPlacementSettings]
 
==== seed ====
'''Type''': [[Types/uint32]]
 
Read by the game, but not used or set in the GUI.
 
==== width ====
'''Type''': [[Types/uint32]]
 
==== height ====
'''Type''': [[Types/uint32]]
 
==== starting_area ====
'''Type''': [[Types/MapGenSize]]
 
Size of the starting area. The starting area only effects enemy placement, and has no effect on resources.
 
==== peaceful_mode ====
'''Type''': [[Types/bool]]
 
==== cliff_settings ====
'''Type''': [https://lua-api.factorio.com/latest/Concepts.html#CliffPlacementSettings CliffPlacementSettings]


=== advanced_settings ===
=== advanced_settings ===
'''Type''': [[Types/table]]
'''Type''': [[Types/table]]


All properties can be omitted, if not set they will just use the existing values.
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.
 
* pollution - [[Types/table]]
==== pollution ====
:{| class="wikitable"
'''Type''': [[Types/table]]
 
{| class="wikitable"
|-
|-
! Property name !! Type !! Comment
! Property name !! Type !! Comment
Line 117: Line 77:
|-
|-
|}
|}
 
* enemy_evolution - [[Types/table]]
==== enemy_evolution ====
:{| class="wikitable"
'''Type''': [[Types/table]]
 
{| class="wikitable"
|-
|-
! Property name !! Type
! Property name !! Type
Line 134: Line 91:
|-
|-
|}
|}
 
* enemy_expansion - [[Types/table]]
==== enemy_expansion ====
:{| class="wikitable"
'''Type''': [[Types/table]]
 
{| class="wikitable"
|-
|-
! Property name !! Type !! Comment
! Property name !! Type !! Comment
Line 156: Line 110:
|}
|}


==== difficulty_settings ====
* difficulty_settings - [[Types/table]]
'''Type''': [[Types/table]]
:{| class="wikitable"
 
{| class="wikitable"
|-
|-
! Property name !! Type !! Comment
! Property name !! Type !! Comment
|-
|-
| recipe_difficulty || [[Types/uint8]] || 0 is normal, 1 is expensive
| recipe_difficulty || [https://lua-api.factorio.com/latest/defines.html#defines.difficulty_settings]
|-
|-
| technology_difficulty || [[Types/uint8]] || 0 is normal, 1 is expensive
| technology_difficulty || [https://lua-api.factorio.com/latest/defines.html#defines.difficulty_settings]
|-
|-
| technology_price_multiplier || [[Types/double]]
| technology_price_multiplier || [[Types/double]]

Revision as of 10:00, 31 August 2020

Basics

A map gen preset. Used in Prototype/MapGenPresets.

Mandatory properties

order

Type: Types/Order

Specifies the ordering in the map generator gui.

Optional properties

default

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.

basic_settings

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.

  • terrain_segmentation - Types/MapGenSize
    • 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.
  • water - Types/MapGenSize
    • Shown as water coverage in the map generator GUI.
  • default_enable_all_autoplace_controls - Types/bool - Default: true
    • If this is false, then all autoplace controls will be disabled.
  • autoplace_controls - Types/table
Example:
autoplace_controls =
  {
    ["iron-ore"] = { richness = 2, size = 0.5, frequency=2},
    ["enemy-base"] = { size = 1},
    ["trees"] = { richness = 4}
  }
  • autoplace_settings - Types/table
  • property_expression_names - Types/table
    • 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.
  • starting_points - Types/table of Types/Position
    • Array of the positions of the starting areas.
  • seed - Types/uint32
    • Read by the game, but not used or set in the GUI.
  • width - Types/uint32
  • height - Types/uint32
  • starting_area - Types/MapGenSize
    • Size of the starting area. The starting area only effects enemy placement, and has no effect on resources.
  • peaceful_mode - Types/bool
  • cliff_settings - CliffPlacementSettings

advanced_settings

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 [1]
technology_difficulty [2]
technology_price_multiplier Types/double
research_queue_setting Types/string Either "after-victory", "always" or "never".