Terraria.Player.ItemSpace C# (CSharp) Method

ItemSpace() public method

public ItemSpace ( Item newItem ) : bool
newItem Item
return bool
        public bool ItemSpace(Item newItem)
        {
            if (newItem.uniqueStack && this.HasItem(newItem.itemId))
                return false;
            if (newItem.itemId == 58 || newItem.itemId == 184 || (newItem.itemId == 1734 || newItem.itemId == 1735) || (newItem.itemId == 1867 || newItem.itemId == 1868 || ItemID.Sets.NebulaPickup[newItem.itemId]))
                return true;
            int num = 50;
            if (newItem.itemId == 71 || newItem.itemId == 72 || (newItem.itemId == 73 || newItem.itemId == 74))
                num = 54;
            for (int index = 0; index < num; ++index)
            {
                if (this.inventory[index].itemId == 0)
                    return true;
            }
            for (int index = 0; index < num; ++index)
            {
                if (this.inventory[index].itemId > 0 && this.inventory[index].stack < this.inventory[index].maxStack && newItem.IsTheSameAs(this.inventory[index]))
                    return true;
            }
            if (newItem.ammo > 0 && !newItem.notAmmo)
            {
                if (newItem.itemId != 75 && newItem.itemId != 169 && (newItem.itemId != 23 && newItem.itemId != 408) && (newItem.itemId != 370 && newItem.itemId != 1246))
                {
                    for (int index = 54; index < 58; ++index)
                    {
                        if (this.inventory[index].itemId == 0)
                            return true;
                    }
                }
                for (int index = 54; index < 58; ++index)
                {
                    if (this.inventory[index].itemId > 0 && this.inventory[index].stack < this.inventory[index].maxStack && newItem.IsTheSameAs(this.inventory[index]))
                        return true;
                }
            }
            return false;
        }
Player