tModLoader v2024.09
A mod to make and play Terraria mods
|
Inherits Entity, IFixLoadedData, and IEntityWithInstances< ModPlayer >.
Classes | |
class | BuilderAccToggleIDs |
struct | CompositeArmData |
struct | DefenseStat |
struct | DirectionalInputSyncCache |
class | Hooks |
struct | HurtInfo |
struct | HurtModifiers |
struct | ItemCheckContext |
struct | ItemSpaceStatus |
struct | OverheadMessage |
struct | RabbitOrderFrameHelper |
class | RandomTeleportationAttemptSettings |
class | SavedPlayerDataWithAnnoyingRules |
class | SelectionRadial |
struct | SetMatchRequest |
class | Settings |
class | SmartCursorSettings |
Public Types | |
enum | CompositeArmStretchAmount { Full , None , Quarter , ThreeQuarters } |
Public Member Functions | |
void | AccumulateGolfingScore (int score) |
void | AddBuff (int type, int timeToAdd, bool quiet=true, bool foodHack=false) |
Gives the player the provided buff. This accounts for if the player is immune to the buff. This also accounts for adjusting the buff time for different game modes. If the player already has the buff, the re-apply logic will happen. Vanilla buff types are found in BuffID and modded buffs are typically retrieved using ModContent.BuffType<T>. The quiet parameter will determine if the network sync message should happen. This should only be set to false in non-deterministic situations (such as random chance) and code that only runs locally. Other situations run on all clients so the buff should automatically be applied on all clients, keeping the player buff data in sync without burdening the network. When in doubt, consult vanilla source code examples or test your code. If applying a buff to a player other than the local player in pvp, quiet should be false and the buff must be true in Main.pvpBuff to properly sync. More... | |
void | AddCoinLuck (Vector2 coinPosition, int coinAmount) |
void | addDPS (int dmg) |
void | AddImmuneTime (int cooldownCounterId, int immuneTime) |
Adds to either Player.immuneTime or Player.hurtCooldowns based on the cooldownCounterId More... | |
void | AdjTiles () |
bool | AnyExtraJumpUsable () |
Returns true if any extra jump is ExtraJumpState.Available and ExtraJump.CanStart.Setting blockExtraJumps will cause this method to return false instead. | |
void | ApplyArmorSoundAndDustChanges () |
void | ApplyAttackCooldown () |
void | ApplyAttackCooldown (int frames) |
void | ApplyBannerDefenseBuff (int bannerId, ref Player.HurtModifiers modifiers) |
void | ApplyBannerDefenseBuff (NPC npc, ref Player.HurtModifiers modifiers) |
void | ApplyBannerOffenseBuff (int bannerId, ref NPC.HitModifiers modifiers) |
void | ApplyBannerOffenseBuff (NPC npc, ref NPC.HitModifiers modifiers) |
void | ApplyDamageToNPC (NPC npc, int damage, float knockback, int direction, bool crit=false, DamageClass? damageType=null, bool damageVariation=false) |
Deals damage to an NPC (and syncs the hit in multiplayer). The damage will be affected by modifiers, armor pen, enemy resistances etc. Will not apply damage class modifiers/knockback. Use GetTotalDamage<T> to adjust the damage before calling if necessary. Will apply damage class based armor penetration. Will exit early with no effect if PlayerLoader.CanHitNPC returns false. More... | |
void | ApplyEquipFunctional (Item currentItem, bool hideVisual) |
void | ApplyEquipVanity (Item currentItem) |
void | ApplyItemAnimation (Item sItem) |
void | ApplyItemAnimation (Item sItem, float multiplier, int? itemReuseDelay=null) |
void | ApplyItemTime (Item sItem, float multiplier=1, bool? callUseItem=null) |
void | ApplyMeleeScale (ref float scale) |
Vector2 | ApplyRangeCompensation (float rangeCompensation, Vector2 startPos, Vector2 targetPos) |
int | ArmorSetDye () |
void | AutoFinchStaff () |
int | beeDamage (int dmg) |
float | beeKB (float KB) |
int | beeType () |
int | BiomeCampfireHoldStyle (int itemType) |
int | BiomeCampfirePlaceStyle (ref int type, ref int style) |
int | BiomeTorchHoldStyle (int style) |
int | BiomeTorchPlaceStyle (ref int type, ref int style) |
void | BordersMovement () |
void | BrainOfConfusionDodge () |
void | BuffHandle_SpawnPetIfNeeded (ref bool petBool, int petProjID, int buffIndex) |
void | BuffHandle_SpawnPetIfNeededAndSetTime (int buffIndex, ref bool petBool, int petProjID, int buffTimeToGive=18000) |
A helper method that handles code common to pet buffs. Can be used during the buff update code. Sets the buff time to the value and spawns the corresponding pet projectile for the player if not yet spawned. More... | |
bool | BuyItem (long price, int customCurrency=-1) |
Attempts to "purchase" something that costs the given price . Items will be taken from all of the player inventories and banks combined. If customCurrency is provided, the price will be in terms of the custom currency instead of coins. If the player has enough currency, the currency will be taken from the inventories. More... | |
bool | CanAcceptItemIntoInventory (Item item) |
bool | CanAfford (long price, int customCurrency=-1) |
Checks if the player has the provided amount of money or custom currency (if customCurrency is set) in their inventory and banks combined. Use BuyItem(long, int) if the player does have enough money to take that money from the player. | |
bool | CanAutoReuseItem (Item sItem) |
void | CancelAllBootRunVisualEffects () |
bool | CanDemonHeartAccessoryBeShown () |
bool | CanDoWireStuffHere (int x, int y) |
bool | CanFitSpace (int heightBoost) |
bool | CanGoIntoAmmoOnPickup (Item theSlot, Item theItemToAccept) |
bool | CanHit (Entity ent) |
bool | CanHitNPCWithMeleeHit (int npcIndex) |
bool | CanItemSlotAccept (Item theSlot, Item theItemToAccept) |
bool | CanMasterModeAccessoryBeShown () |
bool | CanNPCBeHitByPlayerOrPlayerProjectile (NPC npc, Projectile projectile=null) |
bool | CanParryAgainst (Rectangle blockingPlayerRect, Rectangle enemyRect, Vector2 enemyVelocity) |
bool | CanPullItem (Item item, ItemSpaceStatus status) |
bool | CanSeeShimmerEffects () |
bool | CanSnapToPosition (Vector2 offset) |
bool | CanVisuallyHoldItem (Item item) |
void | CarpetMovement () |
void | ChangeDir (int dir) |
Changes the player's direction (Entity.direction) while adjusting arm and item rotations to be consistent. Will also account for pulley and pulleyDir. The player direction change will be prevented if the player is on a rope but there isn't space for the player to face the new direction. More... | |
void | ChangeSpawn (int x, int y) |
Color | ChatColor () |
void | CheckCrackedBrickBreak () |
void | checkDPSTime () |
void | CheckDrowning () |
Vector2 | CheckForGoodTeleportationSpot (ref bool canSpawn, int teleportStartX, int teleportRangeX, int teleportStartY, int teleportRangeY, RandomTeleportationAttemptSettings settings) |
void | CheckIceBreak () |
bool | CheckMana (int amount, bool pay=false, bool blockQuickMana=false) |
bool | CheckMana (Item item, int amount=-1, bool pay=false, bool blockQuickMana=false) |
Determines if this player has enough mana to use an item. If the player doesn't have enough mana and blockQuickMana is false , the player will activate any missing mana effects they have and try again. The pay parameter can be used to consume the mana amount. More... | |
Item | ChooseAmmo (Item weapon) |
Attempts to select an ammo item stack from this player's inventory to shoot with the given weapon. More... | |
void | ClearBuff (int type) |
Removes the provided buff type from the player and shuffles the remaining buff indexes down to fill the gap. Use Player.DelBuff(int) if you only know the buff index More... | |
void | ClearGrapplingBlacklist () |
Player | clientClone () |
object | Clone () |
void | CloseSign () |
void | CollectTaxes () |
int | CollideWithNPCs (Rectangle myRect, float Damage, float Knockback, int NPCImmuneTime, int PlayerImmuneTime, DamageClass? damageType=null) |
void | CommandForbiddenStorm () |
void | ConsumeAllExtraJumps () |
Sets the ExtraJumpState.Available flag for all extra jumps to false .If you want to disable an extra jump, use ExtraJumpState.Disable instead. If you want to disable all extra jumps, but not prevent them once the disabling factor is removed, use blockExtraJumps instead. | |
bool | ConsumeItem (int type, bool reverseOrder=false, bool includeVoidBag=false) |
Use to consume a single item. The item does not have to be Item.consumable. Attempts to reduce the Item.stack of the first Item found in the inventory by 1. Respects ItemLoader.ConsumeItem(Item, Player), so the item won't necessarily be consumed. To consume multiple of the item, first check Player.CountItem to ensure that there are enough of the item, then use a for loop to call this method many times. More... | |
bool | ConsumeSolarFlare () |
void | CopyVisuals (Player other) |
int | CountBuffs () |
void | Counterweight (Vector2 hitPos, int dmg, float kb) |
int | CountItem (int type, int stopCountingAt=0) |
Counts the total stack of the specified item type in this players inventory. Does not check Void Bag. Use Player.HasItem(int) to check if the player has the item at all. More... | |
void | DashMovement () |
delegate void | DashStartAction (int dashDirection) |
void | DelBuff (int b) |
Removes the buff at the provided index in buffType and buffTime and shuffles the remaining buff indexes down to fill the gap. Use Player.ClearBuff(int) if you only know the BuffID. More... | |
void | DemonConch () |
void | DisplayDollUpdate () |
void | DoBootsEffect (Utils.TileActionAttempt theEffectMethod) |
bool | DoBootsEffect_PlaceFlamesOnTile (int X, int Y) |
bool | DoBootsEffect_PlaceFlowersOnTile (int X, int Y) |
void | DoCoins (int i) |
void | DoPotionOfReturnReturnToOriginalUsePosition () |
void | DoPotionOfReturnTeleportationAndSetTheComebackPoint () |
void | DoQueenSlimeHookTeleport (Vector2 targetPosition) |
void | DoubleJumpVisuals () |
bool | DropAnglerAccByMissing (List< int > itemIdsOfAccsWeWant, float totalChance, out bool botheredRollingForADrop, out int itemIdToDrop) |
long | DropCoins () |
void | DropFromItem (int itemType) |
void | DropItem (IEntitySource source, Vector2 position, ref Item item) |
Drops the ref'd item from the player at the position, and than turns the ref'd Item to air. | |
void | dropItemCheck () |
void | DropItems () |
void | DropSelectedItem () |
void | DropSelectedItem (int slot, ref Item theItemWeDrop) |
void | DropTombstone (long coinsOwned, NetworkText deathText, int hitDirection) |
void | DryCollision (bool fallThrough, bool ignorePlats) |
Item | FillAmmo (int plr, Item newItem, GetItemSettings settings) |
int | FindBuffIndex (int type) |
int | FindItem (bool[] validtypes) |
int | FindItem (int netid) |
int | FindItem (int type, Item[] collection) |
int | FindItem (List< int > netids) |
int | FindItemInInventoryOrOpenVoidBag (int type, out bool inVoidBag) |
Item | FindPaintOrCoating () |
void | FindPulley () |
void | FindSentryRestingSpot (int checkProj, out int worldX, out int worldY, out int pushYUp) |
void | FindSpawn () |
void | FixLoadedData () |
void | FlipItemLocationAndRotationForGravity () |
void | FloorVisuals (bool Falling) |
void | ForceUpdateBiomes () |
void | GamepadEnableGrappleCooldown () |
float | GetAdjustedItemScale (Item item) |
Used to determine what the overall scale of an item should be. CombinedHooks.ModifyItemScale is called here. More... | |
EntityShadowInfo | GetAdvancedShadow (int shadowIndex) |
int | GetAmountOfExtraAccessorySlotsToShow () |
void | GetAnglerReward (NPC angler, int questItemType) |
ref float | GetArmorPenetration (DamageClass damageClass) |
Gets the armor penetration modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that armor penetration value are typically whole numbers. Adding 5, for example, would add 5 to the armor penetration stat, similar to the Shark Tooth Necklace accessory. | |
ref float | GetArmorPenetration< T > () |
Gets the armor penetration modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that armor penetration value are typically whole numbers. Adding 5, for example, would add 5 to the armor penetration stat, similar to the Shark Tooth Necklace accessory. More... | |
ref float | GetAttackSpeed (DamageClass damageClass) |
Gets the attack speed modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return values with operators. Note that attack speed is a multiplier. Adding 0.15f, for example, would add 15% to the attack speed stat. | |
ref float | GetAttackSpeed< T > () |
Gets the attack speed modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return values with operators. Setting this such that it results in zero or a negative value will throw an exception. NOTE: Due to the nature of attack speed modifiers, modifications to Flat will do nothing for this modifier. Note that attack speed is a multiplier. Adding 0.15f, for example, would add 15% to the attack speed stat. More... | |
Vector2 | GetBackHandPosition (CompositeArmStretchAmount stretch, float rotation) |
Vector2 | GetBeardDrawOffsetFromHelmet () |
Item | GetBestPickaxe () |
ref float | GetCritChance (DamageClass damageClass) |
Gets the crit chance modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that crit values are percentage values ranging from 0 to 100, unlike damage multipliers. Adding 4, for example, would add 4% to the crit chance. | |
ref float | GetCritChance< T > () |
Gets the crit chance modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that crit values are percentage values ranging from 0 to 100, unlike damage multipliers. Adding 4, for example, would add 4% to the crit chance. More... | |
ref StatModifier | GetDamage (DamageClass damageClass) |
Gets the damage modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. | |
ref StatModifier | GetDamage< T > () |
Gets the damage modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. More... | |
Color | GetDeathAlpha (Color newColor) |
int | getDPS () |
void | GetDyeTraderReward (NPC dyeTrader) |
Vector2 | GetFaceHeadOffsetFromHelmet () |
Vector2 | GetFarthestSpawnPositionOnLine (Vector2 startPos, float speedX, float speedY) |
PlayerFishingConditions | GetFishingConditions () |
Vector2 | GetFrontHandPosition (CompositeArmStretchAmount stretch, float rotation) |
Color | GetHairColor (bool useLighting=true) |
Vector2 | GetHairDrawOffset (int hairID, bool hatHair) |
void | GetHairSettings (out bool fullHair, out bool hatHair, out bool hideHair, out bool backHairDraw, out bool drawsBackHairWithoutHeadgear) |
int | GetHealLife (Item item, bool quickHeal=false) |
int | GetHealMana (Item item, bool quickHeal=false) |
Vector2 | GetHelmetDrawOffset () |
Vector2 | GetHelmetOffsetAddonFromFaceHead (Vector2 headOffset) |
Color | GetImmuneAlpha (Color newColor, float alphaReduction) |
Color | GetImmuneAlphaPure (Color newColor, float alphaReduction) |
Item | GetItem (int plr, Item newItem, GetItemSettings settings) |
Places the newItem directly into this player's inventory. The settings dictate how or if the pickup text is displayed as well as if the item can be placed into the Void Vault inventory. It is typical to use one of the existing options contained in the static fields of GetItemSettings for this parameter to match vanilla behavior. The plr parameter should always be set to the whoAmI of this player. Modders commonly use QuickSpawnItem(IEntitySource, Item, int) to give a player an item as it is simpler to implement, but GetItem allows for more control and should be used when possible. The return value is an Item instance containing the overflow. If the full stack of newItem is placed into the inventory successfully, the return value will be an empty item instance. If the inventory is full or if only a partial stack of newItem fit in the inventory, the return value will be the Item that didn't fit. If the returned Item isn't Item.IsAir, that will have to be handled by the calling code, typically by spawning the item in the world as a drop or leaving it where newItem came from. Make sure to test code using this method with a full inventory. Consulting vanilla code to match similar usages is recommended to implement specific item movement and popup text behavior the user would expect. More... | |
Rectangle | GetItemDrawFrame (int type) |
void | GetItemExpectedPrice (Item item, out long calcForSelling, out long calcForBuying) |
int | GetItemGrabRange (Item item) |
Fetches the range at which the given item begins to gravitate towards the player. This range, referred to as item grab range, is measured in pixels. More... | |
ref ExtraJumpState | GetJumpState< T > () |
ref ExtraJumpState | GetJumpState< T > (T baseInstance) |
ref StatModifier | GetKnockback (DamageClass damageClass) |
Gets the knockback modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that knockback values are multipliers. Adding 0.12f, for example, would add 12% to the knockback stat. | |
ref StatModifier | GetKnockback< T > () |
Gets the knockback modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that knockback values are multipliers. Adding 0.12f, for example, would add 12% to the knockback stat. More... | |
Vector2 | GetLegsDrawOffset () |
List< int > | GetListOfProjectilesToInteractWithHack () |
int | GetManaCost (Item item) |
Calculates the mana needed to use the given item. More... | |
T | GetModPlayer< T > () |
Gets the instance of the specified ModPlayer type. This will throw exceptions on failure. More... | |
T | GetModPlayer< T > (T baseInstance) |
Gets the local instance of the type of the specified ModPlayer instance. This will throw exceptions on failure. More... | |
List< int > | GetNearbyContainerProjectilesList () |
void | GetOtherPlayersPickTile (int x, int y, int pickDamage) |
void | GetPreferredGolfBallToUse (out int projType) |
Rectangle | getRect () |
IEntitySource | GetSource_Accessory (Item item, string? context=null) |
IEntitySource | GetSource_Accessory_OnHurt (Item item, Entity? attacker, string? context=null) |
IEntitySource | GetSource_Accessory_OnHurt (Item item, PlayerDeathReason damageSource, string? context=null) |
IEntitySource | GetSource_Buff (int buffIndex) |
IEntitySource | GetSource_ItemUse (Item item, string? context=null) |
IEntitySource | GetSource_ItemUse_WithPotentialAmmo (Item item, int ammoItemId, string? context=null) |
IEntitySource | GetSource_OnHurt (PlayerDeathReason damageSource, string? context=null) |
IEntitySource | GetSource_OpenItem (int itemType, string? context=null) |
bool[] | GetTileCutIgnorance (bool allowRegrowth, bool fromTrap) |
float | GetTotalArmorPenetration (DamageClass damageClass) |
float | GetTotalArmorPenetration< T > () |
float | GetTotalAttackSpeed (DamageClass damageClass) |
float | GetTotalAttackSpeed< T > () |
float | GetTotalCritChance (DamageClass damageClass) |
float | GetTotalCritChance< T > () |
StatModifier | GetTotalDamage (DamageClass damageClass) |
Calculates a total damage modifier for the player for the provided DamageClass. Use in conjunction with StatModifier.ApplyTo(float) to calculate a final damage value for a given DamageClass and base damage: int finalDamage = (int)player.GetTotalDamage(item.DamageType).ApplyTo(30); More... | |
StatModifier | GetTotalDamage< T > () |
StatModifier | GetTotalKnockback (DamageClass damageClass) |
StatModifier | GetTotalKnockback< T > () |
int | GetWeaponArmorPenetration (Item sItem) |
float | GetWeaponAttackSpeed (Item sItem) |
int | GetWeaponCrit (Item sItem) |
int | GetWeaponDamage (Item sItem, bool forTooltip=false) |
float | GetWeaponKnockback (Item sItem) |
float | GetWeaponKnockback (Item sItem, float baseKnockback) |
WingStats | GetWingStats (int wingID) |
void | Ghost () |
void | GiveImmuneTimeForCollisionAttack (int time) |
void | GrantArmorBenefits (Item armorPiece) |
void | GrantPrefixBenefits (Item item) |
void | GrappleMovement () |
bool | HasAmmo (Item sItem) |
Whether or not the player has ammunition available for the given weapon. More... | |
bool | HasBuff (int type) |
Returns whether or not this Player currently has a (de)buff of the provided type. | |
bool | HasBuff< T > () |
bool | HasEnoughPickPowerToHurtTile (int x, int y) |
bool | HasItem (int type) |
Checks if the player has the specified item in their inventory. Does not check Void Bag. Use Player.CountItem(int, int) instead to count the total amount if needed. More... | |
bool | HasItem (int type, Item[] collection) |
Similar to HasItem(int), but checks the provided Item[] collection for items instead. Useful for checking other Item arrays, such as Player.armor or Player.bank. | |
bool | HasItemInAnyInventory (int type) |
bool | HasItemInInventoryOrOpenVoidBag (int type) |
Similar to HasItem(int), but also checks the Void Bag. | |
bool | HasLockedInventory () |
bool | HasNPCBannerBuff (int bannerType) |
bool | HasUnityPotion () |
void | Heal (int amount) |
Heals the player for a certain amount. More... | |
void | HealEffect (int healAmount, bool broadcast=true) |
Spawns a CombatText indicating the player healed healAmount life and syncs it if broadcast is true. Note that this doesn't actually heal the player, it only spawns the floating text. The Heal(int) method heals the player and calls this method and is more commonly used. | |
void | HoneyCollision (bool fallThrough, bool ignorePlats) |
void | HorizontalMovement () |
void | HorsemansBlade_SpawnPumpkin (int npcIndex, int dmg, float kb) |
void | Hurt (HurtInfo info, bool quiet=false) |
double | Hurt (PlayerDeathReason damageSource, int Damage, int hitDirection, bool pvp=false, bool quiet=false, int cooldownCounter=-1, bool dodgeable=true, float armorPenetration=0, float scalingArmorPenetration=0, float knockback=4.5f) |
double | Hurt (PlayerDeathReason damageSource, int Damage, int hitDirection, out HurtInfo info, bool pvp=false, bool quiet=false, int cooldownCounter=-1, bool dodgeable=true, float armorPenetration=0, float scalingArmorPenetration=0, float knockback=4.5f) |
bool | InInteractionRange (int interactX, int interactY, TileReachCheckSettings settings) |
bool | InModBiome (ModBiome baseInstance) |
Determines if the player is in specified ModBiome. This will throw exceptions on failure. More... | |
bool | InModBiome< T > () |
bool | InOpposingTeam (Player otherPlayer) |
void | InterruptItemUsageIfOverTile (int tileTypeToBeOver) |
bool | InZonePurity () |
Calculates whether or not the player is in the purity/forest biome. | |
bool | IsAmmoFreeThisShot (Item weapon, Item ammo, int projToShoot) |
Determines whether or not the given ammunition should be conserved, based on the given weapon as wielded by this player. More... | |
bool | IsBlacklistedForGrappling (Point p) |
bool | IsColorfulDye (int dye) |
bool | IsInInteractionRangeToMultiTileHitbox (int chestPointX, int chestPointY) |
bool | IsInTileInteractionRange (int targetX, int targetY, TileReachCheckSettings settings) |
bool | IsItemSlotUnlockedAndUsable (int slot) |
bool | isNearFairy () |
bool | isNearNPC (int type, float range=-1f) |
bool | IsProjectileInteractibleAndInInteractionRange (Projectile proj, ref Vector2 compareSpot) |
bool | IsStackingItems () |
bool | IsTargetTileInItemRange (Item sItem) |
bool | IsTileTypeInInteractionRange (int targetTileType, TileReachCheckSettings settings) |
bool | IsWithinSnappngRangeToTile (int x, int y, int distanceInPixels) |
void | ItemCheck () |
void | ItemCheck_ApplyUseStyle (float mountOffset, Item sItem, Rectangle heldItemFrame) |
void | ItemCheck_ManageRightClickFeatures () |
void | ItemCheck_ManageRightClickFeatures_ShieldRaise (bool theGeneralCheck) |
bool | ItemFitsItemFrame (Item i) |
bool | ItemFitsWeaponRack (Item i) |
bool | ItemIsVisuallyIncompatible (Item item) |
ItemSpaceStatus | ItemSpace (Item newItem) |
bool | ItemSpaceForCofveve (Item newItem) |
void | JumpMovement () |
void | KeyDoubleTap (int keyDir) |
void | KeyHoldDown (int keyDir, int holdTime) |
void | KillMe (PlayerDeathReason damageSource, double dmg, int hitDirection, bool pvp=false) |
void | KillMeForGood () |
void | LimitPointToPlayerReachableArea (ref Vector2 pointPoisition) |
void | LockGamepadTileInteractions () |
void | LookForTileInteractions () |
void | MagicConch () |
void | ManaEffect (int manaAmount) |
void | ManageSpecialBiomeVisuals (string biomeName, bool inZone, Vector2 activationSource=default(Vector2)) |
void | MatchItemTimeToItemAnimation () |
void | MinionNPCTargetAim (bool doNotDisableIfTheTargetIsTheSame) |
void | MinionRestTargetAim () |
void | MoonLeechRope () |
void | NebulaLevelup (int type) |
void | NinjaDodge () |
void | OnHit (float x, float y, Entity victim) |
void | OnKillNPC (ref NPCKillAttempt attempt, object externalKillingBlowSource) |
void | OpenBossBag (int type) |
void | OpenCanofWorms (int sourceItemType) |
void | OpenChest (int x, int y, int newChest) |
Handles boilerplate for gamepad and UI when opening or closing a container. Sets Player.chestX, and Player.chestY, and Player.chest to the given coordinates. More... | |
void | OpenFishingCrate (int crateItemID) |
void | OpenGoodieBag (int itemType) |
void | OpenHerbBag (int bagType) |
void | OpenLegacyPresent (int itemType) |
void | OpenLockBox (int lockboxItemType) |
void | OpenOyster (int sourceItemType) |
void | OpenPresent (int itemType) |
void | OpenShadowLockbox (int boxType) |
bool | PayCurrency (long price, int customCurrency=-1) |
Attempts to "purchase" something that costs the given price . Items will be taken from all of the player inventories and banks combined. If customCurrency is provided, the price will be in terms of the custom currency instead of coins. The currency will be taken from the inventories. This method does not check if the player has enough currency (use CanAfford(long, int) to check that), the game will crash if called on a player without enough currency. Use BuyItem(long, int) instead for the more typical usage. | |
void | PetAnimal (int animalNpcIndex) |
bool | PickAmmo (Item weapon, out int projToShoot, out float speed, out int damage, out float knockBack, out int usedAmmoItemId, bool dontConsume=false) |
A more-convenient-to-call variant of the vanilla PickAmmo method, which handles most vanilla ammunition logic to decide various common stats related to ammunition-consuming weapons. The stats output by this method take into account any extra stats which the ammunition it finds may provide (read: it accounts for ammo damage and knockback). More... | |
void | PickTile (int x, int y, int pickPower) |
void | PickWall (int x, int y, int damage) |
void | PlaceThing (ref ItemCheckContext context) |
void | PlaceThing_Tiles_PlaceIt_ConsumeFlexibleWandMaterial () |
void | PlaceWeapon (int x, int y) |
void | PlayDroppedItemAnimation (int time) |
void | PlayDrums (float range) |
void | PlayerFrame () |
void | PlayGuitarChord (float range) |
void | PutItemInInventoryFromItemUsage (int type, int theSelectedItem=-1) |
void | QuickBuff () |
void | QuickGrapple () |
Item | QuickGrapple_GetItemToUse () |
void | QuickHeal () |
Item | QuickHeal_GetItemToUse () |
void | QuickMana () |
Item | QuickMana_GetItemToUse () |
void | QuickMount () |
Item | QuickMount_GetItemToUse () |
int | QuickSpawnClonedItem (IEntitySource source, Item item, int stack=1) |
Will spawn an item like Player.QuickSpawnItem(IEntitySource, int, int), but clones it (handy when you need to retain item infos) More... | |
Item | QuickSpawnClonedItemDirect (IEntitySource source, Item item, int stack=1) |
int | QuickSpawnItem (IEntitySource source, int item, int stack=1) |
Spawns an item into the world at this players position. This is a simpler alternative to Item.NewItem(IEntitySource, int, int, int, int, int, int, bool, int, bool, bool). This method can be called from multiplayer client code without necessitating manually syncing the item. Use QuickSpawnItem(IEntitySource, Item, int) if a specific instance of an Item needs to be spawned into the world to preserve modded data. More... | |
int | QuickSpawnItem (IEntitySource source, Item item, int stack=1) |
Item | QuickSpawnItemDirect (IEntitySource source, int type, int stack=1) |
Item | QuickSpawnItemDirect (IEntitySource source, Item item, int stack=1) |
void | QuickStackAllChests () |
void | RecalculateLuck () |
void | RefreshExtraJumps () |
For each extra jump that is ExtraJumpState.Enabled, its ExtraJumpState.Available property set to true , allowing the extra jump to be used again.Vanilla calls this method when the player is grounded and when jumping off of a grappling hook. | |
void | RefreshInfoAccs () |
void | RefreshInfoAccsFromItemType (Item item) |
void | RefreshInfoAccsFromTeamPlayers () |
void | RefreshItems (bool onlyIfVariantChanged=true) |
Calls Item.Refresh(bool) on all player-owned storage (inventory, banks, equipment). Also refreshes recipe and shop entries. This is called when entering a world and serves to ensure that items with ItemVariants have the correct stats. | |
void | RefreshMechanicalAccsFromItemType (int accType) |
void | RefreshMovementAbilities (bool doubleJumps=true) |
void | RemoveAllFishingBobbers () |
void | RemoveAllGrapplingHooks () |
void | RemoveSpawn () |
void | ResetAdvancedShadows () |
void | ResetEffects () |
void | ResetFloorFlags () |
void | ResetMeleeHitCooldowns () |
void | ResetVisibleAccessories () |
int | RollLuck (int range) |
Vector2 | RotatedRelativePoint (Vector2 pos, bool reverseRotation=false, bool addGfxOffY=true) |
Takes an input position and returns the position adjusted to the players visual rotation and offset. This accounts for the player being shifted up or down and rotated while riding a mount, sitting in a chair, and sleeping. More... | |
Vector2 | RotatedRelativePointOld (Vector2 pos, bool rotateForward=true) |
void | RotateRelativePoint (ref float x, ref float y) |
void | ScrollHotbar (int Offset) |
bool | SellItem (Item item, int stack=-1) |
Player | SerializedClone () |
void | SetArmorEffectVisuals (Player drawPlayer) |
void | SetCompositeArmBack (bool enabled, CompositeArmStretchAmount stretch, float rotation) |
void | SetCompositeArmFront (bool enabled, CompositeArmStretchAmount stretch, float rotation) |
void | SetDummyItemTime (int frames) |
void | SetImmuneTimeForAllTypes (int time) |
void | SetItemAnimation (int frames) |
void | SetItemTime (int frames) |
void | SetMeleeHitCooldown (int npcIndex, int timeInFrames) |
void | SetPlayerDataToOutOfClassFields () |
void | SetTalkNPC (int npcIndex, bool fromNet=false) |
void | ShadowDodge () |
void | Shellphone_Spawn () |
void | ShimmerCollision (bool fallThrough, bool ignorePlats, bool noCollision) |
bool | ShouldDrawFootball () |
bool | ShouldDrawWingsThatAreAlwaysAnimated () |
void | SlopeDownMovement () |
void | SlopingCollision (bool fallThrough, bool ignorePlats) |
void | SmartInteractLookup () |
void | SmartSelectLookup () |
void | Spawn (PlayerSpawnContext context) |
bool | Spawn_GetPositionAtWorldSpawn (ref int floorX, ref int floorY) |
int | SpawnMinionOnCursor (IEntitySource projectileSource, int ownerIndex, int minionProjectileId, int originalDamageNotScaledByMinionDamage, float KnockBack, Vector2 offsetFromCursor=default(Vector2), Vector2 velocityOnSpawn=default(Vector2)) |
void | SporeSac (Item sourceItem) |
void | StartChanneling () |
void | StartChanneling (Item item) |
void | StatusFromNPC (NPC npc) |
void | StatusToNPC (int type, int i) |
void | StatusToPlayerPvP (int type, int i) |
void | StickyMovement () |
void | StopExtraJumpInProgress () |
Cancels any extra jump in progress. Sets all ExtraJumpState.Active flags to false and calls OnExtraJumpEnded hooks.Also sets jump to 0 if a an extra jump was active. More... | |
void | StopVanityActions (bool multiplayerBroadcast=true) |
void | StrikeNPCDirect (NPC npc, NPC.HitInfo hit) |
Applies a hit to an NPC via NPC.StrikeNPC(NPC.HitInfo, bool, bool). Also calls player based OnHit and OnKill hooks, tracks dps and net syncs the strike More... | |
bool | SummonItemCheck (Item item) |
void | TakeDamageFromJellyfish (int npcIndex) |
void | TakeUnityPotion () |
bool | TeamChangeAllowed () |
void | Teleport (Vector2 newPos, int Style=0, int extraInfo=0) |
void | TeleportationPotion () |
void | TileInteractionsCheck (int myX, int myY) |
void | ToggleCreativeMenu () |
void | ToggleInv () |
void | ToggleLight () |
void | TogglePet () |
void | TryCancelChannel (Projectile projectile) |
void | TryDroppingSingleItem (IEntitySource source, Item theItem) |
bool | TryGetModPlayer< T > (out T result) |
Gets the instance of the specified ModPlayer type. More... | |
bool | TryGetModPlayer< T > (T baseInstance, out T result) |
Safely attempts to get the local instance of the type of the specified ModPlayer instance. More... | |
void | TryGettingDevArmor (IEntitySource source) |
void | TryInterruptingItemUsage () |
void | TryOpeningFullscreenMap () |
bool | TryPlacingAGolfBallNearANearbyTee (Vector2 placePosition) |
void | TryPortalJumping () |
void | TrySwitchingLoadout (int loadoutIndex) |
void | TryTogglingShield (bool shouldGuard) |
void | TryToResetHungerToNeutral () |
void | TryUpdateChannel (Projectile projectile) |
void | UnityTeleport (Vector2 telePos) |
void | Update (int i) |
void | Update_NPCCollision () |
void | UpdateAdvancedShadows () |
void | UpdateArmorLights () |
void | UpdateArmorSets (int i) |
void | UpdateBiomes () |
void | UpdateBlacklistedTilesForGrappling () |
void | UpdateBuffs (int i) |
void | UpdateDead () |
void | UpdateDyes () |
void | UpdateEquips (int i) |
void | UpdateForbiddenSetLock () |
void | UpdateHairDyeDust () |
void | UpdateHungerBuffs () |
void | UpdateImmunity () |
void | UpdateJumpHeight () |
void | UpdateLifeRegen () |
void | UpdateLuck () |
void | UpdateLuckFactors () |
void | UpdateManaRegen () |
void | UpdateMaxTurrets () |
Kills Projectile.sentry projectiles exceeding the players current maxTurrets. The oldest projectiles, determined by Projectile.timeLeft, are killed. Call this method immediately after spawning a Projectile.sentry projectile. | |
void | UpdateMeleeHitCooldowns () |
void | UpdateMinionTarget () |
void | UpdateMiscCounter () |
void | UpdateNearbyInteractibleProjectilesList () |
void | UpdatePermanentBoosters () |
void | UpdatePet (int i) |
void | UpdatePetLight (int i) |
void | UpdateSocialShadow () |
void | UpdateStarvingState (bool withEmote) |
void | UpdateTeleportVisuals () |
void | UpdateTouchingTiles () |
void | UpdateVisibleAccessories (Item item, bool invisible, int slot=-1, bool modded=false) |
Invoked in UpdateVisibleAccessories. Runs common code for both modded slots and vanilla slots based on provided Items. | |
void | UpdateVisibleAccessory (int itemSlot, Item item, bool modded=false) |
void | UseHealthMaxIncreasingItem (int increase) |
void | UseManaMaxIncreasingItem (int increase) |
bool | useVoidBag () |
void | VolatileGelatin (Item sourceItem) |
void | WallslideMovement () |
void | WaterCollision (bool fallThrough, bool ignorePlats) |
void | WingFrame (bool wingFlap, bool isCustomWings=false) |
void | WingMovement () |
void | WOFTongue () |
void | Yoraiz0rEye () |
Public Member Functions inherited from Entity | |
float | AngleFrom (Vector2 Source) |
float | AngleTo (Vector2 Destination) |
Vector2 | DirectionFrom (Vector2 Source) |
Vector2 | DirectionTo (Vector2 Destination) |
float | Distance (Vector2 Other) |
float | DistanceSQ (Vector2 Other) |
IEntitySource | GetSource_CatchEntity (Entity caughtEntity, string? context=null) |
IEntitySource | GetSource_Death (string? context=null) |
IEntitySource | GetSource_DropAsItem (string? context=null) |
IEntitySource | GetSource_FromAI (string? context=null) |
IEntitySource | GetSource_FromThis (string? context=null) |
IEntitySource | GetSource_GiftOrReward (string? context=null) |
IEntitySource | GetSource_Loot (string? context=null) |
IEntitySource | GetSource_Misc (string context) |
IEntitySource | GetSource_OnHit (Entity victim, string? context=null) |
IEntitySource | GetSource_OnHurt (Entity? attacker, string? context=null) |
IEntitySource | GetSource_ReleaseEntity (string? context=null) |
IEntitySource | GetSource_TileInteraction (int tileCoordsX, int tileCoordsY, string? context=null) |
bool | WithinRange (Vector2 Target, float MaxRange) |
Static Public Member Functions | |
static bool | CanPlayerSmashWall (int X, int Y) |
static bool | CheckSpawn (int x, int y) |
static void | ClearPlayerTempInfo () |
static byte | FindClosest (Vector2 Position, int Width, int Height) |
static void | FixLoadedData_EliminiateDuplicateAccessories (Item[] armorArray) |
static float | GetAnglerRewardRarityMultiplier (int questsDone) |
static float | GetClosestPlayersLuck (Point Position) |
static float | GetClosestPlayersLuck (Vector2 Position) |
static float | GetClosestRollLuck (int x, int y, int range) |
static float | GetClosestRollLuck (Vector2 position, int range) |
static PlayerFileData | GetFileData (string file, bool cloudSave) |
static ? Tile | GetFloorTile (int x, int y) |
Gets a solid, unactuated tile at the tile coordinates provided. Will fallback to the tile to the left or right if necessary. Returns null if no suitable tile is found. Typically used to retrieve the tile a player is standing on by passing in the tile coordinates directly below the player. | |
static int | GetFloorTileType (int x, int y) |
static int | GetMouseScrollDelta () |
static void | InternalSaveMap (bool isCloudSave) |
static bool | IsHoveringOverABottomSideOfABed (int myX, int myY) |
static PlayerFileData | LoadPlayer (string playerPath, bool cloudSave) |
static PlayerFileData | LoadPlayerFromStream (PlayerFileData playerFileData, byte[] plrData, byte[] tplrData) |
static void | SavePlayer (PlayerFileData playerFile, bool skipMapSave=false) |
static byte[] | SavePlayerFile_Vanilla (PlayerFileData playerFile) |
static int | SetMatch (SetMatchRequest request, ref bool somethingSpecial) |
static bool | WouldSpotOverlapWithSentry (int worldX, int worldY, bool lightningAura) |
Static Public Member Functions inherited from Entity | |
static IEntitySource | GetSource_NaturalSpawn () |
static ? IEntitySource | GetSource_None () |
static IEntitySource | GetSource_TownSpawn () |
static ? IEntitySource | InheritSource (Entity entity) |
Public Attributes | |
int | _framesLeftEligibleForDeadmansChestDeathAchievement |
int | _funkytownAchievementCheckCooldown |
int | _portalPhysicsTime |
bool | abigailMinion |
bool | accCalendar |
int | accCompass |
bool | accCritterGuide |
byte | accCritterGuideCounter |
byte | accCritterGuideNumber |
int | accDepthMeter |
bool | accDivingHelm |
bool | accDreamCatcher |
bool | accFishFinder |
bool | accFishingBobber |
bool | accFishingLine |
If true , this player's fishing line will never break. | |
bool | accJarOfSouls |
bool | accLavaFishing |
bool | accMerman |
bool | accOreFinder |
float | accRunSpeed |
Similar to maxRunSpeed, except this is usually set to a specific value for the active shoe accessory. If accRunSpeed ends up larger than maxRunSpeed, then sprint dust will spawn at high speeds. Basically, this exists to differentiate between sprinting ("run super fast") and running. Defaults to 3f. Accessories set this to specific values, resulting in the last equipped accessories to dictate the final value. Vanilla shoe accessories set this to 6f (ItemID.HermesBoots) or 6.75 (ItemID.LightningBoots). This assignment should happen in ModItem.UpdateEquip(Player). This value is later multiplied by other effects in the same manner as maxRunSpeed. They are usually modified in tandem, but not always depending on the desired result. For example, asphalt triples maxRunSpeed but does not affect accRunSpeed, whereas Shadow Armor affects both equally. These multiplicative adjustments should only be done in ModPlayer.PostUpdateRunSpeeds or ModItem.HorizontalWingSpeeds to correctly function. When on a mount, all other modifiers are ignored and it is set to Mount.DashSpeed | |
bool | accStopwatch |
bool | accTackleBox |
bool | accThirdEye |
byte | accThirdEyeCounter |
byte | accThirdEyeNumber |
int | accWatch |
bool | accWeatherRadio |
bool | ActuationRodLock |
bool | ActuationRodLockSetting |
bool | adjHoney |
True if the player is within crafting range of a tile with honey or a TileID.Sets.CountsAsHoneySource tile. (adjHoney stands for adjacent to honey) | |
bool | adjLava |
True if the player is within crafting range of a tile with lava or a TileID.Sets.CountsAsLavaSource tile. (adjLava stands for adjacent to lava) | |
bool | adjShimmer |
True if the player is within crafting range of a tile with shimmer or a TileID.Sets.CountsAsShimmerSource tile. (adjShimmer stands for adjacent to shimmer) | |
bool | adjWater |
True if the player is within crafting range of a tile with water or a TileID.Sets.CountsAsWaterSource tile. (adjWater stands for adjacent to water) | |
int | afkCounter |
int | aggro |
bool | alchemyTable |
int | altFunctionUse |
bool | ammoBox |
bool | ammoCost75 |
bool | ammoCost80 |
bool | ammoPotion |
int | anglerQuestsFinished |
bool | anglerSetSpawnReduction |
bool | archery |
bool | arcticDivingGear |
Item[] | armor = new Item[20] |
The player's armor and accessories. Indexes 0-2 hold head, chest, and legs armor while 10-12 hold the respective social armor items. Indexes 3-9 hold the accessories and 13-19 hold the social accessory items. Modded accessory slots are stored separately. Generally speaking, modders should not be accessing this array to check for specific accessories, that is not how Terraria is designed and is not scalable, especially since modded accessory slots exist and each can have special logic. Modders should be using ModItem.UpdateAccessory(Player, bool) to set fields in a ModPlayer class, then use those values for gameplay effects. SimpleModPlayer.csshows the proper approach and explains this pattern. The corresponding dye items are found in dye. The player's inventory is inventory. For equipment, see miscEquips and miscDyes. trashItem is the trash slot. | |
bool | armorEffectDrawOutlines |
bool | armorEffectDrawOutlinesForbidden |
bool | armorEffectDrawShadow |
bool | armorEffectDrawShadowBasilisk |
bool | armorEffectDrawShadowEOCShield |
bool | armorEffectDrawShadowLokis |
bool | armorEffectDrawShadowSubtle |
StatModifier | arrowDamage = StatModifier.Default |
bool | ashWoodBonus |
bool | ateArtisanBread |
int | attackCD |
bool | autoActuator |
bool | autoJump |
bool | autoPaint |
bool | autoReuseAllWeapons |
bool | autoReuseGlove |
int | availableAdvancedShadowsCount |
bool | babyBird |
bool | babyFaceMonster |
int | back = -1 |
int | backpack = -1 |
bool | ballistaPanic |
int | balloon = -1 |
int | balloonFront = -1 |
Chest | bank = new Chest(bank: true) |
Piggy Bank items | |
Chest | bank2 = new Chest(bank: true) |
Safe items | |
Chest | bank3 = new Chest(bank: true) |
Defender's Forge items | |
Chest | bank4 = new Chest(bank: true) |
Void Vault items | |
int | bartenderQuestLog |
float | basiliskCharge |
bool | batsOfLight |
int | beard = -1 |
int | beardGrowthTimer |
bool | beetleBuff |
int | beetleCountdown |
float | beetleCounter |
bool | beetleDefense |
int | beetleFrame |
int | beetleFrameCounter |
bool | beetleOffense |
int | beetleOrbs |
Vector2[] | beetlePos = new Vector2[3] |
Vector2[] | beetleVel = new Vector2[3] |
bool | behindBackWall |
bool | biomeSight |
bool | blackBelt |
bool | blackCat |
bool | blackout |
bool | bleed |
bool | blind |
bool | blockExtraJumps |
When true , all extra jumps will be blocked, including Flipper usage.Setting this field to true will not stop any currently active extra jumps. | |
int | blockRange |
bool | bloodMoonMonolithShader |
bool | blueFairy |
int | body = -1 |
Rectangle | bodyFrame |
double | bodyFrameCounter |
Vector2 | bodyPosition |
float | bodyRotation |
Vector2 | bodyVelocity |
bool | boneArmor |
Item | boneGloveItem |
int | boneGloveTimer |
int | brainOfConfusionDodgeAnimationCounter |
Item | brainOfConfusionItem |
int | breath = 200 |
int | breathCD |
int | breathMax = 200 |
bool | brokenArmor |
bool[] | buffImmune = new bool[BuffID.Count] |
Indexed by BuffID. If true for a given BuffID, then this player cannot be inflicted with that buff. Additionally, if the player is inflicted with that buff and becomes immune to it, the buff will be cleared. Defaults to false . | |
int[] | buffTime = new int[maxBuffs] |
The remaining durations in ticks of all buffs this player has active. A value of 0 means that buff slot is empty. Buff types are stored with the same index in buffType. AddBuff(int, int, bool, bool), ClearBuff(int), and DelBuff(int) should be used to manipulate player buffs. | |
int[] | buffType = new int[maxBuffs] |
The BuffIDs of all buffs this player has active. A value of 0 means that buff slot is empty. Buff times are stored with the same index in buffTime. AddBuff(int, int, bool, bool), ClearBuff(int), and DelBuff(int) should be used to manipulate player buffs. | |
int[] | builderAccStatus = new int[BuilderToggleLoader.BuilderToggleCount] |
StatModifier | bulletDamage = StatModifier.Default |
bool | bunny |
bool | burned |
bool | cactusThorns |
bool | calmed |
bool | canCarpet |
bool | canFloatInWater |
int | cAngelHalo |
bool | canRocket |
bool | CanSeeInvisibleBlocks |
bool | carpet |
int | carpetFrame = -1 |
float | carpetFrameCounter |
int | carpetTime |
bool | cartFlip |
int | cartRampTime |
int | cBack |
int | cBackpack |
int | cBalloon |
int | cBalloonFront |
int | cBeard |
int | cBody |
The armor shader ID applied to the EquipType.Body equip texture by a dye item (Item.dye) in the dye slot. | |
int | cCarpet |
int | cFace |
int | cFaceFlower |
int | cFaceHead |
int | cFlameWaker |
int | cFloatingTube |
int | cFront |
int | cGrapple |
The armor shader ID applied to the Hook equipment slot by a dye item (Item.dye) in the dye slot. | |
int | cHandOff |
int | cHandOn |
int | changeItem = -1 |
bool | channel |
bool | chaosState |
OverheadMessage | chatOverhead |
int | cHead |
The armor shader ID applied to the EquipType.Head equip texture by a dye item (Item.dye) in the dye slot. | |
int | chest = -1 |
Represents the chest the player currently has open. If -1, the player has no chest open. Positive values indicate the index of the chest in Main.chest the player currently has open. Negative values are used to indicate additional inventories: Piggy Bank (-2), Safe (-3), Defender's Forge (-4), Void Vault (-5) | |
int | chestX |
int | chestY |
bool | chilled |
bool | chiselSpeed |
bool | chloroAmmoCost80 |
SelectionRadial | CircularRadial = new SelectionRadial(SelectionRadial.SelectionMode.RadialCircular) |
int | cLegs |
The armor shader ID applied to the EquipType.Legs equip texture by a dye item (Item.dye) in the dye slot. | |
int | cLeinShampoo |
int | cLight |
The armor shader ID applied to the Light Pet equipment slot by a dye item (Item.dye) in the dye slot. | |
int | cMinecart |
The armor shader ID applied to the Minecart equipment slot by a dye item (Item.dye) in the dye slot. | |
int | cMinion |
int | cMount |
The armor shader ID applied to the Mount equipment slot by a dye item (Item.dye) in the dye slot. | |
int | cNeck |
float | coinLuck |
bool | coldDash |
bool | companionCube |
CompositeArmData | compositeBackArm |
CompositeArmData | compositeFrontArm |
bool | confused |
bool | controlCreativeMenu |
bool | controlDown |
bool | controlDownHold |
True when the player has been holding controlDown for at least 45 ticks. Used by ItemID.ShimmerCloak. See also holdDownCardinalTimer. | |
bool | controlHook |
bool | controlInv |
bool | controlJump |
bool | controlLeft |
bool | controlMap |
bool | controlMount |
bool | controlQuickHeal |
bool | controlQuickMana |
bool | controlRight |
bool | controlSmart |
bool | controlThrow |
bool | controlTorch |
bool | controlUp |
bool | controlUseItem |
bool | controlUseTile |
bool | coolWhipBuff |
bool | cordage |
int | counterWeight |
int | cPet |
The armor shader ID applied to the Pet equipment slot by a dye item (Item.dye) in the dye slot. | |
int | cPortableStool |
bool | cratePotion |
bool | creativeGodMode |
bool | creativeInterface |
CreativeUnlocksTracker | creativeTracker |
bool | crimsonHeart |
bool | crimsonRegen |
bool | crystalLeaf |
int | crystalLeafCooldown |
bool | cSapling |
int | cShield |
int | cShieldFallback |
int | cShoe |
int | cTail |
int | cUnicornHorn |
int | CurrentLoadoutIndex |
ShoppingSettings | currentShoppingSettings = ShoppingSettings.NotInShop |
bool | cursed |
bool | cursorItemIconEnabled |
int | cursorItemIconID |
int | cursorItemIconPush |
bool | cursorItemIconReversed |
string | cursorItemIconText = "" |
int | cWaist |
int | cWings |
int | cYorai |
bool | dangerSense |
int | dash |
The current vanilla dash that the player is VISIBLY using. Unlike dashType, this does not update if a dash cannot currently be input. | |
int | dashDelay |
The amount of time that has to pass, in ticks, before a new dash input will be registered. For the first frame of any given dash, this is set to -1. After that frame has passed, it is set to 20 ticks, or 1/3 of a second. For the Tabi dash, and when dashing into an enemy with the Shield of Cthulhu, this is set to 30 ticks, or 1/2 of a second, instead. | |
int | dashTime |
The amount of time this player has left, in ticks, to input the second keystroke of a standard dash input (double-tap left/right). For vanilla dashes, this window is 15 ticks, or a quarter of a second, in total. | |
int | dashType |
The current vanilla dash that the player is using. The following values correspond to vanilla dashes: 1 => Tabi / Master Ninja Gear 2 => Shield of Cthulhu 3 => Solar Flare armor set bonus 4 => Unused, though a dash for this value DOES exist 5 => Crystal Assassin set bonus | |
bool | dazed |
bool | dd2Accessory |
bool | dead |
Indicates if this player is dead | |
bool | DeadlySphereMinion |
bool | defendedByPaladin |
MultipliableFloat | DefenseEffectiveness |
Determines how effective the player's statDefense is at reducing incoming damage. The Defense wiki pageexplains the effect, shown in the wiki as "factor". | |
bool | delayUseItem |
bool | desertBoots |
Grants the player increased movement speed while running on sand | |
bool | desertDash |
bool | detectCreature |
byte | difficulty |
bool | dino |
int | disableVoidBag = -1 |
bool | discountAvailable |
bool | discountEquipped |
string | displayedFishingInfo = "" |
bool | dontHurtCritters |
bool | dontHurtNature |
bool | dontStarveShader |
DoorOpeningHelper | doorHelper |
int[] | doubleTapCardinalTimer = new int[4] |
Used to count time between repeated directional movement key presses. When a directional key is pressed it is set to a value of 15. The value will count down each update until it reaches 0. If the key is pressed again before it reaches 0 it will trigger Player.KeyDoubleTap, which will call ModPlayer.ArmorSetBonusActivated if the armor set bonus direction key has been pressed. Updated immediately before ModPlayer.SetControls. | |
bool | downedDD2EventAnyDifficulty |
SelectionRadial | DpadRadial = new SelectionRadial() |
int | dpsDamage |
DateTime | dpsEnd |
DateTime | dpsLastHit |
DateTime | dpsStart |
bool | dpsStarted |
float | drainBoost |
bool | drawingFootball |
bool | dripping |
bool | drippingSlime |
bool | drippingSparkleSlime |
bool | dryadWard |
Item[] | dye = new Item[10] |
The dye items corresponding to the armor items. | |
bool | eater |
bool | editedChestName |
bool | electrified |
int | emoteTime |
bool | empressBlade |
bool | empressBrooch |
bool | enabledSuperCart = true |
If true , then this player has the effects of the Super Cart enabled. See UsingSuperCart for more info. | |
float | endurance |
The percent of damage this player should resist. Has a soft cap of 1f . Cannot reduce taken damage below 1 . | |
bool | enemySpawns |
int | environmentBuffImmunityTimer |
int | eocDash |
int | eocHit |
float | equipmentBasedLuckBonus |
bool | equippedAnyTileRangeAcc |
bool | equippedAnyTileSpeedAcc |
bool | equippedAnyWallSpeedAcc |
Item | equippedWings = null |
bool | extraAccessory |
int | extraAccessorySlots = 2 |
int | extraFall |
The number of extra tiles this player can fall before they start taking fall damage. For example ItemID.FrogLeg adds 10 to extraFall. More... | |
bool | eyebrellaCloud |
Color | eyeColor = new Color(105, 90, 75) |
PlayerEyeHelper | eyeHelper |
bool | eyeSpring |
int | face = -1 |
int | faceFlower = -1 |
int | faceHead = -1 |
bool | fairyBoots |
int | fallStart |
int | fallStart2 |
int | fartKartCloudDelay |
bool | findTreasure |
bool | fireWalk |
Grants the player immunity from TileID.Sets.TouchDamageHot applying the BuffID.Burning buff. Given by ItemID.ObsidianSkull and many other items. | |
float | firstFractalAfterImageOpacity |
int | fishingSkill |
byte | flameRingAlpha |
byte | flameRingFrame |
float | flameRingRot |
float | flameRingScale = 1f |
bool | flapSound |
bool | flinxMinion |
bool | flowerBoots |
int | forcedGravity |
bool | forceMerman |
bool | forceWerewolf |
bool | frogLegJumpBoost |
int | front = -1 |
bool | frostArmor |
bool | frostBurn |
bool | frozen |
float | fullRotation |
Vector2 | fullRotationOrigin = Vector2.Zero |
int | gem = -1 |
int | gemCount |
float | gfxOffY |
An offset from the actual position of the player that will be added to the draw position. Used to fake the effect of the player smoothly traveling up single block obstacles. | |
bool | ghost |
float | ghostDir = 1f |
float | ghostDmg |
float | ghostFade |
int | ghostFrame |
int | ghostFrameCounter |
bool | ghostHeal |
bool | ghostHurt |
bool | gills |
bool | GoingDownWithGrapple |
bool | goldRing |
int | golferScoreAccumulated |
int | grapCount |
int[] | grappling = new int[20] |
bool | gravControl |
bool | gravControl2 |
float | gravDir = 1f |
The players gravity direction. 1 if normal, -1 if reversed. Defaults to 1. | |
float | gravity = defaultGravity |
bool | greenFairy |
bool | grinch |
bool | gross |
int | hair |
Color | hairColor = new Color(215, 90, 55) |
int | hairDye |
Color | hairDyeColor = Color.Transparent |
float | hairDyeVar |
Rectangle | hairFrame |
int | handoff = -1 |
int | handon = -1 |
bool | happyFunTorchTime |
bool | hasAngelHalo |
bool | hasCreditsSceneMusicBox |
bool | hasFloatingTube |
bool | hasFootball |
bool | HasGardenGnomeNearby |
bool | hasGemRobe = false |
Set by any gem robe when worn by the player in the functional armor slot. Increases the spawn rate of NPCID.Tim. | |
bool | hasLuck_LuckyCoin |
bool | hasLuck_LuckyHorseshoe |
bool | hasLuckyCoin |
bool | hasLucyTheAxe |
bool | hasMagiluminescence |
bool | hasMoltenQuiver |
bool | hasPaladinShield |
bool | hasRainbowCursor |
bool | hasRaisableShield |
bool | hasTitaniumStormBuff |
bool | hasUnicornHorn |
bool | hbLocked |
int | head = -1 |
bool | headcovered |
Rectangle | headFrame |
double | headFrameCounter |
Vector2 | headPosition |
float | headRotation |
Vector2 | headVelocity |
bool | heartyMeal |
int | heldProj = -1 |
The index of the projectile (Entity.whoAmI) currently being "held" by the player as if it were an item. Set during projectile AI. Held projectiles will be drawn during player rendering over the player's arms. When making a held projectile, make sure to test holding the projectile while moving up or down a single block obstacles and adjust Player.RotatedRelativePoint, Player.gfxOffY or ProjectileID.Sets.HeldProjDoesNotUsePlayerGfxOffY accordingly if the draw location is incorrect. Defaults to -1. | |
bool | hellfireTreads |
SoundPlaySet | hermesStepSound = new SoundPlaySet() |
bool[] | hideInfo = new bool[InfoDisplayLoader.InfoDisplayCount] |
bool | hideMerman |
BitsByte | hideMisc = (byte)0 |
bool[] | hideVisibleAccessory = new bool[10] |
bool | hideWolf |
int | highestAbigailCounterOriginalDamage |
int | highestStormTigerGemOriginalDamage |
HitTile | hitReplace |
HitTile | hitTile |
int[] | holdDownCardinalTimer = new int[4] |
Counts how long (in ticks) the player has been holding directional movement keys. Updated immediately before ModPlayer.SetControls. | |
bool | honey |
Item | honeyCombItem |
If not null , this player will create damaging bee projectiles when taking damage. | |
bool | hornet |
bool | hornetMinion |
bool | hostile |
If true, the player has PvP enabled | |
int | HotbarOffset |
bool | hungry |
bool | huntressAmmoCost90 |
int[] | hurtCooldowns = new int[5] |
bool | iceBarrier |
byte | iceBarrierFrame |
byte | iceBarrierFrameCounter |
bool | iceSkate |
Grant the player improved speed on ice and not breaking thin ice when falling onto it | |
bool | ichor |
bool | ignoreWater |
bool | immune |
int | immuneAlpha |
int | immuneAlphaDirection |
bool | immuneNoBlink |
int | immuneTime |
bool | impMinion |
bool | inferno |
int | infernoCounter |
bool | InfoAccMechShowWires |
int | insanityShadowCooldown |
Vector2 | instantMovementAccumulatedThisFrame |
Item[] | inventory = new Item[59] |
The player's normal inventory. Indexes 0-9 hold the hotbar items, 10-49 the rest of the main inventory, 50-53 are coin slots, 54-57 are ammo slots. Index 58 is used to store the mouse item in some situations. Additional inventories are found in bank (Piggy Bank), bank2 (Safe), bank3 (Defender's Forge), and bank4 (Void Vault). For armor and accessories, see armor and dye. For equipment, see miscEquips and miscDyes. trashItem is the trash slot. | |
bool[] | inventoryChestStack = new bool[59] |
bool | invis |
bool | isControlledByFilm |
bool | isDisplayDollOrInanimate |
bool | isFirstFractalAfterImage |
bool | isFullbright |
bool | isHatRackDoll |
bool | isOperatingAnotherEntity |
bool | isPerformingPogostickTricks |
bool | isPettingAnimal |
bool | isTheAnimalBeingPetSmall |
int | itemAnimation |
int | itemAnimationMax |
int | itemFlameCount |
Vector2[] | itemFlamePos = new Vector2[7] |
int | itemHeight |
Vector2 | itemLocation |
float | itemRotation |
int | itemTime |
int | itemTimeMax |
int | itemWidth |
int | jump |
bool | jumpBoost |
float | jumpSpeedBoost |
How much to directly increase jumpSpeed, in pixels/tick. | |
bool | JustDroppedAnItem |
bool | justJumped |
bool | kbBuff |
bool | kbGlove |
bool | killClothier |
bool | killGuide |
double | ladyBugLuckTimeLeft |
Vector2 | lastBoost = Vector2.Zero |
int | lastChest |
int | lastCreatureHit = -1 |
Vector2 | lastDeathPostion |
DateTime | lastDeathTime |
float | lastEquipmentBasedLuckBonus |
bool | lastMouseInterface |
int | lastPortalColorIndex |
bool | lastStoned |
int | lastTeleportPylonStyleUsed |
int | lastTileRangeX |
int | lastTileRangeY |
long | lastTimePlayerWasSaved |
Item | lastVisualizedSelectedItem |
int | lavaCD |
bool | lavaImmune |
Complete lava immunity, such as given by ItemID.ObsidianSkinPotion. | |
int | lavaMax |
The max amount of lava immunity time (in ticks) the player can have. ItemID.LavaCharm and many other accessories add 420 do this, or 7 seconds. | |
bool | lavaRose |
Reduces damage from touching lava and halves the duration of lava inflicted BuffID.OnFire, such as given by ItemID.ObsidianRose and many other items. | |
int | lavaTime |
The remaining amount of lava immunity time (in ticks) the player has. | |
int | leftTimer |
Rectangle | legFrame |
double | legFrameCounter |
Vector2 | legPosition |
float | legRotation |
int | legs = -1 |
Vector2 | legVelocity |
bool | leinforsHair |
bool | lifeForce |
bool | lifeMagnet |
int | lifeRegen |
The rate of this player's life regeneration in health per tick, divided by 120 . To put it another way, it is health regeneration every 2 seconds. Used to implement the damage over time of debuffs and life regeneration accessories such as ItemID.BandofRegeneration. For example, adding 10 to this value regenerates 10 / 120 = 1/6 health per tick, or 5 health per second. Life regeneration is accumulated every tick in lifeRegenCount. This value should be subtracted from in ModPlayer.UpdateBadLifeRegen and added to in ModPlayer.UpdateLifeRegen. | |
int | lifeRegenCount |
This player's accumulated life regeneration. If this value reaches or exceeds 120 , the player gains lifeRegenCount / 120 health and this value decreases until it no longer exceeds 120 . If this value reaches or exceeds -120 , the player loses health in the same way. In either case, text will appear above the player indicating the life regeneration or life loss. | |
float | lifeRegenTime |
How effective this player's natural life regeneration should be. Resets whenever the player is hurt, increases over time. Certain effects increase this value to increase More... | |
float | lifeSteal = 99999f |
bool | lightOrb |
bool | lizard |
EquipmentLoadout[] | Loadouts |
int | loadStatus |
0: Success 1: Future version 2: Read error More... | |
DirectionalInputSyncCache | LocalInputCache |
bool | longInvince |
long | lostCoins |
string | lostCoinString = "" |
bool | loveStruck |
float | luck |
float | luckMaximumCap = 1f |
float | luckMinimumCap = -0.7f |
bool | luckNeedsSync |
byte | luckPotion |
bool | magicCuffs |
bool | magicLantern |
bool | magicQuiver |
bool | magmaStone |
float | manaCost = 1f |
The percent of mana actually used when mana is consumed. Cannot reduce an item's mana cost below 0 . | |
bool | manaFlower |
bool | manaMagnet |
int | manaRegen |
int | manaRegenBonus |
bool | manaRegenBuff |
int | manaRegenCount |
float | manaRegenDelay |
float | manaRegenDelayBonus |
bool | manaSick |
float | manaSickReduction |
bool | mapAlphaDown |
bool | mapAlphaUp |
bool | mapFullScreen |
bool | mapStyle |
bool | mapZoomIn |
bool | mapZoomOut |
float | maxFallSpeed = 10f |
int | maxMinions = 1 |
The maximum value of minions this player can have summoned at once. A minion's value is stored as Projectile.minionSlots. | |
float | maxRegenDelay |
float | maxRunSpeed = 3f |
The maximum speed, in pixels/tick, that this player can reach by just running. The acceleration to that speed is a separate stat (runAcceleration). This should only be modified in ModPlayer.PostUpdateRunSpeeds, ModItem.HorizontalWingSpeeds, or ExtraJump.UpdateHorizontalSpeeds(Player) to correctly function. accRunSpeed is commonly adjusted in tandem if suitable. Defaults to 3f, which is then multiplied by moveSpeed. Effects typically multiply this by some factor. Some examples: On ice with Ice Skates: *= 1.25f On honey block (sticky): *= 0.25f On asphalt block (powerrun): *= 3.5f Shadow Armor (shadowArmor): *= 1.15f Extra jumps: Typically *= 1.5f , see ExtraJump.UpdateHorizontalSpeeds When on a mount, all other modifiers are ignored and it is set to Mount.RunSpeed More... | |
int | maxTurrets = 1 |
int | maxTurretsOld = 1 |
byte | meleeEnchant |
The vanilla flask effect which the player currently has active; these affect all melee weapons and whips. Defaults to 0, which denotes that the player does not currently have a flask active. The following values correspond to vanilla flasks: 1 => Flask of Venom (affected weapons proc Acid Venom on hit) 2 => Flask of Cursed Flames (affected weapons proc Cursed Inferno on hit) 3 => Flask of Fire (affected weapons proc On Fire! on hit) 4 => Flask of Gold (affected weapons proc Midas on hit) 5 => Flask of Ichor (affected weapons proc Ichor on hit) 6 => Flask of Nanites (affected weapons proc Confused on hit) 7 => Flask of Party (affected weapons sometimes release confetti explosions on hit) 8 => Flask of Poison (affected weapons proc Poisoned on hit) | |
int[] | meleeNPCHitCooldown = new int[200] |
bool | meleeScaleGlove |
bool | merman |
bool | minecartLeft |
bool | miniMinotaur |
int | MinionAttackTargetNPC = -1 |
Vector2 | MinionRestTargetPoint = Vector2.Zero |
int | miscCounter |
Counts updates from 0 up to 299 and then resets back to 0. Can be used to drive visuals and other player effects. The Modulo Timer section of the Time and Timers wiki pagehas more details about how to use a counter like this. | |
Item[] | miscDyes = new Item[5] |
The dye items corresponding to the miscEquips items. | |
Item[] | miscEquips = new Item[5] |
The player's equipment items. From indexes 0-4: Pet, Light Pet, Minecart, Mount, and Hook. | |
int | miscTimer |
bool | moonLeech |
bool | moonLordLegs |
bool | moonLordMonolithShader |
Mount | mount |
This player's Mount. Do not overwrite this value. Instead, call Mount.SetMount(int, Player, bool) or Mount.Dismount(Player) on it. Check Mount.Active (via Player.mount.Active ) to determine if the player is currently using a mount. | |
float | MountFishronSpecialCounter |
bool | mouseInterface |
If true, the mouse is currently overlapping with a user interface so any mouse interaction should be not be interpreted as gameplay input, such as using items. UIElements that should block user interaction typically check ContainsPoint(Main.MouseScreen) in the Update method to determine if mouseInterface should be set to true. | |
PlayerMovementAccsCache | movementAbilitiesCache |
float | moveSpeed = 1f |
The multiplier on this player's maxRunSpeed and runAcceleration. This affects how quickly the player reaches max speed as well as the max speed itself. This is typically modified in ModBuff.Update(Player, ref int), ModItem.UpdateEquip(Player), ModItem.UpdateAccessory(Player, bool), or ModPlayer.PostUpdateMiscEffects. ModPlayer.PostUpdateRunSpeeds is too late to have any effect. Defaults to 1f. Effects typically add to or subtract from this, typically expressed as "X% increased movement speed" in tooltips. Some examples: Swiftness potion (BuffID.Swiftness): += 0.25f Webbed buff (BuffID.Webbed): = 0f Titanium Leggings: += 0.06f Frostspark Boots: += 0.08f Some effects apply multiplicatively, these must be applied later on in the update process to work correctly, ModPlayer.PostUpdateMiscEffects or ModPlayer.UpdateBadLifeRegen are suitable places for this. Some examples: Oozed buff (slowOgreSpit): *= 1/3f Slow buff (slow): *= 0.5f Chilled buff (chilled): *= 0.75f | |
int | mushroomDelayTime = Item.mushroomDelay |
float | musicDist |
string | name = "" |
This player's displayed name. Usually capped at 20 characters. | |
float | nearbyActiveNPCs |
The sum of the NPC.npcSlots values of NPC within the active range of this Player. Used to set NPC spawn rates. | |
int | nebulaCD |
int | nebulaLevelDamage |
int | nebulaLevelLife |
int | nebulaLevelMana |
int | nebulaManaCounter |
bool | nebulaMonolithShader |
int | neck = -1 |
bool | netLife |
int | netLifeTime |
bool | netMana |
int | netManaTime |
int | netSkip |
int | nextCycledSpiderMinionType |
bool | nightVision |
bool | noBuilding |
bool | noFallDmg |
If true , this player will take no fall damage, such as the effect given by ItemID.LuckyHorseshoe. If you want to increase the fall height required for fall damage, use extraFall instead. | |
bool | noItems |
bool | noKnockback |
int | nonTorch = -1 |
int | noThrow |
bool[] | npcTypeNoAggro = new bool[NPCID.Count] |
int | numberOfDeathsPVE |
int | numberOfDeathsPVP |
int | numMinions |
The current number of minions this player has summoned. Note that slotsMinions is how the minion limit is tracked, not this. | |
bool | oldAdjHoney |
bool | oldAdjLava |
bool | oldAdjShimmer |
bool | oldAdjWater |
byte | oldLuckPotion |
int | oldSelectItem |
bool | onFire |
bool | onFire2 |
bool | onFire3 |
bool | onFrostBurn |
bool | onFrostBurn2 |
bool | onHitDodge |
bool | onHitPetal |
bool | onHitRegen |
bool | onHitTitaniumStorm |
bool | onTrack |
bool | onWrongGround |
float | opacityForAnimation = 1f |
bool | outOfRange |
int | overrideFishingBobber = -1 |
BitsByte | ownedLargeGems |
int[] | ownedProjectileCounts = new int[ProjectileID.Count] |
Provides efficient access to the number of projectiles of the specified type owned by this player currently active in the game world. Can be used to prevent spawning additional projectiles when a limit is reached. Updated each game update right before Player.UpdateBuffs. For example, return player.ownedProjectileCounts[Item.shoot] < 1; in ModItem.CanUseItem could prevent a player using the item if the projectile the item spawns is already in the game world for the player. | |
bool | palladiumRegen |
bool | panic |
Color | pantsColor = new Color(255, 230, 175) |
bool | parrot |
bool | parryDamageBuff |
bool | penguin |
int | petalTimer |
bool | petFlagBabyImp |
bool | petFlagBabyRedPanda |
bool | petFlagBabyShark |
bool | petFlagBabyWerewolf |
bool | petFlagBerniePet |
bool | petFlagBlueChickenPet |
bool | petFlagBrainOfCthulhuPet |
bool | petFlagCaveling |
bool | petFlagChesterPet |
bool | petFlagDD2BetsyPet |
bool | petFlagDD2Dragon |
bool | petFlagDD2Gato |
bool | petFlagDD2Ghost |
bool | petFlagDD2OgrePet |
bool | petFlagDeerclopsPet |
bool | petFlagDestroyerPet |
bool | petFlagDirtiestBlock |
bool | petFlagDukeFishronPet |
bool | petFlagDynamiteKitten |
bool | petFlagEaterOfWorldsPet |
bool | petFlagEverscreamPet |
bool | petFlagEyeOfCthulhuPet |
bool | petFlagFairyQueenPet |
bool | petFlagFennecFox |
bool | petFlagGlitteryButterfly |
bool | petFlagGlommerPet |
bool | petFlagGolemPet |
bool | petFlagIceQueenPet |
bool | petFlagJunimoPet |
bool | petFlagKingSlimePet |
bool | petFlagLilHarpy |
bool | petFlagLunaticCultistPet |
bool | petFlagMartianPet |
bool | petFlagMoonLordPet |
bool | petFlagPigPet |
bool | petFlagPlanteraPet |
bool | petFlagPlantero |
bool | petFlagPumpkingPet |
bool | petFlagQueenBeePet |
bool | petFlagQueenSlimePet |
bool | petFlagShadowMimic |
bool | petFlagSkeletronPet |
bool | petFlagSkeletronPrimePet |
bool | petFlagSpiffo |
bool | petFlagSugarGlider |
bool | petFlagTwinsPet |
bool | petFlagUpbeatStar |
bool | petFlagVoltBunny |
int | phantasmTime |
int | phantomPhoneixCounter |
float | pickSpeed = 1f |
TrackedProjectileReference | piggyBankProjTracker |
bool | pirateMinion |
bool | poisoned |
PortableStoolUsage | portableStoolInfo |
bool | portalPhysicsFlag |
int | potionDelay |
int | potionDelayTime = Item.potionDelay |
Vector2? | PotionOfReturnHomePosition |
Vector2? | PotionOfReturnOriginalUsePosition |
bool | poundRelease |
bool | powerrun |
Player is on TileID.Asphalt. Affects movement parameters. | |
bool | preventAllItemPickups |
bool | pStone |
bool | pulley |
If true, the player is attached to a rope or similar tile. | |
byte | pulleyDir |
While attached to a rope or similar tile (pulley), this value represents the how close to the rope the player is. A value of 1 means the player is centered on the rope, while a value of 2 represents that the player has nudged away from the rope but is still attached. Entity.direction is used still for the players direction. | |
int | pulleyFrame |
float | pulleyFrameCounter |
bool | puppy |
bool | pvpDeath |
bool | pygmy |
SelectionRadial | QuicksRadial = new SelectionRadial(SelectionRadial.SelectionMode.RadialQuicks) |
RabbitOrderFrameHelper | rabbitOrderFrame |
bool | rabid |
bool | raven |
bool | redFairy |
bool | releaseCreativeMenu |
bool | releaseDown |
bool | releaseHook |
bool | releaseInventory |
bool | releaseJump |
bool | releaseLeft |
bool | releaseMapFullscreen |
bool | releaseMapStyle |
bool | releaseMount |
bool | releaseQuickHeal |
bool | releaseQuickMana |
bool | releaseRight |
bool | releaseSmart |
bool | releaseThrow |
bool | releaseUp |
bool | releaseUseItem |
bool | releaseUseTile |
bool | remoteVisionForDrone |
bool | resistCold |
If true , this player will take 30% less damage from any NPC with NPC.coldDamage set and any projectile with Projectile.coldDamage set. | |
int | respawnTimer |
The amount of time in ticks before this player respawns after death. Most suitably modified in ModPlayer.Kill(double, int, bool, PlayerDeathReason) | |
int | restorationDelayTime = Item.restorationDelay |
int | reuseDelay |
int | rightTimer |
int | rocketBoots |
If greater than 0, the player can briefly fly using rocket boots. Is usually set to the same value as vanityRocketBoots | |
int | rocketDelay |
int | rocketDelay2 |
bool | rocketFrame |
bool | rocketRelease |
int | rocketSoundDelay |
int | rocketTime |
int | rocketTimeMax = 7 |
int | ropeCount |
bool | rulerGrid |
bool | rulerLine |
float | runAcceleration = 0.08f |
The acceleration, in pixels/ticks^2, that this player experiences while running. This affects how quickly the player reaches max speed, not the max speed (maxRunSpeed) itself. This should only be modified in ModPlayer.PostUpdateRunSpeeds, ModItem.HorizontalWingSpeeds, or ExtraJump.UpdateHorizontalSpeeds(Player) to correctly function. Defaults to 0.08f, which is then multiplied by moveSpeed. Effects typically multiply this by some factor. Some examples: On ice (slippy): *= 0.7f (or *= 2.1f if wearing Ice Skates) On honey block (sticky): *= 0.25f Shadow Armor (shadowArmor): *= 1.75f Wings: *= WingStats.AccRunAccelerationMult Extra jumps: Typically *= 3f , see ExtraJump.UpdateHorizontalSpeeds When on a mount, all other modifiers are ignored and it is set to Mount.Acceleration More... | |
bool | runningOnSand |
float | runSlowdown = 0.2f |
int | runSoundDelay |
bool | sailDash |
bool | sapling |
SavedPlayerDataWithAnnoyingRules | savedPerPlayerFieldsThatArentInThePlayerClass |
bool | scope |
int | selectedItem |
The index of the Item within the inventory currently selected by the player. To access the Item directly use HeldItem instead. | |
bool | selectItemOnNextUse |
Causes SmartSelectLookup to run the next time an item animation is finished, even if controlUseItem is held. Used internally by tML to when a hotbar key is pressed while using an item. | |
bool | setApprenticeT2 |
bool | setApprenticeT3 |
string | setBonus = "" |
The text that is shown on armor (Item.wornArmor) with an active set bonus. | |
bool | setForbidden |
bool | setForbiddenCooldownLocked |
bool | setHuntressT2 |
bool | setHuntressT3 |
bool | setMonkT2 |
bool | setMonkT3 |
bool | setNebula |
bool | setSolar |
bool | setSquireT2 |
bool | setSquireT3 |
bool | setStardust |
bool | setVortex |
bool | shadowArmor |
int | shadowCount |
int[] | shadowDirection = new int[3] |
bool | shadowDodge |
float | shadowDodgeCount |
int | shadowDodgeTimer |
Vector2[] | shadowOrigin = new Vector2[3] |
Vector2[] | shadowPos = new Vector2[3] |
float[] | shadowRotation = new float[3] |
bool | sharknadoMinion |
int | shield = -1 |
int | shield_parry_cooldown |
int | shieldParryTimeLeft |
bool | shieldRaised |
bool | shimmerImmune |
bool | shimmering |
bool | shimmerMonolithShader |
float | shimmerTransparency |
ShimmerUnstuckHelper | shimmerUnstuckHelper |
bool | shinyStone |
Color | shirtColor = new Color(175, 165, 140) |
int | shoe = -1 |
Color | shoeColor = new Color(160, 105, 60) |
bool | showLastDeath |
bool | shroomiteStealth |
int | sign = -1 |
bool | silence |
PlayerSittingHelper | sitting |
bool | skeletron |
Color | skinColor = new Color(255, 125, 90) |
int | skinDyePacked |
int | skinVariant |
bool | skipAnimatingValuesInPlayerFrame |
bool | skyStoneEffects |
PlayerSleepingHelper | sleeping |
int | slideDir |
bool | sliding |
bool | slime |
bool | slippy |
Player is on a TileID.Sets.IceSkateSlippery tile. Affects movement parameters. | |
bool | slippy2 |
Player is on TileID.FrozenSlimeBlock. Affects movement parameters. | |
bool | sloping |
float | slotsMinions |
The current total value of minions this player has summoned. Used to limit active minions to maxMinions A minion's value is stored as Projectile.minionSlots. | |
bool | slow |
bool | slowFall |
bool | slowOgreSpit |
bool | smolstar |
int | snowBallLauncherInteractionCooldown |
bool | snowman |
bool | socialGhost |
bool | socialIgnoreLight |
bool | socialShadowRocketBoots |
int | solarCounter |
bool | solarDashConsumedFlare |
bool | solarDashing |
bool | solarMonolithShader |
Vector2[] | solarShieldPos = new Vector2[3] |
int | solarShields |
Vector2[] | solarShieldVel = new Vector2[3] |
bool | sonarPotion |
int | soulDrain |
bool | spaceGun |
bool | spawnMax |
int | SpawnX = -1 |
The x tile coordinate of the bed spawn location for this player in this world. When -1 Main.spawnTileX is used instead. | |
int | SpawnY = -1 |
The y tile coordinate of the bed spawn location for this player in this world. When -1 Main.spawnTileY is used instead. | |
StatModifier | specialistDamage = StatModifier.Default |
float[] | speedSlice = new float[60] |
byte | spelunkerTimer |
int[] | spI = new int[200] |
bool | spider |
bool | spiderArmor |
bool | spiderMinion |
int | spikedBoots |
Used by the Shoe Spikes and Climbing Claws to allow for holding onto walls (of tiles, not to be confused with actual walls). Defaults to 0. Any value higher than 0 allows the player to wall-jump. A value of 1 causes the player to slowly slide down them while holding onto them. A value of 2 or more doesn't give this limitation, allowing the player to stay holding onto a wall indefinitely. | |
string[] | spN = new string[200] |
bool | sporeSac |
int[] | spX = new int[200] |
int[] | spY = new int[200] |
bool | squashling |
bool | stairFall |
int | starCloakCooldown |
Item | starCloakItem |
Item | starCloakItem_beeCloakOverrideItem |
Item | starCloakItem_manaCloakOverrideItem |
Item | starCloakItem_starVeilOverrideItem |
bool | stardustDragon |
bool | stardustGuardian |
bool | stardustMinion |
bool | stardustMonolithShader |
bool | starving |
DefenseStat | statDefense |
The defense value of this player. The Defense wiki pageteaches how player defense affects incoming damage alongside DefenseEffectiveness. The value resets to 0 during Player.ResetEffects and is manipulated throughout Player.Update(int). If the final value is needed, ModPlayer.PostUpdate or anytime later is the best place. As such it is not recommended to manipulate the value during PostUpdate or at any time later for compatibility. Failure to follow this guideline will result in inconsistent behavior. Due to this field being a DefenseStat, modders can freely add, subtract, multiply, and divide the value. The final result will properly account for all modifications applied. | |
int | statLife = 100 |
The current health of this player. Capped at statLifeMax2. If you increase this value, be sure to respect the cap. More... | |
int | statLifeMax = 100 |
The maximum health this player can have without adjustment. You should not modify this value. If you need to increase max health for equipment, modify statLifeMax2. If you need to increase max health for a permanent stat boost, use ModPlayer.ModifyMaxStats(out StatModifier, out StatModifier). | |
int | statLifeMax2 = 100 |
The maximum health this player can have, adjusted by buffs and equipment. | |
int | statMana |
The current mana of this player. Capped at statManaMax2. If you increase this value, be sure to respect the cap. More... | |
int | statManaMax |
The maximum mana this player can have without adjustment. You should not modify this value. If you need to increase max mana for equipment, modify statManaMax2. If you need to increase max mana for a permanent stat boost, use ModPlayer.ModifyMaxStats(out StatModifier, out StatModifier). | |
int | statManaMax2 |
The maximum mana this player can have, adjusted by buffs and equipment. | |
float | stealth = 1f |
int | stealthTimer |
int | step = -1 |
float | stepSpeed = 1f |
Has nothing to do with the speed that this player travels, that is dictated by moveSpeed and related fields. This affects how quickly gfxOffY is adjusted. | |
bool | sticky |
Player is on TileID.HoneyBlock. Affects movement parameters. | |
int | stickyBreak |
bool | stinky |
bool | stoned |
bool | stormTiger |
int | stringColor |
bool | strongBees |
If true , then the bees created by honeyCombItem have a chance to be stronger. | |
byte | suffocateDelay |
bool | suffocating |
bool | sunflower |
bool | suspiciouslookingTentacle |
int | swimTime |
int | tail = -1 |
int | tankPet = -1 |
bool | tankPetReset |
int | taxMoney |
double | taxTimer |
int | team |
bool | teleporting |
int | teleportStyle |
float | teleportTime |
float | thorns |
bool | tiki |
PlayerInteractionAnchor | tileEntityAnchor |
bool | tileInteractAttempted |
bool | tileInteractionHappened |
float | tileSpeed = 1f |
int | timeShimmering |
int | timeSinceLastDashStarted |
The amount of time that has passed, in ticks, since this player last performed a dash. | |
bool | tipsy |
int | titaniumStormCooldown |
bool | tongued |
int | toolTime |
float | torchLuck |
List< Point > | TouchedTiles = new List<Point>() |
float | townNPCs |
The sum of the NPC.npcSlots of all town NPCs near this player. If townNPCs > 2f , then this player is in a town. | |
float | trackBoost |
bool | trapDebuffSource |
Item | trashItem = new Item() |
bool | treasureMagnet |
bool | trident |
bool | truffle |
bool | tryKeepingHoveringDown |
bool | tryKeepingHoveringUp |
bool | turtle |
bool | turtleArmor |
bool | turtleThorns |
bool | twinsMinion |
bool | UFOMinion |
Color | underShirtColor = new Color(160, 180, 215) |
bool | unlockedBiomeTorches |
bool | unlockedSuperCart |
If true , then this player has permanently buffed their minecarts. See UsingSuperCart for more info. | |
bool | usedAegisCrystal |
bool | usedAegisFruit |
bool | usedAmbrosia |
bool | usedArcaneCrystal |
bool | usedGalaxyPearl |
bool | usedGummyWorm |
bool | vampireFrog |
int | vanityRocketBoots |
Controls which rocket boots visuals and sounds will be used: 1: Rocket Boots 2: Fairy Boots (plus fairyBoots), Spectre Boots, Lightning Boots 3: Frostspark Boots 4: Terraspark Boots 5: Hellfire Treads | |
bool | venom |
TrackedProjectileReference | voidLensChest |
BitsByte | voidVaultInfo |
bool | volatileGelatin |
int | volatileGelatinCounter |
bool | vortexDebuff |
bool | vortexMonolithShader |
bool | vortexStealthActive |
int | waist = -1 |
float | wallSpeed = 1f |
bool | waterWalk |
Allows the player to walk on water, honey, and shimmer, such as given by ItemID.WaterWalkingBoots. | |
bool | waterWalk2 |
Allows the player to walk on water, honey, lava, and shimmer, such as given by ItemID.LavaWaders. | |
bool | wearsRobe |
bool | webbed |
bool | wellFed |
bool | wereWolf |
byte | wetSlime |
float | whipRangeMultiplier |
bool | windPushed |
float | wingAccRunSpeed = -1f |
int | wingFrame |
int | wingFrameCounter |
float | wingRunAccelerationMult = 1f |
int | wings |
int | wingsLogic |
float | wingTime |
int | wingTimeMax |
int | wireOperationsCooldown |
bool | wisp |
bool | witheredArmor |
bool | witheredWeapon |
bool | wolfAcc |
bool | yoraiz0rDarkness |
int | yoraiz0rEye |
bool | yoyoGlove |
bool | yoyoString |
bool | zephyrfish |
BitsByte | zone1 = (byte)0 |
BitsByte | zone2 = (byte)0 |
BitsByte | zone3 = (byte)0 |
BitsByte | zone4 = (byte)0 |
BitsByte | zone5 = (byte)0 |
Public Attributes inherited from Entity | |
bool | active |
If true, the Entity actually exists within the game world. Within the specific entity array, if active is false, the entity is junk data. Always check active if iterating over the entity array. Another option for iterating is to use Main.ActivePlayers, Main.ActiveNPCs, Main.ActiveProjectiles, or Main.ActiveItems instead for simpler code. | |
int | direction = 1 |
The direction this entity is facing. A value of 1 means the entity is facing to the right. -1 means facing to the left. | |
int | height |
The height of this Entity's hitbox, in pixels. | |
bool | honeyWet |
bool | lavaWet |
int | oldDirection |
Vector2 | oldPosition |
Vector2 | oldVelocity |
Vector2 | position |
The position of this Entity in world coordinates. Note that this corresponds to the top left corner of the entity. Use Center instead for logic that needs the position at the center of the entity. | |
bool | shimmerWet |
Vector2 | velocity |
The velocity of this Entity in world coordinates per tick. | |
bool | wet |
The Entity is currently in water. Projectile: Affects movement speed and some projectiles die when wet. Projectile.ignoreWater prevents this. | |
byte | wetCount |
int | whoAmI |
The index of this Entity within its specific array. These arrays track the entities in the world. Item: unused Projectile: Main.projectile NPC: Main.npc Player: Main.player Note that Projectile.whoAmI is not consistent between clients in multiplayer for the same projectile. | |
int | width |
The width of this Entity's hitbox, in pixels. | |
Properties | |
bool | accFlipper [get, set] |
bool[] | adjTile [get, set] |
An array indexed by tile type (Tile.TileType, TileID) indicating if the player is within crafting range of each tile type. Used to determine if a player satisfies crafting station requirements for recipes. Note that this includes tiles acting like other tiles (ModTile.AdjTiles, Player.AdjTiles), so the player might not actually be near specific tiles. For example a player near a TileID.MythrilAnvil tile will count as being near TileID.Anvils. | |
bool | AnyThrownCostReduction [get] |
Returns true if either ThrownCost33 or ThrownCost50 are true | |
Vector2 | BlehOldPositionFixer [get] |
int | breathCDMax [get] |
bool | CanBeTalkedTo [get] |
bool | CCed [get] |
Checks if the player is currently "crowd controlled", meaning the player is frozen, webbed, or stoned. Used in various checks to prevent some player actions that shouldn't be possible while in those states, such as channeling attacks, quick using items, and swapping loadouts. | |
int | ConsumedLifeCrystals [get, set] |
How many Life Crystals this player has consumed | |
int | ConsumedLifeFruit [get, set] |
How many Life Fruit this player has consumed | |
int | ConsumedManaCrystals [get, set] |
How many Mana Crystals this player has consumed | |
SceneEffectLoader.SceneEffectInstance | CurrentSceneEffect = new SceneEffectLoader.SceneEffectInstance() [get, set] |
Container for current SceneEffect client properties such as: Backgrounds, music, and water styling | |
bool | DeadOrGhost [get] |
Vector2 | DefaultSize [get] |
Vector2 | Directions [get] |
Span< ExtraJumpState > | ExtraJumps [get] |
Vector2? | HandPosition [get] |
bool | HasMinionAttackTargetNPC [get] |
bool | HasMinionRestTarget [get] |
int | HeightMapOffset [get] |
int | HeightOffsetBoost [get] |
float | HeightOffsetHitboxCenter [get] |
float | HeightOffsetVisual [get] |
Item | HeldItem [get] |
The Item within the inventory currently selected by the player. | |
Rectangle | HitboxForBestiaryNearbyCheck [get] |
bool | isLockedToATile [get] |
bool | IsStandingStillForSpecialEffects [get] |
bool | IsVoidVaultEnabled [get, set] |
bool | ItemAnimationActive [get] |
Returns true if an item animation is currently running. | |
bool | ItemAnimationEndingOrEnded [get] |
Returns true if the item animation is on or after its last frame. Meaning it could (if the player clicks etc) start again next frame. Vanilla uses it to despawn spears, but it's not recommended because it will desync in multiplayer (a remote player could get the packet for a new projectile just as they're finishing a swing). It is recommended to use ai counters for the lifetime of animation bound projectiles instead. | |
bool | ItemAnimationJustStarted [get] |
Returns true if the item animation is in its first frame. | |
bool | ItemTimeIsZero [get] |
int | ItemUsesThisAnimation [get] |
The number of times the item has been used/fired this animation (swing) | |
bool | Male [get, set] |
static int | MaxBuffs [get] |
bool | MeleeEnchantActive [get, set] |
Checks or sets meleeEnchant, indicating if a melee enchantment is active or not. Mods can check the meleeEnchant value directly to act on existing melee enchantments, but modded melee enchantments do not have specific assigned values. | |
float | miscCounterNormalized [get] |
RefReadOnlyArray< ModPlayer > | ModPlayers [get] |
Vector2 | MountedCenter [get, set] |
Returns the player's center adjusted for mount and step stool usage. Typically used in conjunction with RotatedRelativePoint(Vector2, bool, bool) to retrieve a suitable position for positioning items and effects originating from the player. | |
bool | MountFishronSpecial [get] |
float | MountXOffset [get] |
Vector2? | MouthPosition [get] |
HashSet< int > | NearbyModTorch = new HashSet<int>() [get] |
float | NormalizedLuck [get] |
bool[] | oldAdjTile [get, set] |
bool | PortalPhysicsEnabled [get] |
bool | sandStorm [get, set] |
bool | ShoppingZone_AnyBiome [get] |
bool | ShoppingZone_BelowSurface [get] |
bool | ShoppingZone_Forest [get] |
bool | ShouldFloatInWater [get] |
bool | ShouldNotDraw [get] |
bool | SlimeDontHyperJump [get] |
int | talkNPC [get] |
NPC | TalkNPC [get] |
The NPC instance the player is talking to, or null if talkNPC is -1 | |
bool | ThrownCost33 [get, set] |
If true, player has a 33% chance of not consuming the thrown item. Only applies to consumable items and projectiles counted as the DamageClass.Throwing damage type. Projectiles spawned from a player who holds such item will set Projectile.noDropItem to prevent duplication. Stacks with ThrownCost50 multiplicatively | |
bool | ThrownCost50 [get, set] |
If true, player has a 50% chance of not consuming the thrown item. Only applies to consumable items counted as the DamageClass.Throwing damage type. Projectiles spawned from a player who holds such item will set Projectile.noDropItem to prevent duplication. Stacks with ThrownCost33 multiplicatively | |
float | ThrownVelocity [get, set] |
Multiplier to shot projectile velocity before throwing. Result will be capped to 16f. Only applies to items counted as the DamageClass.Throwing damage type | |
bool | TileReplacementEnabled [get] |
bool | TryingToHoverDown [get] |
bool | TryingToHoverUp [get] |
bool | UsingBiomeTorches [get, set] |
bool | UsingSuperCart [get, set] |
If true , then any minecart (MountID.Sets.Cart) this player rides in will be significantly faster and fire lasers. Cannot be true if unlockedSuperCart is false . | |
override Vector2 | VisualPosition [get] |
bool | ZoneBeach [get, set] |
bool | ZoneCorrupt [get, set] |
bool | ZoneCrimson [get, set] |
bool | ZoneDesert [get, set] |
bool | ZoneDirtLayerHeight [get, set] |
If true , then this player is underground (Main.worldSurface) but above the Caverns layer (Main.rockLayer). | |
bool | ZoneDungeon [get, set] |
bool | ZoneForest [get] |
Shorthand for More... | |
bool | ZoneGemCave [get, set] |
bool | ZoneGlowshroom [get, set] |
bool | ZoneGranite [get, set] |
bool | ZoneGraveyard [get, set] |
bool | ZoneHallow [get, set] |
bool | ZoneHive [get, set] |
bool | ZoneJungle [get, set] |
bool | ZoneLihzhardTemple [get, set] |
bool | ZoneMarble [get, set] |
bool | ZoneMeteor [get, set] |
bool | ZoneNormalCaverns [get] |
Shorthand for More... | |
bool | ZoneNormalSpace [get] |
Shorthand for More... | |
bool | ZoneNormalUnderground [get] |
Shorthand for More... | |
bool | ZoneOldOneArmy [get, set] |
bool | ZoneOverworldHeight [get, set] |
If true , then this player is above ground (Main.worldSurface) but not in space (ZoneSkyHeight). | |
bool | ZonePeaceCandle [get, set] |
bool | ZonePurity = false [get, set] |
The zone property storing if the player is not in any particular biome. Updated in UpdateBiomes Does NOT account for height. Please use ZoneForest / ZoneNormalX for height based derivatives. | |
bool | ZoneRain [get, set] |
bool | ZoneRockLayerHeight [get, set] |
If true , then this player is in the Caverns layer (Main.rockLayer) but not in the Underworld (Main.UnderworldLayer). | |
bool | ZoneSandstorm [get, set] |
bool | ZoneShadowCandle [get, set] |
bool | ZoneShimmer [get, set] |
bool | ZoneSkyHeight [get, set] |
If true , then this player is the top 35% of the world. NOTE: Vanilla uses a lot of different conditions for what counts as space. This flag is never used in vanilla, but the logic behind it is used for NPC shops and enemy spawns. | |
bool | ZoneSnow [get, set] |
bool | ZoneTowerNebula [get, set] |
bool | ZoneTowerSolar [get, set] |
bool | ZoneTowerStardust [get, set] |
bool | ZoneTowerVortex [get, set] |
bool | ZoneUndergroundDesert [get, set] |
bool | ZoneUnderworldHeight [get, set] |
If true , then this player is in the Underworld (Main.UnderworldLayer). | |
bool | ZoneWaterCandle [get, set] |
Properties inherited from Entity | |
Vector2 | Bottom [get, set] |
Vector2 | BottomLeft [get, set] |
Vector2 | BottomRight [get, set] |
Vector2 | Center [get, set] |
The center position of this entity in world coordinates. Calculated from position, width, and height. | |
Rectangle | Hitbox [get, set] |
Vector2 | Left [get, set] |
Vector2 | Right [get, set] |
Vector2 | Size [get, set] |
Vector2 | Top [get, set] |
Vector2 | TopLeft [get, set] |
Vector2 | TopRight [get, set] |
virtual Vector2 | VisualPosition [get] |
Properties inherited from IEntityWithInstances< ModPlayer > | |
RefReadOnlyArray< T > | Instances [get] |
void Player.AddBuff | ( | int | type, |
int | timeToAdd, | ||
bool | quiet = true , |
||
bool | foodHack = false |
||
) |
Gives the player the provided buff. This accounts for if the player is immune to the buff. This also accounts for adjusting the buff time for different game modes. If the player already has the buff, the re-apply logic will happen. Vanilla buff types are found in BuffID and modded buffs are typically retrieved using ModContent.BuffType<T>. The quiet parameter will determine if the network sync message should happen. This should only be set to false in non-deterministic situations (such as random chance) and code that only runs locally. Other situations run on all clients so the buff should automatically be applied on all clients, keeping the player buff data in sync without burdening the network. When in doubt, consult vanilla source code examples or test your code.
If applying a buff to a player other than the local player in pvp, quiet should be false and the buff must be true in Main.pvpBuff to properly sync.
type | The buff type |
timeToAdd | The desired buff time in ticks. 60 ticks is 1 second |
quiet | If true, the network sync message is skipped. |
foodHack | unused |
void Player.AddImmuneTime | ( | int | cooldownCounterId, |
int | immuneTime | ||
) |
Adds to either Player.immuneTime or Player.hurtCooldowns based on the cooldownCounterId
cooldownCounterId | See ImmunityCooldownID for valid ids. |
immuneTime | Extra immunity time to add |
void Player.ApplyDamageToNPC | ( | NPC | npc, |
int | damage, | ||
float | knockback, | ||
int | direction, | ||
bool | crit = false , |
||
DamageClass? | damageType = null , |
||
bool | damageVariation = false |
||
) |
Deals damage to an NPC (and syncs the hit in multiplayer).
The damage will be affected by modifiers, armor pen, enemy resistances etc.
Will not apply damage class modifiers/knockback. Use GetTotalDamage<T> to adjust the damage before calling if necessary.
Will apply damage class based armor penetration.
Will exit early with no effect if PlayerLoader.CanHitNPC returns false.
npc | The NPC to strike |
damage | The damage to deal to the NPC, before modifications, defense, resistances etc |
knockback | The amount of knockback to apply |
direction | The hit direction of the resulting strike (1 or -1) |
crit | Whether or not the strike is a crit |
damageType | Defaults to DamageClass.Default |
damageVariation | Whether to apply damage variation. Defaults to false. |
void Player.BuffHandle_SpawnPetIfNeededAndSetTime | ( | int | buffIndex, |
ref bool | petBool, | ||
int | petProjID, | ||
int | buffTimeToGive = 18000 |
||
) |
A helper method that handles code common to pet buffs. Can be used during the buff update code.
Sets the buff time to the value and spawns the corresponding pet projectile for the player if not yet spawned.
buffIndex | |
petBool | |
petProjID | |
buffTimeToGive |
bool Player.BuyItem | ( | long | price, |
int | customCurrency = -1 |
||
) |
Attempts to "purchase" something that costs the given price .
Items will be taken from all of the player inventories and banks combined.
If customCurrency is provided, the price will be in terms of the custom currency instead of coins.
If the player has enough currency, the currency will be taken from the inventories.
price | |
customCurrency |
void Player.ChangeDir | ( | int | dir | ) |
Changes the player's direction (Entity.direction) while adjusting arm and item rotations to be consistent. Will also account for pulley and pulleyDir. The player direction change will be prevented if the player is on a rope but there isn't space for the player to face the new direction.
dir |
bool Player.CheckMana | ( | Item | item, |
int | amount = -1 , |
||
bool | pay = false , |
||
bool | blockQuickMana = false |
||
) |
Determines if this player has enough mana to use an item.
If the player doesn't have enough mana and blockQuickMana is false
, the player will activate any missing mana effects they have and try again.
The pay parameter can be used to consume the mana amount.
item | The item to use. |
amount | The amount of mana needed. If -1 , calculate using GetManaCost(Item). |
pay | If true , actually use the mana requested. |
blockQuickMana | If true , prevent on missing mana effects like the Mana Flower from activating if the player doesn't have enough mana. |
true
if the player has enough mana to use the item, false
otherwise.Attempts to select an ammo item stack from this player's inventory to shoot with the given weapon.
weapon | The weapon for which this call should try to find ammo. |
void Player.ClearBuff | ( | int | type | ) |
Removes the provided buff type from the player and shuffles the remaining buff indexes down to fill the gap. Use Player.DelBuff(int) if you only know the buff index
type | The buff type |
bool Player.ConsumeItem | ( | int | type, |
bool | reverseOrder = false , |
||
bool | includeVoidBag = false |
||
) |
Use to consume a single item. The item does not have to be Item.consumable.
Attempts to reduce the Item.stack of the first Item found in the inventory by 1.
Respects ItemLoader.ConsumeItem(Item, Player), so the item won't necessarily be consumed.
To consume multiple of the item, first check Player.CountItem to ensure that there are enough of the item, then use a for loop to call this method many times.
type | The item type to consume |
reverseOrder | If true, the search for the item will start at the end of the player inventory |
includeVoidBag | If true, the void bag, if open, will also be considered for finding an item to consume |
int Player.CountItem | ( | int | type, |
int | stopCountingAt = 0 |
||
) |
Counts the total stack of the specified item type in this players inventory.
Does not check Void Bag.
Use Player.HasItem(int) to check if the player has the item at all.
type | The item type to count |
stopCountingAt | When to stop counting, useful to avoid unnecessary calculations |
void Player.DelBuff | ( | int | b | ) |
Removes the buff at the provided index in buffType and buffTime and shuffles the remaining buff indexes down to fill the gap. Use Player.ClearBuff(int) if you only know the BuffID.
b | The index in buffType of the buff to remove. |
float Player.GetAdjustedItemScale | ( | Item | item | ) |
Used to determine what the overall scale of an item should be.
CombinedHooks.ModifyItemScale is called here.
item | The item to fetch the adjusted scale of. |
ref float Player.GetArmorPenetration< T > | ( | ) |
Gets the armor penetration modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that armor penetration value are typically whole numbers. Adding 5, for example, would add 5 to the armor penetration stat, similar to the Shark Tooth Necklace accessory.
T | : | DamageClass | |
T | : | ref | |
T | : | GetArmorPenetration | |
T | : | ModContent.GetInstance<T>() |
ref float Player.GetAttackSpeed< T > | ( | ) |
Gets the attack speed modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return values with operators. Setting this such that it results in zero or a negative value will throw an exception. NOTE: Due to the nature of attack speed modifiers, modifications to Flat will do nothing for this modifier. Note that attack speed is a multiplier. Adding 0.15f, for example, would add 15% to the attack speed stat.
T | : | DamageClass | |
T | : | ref | |
T | : | GetAttackSpeed | |
T | : | ModContent.GetInstance<T>() |
ref float Player.GetCritChance< T > | ( | ) |
Gets the crit chance modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that crit values are percentage values ranging from 0 to 100, unlike damage multipliers. Adding 4, for example, would add 4% to the crit chance.
T | : | DamageClass | |
T | : | ref | |
T | : | GetCritChance | |
T | : | ModContent.GetInstance<T>() |
ref StatModifier Player.GetDamage< T > | ( | ) |
Gets the damage modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators.
T | : | DamageClass | |
T | : | ref | |
T | : | GetDamage | |
T | : | ModContent.GetInstance<T>() |
Item Player.GetItem | ( | int | plr, |
Item | newItem, | ||
GetItemSettings | settings | ||
) |
Places the newItem directly into this player's inventory. The settings dictate how or if the pickup text is displayed as well as if the item can be placed into the Void Vault inventory. It is typical to use one of the existing options contained in the static fields of GetItemSettings for this parameter to match vanilla behavior. The plr parameter should always be set to the whoAmI of this player. Modders commonly use QuickSpawnItem(IEntitySource, Item, int) to give a player an item as it is simpler to implement, but GetItem allows for more control and should be used when possible. The return value is an Item instance containing the overflow. If the full stack of newItem is placed into the inventory successfully, the return value will be an empty item instance. If the inventory is full or if only a partial stack of newItem fit in the inventory, the return value will be the Item that didn't fit. If the returned Item isn't Item.IsAir, that will have to be handled by the calling code, typically by spawning the item in the world as a drop or leaving it where newItem came from. Make sure to test code using this method with a full inventory. Consulting vanilla code to match similar usages is recommended to implement specific item movement and popup text behavior the user would expect.
plr | |
newItem | |
settings |
int Player.GetItemGrabRange | ( | Item | item | ) |
Fetches the range at which the given item begins to gravitate towards the player.
This range, referred to as item grab range, is measured in pixels.
item | The item whose grab range is being evaluated. |
ref ExtraJumpState Player.GetJumpState< T > | ( | ) |
T | : | ExtraJump | |
T | : | ref | |
T | : | GetJumpState | |
T | : | ModContent.GetInstance<T>() |
ref ExtraJumpState Player.GetJumpState< T > | ( | T | baseInstance | ) |
T | : | ExtraJump | |
T | : | ref | |
T | : | extraJumps | |
T | : | baseInstance.Type |
ref StatModifier Player.GetKnockback< T > | ( | ) |
Gets the knockback modifier for this damage type on this player. This returns a reference, and as such, you can freely modify this method's return value with operators. Note that knockback values are multipliers. Adding 0.12f, for example, would add 12% to the knockback stat.
T | : | DamageClass | |
T | : | ref | |
T | : | GetKnockback | |
T | : | ModContent.GetInstance<T>() |
int Player.GetManaCost | ( | Item | item | ) |
Calculates the mana needed to use the given item.
item | The item to check. |
0
.T Player.GetModPlayer< T > | ( | ) |
T Player.GetModPlayer< T > | ( | T | baseInstance | ) |
Gets the local instance of the type of the specified ModPlayer instance. This will throw exceptions on failure.
KeyNotFoundException |
|
T | : | ModPlayer | |
T | : | modPlayers | |
T | : | baseInstance.Index | |
T | : | as | |
T | : | T | |
T | : | throw | |
T | : | new | |
T | : | KeyNotFoundException | |
T | : | $ | |
T | : | Instance | |
T | : | of |
float Player.GetTotalArmorPenetration< T > | ( | ) |
T | : | DamageClass | |
T | : | GetTotalArmorPenetration | |
T | : | ModContent.GetInstance<T>() |
float Player.GetTotalAttackSpeed< T > | ( | ) |
T | : | DamageClass | |
T | : | GetTotalAttackSpeed | |
T | : | ModContent.GetInstance<T>() |
float Player.GetTotalCritChance< T > | ( | ) |
T | : | DamageClass | |
T | : | GetTotalCritChance | |
T | : | ModContent.GetInstance<T>() |
StatModifier Player.GetTotalDamage | ( | DamageClass | damageClass | ) |
Calculates a total damage modifier for the player for the provided DamageClass.
Use in conjunction with StatModifier.ApplyTo(float) to calculate a final damage value for a given DamageClass and base damage: int finalDamage = (int)player.GetTotalDamage(item.DamageType).ApplyTo(30);
The modifiers calculated here are important due to the possibility of damage classes inheriting modifiers from other damage classes. For instance, an attack can be classified as multiple damage types and each could have different modifiers to apply to the damage
damageClass | The DamageClass to use for total damage calculation |
StatModifier Player.GetTotalDamage< T > | ( | ) |
T | : | DamageClass | |
T | : | GetTotalDamage | |
T | : | ModContent.GetInstance<T>() |
StatModifier Player.GetTotalKnockback< T > | ( | ) |
T | : | DamageClass | |
T | : | GetTotalKnockback | |
T | : | ModContent.GetInstance<T>() |
bool Player.HasAmmo | ( | Item | sItem | ) |
Whether or not the player has ammunition available for the given weapon.
sItem | The weapon for which to try to find ammunition. |
bool Player.HasBuff< T > | ( | ) |
T | : | ModBuff | |
T | : | HasBuff | |
T | : | ModContent.BuffType<T>() |
bool Player.HasItem | ( | int | type | ) |
Checks if the player has the specified item in their inventory.
Does not check Void Bag.
Use Player.CountItem(int, int) instead to count the total amount if needed.
type | The item type to count |
void Player.Heal | ( | int | amount | ) |
Heals the player for a certain amount.
amount | The amount to heal the player by. |
bool Player.InModBiome | ( | ModBiome | baseInstance | ) |
Determines if the player is in specified ModBiome. This will throw exceptions on failure.
IndexOutOfRangeException |
|
bool Player.InModBiome< T > | ( | ) |
T | : | ModBiome | |
T | : | InModBiome | |
T | : | ModContent.GetInstance<T>() |
Determines whether or not the given ammunition should be conserved, based on the given weapon as wielded by this player.
weapon | The weapon attempting to consume the ammo. |
ammo | The ammo attempting to be conserved (i.e. not consumed). |
projToShoot | The projectile that should be shot by the given weapon/ammo combination. |
void Player.OpenChest | ( | int | x, |
int | y, | ||
int | newChest | ||
) |
Handles boilerplate for gamepad and UI when opening or closing a container.
Sets Player.chestX, and Player.chestY, and Player.chest to the given coordinates.
x | The top-left X coordinate of the container. |
y | The top-left Y coordinate of the container. |
newChest | The container index in Main.chest if opening, or -1 if closing. |
bool Player.PickAmmo | ( | Item | weapon, |
out int | projToShoot, | ||
out float | speed, | ||
out int | damage, | ||
out float | knockBack, | ||
out int | usedAmmoItemId, | ||
bool | dontConsume = false |
||
) |
A more-convenient-to-call variant of the vanilla PickAmmo method, which handles most vanilla ammunition logic to decide various common stats related to ammunition-consuming weapons.
The stats output by this method take into account any extra stats which the ammunition it finds may provide (read: it accounts for ammo damage and knockback).
weapon | The weapon for which to handle ammunition logic. |
projToShoot | The projectile that should be shot based on the given weapon and the located ammunition. |
speed | The speed at which the projectile that would be made by the given weapon and located ammunition should move. |
damage | The damage value that the projectile shot should have, based on the given weapon and the located ammunition. |
knockBack | The knockback value that the projectile shot should have, based on the given weapon and the located ammunition. |
usedAmmoItemId | The numerical ID of the located ammunition. |
dontConsume | Whether or not ammo consumption logic should be called upon. This defaults to false, and if it is true for any reason, ammo will not be consumed at the end of the method. This is useful for gathering the data needed based on PickAmmo's calculations without incidentally consuming any ammunition in the process. |
int Player.QuickSpawnClonedItem | ( | IEntitySource | source, |
Item | item, | ||
int | stack = 1 |
||
) |
Will spawn an item like Player.QuickSpawnItem(IEntitySource, int, int), but clones it (handy when you need to retain item infos)
source | The spawn context |
item | The item you want to be cloned |
stack | The stack to give the item. Note that this will override maxStack if it's higher. |
Item Player.QuickSpawnClonedItemDirect | ( | IEntitySource | source, |
Item | item, | ||
int | stack = 1 |
||
) |
int Player.QuickSpawnItem | ( | IEntitySource | source, |
int | item, | ||
int | stack = 1 |
||
) |
Spawns an item into the world at this players position. This is a simpler alternative to Item.NewItem(IEntitySource, int, int, int, int, int, int, bool, int, bool, bool). This method can be called from multiplayer client code without necessitating manually syncing the item.
Use QuickSpawnItem(IEntitySource, Item, int) if a specific instance of an Item needs to be spawned into the world to preserve modded data.
source | |
item | |
stack |
Item Player.QuickSpawnItemDirect | ( | IEntitySource | source, |
int | type, | ||
int | stack = 1 |
||
) |
Item Player.QuickSpawnItemDirect | ( | IEntitySource | source, |
Item | item, | ||
int | stack = 1 |
||
) |
Vector2 Player.RotatedRelativePoint | ( | Vector2 | pos, |
bool | reverseRotation = false , |
||
bool | addGfxOffY = true |
||
) |
Takes an input position and returns the position adjusted to the players visual rotation and offset. This accounts for the player being shifted up or down and rotated while riding a mount, sitting in a chair, and sleeping.
pos | |
reverseRotation | |
addGfxOffY |
void Player.StopExtraJumpInProgress | ( | ) |
Cancels any extra jump in progress.
Sets all ExtraJumpState.Active flags to false
and calls OnExtraJumpEnded hooks.
Also sets jump to 0 if a an extra jump was active.
Used by vanilla when performing an action which would cancel jumping, such as grappling, grabbing a rope or getting frozen.
To prevent the use of remaining jumps, use ConsumeAllExtraJumps or blockExtraJumps.
To cancel a regular jump as well, do Player.jump = 0;
void Player.StrikeNPCDirect | ( | NPC | npc, |
NPC.HitInfo | hit | ||
) |
Applies a hit to an NPC via NPC.StrikeNPC(NPC.HitInfo, bool, bool).
Also calls player based OnHit and OnKill hooks, tracks dps and net syncs the strike
npc | The NPC to strike |
hit | The hit to apply |
bool Player.TryGetModPlayer< T > | ( | out T | result | ) |
bool Player.TryGetModPlayer< T > | ( | T | baseInstance, |
out T | result | ||
) |
int Player.extraFall |
The number of extra tiles this player can fall before they start taking fall damage. For example ItemID.FrogLeg adds 10 to extraFall.
If you want to prevent fall damage entirely, use noFallDmg.
float Player.lifeRegenTime |
How effective this player's natural life regeneration should be. Resets whenever the player is hurt, increases over time.
Certain effects increase this value to increase
Use ModPlayer.NaturalLifeRegen(ref float) to directly modify natural life regeneration.
EquipmentLoadout [] Player.Loadouts |
int Player.loadStatus |
0: Success
1: Future version
2: Read error
;
float Player.maxRunSpeed = 3f |
The maximum speed, in pixels/tick, that this player can reach by just running. The acceleration to that speed is a separate stat (runAcceleration). This should only be modified in ModPlayer.PostUpdateRunSpeeds, ModItem.HorizontalWingSpeeds, or ExtraJump.UpdateHorizontalSpeeds(Player) to correctly function. accRunSpeed is commonly adjusted in tandem if suitable. Defaults to 3f, which is then multiplied by moveSpeed. Effects typically multiply this by some factor. Some examples: On ice with Ice Skates: *= 1.25f
On honey block (sticky): *= 0.25f
On asphalt block (powerrun): *= 3.5f
Shadow Armor (shadowArmor): *= 1.15f
Extra jumps: Typically *= 1.5f
, see ExtraJump.UpdateHorizontalSpeeds When on a mount, all other modifiers are ignored and it is set to Mount.RunSpeed
To apply a global run speed modifier, use moveSpeed.
float Player.runAcceleration = 0.08f |
The acceleration, in pixels/ticks^2, that this player experiences while running. This affects how quickly the player reaches max speed, not the max speed (maxRunSpeed) itself. This should only be modified in ModPlayer.PostUpdateRunSpeeds, ModItem.HorizontalWingSpeeds, or ExtraJump.UpdateHorizontalSpeeds(Player) to correctly function. Defaults to 0.08f, which is then multiplied by moveSpeed. Effects typically multiply this by some factor. Some examples: On ice (slippy): *= 0.7f
(or *= 2.1f
if wearing Ice Skates)
On honey block (sticky): *= 0.25f
Shadow Armor (shadowArmor): *= 1.75f
Wings: *= WingStats.AccRunAccelerationMult
Extra jumps: Typically *= 3f
, see ExtraJump.UpdateHorizontalSpeeds When on a mount, all other modifiers are ignored and it is set to Mount.Acceleration
To apply a global run speed modifier, use moveSpeed.
int Player.statLife = 100 |
The current health of this player. Capped at statLifeMax2.
If you increase this value, be sure to respect the cap.
If you want to heal the player with the green text effect, use Player.Heal(int).
If you want to hurt the player, use Hurt(PlayerDeathReason, int, int, bool, bool, int, bool, float, float, float).
int Player.statMana |
The current mana of this player. Capped at statManaMax2.
If you increase this value, be sure to respect the cap.
If you want to use mana, use Player.CheckMana(Item, int, bool, bool) or its overload.
|
get |
Shorthand for
ZonePurity && ZoneOverworldHeight
|
get |
Shorthand for
ZonePurity && ZoneRockLayerHeight
|
get |
Shorthand for
ZonePurity && ZoneSkyHeight
|
get |
Shorthand for
ZonePurity && ZoneDirtLayerHeight