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

◆ PlaceThing_ItemInExtractinator()

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

Definition at line 39316 of file Player.cs.

39317 {
39318 Tile tile = Main.tile[tileTargetX, tileTargetY];
39320 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)
39321 {
39322 return;
39323 }
39324 float num = 1f;
39325 if (tile.type == 642)
39326 {
39327 num *= 0.33f;
39328 }
39330 if (itemTrader != null && itemTrader.TryGetTradeOption(item, out var option))
39331 {
39333 ApplyItemTime(item, num);
39334 context.SkipItemConsumption = true;
39335 item.stack -= option.TakingItemStack;
39336 if (item.stack <= 0)
39337 {
39338 item.TurnToAir();
39339 }
39340 DropItemFromExtractinator(option.GivingITemType, option.GivingItemStack);
39341 }
39342 else if (ItemID.Sets.ExtractinatorMode[item.type] >= 0 && (tile.type == 219 || tile.type == 642))
39343 {
39344 ApplyItemTime(item, num);
39347 ExtractinatorUse(extractType, tile.type);
39348 }
39349 }
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 position
Definition Entity.cs:14
static int[] ExtractinatorMode
Definition ItemID.cs:1052
void ApplyItemTime(Item sItem)
Definition Player.cs:3752
bool ItemTimeIsZero
Definition Player.cs:3525
static ItemTrader TryGettingItemTraderFromBlock(Tile targetBlock)
Definition Player.cs:39351
static int tileTargetY
Definition Player.cs:2085
static int tileRangeX
Definition Player.cs:2075
static int tileTargetX
Definition Player.cs:2083
void ExtractinatorUse(int extractType, int extractinatorBlockType)
Definition Player.cs:39722
static int tileRangeY
Definition Player.cs:2077
void DropItemFromExtractinator(int itemType, int stack)
Definition Player.cs:40122
Item[] inventory
Definition Player.cs:1257
bool controlUseItem
Definition Player.cs:1391

References Terraria.Tile.active(), Terraria.ID.ItemID.Sets.ExtractinatorMode, System.item, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Main.tile, and Terraria.Tile.type.