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

◆ PlaceThing_ItemInExtractinator()

void Terraria.Player.PlaceThing_ItemInExtractinator ( ref ItemCheckContext context)
inlineprivate

Definition at line 40373 of file Player.cs.

40374 {
40375 Tile tile = Main.tile[tileTargetX, tileTargetY];
40376 Item item = inventory[selectedItem];
40377 if (!tile.active() || !(position.X / 16f - (float)tileRangeX - (float)item.tileBoost - (float)blockRange <= (float)tileTargetX) || !((position.X + (float)width) / 16f + (float)tileRangeX + (float)item.tileBoost - 1f + (float)blockRange >= (float)tileTargetX) || !(position.Y / 16f - (float)tileRangeY - (float)item.tileBoost - (float)blockRange <= (float)tileTargetY) || !((position.Y + (float)height) / 16f + (float)tileRangeY + (float)item.tileBoost - 2f + (float)blockRange >= (float)tileTargetY) || !ItemTimeIsZero || itemAnimation <= 0 || !controlUseItem)
40378 {
40379 return;
40380 }
40381 float num = 1f;
40382 if (tile.type == 642)
40383 {
40384 num *= 0.33f;
40385 }
40387 if (itemTrader != null && itemTrader.TryGetTradeOption(item, out var option))
40388 {
40390 ApplyItemTime(item, num);
40391 context.SkipItemConsumption = true;
40392 item.stack -= option.TakingItemStack;
40393 if (item.stack <= 0)
40394 {
40395 item.TurnToAir();
40396 }
40397 DropItemFromExtractinator(option.GivingITemType, option.GivingItemStack);
40398 }
40399 else if (ItemID.Sets.ExtractinatorMode[item.type] >= 0 && (tile.type == 219 || tile.type == 642))
40400 {
40401 ApplyItemTime(item, num);
40403 int extractType = ItemID.Sets.ExtractinatorMode[item.type];
40404 ExtractinatorUse(extractType, tile.type);
40405 }
40406 }
static SlotId PlaySound(in SoundStyle? style, Vector2? position=null, SoundUpdateCallback? updateCallback=null)
Attempts to play a sound style with the provided sound style (if it's not null), and returns a valid ...
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
static int[] ExtractinatorMode
Indicates which extractinator type an item belongs to. An extractType of 0 represents the default ext...
Definition ItemID.cs:1352
bool ItemTimeIsZero
Definition Player.cs:4402
static ItemTrader TryGettingItemTraderFromBlock(Tile targetBlock)
Definition Player.cs:40408
static int tileTargetY
Definition Player.cs:2652
static int tileRangeX
Definition Player.cs:2642
static int tileTargetX
Definition Player.cs:2650
void ExtractinatorUse(int extractType, int extractinatorBlockType)
Definition Player.cs:40789
void ApplyItemTime(Item sItem, float multiplier=1f, bool? callUseItem=null)
Definition Player.cs:4907
static int tileRangeY
Definition Player.cs:2644
void DropItemFromExtractinator(int itemType, int stack)
Definition Player.cs:41190
Item[] inventory
The player's normal inventory. Indexes 0-9 hold the hotbar items, 10-49 the rest of the main inventor...
Definition Player.cs:1767
bool controlUseItem
Definition Player.cs:1904

References Terraria.Tile.active(), Terraria.Player.ApplyItemTime(), Terraria.Player.blockRange, Terraria.Player.controlUseItem, Terraria.Player.DropItemFromExtractinator(), Terraria.ID.ItemID.Sets.ExtractinatorMode, Terraria.Player.ExtractinatorUse(), Terraria.Entity.height, Terraria.Player.inventory, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Entity.position, Terraria.Player.selectedItem, Terraria.Item.stack, Terraria.Main.tile, Terraria.Item.tileBoost, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Player.TryGettingItemTraderFromBlock(), Terraria.Item.TurnToAir(), Terraria.Item.type, Terraria.Tile.type, and Terraria.Entity.width.

Referenced by Terraria.Player.PlaceThing().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: