Terraria.Player.PutItemInInventory C# (CSharp) Method

PutItemInInventory() public method

public PutItemInInventory ( int type, int selItem = -1 ) : void
type int
selItem int
return void
        public void PutItemInInventory(int type, int selItem = -1)
        {
            for (int index = 0; index < 58; ++index)
            {
                Item obj = this.inventory[index];
                if (obj.stack > 0 && obj.itemId == type && obj.stack < obj.maxStack)
                {
                    ++obj.stack;
                    return;
                }
            }
            if (selItem >= 0 && (this.inventory[selItem].itemId == 0 || this.inventory[selItem].stack <= 0))
            {
                this.inventory[selItem].SetDefaults(type, false);
            }
            else
            {
                Item newItem = new Item();
                newItem.SetDefaults(type, false);
                if (this.GetItem(this.whoAmI, newItem, false, false).stack > 0)
                {
                    int number = Item.NewItem((int)this.position.X, (int)this.position.Y, this.width, this.height, type, 1, false, 0, true);
                    if (Main.netMode != 1)
                        return;
                    NetMessage.SendData(21, -1, -1, "", number, 1f, 0.0f, 0.0f, 0, 0, 0);
                }
                else
                {
                    newItem.position.X = this.Center.X - (float)(newItem.width / 2);
                    newItem.position.Y = this.Center.Y - (float)(newItem.height / 2);
                    newItem.active = true;
                    ItemText.NewText(newItem, 0, false, false);
                }
            }
        }
Player