@Override protected boolean performMerge(int slotIndex, ItemStack stack) { int invAugment = augmentSlots.length; int invPlayer = invAugment + 27; int invFull = invPlayer + 9; int invTile = invFull + (baseTile == null ? 0 : baseTile.getInvSlotCount()); if (slotIndex < invAugment) { return mergeItemStack(stack, invAugment, invFull, true); } else if (slotIndex < invFull) { if (!augmentLock && invAugment > 0 && AugmentHelper.isAugmentItem(stack)) { return mergeItemStack(stack, 0, invAugment, false); } return mergeItemStack(stack, invFull, invTile, false); } return mergeItemStack(stack, invAugment, invFull, true); }