private static void TreeCallback( Player player, Vector3I[] marks, object tag )
{
ForesterArgs args = ( ForesterArgs )tag;
int blocksPlaced = 0, blocksDenied = 0;
UndoState undoState = player.DrawBegin( null );
args.BlockPlacing +=
( sender, e ) =>
DrawOneBlock( player, player.World.Map, e.Block, new Vector3I( e.Coordinate.X, e.Coordinate.Y, e.Coordinate.Z ),
BlockChangeContext.Drawn,
ref blocksPlaced, ref blocksDenied, undoState );
Forester.SexyPlant( args, marks[0] );
DrawingFinished( player, "/Tree: Planted", blocksPlaced, blocksDenied );
}