void DoGenerate( Map map, Player player, string mode, string filename, Random rand, bool hollow ) {
switch( mode ) {
case "flatgrass":
player.Message( "Generating flatgrass map..." );
GenerateFlatgrass( map, hollow );
if( map.Save( filename ) ) {
player.Message( "Map generation: Done." );
} else {
player.Message( Color.Red, "An error occured while generating the map." );
}
break;
case "lag":
player.Message( "Generating laggy map..." );
for( int x = 0; x < map.widthX; x+=2 ) {
for( int y = 0; y < map.widthY; y+=2 ) {
for( int h = 0; h < map.widthY; h+=2 ) {
map.SetBlock( x, y, h, Block.Lava );
}
}
}
if( map.Save( filename ) ) {
player.Message( "Map generation: Done." );
} else {
player.Message( Color.Red, "An error occured while generating the map." );
}
break;
case "empty":
player.Message( "Generating empty map..." );
map.MakeFloodBarrier();
if( map.Save( filename ) ) {
player.Message( "Map generation: Done." );
} else {
player.Message( Color.Red, "An error occured while generating the map." );
}
break;
case "hills":
player.Message( "Generating terrain..." );
world.tasks.Add( MapGenerator.GenerationTask, new MapGenerator( rand, map, player, filename,
1, 1, 0.5, 0.45, 0, 0.5, hollow ), false );
break;
case "mountains":
player.Message( "Generating terrain..." );
world.tasks.Add( MapGenerator.GenerationTask, new MapGenerator( rand, map, player, filename,
4, 1, 0.5, 0.45, 0.1, 0.5, hollow ), false );
break;
case "lake":
player.Message( "Generating terrain..." );
world.tasks.Add( MapGenerator.GenerationTask, new MapGenerator( rand, map, player, filename,
1, 0.6, 0.9, 0.45, -0.35, 0.55, hollow ), false );
break;
case "island":
player.Message( "Generating terrain..." );
world.tasks.Add( MapGenerator.GenerationTask, new MapGenerator( rand, map, player, filename,
1, 0.6, 1, 0.45, 0.3, 0.35, hollow ), false );
break;
default:
player.Message( "Unknown map generation mode: " + mode );
break;
}
}