fCraft.MapGeneratorOld.setIgloo C# (CSharp) Method

setIgloo() public method

public setIgloo ( Map Map, int xIn, int yIn, int zIn ) : void
Map Map
xIn int
yIn int
zIn int
return void
        public void setIgloo( Map Map, int xIn, int yIn, int zIn)
        {
            int width = rand.Next( 15, 30 );
            int height = rand.Next( 15, 30 );
            for ( int x = -width; x <= width; x++ )
                for ( int y = height; y >= -height; y-- )
                    for ( int z = -width; z <= width; z++ ) {
                        if ( y == height || ( Math.Abs( x ) == width && Math.Abs( z ) == width && y >= 0 ) ) {
                           Map.SetBlock( x + xIn, y + yIn, z + zIn, Block.Stone);
                           Map.SetBlock( x + xIn, y + yIn + 1, z + zIn, Block.Admincrete );
                        }

                        if ( y >= 1 && ( ( Math.Abs( x ) == width ) ^ ( Math.Abs( z ) == width ) ) )
                            Map.SetBlock( x + xIn, y + yIn, z + zIn, Block.Gravel );

                        if ( y > 0 && y < height && Math.Abs( z ) < width && Math.Abs( x ) < width )
                            Map.SetBlock( x + xIn, y + yIn, z + zIn, Block.Air ); //unsure

                        if ( y == -1 || y == 0 )
                           Map.SetBlock( x + xIn, y + yIn, z + zIn, Block.Gray );

                        if ( y < -1 ) {
                            if ( ( Math.Abs( x ) == width || Math.Abs( z ) == width ))
                                Map.SetBlock( x + xIn, y + yIn, z + zIn, Block.Brick );
                        }
                    }
        }