ModMap Generation: Difference between revisions

From The Colonists
Jump to navigation Jump to search
initial creation
 
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''map_generation.json''' file  allows custom biome options in random map generation.
The '''map_generation.json''' file  allows custom options in random map generation. <br>
Including ''Biome'', ''Water'' amount, ''Fish Tile'' amount, ''Runestone'' amount, and ''Natural Resources'' amount. <br>
Adding a new Biome allows its selection when creating a Random Map. <br>
Conversely. removing an existing Biome removes its selection when creating a Random Map. <br>


==JSON fields==
==JSON fields==
Line 5: Line 8:
{| class="wikitable sortable" style="text-align: center"  
{| class="wikitable sortable" style="text-align: center"  
|-
|-
! Name !! Entry !!Note
! Name !! Entry !! Entry !!  Entry !!Note
|-
|-
| biomeIds
| biomeIds
| 201
| 201
| 0=default, 1 = desert,  2 = snow
|
|
| see [[BiomeModIds| Existing IDs]]
|-
| waterAmountTypeHeightDict
| Frequency
| Height/Range
| 90/35
|
|-
| fishAmountTypeDict
| Frequency
| Various
| ---
|
|-
| runestoneAmountTypeDict
| Frequency
| PlayableTiles-Small/Large
| ---
|
|-
| naturalResourceSpecDict
| Resource
| surface/shaft multiplier/density
|
|
|-
|-
|}
|}
Line 19: Line 48:
     0,
     0,
     1,
     1,
     2,
     2
     200
  ],
   ]
  "waterAmountTypeHeightDict": {
    "Little": {
      "baseHeight": 90,
      "heightRange": 35.0
    },
    "Some": {
      "baseHeight": 82,
      "heightRange": 50.0
     },
    "Lots": {
      "baseHeight": 60,
      "heightRange": 60.0
    }
   },
  "fishAmountTypeDict": {
    "None": {
      "shoreLimit": 0,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 0,
      "fishAllocationMaxAmount": 0,
      "shoalStartOffsetMinAmount": 0,
      "shoalStartOffsetMaxAmount": 0,
      "shoalStartOffsetMultiplier": 0.0,
      "shoalSizeMinAmount": 0,
      "shoalSizeMaxAmount": 0,
      "deepSeaWaterContentMinMaxDict": null
    },
    "Few": {
      "shoreLimit": 10,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 15,
      "fishAllocationMaxAmount": 25,
      "shoalStartOffsetMinAmount": 0,
      "shoalStartOffsetMaxAmount": 0,
      "shoalStartOffsetMultiplier": 1.0,
      "shoalSizeMinAmount": 4,
      "shoalSizeMaxAmount": 8,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 2,
          "max": 3
        },
        "DEEP_SEA_LOBSTER": {
          "min": 2,
          "max": 3
        }
      }
    },
    "Medium": {
      "shoreLimit": 50,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 40,
      "fishAllocationMaxAmount": 50,
      "shoalStartOffsetMinAmount": 100,
      "shoalStartOffsetMaxAmount": 150,
      "shoalStartOffsetMultiplier": 0.5,
      "shoalSizeMinAmount": 8,
      "shoalSizeMaxAmount": 18,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 3,
          "max": 5
        },
        "DEEP_SEA_LOBSTER": {
          "min": 3,
          "max": 5
        }
      }
    },
    "Plenty": {
      "shoreLimit": 50,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 70,
      "fishAllocationMaxAmount": 100,
      "shoalStartOffsetMinAmount": 50,
      "shoalStartOffsetMaxAmount": 70,
      "shoalStartOffsetMultiplier": 0.25,
      "shoalSizeMinAmount": 20,
      "shoalSizeMaxAmount": 40,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 6,
          "max": 8
        },
        "DEEP_SEA_LOBSTER": {
          "min": 6,
          "max": 8
        }
      }
    }
  },
  "runestoneAmountTypeDict": {
    "Some": {
      "playableTilesForSmallRunestoneMinAmount": 500,
      "playableTilesForSmallRunestoneMaxAmount": 700,
      "playableTilesForLargeRunestoneMinAmount": 1000,
      "playableTilesForLargeRunestoneMaxAmount": 1200
    },
    "Lots": {
      "playableTilesForSmallRunestoneMinAmount": 300,
      "playableTilesForSmallRunestoneMaxAmount": 400,
      "playableTilesForLargeRunestoneMinAmount": 600,
      "playableTilesForLargeRunestoneMaxAmount": 700
    }
  },
  "naturalResourceSpecDict": {
    "COAL": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "IRON_ORE": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "CLAY": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "STONE": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 0
    },
    "QUARTZ": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    },
    "GOLD": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    },
    "SALT": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    }
  }
}
}
</pre>
</pre>

Latest revision as of 19:19, 14 December 2024

The map_generation.json file allows custom options in random map generation.
Including Biome, Water amount, Fish Tile amount, Runestone amount, and Natural Resources amount.
Adding a new Biome allows its selection when creating a Random Map.
Conversely. removing an existing Biome removes its selection when creating a Random Map.

JSON fields

Name Entry Entry Entry Note
biomeIds 201 see Existing IDs
waterAmountTypeHeightDict Frequency Height/Range 90/35
fishAmountTypeDict Frequency Various ---
runestoneAmountTypeDict Frequency PlayableTiles-Small/Large ---
naturalResourceSpecDict Resource surface/shaft multiplier/density

Example JSON

{
  "biomeIds": [
    0,
    1,
    2
  ],
  "waterAmountTypeHeightDict": {
    "Little": {
      "baseHeight": 90,
      "heightRange": 35.0
    },
    "Some": {
      "baseHeight": 82,
      "heightRange": 50.0
    },
    "Lots": {
      "baseHeight": 60,
      "heightRange": 60.0
    }
  },
  "fishAmountTypeDict": {
    "None": {
      "shoreLimit": 0,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 0,
      "fishAllocationMaxAmount": 0,
      "shoalStartOffsetMinAmount": 0,
      "shoalStartOffsetMaxAmount": 0,
      "shoalStartOffsetMultiplier": 0.0,
      "shoalSizeMinAmount": 0,
      "shoalSizeMaxAmount": 0,
      "deepSeaWaterContentMinMaxDict": null
    },
    "Few": {
      "shoreLimit": 10,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 15,
      "fishAllocationMaxAmount": 25,
      "shoalStartOffsetMinAmount": 0,
      "shoalStartOffsetMaxAmount": 0,
      "shoalStartOffsetMultiplier": 1.0,
      "shoalSizeMinAmount": 4,
      "shoalSizeMaxAmount": 8,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 2,
          "max": 3
        },
        "DEEP_SEA_LOBSTER": {
          "min": 2,
          "max": 3
        }
      }
    },
    "Medium": {
      "shoreLimit": 50,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 40,
      "fishAllocationMaxAmount": 50,
      "shoalStartOffsetMinAmount": 100,
      "shoalStartOffsetMaxAmount": 150,
      "shoalStartOffsetMultiplier": 0.5,
      "shoalSizeMinAmount": 8,
      "shoalSizeMaxAmount": 18,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 3,
          "max": 5
        },
        "DEEP_SEA_LOBSTER": {
          "min": 3,
          "max": 5
        }
      }
    },
    "Plenty": {
      "shoreLimit": 50,
      "shoreTileMultiplier": 0.025,
      "fishAllocationMinAmount": 70,
      "fishAllocationMaxAmount": 100,
      "shoalStartOffsetMinAmount": 50,
      "shoalStartOffsetMaxAmount": 70,
      "shoalStartOffsetMultiplier": 0.25,
      "shoalSizeMinAmount": 20,
      "shoalSizeMaxAmount": 40,
      "deepSeaWaterContentMinMaxDict": {
        "DEEP_SEA_ROCK_FISH": {
          "min": 6,
          "max": 8
        },
        "DEEP_SEA_LOBSTER": {
          "min": 6,
          "max": 8
        }
      }
    }
  },
  "runestoneAmountTypeDict": {
    "Some": {
      "playableTilesForSmallRunestoneMinAmount": 500,
      "playableTilesForSmallRunestoneMaxAmount": 700,
      "playableTilesForLargeRunestoneMinAmount": 1000,
      "playableTilesForLargeRunestoneMaxAmount": 1200
    },
    "Lots": {
      "playableTilesForSmallRunestoneMinAmount": 300,
      "playableTilesForSmallRunestoneMaxAmount": 400,
      "playableTilesForLargeRunestoneMinAmount": 600,
      "playableTilesForLargeRunestoneMaxAmount": 700
    }
  },
  "naturalResourceSpecDict": {
    "COAL": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "IRON_ORE": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "CLAY": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 3
    },
    "STONE": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 0
    },
    "QUARTZ": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    },
    "GOLD": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    },
    "SALT": {
      "surfaceMultiplier": 0,
      "shaftMultiplier": 2,
      "surfaceDensityMultiplier": 5
    }
  }
}