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

◆ PlaceThing_Tiles()

void Terraria.Player.PlaceThing_Tiles ( )
inlineprivate

Definition at line 38516 of file Player.cs.

38517 {
38518 Item item = inventory[selectedItem];
38519 int tileToCreate = item.createTile;
38520 if (tileToCreate < 0 || !(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))
38521 {
38522 return;
38523 }
38524 cursorItemIconEnabled = true;
38526 bool canUse = true;
38532 {
38534 }
38535 Tile tile = Main.tile[tileTargetX, tileTargetY];
38536 if (tile.active())
38537 {
38538 if (tileToCreate == 23 && tile.type == 59)
38539 {
38540 tileToCreate = 661;
38541 }
38542 if (tileToCreate == 199 && tile.type == 59)
38543 {
38544 tileToCreate = 662;
38545 }
38546 }
38547 if (canUse && ((!tile.active() && !flag) || (Main.tileCut[tile.type] && tile.type != 484) || (tile.type >= 373 && tile.type <= 375) || tile.type == 461 || tileToCreate == 199 || tileToCreate == 23 || tileToCreate == 662 || tileToCreate == 661 || tileToCreate == 2 || tileToCreate == 109 || tileToCreate == 60 || tileToCreate == 70 || tileToCreate == 633 || Main.tileMoss[tileToCreate] || TileID.Sets.BreakableWhenPlacing[tile.type]) && ItemTimeIsZero && itemAnimation > 0 && controlUseItem)
38548 {
38549 bool canPlace = false;
38550 bool newObjectType = false;
38551 bool? overrideCanPlace = null;
38552 int? forcedRandom = null;
38553 TileObject objectData = default(TileObject);
38556 if (overrideCanPlace.HasValue)
38557 {
38558 canPlace = overrideCanPlace.Value;
38559 }
38561 {
38562 newObjectType = true;
38568 }
38569 else
38570 {
38572 }
38573 if (canPlace)
38574 {
38576 }
38577 }
38578 }
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 bool[] BreakableWhenPlacing
Definition TileID.cs:344
static void CheckAndInjectModSapling(int x, int y, ref int tileToCreate, ref int previewPlaceStyle)
static bool CustomPlace(int type, int style)
bool PlaceThing_Tiles_BlockPlacementForAssortedThings(bool canPlace)
Definition Player.cs:39807
bool cursorItemIconEnabled
Definition Player.cs:2002
static void PlaceThing_Tiles_BlockPlacementIfOverPlayers(ref bool canPlace, ref TileObject data)
Definition Player.cs:40171
bool PlaceThing_Tiles_CheckWandUsability(bool canUse)
Definition Player.cs:40284
bool ItemTimeIsZero
Definition Player.cs:4402
static void PlaceThing_Tiles_BlockPlacementForRepeatedPumpkins(ref bool canPlace, ref TileObject data)
Definition Player.cs:40125
TileObject PlaceThing_Tiles_PlaceIt(bool newObjectType, TileObject data, int tileToCreate)
Definition Player.cs:38866
bool PlaceThing_Tiles_CheckFlexibleWand(bool canUse)
Definition Player.cs:40277
static void PlaceThing_Tiles_BlockPlacementForRepeatedCoralAndBeachPiles(ref bool canPlace, ref TileObject data)
Definition Player.cs:40143
static int tileTargetY
Definition Player.cs:2652
bool PlaceThing_Tiles_CheckRopeUsability(bool canUse)
Definition Player.cs:40252
bool TileReplacementEnabled
Definition Player.cs:3708
bool PlaceThing_Tiles_CheckGamepadTorchUsability(bool canUse)
Definition Player.cs:40302
static int tileRangeX
Definition Player.cs:2642
static void PlaceThing_Tiles_BlockPlacementForRepeatedPigronatas(ref bool canPlace, ref TileObject data)
Definition Player.cs:40155
static int tileTargetX
Definition Player.cs:2650
bool PlaceThing_TryReplacingTiles(bool canUse)
Definition Player.cs:38632
bool PlaceThing_Tiles_CheckLavaBlocking()
Definition Player.cs:40235
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
void FigureOutWhatToPlace(Tile targetTile, Item sItem, out int tileToCreate, out int previewPlaceStyle, out bool? overrideCanPlace, out int? forcedRandom)
Definition Player.cs:42656
bool controlUseItem
Definition Player.cs:1904

References Terraria.Tile.active(), Terraria.Player.blockRange, Terraria.ID.TileID.Sets.BreakableWhenPlacing, Terraria.TileObject.CanPlace(), Terraria.ModLoader.PlantLoader.CheckAndInjectModSapling(), Terraria.Player.controlUseItem, Terraria.Item.createTile, Terraria.Player.cursorItemIconEnabled, Terraria.ObjectData.TileObjectData.CustomPlace(), Terraria.Entity.direction, Terraria.Player.FigureOutWhatToPlace(), Terraria.Entity.height, Terraria.Player.inventory, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Player.PlaceThing_Tiles_BlockPlacementForAssortedThings(), Terraria.Player.PlaceThing_Tiles_BlockPlacementForRepeatedCoralAndBeachPiles(), Terraria.Player.PlaceThing_Tiles_BlockPlacementForRepeatedPigronatas(), Terraria.Player.PlaceThing_Tiles_BlockPlacementForRepeatedPumpkins(), Terraria.Player.PlaceThing_Tiles_BlockPlacementIfOverPlayers(), Terraria.Player.PlaceThing_Tiles_CheckFlexibleWand(), Terraria.Player.PlaceThing_Tiles_CheckGamepadTorchUsability(), Terraria.Player.PlaceThing_Tiles_CheckLavaBlocking(), Terraria.Player.PlaceThing_Tiles_CheckRopeUsability(), Terraria.Player.PlaceThing_Tiles_CheckWandUsability(), Terraria.Player.PlaceThing_Tiles_PlaceIt(), Terraria.Player.PlaceThing_TryReplacingTiles(), Terraria.Entity.position, Terraria.Player.selectedItem, Terraria.Main.tile, Terraria.Item.tileBoost, Terraria.Main.tileCut, Terraria.Main.tileMoss, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.TileReplacementEnabled, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, 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: