public Level(){
        for(int x=0;x<SIZE;x++){
            for(int y=0;y<SIZE;y++){
                world[x][y] = TileType.STONE;
            }
        }
        System.out.println("Generating World...");
        for(int i=0;i<rand.nextInt(SIZE/2);i++){
            generateMineshaft(rand.nextInt(SIZE),rand.nextInt(SIZE));
        }
        for(int i=0;i<rand.nextInt(SIZE)+10;i++){
            generateCave(rand.nextInt(SIZE),rand.nextInt(SIZE));
        }
        for(int i=0;i<rand.nextInt(SIZE);i++){
            generateOres(rand.nextInt(SIZE),rand.nextInt(SIZE));
        }
        generateTemple(rand.nextInt(SIZE-25),rand.nextInt(SIZE-25));
        System.out.println("World Generated. Populating the world...");
        populate();
        setTileDamage();
        p = new entity.Player(this);
        System.out.println("Population Complete. Level Generated.");
    }