Creating an object that spreads?

I am trying to copy a cube by using the instantiate command; however I am having some trouble implementing it. This is the code I have so far (in C#)

using UnityEngine;
using System.Collections;

public class Treestuff : MonoBehaviour {
	public float treeenergy;
	public float treeleaves;
	public float leafsize;
	public float treehieght;
	public float x;
	public float z;
	GameObject Tree;
	
	void Awake () {
		treeenergy = 15;
		treeleaves = Random.Range(1,100);
		leafsize = Random.Range(1,100);
		treehieght = Random.Range(1,100);
		x = Random.Range(1,10);
		z = Random.Range(1,10);
		Tree = Resources.Load ("Tree");
}
// Use this for initialization
void Start () {
	treeenergy = 15;
}

// Update is called once per frame
void Update () {
	treeenergy = treeenergy + Random.Range(1,25);
	if (treeenergy >= 10)
		Instantiate(Tree, new Vector3(x, 0, z), Quaternion.identity);
}

}

I figure I’m doing something wrong with defining “Tree” now, but I really don’t know.

Two things, first off if you’re going to post a problem like this, you should say what error you’re getting and on what line. This code shouldn’t even run for instance.

Secondly there is no version of Instantiate that takes just a vector parameter and gives a meaningful result, you need to give it a prefab to copy.

On a side note. . . what are you trying to do? The code you have there is going to give you some very odd results indeed.