private boolean worldChanged()
	{
		//Wenn sich die Original-Linienanzahl veraendert hat
		if(numlines != Reflines.size())
		{
			//Originallinien kopieren
			Lines.clear();
			for(int i=0; i<Reflines.size(); i++)
			{
				int[] x = new int[4];
				x[0] = Reflines.elementAt(i)[0];
				x[1] = Reflines.elementAt(i)[1];
				x[2] = Reflines.elementAt(i)[2];
				x[3] = Reflines.elementAt(i)[3];
				this.Lines.add(x);
			}
			numlines = Reflines.size();
			
			//Ueberpruefen ob selbst-berechnete Linien noch gueltig sind, sonst aussortieren
			int num = 0;
			for(int u=0; u<Calculatedlines.size(); u++)
			{
				//Jede berechnete Linie braucht mindestens 2 Schnittpunkte, sonst fliegt sie raus
				for(int z=0; z<Lines.size(); z++)
				{
					if(Mat.getCrossPointLL(Calculatedlines.elementAt(u), Lines.elementAt(z))[0] != -1)
					{
						num++;
					}
				}
				if(num < 2)
				{
					Calculatedlines.remove(u);
				}
			}
			
			//Selbst berechnete Linien beifuegen
			for(int l=0; l<Calculatedlines.size(); l++)
			{
				int[] x = new int[4];
				x[0] = Calculatedlines.elementAt(l)[0];
				x[1] = Calculatedlines.elementAt(l)[1];
				x[2] = Calculatedlines.elementAt(l)[2];
				x[3] = Calculatedlines.elementAt(l)[3];
				this.Lines.add(x);
			}			
			return(true);
		}
		
		//Wenn sich die Anzahl der Tore veraendert hat
		if(numgoals != Goals.size())
		{
			numgoals = Goals.size();
			return(true);
		}		
		return(false);		
	}