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

◆ ItemCheck_UseMiningTools()

void Terraria.Player.ItemCheck_UseMiningTools ( Item sItem)
inlineprivate

Definition at line 45309 of file Player.cs.

45310 {
45311 SpecialToolUsageSettings specialToolUsageSettings = default(SpecialToolUsageSettings);
45312 if (sItem.type == 4711)
45313 {
45314 SpecialToolUsageSettings specialToolUsageSettings2 = default(SpecialToolUsageSettings);
45315 specialToolUsageSettings2.IsAValidTool = true;
45316 specialToolUsageSettings2.UsageAction = UseShovel;
45318 }
45319 if (sItem.pick <= 0 && sItem.axe <= 0 && sItem.hammer <= 0 && !specialToolUsageSettings.IsAValidTool)
45320 {
45321 return;
45322 }
45324 if (noBuilding)
45325 {
45326 flag = false;
45327 }
45328 if (flag && specialToolUsageSettings.UsageCondition != null)
45329 {
45330 flag = specialToolUsageSettings.UsageCondition(this, sItem, tileTargetX, tileTargetY);
45331 }
45332 if (toolTime == 0 && itemAnimation > 0 && controlUseItem)
45333 {
45334 Tile tile = Main.tile[tileTargetX, tileTargetY];
45335 if (!tile.active() || (IsTilePoundable(tile) && !TileID.Sets.CanBeSloped[tile.type]))
45336 {
45337 poundRelease = false;
45338 }
45339 }
45340 if (!flag)
45341 {
45342 return;
45343 }
45344 if (!Main.GamepadDisableCursorItemIcon)
45345 {
45346 cursorItemIconEnabled = true;
45347 Main.ItemIconCacheUpdate(sItem.type);
45348 }
45349 bool canHitWalls = false;
45350 if (toolTime == 0 && itemAnimation > 0 && controlUseItem)
45351 {
45352 if (specialToolUsageSettings.UsageAction != null)
45353 {
45355 return;
45356 }
45358 }
45359 if (releaseUseItem)
45360 {
45361 poundRelease = true;
45362 }
45363 if (toolTime == 0 && itemAnimation > 0 && controlUseItem && canHitWalls)
45364 {
45367 }
45368 }
static bool[] CanBeSloped
Allows non-solid tiles to be sloped (solid tiles can always be sloped, regardless of this set).
Definition TileID.cs:410
bool poundRelease
Definition Player.cs:1672
void UseShovel(Player user, Item item, int sX, int sY)
Definition Player.cs:45283
bool cursorItemIconEnabled
Definition Player.cs:2002
bool releaseUseItem
Definition Player.cs:1926
static void ItemCheck_UseMiningTools_TryFindingWallToHammer(out int wX, out int wY)
Definition Player.cs:45560
static int tileTargetY
Definition Player.cs:2652
bool IsTilePoundable(Tile targetTile)
Definition Player.cs:45274
static int tileTargetX
Definition Player.cs:2650
void ItemCheck_UseMiningTools_TryHittingWall(Item sItem, int wX, int wY)
Definition Player.cs:45636
bool IsTargetTileInItemRange(Item sItem)
Definition Player.cs:46039
void ItemCheck_UseMiningTools_ActuallyUseMiningTool(Item sItem, out bool canHitWalls, int x, int y)
Definition Player.cs:45370
bool controlUseItem
Definition Player.cs:1904

References Terraria.Tile.active(), Terraria.ID.TileID.Sets.CanBeSloped, Terraria.Player.controlUseItem, Terraria.Player.cursorItemIconEnabled, Terraria.Main.GamepadDisableCursorItemIcon, Terraria.Player.IsTargetTileInItemRange(), Terraria.Player.IsTilePoundable(), Terraria.Player.itemAnimation, Terraria.Player.ItemCheck_UseMiningTools_ActuallyUseMiningTool(), Terraria.Player.ItemCheck_UseMiningTools_TryFindingWallToHammer(), Terraria.Player.ItemCheck_UseMiningTools_TryHittingWall(), Terraria.Main.ItemIconCacheUpdate(), Terraria.Player.noBuilding, Terraria.Player.poundRelease, Terraria.Player.releaseUseItem, Terraria.Main.tile, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Player.toolTime, Terraria.Tile.type, and Terraria.Player.UseShovel().

Referenced by Terraria.Player.ItemCheck_OwnerOnlyCode().

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