if (!isLeftClick)
		{
			if (player.isSneaking()) // WHOLE STACK
			{
				if (handIS == null || handIS.getAmount() < 1)
				{
					if (altarIS == null || altarIS.getAmount() < 1)
					{
						// FAIL
						
						return true;
					}
					else
					{
						if (altarIS.getAmount() > 1)
						{
							ItemStack buff = altarIS.clone();
							buff.setAmount(1);

							player.getInventory().addItem(buff);

							altarIS.setAmount(altarIS.getAmount() - 1);
						}
						else
						{
							player.getInventory().addItem(altarIS);

							altarIS = null;
						}
					}
				}
				else
				{
					if (altarIS == null)
					{
						altarIS = handIS;

						handIS = null;
					}
					else
					{
						if (altarIS.isSimilar(handIS))
						{
							if (altarIS.getAmount() < altarIS.getMaxStackSize())
							{
								if (altarIS.getAmount() + handIS.getAmount() <= altarIS.getMaxStackSize())
								{
									altarIS.setAmount(altarIS.getAmount() + handIS.getAmount());

									handIS = null;
								}
								else
								{
									int takenAmount = altarIS.getMaxStackSize() - altarIS.getAmount();

									altarIS.setAmount(altarIS.getMaxStackSize());

									handIS.setAmount(handIS.getAmount() - takenAmount);
								}
							}
							else
							{
								player.getInventory().addItem(altarIS);

								altarIS = null;
							}
						}
						else
						{
							ItemStack swap = altarIS;
							altarIS = handIS;
							handIS = swap;
						}
					}
				}
			}
			else
			{
				if (handIS == null || handIS.getAmount() < 1)
				{
					if (altarIS == null || altarIS.getAmount() < 1)
					{
						// FAIL

						return true;
					}
					else
					{
						if (altarIS.getAmount() > 1)
						{
							ItemStack buff = altarIS.clone();
							buff.setAmount(1);

							player.getInventory().addItem(buff);

							altarIS.setAmount(altarIS.getAmount() - 1);
						}
						else // CAN BE ONLY 1
						{
							player.getInventory().addItem(altarIS);

							altarIS = null;
						}
					}
				}
				else
				{
					if (altarIS == null)
					{
						altarIS = handIS.clone();
						altarIS.setAmount(1);

						if (handIS.getAmount() > 1)
						{
							handIS.setAmount(handIS.getAmount() - 1);
						}
						else // CAN BE ONLY 1
						{
							handIS = null;
						}
					}
					else
					{
						if (altarIS.isSimilar(handIS))
						{
							if (altarIS.getAmount() < altarIS.getMaxStackSize())
							{
								altarIS.setAmount(altarIS.getAmount() + 1);

								if (handIS.getAmount() > 1)
								{
									handIS.setAmount(handIS.getAmount() - 1);
								}
								else // CAN BE ONLY 1
								{
									handIS = null;
								}
							}
							else
							{
								return true;
							}
						}
						else
						{
							player.getInventory().addItem(altarIS);

							if (handIS.getAmount() > 1)
							{
								altarIS = handIS.clone();
								altarIS.setAmount(1);

								handIS.setAmount(handIS.getAmount() - 1);
							}
							else
							{
								altarIS = handIS;

								handIS = null;
							}
						}
					}
				}
			}
		}