public void addBuilding(Building newBuilding, Point2D location) throws InvalidLocationException {
		if (!isInVillage(location) || !isInVillage(new Point2D.Double(location.getX()+newBuilding.getWidth()-1, location.getY()+newBuilding.getHeight()-1)))
			throw new InvalidLocationException();
		
		for (int i = (int) location.getX(); i < location.getX()+newBuilding.getWidth(); ++i)
		{
			for (int j = (int) location.getY(); j < location.getY()+newBuilding.getHeight(); ++j)
			{
				if (this.buildings[i][j] != null)
				{
					throw new InvalidLocationException();
				}
			}
		}
		
		for (int i = (int) location.getX(); i < location.getX()+newBuilding.getWidth(); ++i)
		{
			for (int j = (int) location.getY(); j < location.getY()+newBuilding.getHeight(); ++j)
			{
				this.buildings[i][j] = newBuilding;
			}
		}
	}