Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static boolean addToInv(IInventory inv, ItemStack par1ItemStack)
- {
- ArrayList<ItemStack> inventorySlots = JavaHelp.newArrayList();
- boolean flag1 = false;
- int k = 0;
- ItemStack itemstack1 = null;
- for (int i = 0; i < inv.getSizeInventory(); i++)
- {
- inventorySlots.add(inv.getStackInSlot(i));
- }
- if (par1ItemStack == null) return false;
- if (par1ItemStack.isStackable())
- {
- while (par1ItemStack.stackSize > 0 && k < inv.getSizeInventory())
- {
- itemstack1 = inventorySlots.get(k);
- if (itemstack1 != null && itemstack1.getItem() == par1ItemStack.getItem() && (!par1ItemStack.getHasSubtypes() || par1ItemStack.getItemDamage() == itemstack1.getItemDamage()) && ItemStack.areItemStackTagsEqual(par1ItemStack, itemstack1))
- {
- int l = itemstack1.stackSize + par1ItemStack.stackSize;
- if (l <= par1ItemStack.getMaxStackSize())
- {
- par1ItemStack.stackSize = 0;
- itemstack1.stackSize = l;
- inv.markDirty();
- flag1 = true;
- }
- else if (itemstack1.stackSize < par1ItemStack.getMaxStackSize())
- {
- par1ItemStack.stackSize -= par1ItemStack.getMaxStackSize() - itemstack1.stackSize;
- itemstack1.stackSize = par1ItemStack.getMaxStackSize();
- inv.markDirty();
- flag1 = true;
- }
- }
- ++k;
- }
- }
- if (par1ItemStack.stackSize > 0)
- {
- k = 0;
- while (k < inv.getSizeInventory())
- {
- itemstack1 = inventorySlots.get(k);
- if (itemstack1 == null)
- {
- inv.setInventorySlotContents(k, par1ItemStack.copy());
- inv.markDirty();
- par1ItemStack.stackSize = 0;
- flag1 = true;
- break;
- }
- ++k;
- }
- }
- if (itemstack1 != null && itemstack1.stackSize == 0)
- {
- itemstack1 = null;
- }
- if (par1ItemStack != null && par1ItemStack.stackSize == 0)
- {
- par1ItemStack = null;
- }
- return flag1;
- }
Advertisement
Add Comment
Please, Sign In to add comment