Cities Of Earth 3

by hyspeed

A Factorio mod that uses maps of Earth for world generation. Choose from different world layouts. The world size can be set at startup but does not tile or repeat. * Optional: Teleporters at each city provide fast movement across the world. * Optional: "Pre-Place Silo". The Rocket Silo will be built at map creation and cannot be crafted by players. * Optional: "Team Co-op". Each city is a team, players can build a factory to launch from their Silo.

Content
5 months ago
1.1
2.44K
Transportation Environment

g Support for Alien Biomes?

1 year, 10 months ago

Would it be possible to support the use of the Alien Biomes array of settings for grass, dirt and sand tiles in the terrain_codes? More can be defined than the map uses, so maybe select at random from those set in the startup settings? It seems to use the trees and rocks, but not the ground tiles during the map generation.

1 year, 10 months ago

Sorry, I don't have the bandwidth to do that.
I think it would be possible, but it would be quite a bit of work to do that mapping. It would probably require changes to the program that converts the image file to the data file. I didn't write that. You can check with TheOddler, who wrote 'FactorioWorld'. He has that knowledge. https://mods.factorio.com/mod/factorio-world

1 year, 10 months ago

You and me both...I have taken a look at it and tried a few things without success. I'll try TheOddler, but not sure he is all that involved these days.

9 months ago
(updated 9 months ago)

I did a small effort modification for biomes to only convert the ground tiles. That way the shapes of earthly continents are still there but biomes paint them in more interesting colors. In map settings disable water or it will flood over terrain.

in the coe_worldgen.lua

local terrain_codes_keep = {
["out-of-map"] = false,
["deepwater"] = false,
["deepwater-green"] = false,
["water"] = false,
["water-green"] = false,
["grass-1"] = true,
["grass-3"] = true,
["grass-2"] = true,
["dirt-3"] = true,
["dirt-6"] = true,
["sand-1"] = true,
["sand-3"] = true
}

and then instead of tile.name = generateTileName(x, y) in WorldGen.onChunkGenerated

  local name = generateTileName(x, y)
  if terrain_codes_keep[name] then
    name = event.surface.get_tile(x, y).name
  end
  tile.name = name
9 months ago

that's amazing - thanks!

New response