{
    // The following options are defaults taken verbatim from Factorio 1.1.35
    // headless' map-gen-settings.example.json, with the following changes:
    //  - field names unquoted where possible
    //  - pseudo-comments converted to jsonnet comments
    //  - comments reflowed to fit 80 columns

    // The inverse of 'water scale' in the map generator GUI.
    terrain_segmentation: 1,

    // The equivalent to 'water coverage' in the map generator GUI. Higher
    // coverage means more water in larger oceans.
    // Water level = 10 * log2(this value)
    water: 1,

    // Width and height of map, in tiles; 0 means infinite
    width: 0,
    height: 0,

    // Multiplier for 'biter free zone radius'
    starting_area: 1,

    peaceful_mode: false,
    autoplace_controls: {
      "coal": {"frequency": 1, "size": 1, "richness": 1},
      "stone": {"frequency": 1, "size": 1, "richness": 1},
      "copper-ore": {"frequency": 1, "size": 1,"richness": 1},
      "iron-ore": {"frequency": 1, "size": 1, "richness": 1},
      "uranium-ore": {"frequency": 1, "size": 1, "richness": 1},
      "crude-oil": {"frequency": 1, "size": 1, "richness": 1},
      "trees": {"frequency": 1, "size": 1, "richness": 1},
      "enemy-base": {"frequency": 1, "size": 1, "richness": 1}
    },

    cliff_settings:
    {
      // Name of the cliff prototype
      name: "cliff",

      // Elevation of first row of cliffs
      cliff_elevation_0: 10,

      // Elevation difference between successive rows of cliffs.
      // This is inversely proportional to 'frequency' in the map generation
      // GUI. Specifically, when set from the GUI the value is 40 / frequency.
      cliff_elevation_interval: 40,

      // Called 'cliff continuity' in the map generator GUI. 0 will result in
      // no cliffs, 10 will make all cliff rows completely solid
      richness: 1
    },

    // Overrides for property value generators (map type)
    // Leave 'elevation' blank to get 'normal' terrain.
    // Use 'elevation': '0_16-elevation' to reproduce terrain from 0.16.
    // Use 'elevation': '0_17-island' to get an island.
    // Moisture and terrain type are also controlled via this.
    property_expression_names:
    {
      // 'control-setting:moisture:frequency:multiplier' is the inverse of the
      // 'moisture scale' in the map generator GUI.
      "control-setting:moisture:frequency:multiplier": "1",
      // 'control-setting:moisture:bias' is the 'moisture bias' in the map
      // generator GUI.
      "control-setting:moisture:bias": "0",
      // 'control-setting:aux:frequency:multiplier' is the inverse of the
      // 'terrain type scale' in the map generator GUI.
      "control-setting:aux:frequency:multiplier": "1",
      // 'control-setting:aux:bias' is the 'terrain type bias' in the map
      // generator GUI
      "control-setting:aux:bias": "0"
    },

    starting_points:
    [
      { x: 0, y: 0}
    ],

    // Use null for a random seed, number for a specific seed.
    seed: null
}
