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

◆ ConsumeItem()

bool Terraria.Player.ConsumeItem ( int type,
bool reverseOrder = false,
bool includeVoidBag = false )
inline

Definition at line 8514 of file Player.cs.

8515 {
8516 int num = 0;
8517 int num2 = 58;
8518 int num3 = 1;
8519 if (reverseOrder)
8520 {
8521 num = 57;
8522 num2 = -1;
8523 num3 = -1;
8524 }
8525 for (int i = num; i != num2; i += num3)
8526 {
8527 if (inventory[i].stack > 0 && inventory[i].type == type)
8528 {
8529 inventory[i].stack--;
8530 if (inventory[i].stack <= 0)
8531 {
8533 }
8534 return true;
8535 }
8536 }
8537 if (includeVoidBag && useVoidBag())
8538 {
8539 int num4 = FindItem(type, bank4.item);
8540 if (num4 == -1)
8541 {
8542 return false;
8543 }
8544 Item item = bank4.item[num4];
8545 item.stack--;
8546 if (item.stack <= 0)
8547 {
8548 item.TurnToAir();
8549 }
8550 return true;
8551 }
8552 return false;
8553 }
Item[] item
Definition Chest.cs:41
int stack
Definition Item.cs:149
void SetDefaults(int Type=0)
Definition Item.cs:47332
int FindItem(int netid)
Definition Player.cs:52383
bool useVoidBag()
Definition Player.cs:22085
Item[] inventory
Definition Player.cs:1257

References System.item, Terraria.Chest.item, Terraria.Item.SetDefaults(), Terraria.Item.stack, and System.type.

Referenced by Terraria.Wiring.MassWireOperation(), and Terraria.UI.ItemSlot.TryOpenContainer().