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

◆ PlaceThing_Tiles()

void Terraria.Player.PlaceThing_Tiles ( )
inlineprivate

Definition at line 37524 of file Player.cs.

37525 {
37527 int tileToCreate = item.createTile;
37528 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))
37529 {
37530 return;
37531 }
37532 cursorItemIconEnabled = true;
37534 bool canUse = true;
37540 {
37542 }
37543 Tile tile = Main.tile[tileTargetX, tileTargetY];
37544 if (tile.active())
37545 {
37546 if (tileToCreate == 23 && tile.type == 59)
37547 {
37548 tileToCreate = 661;
37549 }
37550 if (tileToCreate == 199 && tile.type == 59)
37551 {
37552 tileToCreate = 662;
37553 }
37554 }
37555 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)
37556 {
37557 bool canPlace = false;
37558 bool newObjectType = false;
37559 bool? overrideCanPlace = null;
37560 int? forcedRandom = null;
37561 TileObject objectData = default(TileObject);
37563 if (overrideCanPlace.HasValue)
37564 {
37565 canPlace = overrideCanPlace.Value;
37566 }
37568 {
37569 newObjectType = true;
37575 }
37576 else
37577 {
37579 }
37580 if (canPlace)
37581 {
37583 }
37584 }
37585 }
Vector2 position
Definition Entity.cs:14
static bool[] BreakableWhenPlacing
Definition TileID.cs:277
static bool CustomPlace(int type, int style)
bool PlaceThing_Tiles_BlockPlacementForAssortedThings(bool canPlace)
Definition Player.cs:38758
bool cursorItemIconEnabled
Definition Player.cs:1489
static void PlaceThing_Tiles_BlockPlacementIfOverPlayers(ref bool canPlace, ref TileObject data)
Definition Player.cs:39122
bool PlaceThing_Tiles_CheckWandUsability(bool canUse)
Definition Player.cs:39227
bool ItemTimeIsZero
Definition Player.cs:3525
static void PlaceThing_Tiles_BlockPlacementForRepeatedPumpkins(ref bool canPlace, ref TileObject data)
Definition Player.cs:39076
TileObject PlaceThing_Tiles_PlaceIt(bool newObjectType, TileObject data, int tileToCreate)
Definition Player.cs:37855
bool PlaceThing_Tiles_CheckFlexibleWand(bool canUse)
Definition Player.cs:39220
static void PlaceThing_Tiles_BlockPlacementForRepeatedCoralAndBeachPiles(ref bool canPlace, ref TileObject data)
Definition Player.cs:39094
static int tileTargetY
Definition Player.cs:2085
bool PlaceThing_Tiles_CheckRopeUsability(bool canUse)
Definition Player.cs:39195
bool TileReplacementEnabled
Definition Player.cs:2864
bool PlaceThing_Tiles_CheckGamepadTorchUsability(bool canUse)
Definition Player.cs:39245
static int tileRangeX
Definition Player.cs:2075
static void PlaceThing_Tiles_BlockPlacementForRepeatedPigronatas(ref bool canPlace, ref TileObject data)
Definition Player.cs:39106
static int tileTargetX
Definition Player.cs:2083
bool PlaceThing_TryReplacingTiles(bool canUse)
Definition Player.cs:37634
bool PlaceThing_Tiles_CheckLavaBlocking()
Definition Player.cs:39178
static int tileRangeY
Definition Player.cs:2077
Item[] inventory
Definition Player.cs:1257
void FigureOutWhatToPlace(Tile targetTile, Item sItem, out int tileToCreate, out int previewPlaceStyle, out bool? overrideCanPlace, out int? forcedRandom)
Definition Player.cs:41329
bool controlUseItem
Definition Player.cs:1391

References Terraria.Tile.active(), Terraria.ID.TileID.Sets.BreakableWhenPlacing, Terraria.TileObject.CanPlace(), Terraria.ObjectData.TileObjectData.CustomPlace(), System.item, Terraria.Main.tile, Terraria.Main.tileCut, Terraria.Main.tileMoss, and Terraria.Tile.type.