protected final void addItemToPlayersInventory(Player player) throws InvalidActionException {
		if (player == null)
			throw new IllegalArgumentException("The given player is invalid!");
		if (!(this instanceof Pickupable))
			throw new InvalidActionException("The selected item can't be picked up!");
		if (player.getRemainingActions() <= 0)
			throw new InvalidActionException("The player has no turns left!");
		if (!getGrid().getElementsOnPosition(getGrid().getElementPosition(player)).contains(this))
			throw new InvalidActionException("The item isn't positioned on the player's position!");
		
		player.getInventory().add(this);
		getGrid().removeElement(this);
		player.decrementAction();
	}