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

◆ PlaceThing_XMasTreeTops()

void Terraria.Player.PlaceThing_XMasTreeTops ( )
inlineprivate

Definition at line 40418 of file Player.cs.

40419 {
40420 if (inventory[selectedItem].type < 1874 || inventory[selectedItem].type > 1905 || !Main.tile[tileTargetX, tileTargetY].active() || Main.tile[tileTargetX, tileTargetY].type != 171 || !(position.X / 16f - (float)tileRangeX - (float)inventory[selectedItem].tileBoost - (float)blockRange <= (float)tileTargetX) || !((position.X + (float)width) / 16f + (float)tileRangeX + (float)inventory[selectedItem].tileBoost - 1f + (float)blockRange >= (float)tileTargetX) || !(position.Y / 16f - (float)tileRangeY - (float)inventory[selectedItem].tileBoost - (float)blockRange <= (float)tileTargetY) || !((position.Y + (float)height) / 16f + (float)tileRangeY + (float)inventory[selectedItem].tileBoost - 2f + (float)blockRange >= (float)tileTargetY) || !ItemTimeIsZero || itemAnimation <= 0 || !controlUseItem)
40421 {
40422 return;
40423 }
40424 int type = inventory[selectedItem].type;
40425 if (type >= 1874 && type <= 1877)
40426 {
40427 type -= 1873;
40428 if (WorldGen.checkXmasTreeDrop(tileTargetX, tileTargetY, 0) != type)
40429 {
40431 WorldGen.dropXmasTree(tileTargetX, tileTargetY, 0);
40432 WorldGen.setXmasTree(tileTargetX, tileTargetY, 0, type);
40433 int num = tileTargetX;
40434 int num2 = tileTargetY;
40435 if (Main.tile[tileTargetX, tileTargetY].frameX < 10)
40436 {
40437 num -= Main.tile[tileTargetX, tileTargetY].frameX;
40438 num2 -= Main.tile[tileTargetX, tileTargetY].frameY;
40439 }
40440 NetMessage.SendTileSquare(-1, num, num2);
40441 }
40442 }
40443 else if (type >= 1878 && type <= 1883)
40444 {
40445 type -= 1877;
40446 if (WorldGen.checkXmasTreeDrop(tileTargetX, tileTargetY, 1) != type)
40447 {
40449 WorldGen.dropXmasTree(tileTargetX, tileTargetY, 1);
40450 WorldGen.setXmasTree(tileTargetX, tileTargetY, 1, type);
40451 int num3 = tileTargetX;
40452 int num4 = tileTargetY;
40453 if (Main.tile[tileTargetX, tileTargetY].frameX < 10)
40454 {
40455 num3 -= Main.tile[tileTargetX, tileTargetY].frameX;
40456 num4 -= Main.tile[tileTargetX, tileTargetY].frameY;
40457 }
40458 NetMessage.SendTileSquare(-1, num3, num4);
40459 }
40460 }
40461 else if (type >= 1884 && type <= 1894)
40462 {
40463 type -= 1883;
40464 if (WorldGen.checkXmasTreeDrop(tileTargetX, tileTargetY, 2) != type)
40465 {
40467 WorldGen.dropXmasTree(tileTargetX, tileTargetY, 2);
40468 WorldGen.setXmasTree(tileTargetX, tileTargetY, 2, type);
40469 int num5 = tileTargetX;
40470 int num6 = tileTargetY;
40471 if (Main.tile[tileTargetX, tileTargetY].frameX < 10)
40472 {
40473 num5 -= Main.tile[tileTargetX, tileTargetY].frameX;
40474 num6 -= Main.tile[tileTargetX, tileTargetY].frameY;
40475 }
40476 NetMessage.SendTileSquare(-1, num5, num6);
40477 }
40478 }
40479 else
40480 {
40481 if (type < 1895 || type > 1905)
40482 {
40483 return;
40484 }
40485 type -= 1894;
40486 if (WorldGen.checkXmasTreeDrop(tileTargetX, tileTargetY, 3) != type)
40487 {
40489 WorldGen.dropXmasTree(tileTargetX, tileTargetY, 3);
40490 WorldGen.setXmasTree(tileTargetX, tileTargetY, 3, type);
40491 int num7 = tileTargetX;
40492 int num8 = tileTargetY;
40493 if (Main.tile[tileTargetX, tileTargetY].frameX < 10)
40494 {
40495 num7 -= Main.tile[tileTargetX, tileTargetY].frameX;
40496 num8 -= Main.tile[tileTargetX, tileTargetY].frameY;
40497 }
40498 NetMessage.SendTileSquare(-1, num7, num8);
40499 }
40500 }
40501 }
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
bool active
If true, the Entity actually exists within the game world. Within the specific entity array,...
Definition Entity.cs:21
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
int tileBoost
Additional tile range provided by this tool or tile. Copper Pickaxe has a value of -1,...
Definition Item.cs:429
int type
The Item ID of this item. The Item ID is a unique number assigned to each Item loaded into the game....
Definition Item.cs:345
bool ItemTimeIsZero
Definition Player.cs:4402
static int tileTargetY
Definition Player.cs:2652
static int tileRangeX
Definition Player.cs:2642
static int tileTargetX
Definition Player.cs:2650
void ApplyItemTime(Item sItem, float multiplier=1f, bool? callUseItem=null)
Definition Player.cs:4907
static int tileRangeY
Definition Player.cs:2644
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.Player.ApplyItemTime(), Terraria.Player.blockRange, Terraria.WorldGen.checkXmasTreeDrop(), Terraria.Player.controlUseItem, Terraria.WorldGen.dropXmasTree(), Terraria.Entity.height, Terraria.Player.inventory, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Entity.position, Terraria.Player.selectedItem, Terraria.NetMessage.SendTileSquare(), Terraria.WorldGen.setXmasTree(), Terraria.Main.tile, Terraria.Item.tileBoost, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Item.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: