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

◆ PlaceThing_TryReplacingTiles()

bool Terraria.Player.PlaceThing_TryReplacingTiles ( bool canUse)
inlineprivate

Definition at line 38632 of file Player.cs.

38633 {
38635 if (flag)
38636 {
38637 TileObject.objectPreview.Reset();
38638 }
38639 if (controlUseItem && canUse && Main.tile[tileTargetX, tileTargetY].active() && itemAnimation > 0 && ItemTimeIsZero && flag)
38640 {
38641 Item bestPickaxe = GetBestPickaxe();
38642 if (bestPickaxe == null)
38643 {
38644 return false;
38645 }
38646 Tile tile = Main.tile[tileTargetX, tileTargetY];
38647 _ = ref tile.type;
38650 if (pickaxeDamage == 0)
38651 {
38652 return false;
38653 }
38654 if (!WorldGen.IsTileReplacable(tileTargetX, tileTargetY))
38655 {
38656 return false;
38657 }
38659 {
38660 return false;
38661 }
38663 {
38664 return false;
38665 }
38667 {
38668 int num2 = WorldGen.KillTile_GetTileDustAmount(fail: true, tile, tileTargetX, tileTargetY);
38669 for (int i = 0; i < num2; i++)
38670 {
38671 WorldGen.KillTile_MakeTileDust(tileTargetX, tileTargetY, tile);
38672 }
38673 WorldGen.KillTile_PlaySounds(tileTargetX, tileTargetY, fail: true, tile);
38674 if (HeldItem.consumable)
38675 {
38676 HeldItem.stack++;
38677 }
38678 dontConsumeWand = true;
38680 SetItemAnimation((int)((float)bestPickaxe.useTime * pickSpeed));
38681 return false;
38682 }
38685 int num3 = HeldItem.createTile;
38686 int num4 = HeldItem.placeStyle;
38687 if (UsingBiomeTorches && num3 == 4)
38688 {
38690 }
38691 if (UsingBiomeTorches && num3 == 215)
38692 {
38694 }
38695 if (WorldGen.ReplaceTile(tileTargetX, tileTargetY, (ushort)num3, num4))
38696 {
38697 canUse = false;
38698 NetMessage.SendData(17, -1, -1, null, 21, tileTargetX, tileTargetY, num3, num4);
38702 }
38703 }
38704 return canUse;
38705 }
int AddDamage(int tileId, int damageAmount, bool updateAmount=true)
Definition HitTile.cs:178
int HitObject(int x, int y, int hitType)
Definition HitTile.cs:142
int useAnimation
The time span of the using animation for the item in ticks. This is independent of the time it takes ...
Definition Item.cs:384
int stack
The current stack of the item. F:Terraria.Item.maxStack indicates the max possible stack.
Definition Item.cs:396
int createTile
The ID of the tile this item places on use. Either a T:Terraria.ID.TileID entry or M:Terraria....
Definition Item.cs:435
bool consumable
Whether the item is consumed after use. If consumed, the item stack will decrease by 1....
Definition Item.cs:488
int placeStyle
The style of the tile being placed. Used for tiles that have a different look depending on the item u...
Definition Item.cs:448
static bool CanPlace(int i, int j, int type)
static bool CanReplace(int i, int j, int type, int tileTypeBeingPlaced)
This serves as the central class from which tile-related functions are supported and carried out.
Definition TileLoader.cs:23
int BiomeTorchPlaceStyle(ref int type, ref int style)
Definition Player.cs:38940
void SetItemAnimation(int frames)
Definition Player.cs:4923
float pickSpeed
Definition Player.cs:2616
bool ItemTimeIsZero
Definition Player.cs:4402
int BiomeCampfirePlaceStyle(ref int type, ref int style)
Definition Player.cs:39064
int[,] PlaceThing_Tiles_GetAutoAccessoryCache()
Definition Player.cs:39188
void ClearMiningCacheAt(int x, int y, int hitTileCacheType)
Definition Player.cs:54423
bool PlaceThing_ValidTileForReplacement()
Definition Player.cs:38707
bool UsingBiomeTorches
Definition Player.cs:4289
static int tileTargetY
Definition Player.cs:2652
int GetPickaxeDamage(int x, int y, int pickPower, int hitBufferIndex, Tile tileTarget)
Definition Player.cs:54484
Item GetBestPickaxe()
Definition Player.cs:38853
static int tileTargetX
Definition Player.cs:2650
bool dontConsumeWand
Definition Player.cs:1073
void ApplyItemTime(Item sItem, float multiplier=1f, bool? callUseItem=null)
Definition Player.cs:4907
HitTile hitReplace
Definition Player.cs:1838
bool controlUseItem
Definition Player.cs:1904
void PlaceThing_Tiles_PlaceIt_AutoPaintAndActuate(int[,] typeCaches, int tileToCreate)
Definition Player.cs:39318

References Terraria.HitTile.AddDamage(), Terraria.Player.ApplyItemTime(), Terraria.Player.BiomeCampfirePlaceStyle(), Terraria.Player.BiomeTorchPlaceStyle(), Terraria.ModLoader.TileLoader.CanPlace(), Terraria.ModLoader.TileLoader.CanReplace(), Terraria.Player.ClearMiningCacheAt(), Terraria.Item.consumable, Terraria.Player.controlUseItem, Terraria.Item.createTile, Terraria.Player.dontConsumeWand, Terraria.Player.GetBestPickaxe(), Terraria.Player.GetPickaxeDamage(), Terraria.Player.HeldItem, Terraria.HitTile.HitObject(), Terraria.Player.hitReplace, Terraria.WorldGen.IsTileReplacable(), Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.WorldGen.KillTile_GetTileDustAmount(), Terraria.WorldGen.KillTile_MakeTileDust(), Terraria.WorldGen.KillTile_PlaySounds(), Terraria.TileObject.objectPreview, Terraria.Player.pickSpeed, Terraria.Item.placeStyle, Terraria.Player.PlaceThing_Tiles_GetAutoAccessoryCache(), Terraria.Player.PlaceThing_Tiles_PlaceIt_AutoPaintAndActuate(), Terraria.Player.PlaceThing_ValidTileForReplacement(), Terraria.WorldGen.ReplaceTile(), Terraria.NetMessage.SendData(), Terraria.Player.SetItemAnimation(), Terraria.Item.stack, Terraria.Main.tile, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Tile.type, Terraria.Item.useAnimation, and Terraria.Player.UsingBiomeTorches.

Referenced by Terraria.Player.PlaceThing_Tiles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: