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

◆ PlaceThing_Walls()

void Terraria.Player.PlaceThing_Walls ( )
inlineprivate

Definition at line 38394 of file Player.cs.

38395 {
38396 if (inventory[selectedItem].createWall < 0 || !(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))
38397 {
38398 return;
38399 }
38400 cursorItemIconEnabled = true;
38401 if (!ItemTimeIsZero || itemAnimation <= 0 || !controlUseItem || (!Main.tile[tileTargetX + 1, tileTargetY].active() && Main.tile[tileTargetX + 1, tileTargetY].wall <= 0 && !Main.tile[tileTargetX - 1, tileTargetY].active() && Main.tile[tileTargetX - 1, tileTargetY].wall <= 0 && !Main.tile[tileTargetX, tileTargetY + 1].active() && Main.tile[tileTargetX, tileTargetY + 1].wall <= 0 && !Main.tile[tileTargetX, tileTargetY - 1].active() && Main.tile[tileTargetX, tileTargetY - 1].wall <= 0) || Main.tile[tileTargetX, tileTargetY].wall == inventory[selectedItem].createWall)
38402 {
38403 return;
38404 }
38405 bool flag = true;
38408 {
38410 }
38411 if (!flag)
38412 {
38413 return;
38414 }
38415 WorldGen.PlaceWall(tileTargetX, tileTargetY, inventory[selectedItem].createWall);
38416 if (Main.tile[tileTargetX, tileTargetY].wall == inventory[selectedItem].createWall)
38417 {
38420 if (Main.netMode == 1)
38421 {
38422 NetMessage.SendData(17, -1, -1, null, 3, tileTargetX, tileTargetY, inventory[selectedItem].createWall);
38423 }
38425 if (autoPaint && builderAccStatus[3] == 0)
38426 {
38428 }
38429 }
38430 }
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
int createWall
The ID of the wall this item places on use. Either a T:Terraria.ID.WallID entry or M:Terraria....
Definition Item.cs:441
int tileBoost
Additional tile range provided by this tool or tile. Copper Pickaxe has a value of -1,...
Definition Item.cs:429
static void PlaceInWorld(int i, int j, Item item)
static bool CanPlace(int i, int j, int type)
This serves as the central class from which wall-related functions are supported and carried out.
Definition WallLoader.cs:17
void PlaceThing_Walls_FillEmptySpace()
Definition Player.cs:38432
bool cursorItemIconEnabled
Definition Player.cs:2002
float wallSpeed
Definition Player.cs:2618
bool ItemTimeIsZero
Definition Player.cs:4402
void TryPainting(int x, int y, bool paintingAWall=false, bool applyItemAnimation=true)
Definition Player.cs:40659
static int tileTargetY
Definition Player.cs:2652
bool TileReplacementEnabled
Definition Player.cs:3708
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
int[] builderAccStatus
Definition Player.cs:1007
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 PlaceThing_TryReplacingWalls(bool canUse)
Definition Player.cs:38611
bool controlUseItem
Definition Player.cs:1904

References Terraria.Player.ApplyItemTime(), Terraria.Player.autoPaint, Terraria.Player.blockRange, Terraria.Player.builderAccStatus, Terraria.ModLoader.WallLoader.CanPlace(), Terraria.Player.controlUseItem, Terraria.Item.createWall, Terraria.Player.cursorItemIconEnabled, Terraria.Entity.height, Terraria.Player.inventory, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Main.netMode, Terraria.ModLoader.WallLoader.PlaceInWorld(), Terraria.Player.PlaceThing_TryReplacingWalls(), Terraria.Player.PlaceThing_Walls_FillEmptySpace(), Terraria.WorldGen.PlaceWall(), Terraria.Entity.position, Terraria.Player.selectedItem, Terraria.NetMessage.SendData(), Terraria.Main.tile, Terraria.Item.tileBoost, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.TileReplacementEnabled, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Player.TryPainting(), Terraria.Player.wallSpeed, 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: