private void placeFood(int size, int ammount, int density) {
		int done = 0;
		int attempts = 0;
		int gridSize[] = antWorld.getGridSize();
		while(size+4>Math.min(gridSize[0], gridSize[1])) {
			size = Math.min(gridSize[0], gridSize[1])-4;
		}
		do {
			attempts++;
			int foodXPos = AntWorld.getRandom(gridSize[0]-size-4)+2;
			int foodYPos = AntWorld.getRandom(gridSize[1]-size-4)+2;
			boolean clear = true;
			int x = 0-(foodYPos-1)%2;
			while(clear && x<size+1-(foodYPos-1)%2) {
				Hexagon hex = antWorld.getHexagon(foodXPos+x, foodYPos-1);			
				if(hex.getType()!=Hexagon.DIRT || hex.hasFood()) {
					clear = false;
				}
				x++;
			}
			int y =  0;
			while(y<size && clear) {
				x = -1;
				while(x<size+1 && clear) {
					Hexagon hex = antWorld.getHexagon(foodXPos+x, foodYPos+y);
					if(hex.getType()!=Hexagon.DIRT || hex.hasFood()) {
						clear = false;
					}
					x++;
				}
				y++;
			}
			x = 0-(foodYPos+size)%2;
			while(clear && x<size+1-(foodYPos+size)%2) {
				Hexagon hex = antWorld.getHexagon(foodXPos+x, foodYPos+size);
				if(hex.getType()!=Hexagon.DIRT || hex.hasFood()) {
					clear = false;
				}
				x++;
			}
			if(clear) {
				for(int i=0; i<size; i++) {
					for(int j=0; j<size; j++) {
						antWorld.getHexagon(foodXPos+i, foodYPos+j).addFood(density);
					}
				}
				attempts = 0;
				done++;
			}
		} while(done<ammount-(attempts/10000));
	}