void Generate( Player player, Command cmd ) {
if( !player.Can( Permissions.SaveAndLoad ) ) {
world.NoAccessMessage( player );
return;
}
int wx, wy, height;
if( !(cmd.NextInt( out wx ) && cmd.NextInt( out wy ) && cmd.NextInt( out height )) ) {
player.Message( "Usage: " + Color.Help + "/gen widthX widthY height type filename" );
return;
}
string mode = cmd.Next();
string filename = cmd.Next();
if( mode == null || filename == null ) {
player.Message( "Usage: " + Color.Help + "/gen widthX widthY height type filename" );
return;
}
filename += ".fcm";
int seed;
if( !cmd.NextInt( out seed ) ) {
seed = new Random().Next();
}
Random rand = new Random( seed );
player.Message( "Seed: " + Convert.ToBase64String( BitConverter.GetBytes( seed ) ) );
Map map = new Map( world, wx, wy, height );
map.spawn.Set( map.widthX / 2 * 32 + 16, map.widthY / 2 * 32 + 16, map.height * 32, 0, 0 );
DoGenerate( map, player, mode, filename, rand, false );
}