Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PutItemInInventoryFromItemUsage()

void Terraria.Player.PutItemInInventoryFromItemUsage ( int type,
int theSelectedItem = -1 )
inline

Definition at line 40188 of file Player.cs.

40189 {
40190 for (int i = 0; i < 58; i++)
40191 {
40192 Item item = inventory[i];
40193 if (item.stack > 0 && item.type == type && item.stack < item.maxStack)
40194 {
40195 item.stack++;
40196 return;
40197 }
40198 }
40199 if (theSelectedItem >= 0 && (inventory[theSelectedItem].type == 0 || inventory[theSelectedItem].stack <= 0))
40200 {
40202 return;
40203 }
40204 Item item2 = new Item();
40205 item2.SetDefaults(type);
40206 if (GetItem(whoAmI, item2, GetItemSettings.ItemCreatedFromItemUsage).stack > 0)
40207 {
40208 Item item3 = item2;
40209 if (theSelectedItem != -1)
40210 {
40212 }
40213 int number = Item.NewItem(new EntitySource_ItemUse(this, item3), (int)position.X, (int)position.Y, width, height, type, 1, noBroadcast: false, 0, noGrabDelay: true);
40214 if (Main.netMode == 1)
40215 {
40216 NetMessage.SendData(21, -1, -1, null, number, 1f);
40217 }
40218 }
40219 else
40220 {
40221 item2.position.X = base.Center.X - (float)(item2.width / 2);
40222 item2.position.Y = base.Center.Y - (float)(item2.height / 2);
40223 item2.active = true;
40224 PopupText.NewText(PopupTextContext.RegularItemPickup, item2, 0);
40225 }
40226 }
Vector2 position
Definition Entity.cs:14
int stack
Definition Item.cs:149
void SetDefaults(int Type=0)
Definition Item.cs:47332
Item GetItem(int plr, Item newItem, GetItemSettings settings)
Definition Player.cs:37130
Item[] inventory
Definition Player.cs:1257

References System.item, Terraria.GetItemSettings.ItemCreatedFromItemUsage, Terraria.Main.netMode, Terraria.Item.NewItem(), Terraria.PopupText.NewText(), Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.Item.stack, and System.type.