tModLoader v0.11.8.9
A mod to make and play Terraria mods
Terraria.ModLoader.GlobalItem Class Reference

This class allows you to modify and use hooks for all items, including vanilla items. Create an instance of an overriding class then call Mod.AddGlobalItem to use this. More...

+ Collaboration diagram for Terraria.ModLoader.GlobalItem:

Public Member Functions

virtual void AddRecipes ()
 This is essentially the same as Mod.AddRecipes or ModItem.AddRecipes. Use whichever method makes organizational sense for your mod. More...
 
virtual bool AllowPrefix (Item item, int pre)
 Force a re-roll of a prefix by returning false. More...
 
virtual bool AltFunctionUse (Item item, Player player)
 Allows you to make an item usable by right-clicking. Returns false by default. When the item is used by right-clicking, player.altFunctionUse will be set to 2. More...
 
virtual void AnglerChat (int type, ref string chat, ref string catchLocation)
 Allows you to set what the Angler says when the Quest button is clicked in his chat. The chat parameter is his dialogue, and catchLocation should be set to "Caught at [location]" for the given type. More...
 
virtual void ArmorArmGlowMask (int slot, Player drawPlayer, float shadow, ref int glowMask, ref Color color)
 Allows you to modify which glow mask and in what color is drawn on the player's arms. Note that this is only called for body armor. More...
 
virtual void ArmorSetShadows (Player player, string set)
 Allows you to determine special visual effects a vanity has on the player without having to code them yourself. More...
 
virtual bool Autoload (ref string name)
 Allows you to automatically load a GlobalItem instead of using Mod.AddGlobalItem. Return true to allow autoloading; by default returns the mod's autoload property. Name is initialized to the overriding class name. Use this method to either force or stop an autoload or to control the internal name. More...
 
virtual bool CanBurnInLava (Item item)
 Returns whether or not this item burns when it is thrown into lava despite item.rare not being 0. Returns false by default. More...
 
virtual bool CanEquipAccessory (Item item, Player player, int slot)
 Allows you to disallow the player from equipping an accessory. Return false to disallow equipping the accessory. Returns true by default. More...
 
virtual ? bool CanHitNPC (Item item, Player player, NPC target)
 Allows you to determine whether a melee weapon can hit the given NPC when swung. Return true to allow hitting the target, return false to block the weapon from hitting the target, and return null to use the vanilla code for whether the target can be hit. Returns null by default. More...
 
virtual bool CanHitPvp (Item item, Player player, Player target)
 Allows you to determine whether a melee weapon can hit the given opponent player when swung. Return false to block the weapon from hitting the target. Returns true by default. More...
 
virtual bool CanPickup (Item item, Player player)
 Allows you to determine whether or not the item can be picked up More...
 
virtual bool CanRightClick (Item item)
 Returns whether or not an item does something when right-clicked in the inventory. Returns false by default. More...
 
virtual bool CanUseItem (Item item, Player player)
 Returns whether or not any item can be used. Returns true by default. The inability to use a specific item overrides this, so use this to stop an item from being used. More...
 
virtual void CaughtFishStack (int type, ref int stack)
 Allows you to modify how many of an item a player obtains when the player fishes that item. More...
 
virtual int ChoosePrefix (Item item, UnifiedRandom rand)
 Allows you to manually choose what prefix an item will get. More...
 
virtual GlobalItem Clone ()
 Returns a clone of this GlobalItem. By default this will return a memberwise clone; you will want to override this if your GlobalItem contains object references. Only called if CloneNewInstances && InstancePerEntity More...
 
virtual GlobalItem Clone (Item item, Item itemClone)
 Create a copy of this instanced GlobalItem. Called when an item is cloned. Defaults to NewInstance(item) More...
 
virtual bool ConsumeAmmo (Item item, Player player)
 Whether or not ammo will be consumed upon usage. Called both by the gun and by the ammo; if at least one returns false then the ammo will not be used. By default returns true. If false is returned, the OnConsumeAmmo hook is never called. More...
 
virtual bool ConsumeItem (Item item, Player player)
 If the item is consumable and this returns true, then the item will be consumed upon usage. Returns true by default. If false is returned, the OnConsumeItem hook is never called. More...
 
virtual void DrawArmorColor (EquipType type, int slot, Player drawPlayer, float shadow, ref Color color, ref int glowMask, ref Color glowMaskColor)
 Allows you to modify the colors in which the player's armor and their surrounding accessories are drawn, in addition to which glow mask and in what color is drawn. More...
 
virtual bool DrawBody (int body)
 Return false to hide the player's body when a body armor is worn. Returns true by default. "body" is the player's associated body equipment texture. This method is not instanced. More...
 
virtual void DrawHair (int head, ref bool drawHair, ref bool drawAltHair)
 Allows you to determine whether the player's hair or alt (hat) hair will be drawn when a head armor is worn. "head" is the player's associated head equipment texture. This method is not instanced. More...
 
virtual void DrawHands (int body, ref bool drawHands, ref bool drawArms)
 Allows you to determine whether the skin/shirt on the player's arms and hands are drawn when a body armor is worn. Note that if drawHands is false, the arms will not be drawn either. "body" is the player's associated body equipment texture. This method is not instanced. More...
 
virtual bool DrawHead (int head)
 Return false to hide the player's head when a head armor is worn. Returns true by default. "head" is the player's associated head equipment texture. This method is not instanced. More...
 
virtual bool DrawLegs (int legs, int shoes)
 Return false to hide the player's legs when a leg armor or shoe accessory is worn. Returns true by default. "legs" and "shoes" are the player's associated legs and shoes equipment textures. This method is not instanced. More...
 
virtual void ExtractinatorUse (int extractType, ref int resultType, ref int resultStack)
 Allows you to modify what item, and in what quantity, is obtained when an item of the given type is fed into the Extractinator. An extractType of 0 represents the default extraction (Silt and Slush). By default the parameters will be set to the output of feeding Silt/Slush into the Extractinator. More...
 
virtual ? Color GetAlpha (Item item, Color lightColor)
 Allows you to determine the color and transparency in which an item is drawn. Return null to use the default color (normally light color). Returns null by default. More...
 
virtual void GetHealLife (Item item, Player player, bool quickHeal, ref int healValue)
 Allows you to temporarily modify the amount of life a life healing item will heal for, based on player buffs, accessories, etc. This is only called for items with a healLife value. More...
 
virtual void GetHealMana (Item item, Player player, bool quickHeal, ref int healValue)
 Allows you to temporarily modify the amount of mana a mana healing item will heal for, based on player buffs, accessories, etc. This is only called for items with a healMana value. More...
 
virtual void GetWeaponCrit (Item item, Player player, ref int crit)
 Allows you to temporarily modify this weapon's crit chance based on player buffs, etc. Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. If you use a custom damage class, the crit value will equal item.crit Vanilla checks classes in this order: melee, ranged, magic, thrown, and summon cannot crit. So if you set both melee class and another class to true, only the melee crit will actually be used. More...
 
virtual void GetWeaponDamage (Item item, Player player, ref int damage)
 Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts). Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. Vanilla checks classes in this order: melee, ranged, magic, thrown, summon So if you set both melee class and another class to true, only the melee damage will actually be used. More...
 
virtual void GetWeaponKnockback (Item item, Player player, ref float knockback)
 Allows you to temporarily modify this weapon's knockback based on player buffs, etc. This allows you to customize knockback beyond the Player class's limited fields. Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. Vanilla checks classes in this order: melee, ranged, magic, thrown, summon So if you set both melee class and another class to true, only the melee knockback will actually be used. More...
 
virtual void GrabRange (Item item, Player player, ref int grabRange)
 Allows you to modify how close an item must be to the player in order to move towards the player. More...
 
virtual bool GrabStyle (Item item, Player player)
 Allows you to modify the way an item moves towards the player. Return false to allow the vanilla grab style to take place. Returns false by default. More...
 
virtual void HoldItem (Item item, Player player)
 Allows you to make things happen when the player is holding an item (for example, torches make light and water candles increase spawn rate). More...
 
virtual bool HoldItemFrame (Item item, Player player)
 Allows you to modify the player's animation when the player is holding an item. Return true if you modify the player's animation. Returns false by default. More...
 
virtual ? Vector2 HoldoutOffset (int type)
 Allows you to determine the offset of an item's sprite when used by the player. This is only used for items with a useStyle of 5 that aren't staves. Return null to use the item's default holdout offset; returns null by default. More...
 
virtual ? Vector2 HoldoutOrigin (int type)
 Allows you to determine the point on an item's sprite that the player holds onto when using the item. The origin is from the bottom left corner of the sprite. This is only used for staves with a useStyle of 5. Return null to use the item's default holdout origin; returns null by default. More...
 
virtual void HoldStyle (Item item, Player player)
 Allows you to modify the location and rotation of the item the player is currently holding. More...
 
virtual void HorizontalWingSpeeds (Item item, Player player, ref float speed, ref float acceleration)
 Allows you to modify the horizontal flight speed and acceleration of wings. More...
 
GlobalItem Instance (Item item)
 
virtual bool IsAnglerQuestAvailable (int type)
 Whether or not specific conditions have been satisfied for the Angler to be able to request the given item. (For example, Hardmode.) Returns true by default. More...
 
virtual string IsArmorSet (Item head, Item body, Item legs)
 Allows you to determine whether the player is wearing an armor set, and return a name for this set. If there is no armor set, return the empty string. Returns the empty string by default. More...
 
virtual string IsVanitySet (int head, int body, int legs)
 Returns whether or not the head armor, body armor, and leg armor textures make up a set. This hook is used for the PreUpdateVanitySet, UpdateVanitySet, and ArmorSetShadow hooks, and will use items in the social slots if they exist. By default this will return the same value as the IsArmorSet hook, so you will not have to use this hook unless you want vanity effects to be entirely separate from armor sets. More...
 
virtual bool ItemSpace (Item item, Player player)
 Return true to specify that the item can be picked up despite not having enough room in inventory. Useful for something like hearts or experience items. Use in conjunction with OnPickup to actually consume the item and handle it. More...
 
virtual void Load (Item item, TagCompound tag)
 Allows you to load custom data that you have saved for the given item. More...
 
virtual void LoadLegacy (Item item, BinaryReader reader)
 Allows you to load pre-v0.9 custom data that you have saved for the given item. More...
 
virtual void MeleeEffects (Item item, Player player, Rectangle hitbox)
 Allows you to give melee weapons special effects, such as creating light or dust. More...
 
virtual float MeleeSpeedMultiplier (Item item, Player player)
 Allows you to change the effective useAnimation of an item. More...
 
virtual void ModifyHitNPC (Item item, Player player, NPC target, ref int damage, ref float knockBack, ref bool crit)
 Allows you to modify the damage, knockback, etc., that a melee weapon does to an NPC. More...
 
virtual void ModifyHitPvp (Item item, Player player, Player target, ref int damage, ref bool crit)
 Allows you to modify the damage, etc., that a melee weapon does to a player. More...
 
virtual void ModifyManaCost (Item item, Player player, ref float reduce, ref float mult)
 Allows you to temporarily modify the amount of mana an item will consume on use, based on player buffs, accessories, etc. This is only called for items with a mana value. More...
 
virtual void ModifyTooltips (Item item, List< TooltipLine > tooltips)
 Allows you to modify all the tooltips that display for the given item. See here for information about TooltipLine. More...
 
virtual void ModifyWeaponDamage (Item item, Player player, ref float add, ref float mult)
 Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts). More...
 
virtual void ModifyWeaponDamage (Item item, Player player, ref float add, ref float mult, ref float flat)
 Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts). More...
 
virtual bool NeedsSaving (Item item)
 Whether or not the given item needs to save custom data. Returning false will save on the memory used in saving an item, but returning true is necessary in order to save data across all items or vanilla items. Returns false by default. Note that the return value of this hook must be deterministic (randomness is not allowed). More...
 
virtual void NetReceive (Item item, BinaryReader reader)
 
virtual void NetSend (Item item, BinaryWriter writer)
 Allows you to send custom data for the given item between client and server. More...
 
virtual GlobalItem NewInstance (Item item)
 Create a new instance of this GlobalItem for an Item instance. Called at the end of Item.SetDefaults. If CloneNewInstances is true, just calls Clone() Otherwise calls the default constructor and copies fields More...
 
virtual bool NewPreReforge (Item item)
 This hook gets called when the player clicks on the reforge button and can afford the reforge. Returns whether the reforge will take place. If false is returned, the PostReforge hook is never called. Reforging preserves modded data on the item. More...
 
virtual void OnConsumeAmmo (Item item, Player player)
 Allows you to make things happen when ammo is consumed. Called both by the gun and by the ammo. Called before the ammo stack is reduced. More...
 
virtual void OnConsumeItem (Item item, Player player)
 Allows you to make things happen when this item is consumed. Called before the item stack is reduced. More...
 
virtual void OnConsumeMana (Item item, Player player, int manaConsumed)
 Allows you to make stuff happen when a player consumes mana on use of an item. More...
 
virtual void OnCraft (Item item, Recipe recipe)
 Allows you to make anything happen when the player crafts the given item using the given recipe. More...
 
virtual void OnHitNPC (Item item, Player player, NPC target, int damage, float knockBack, bool crit)
 Allows you to create special effects when a melee weapon hits an NPC (for example how the Pumpkin Sword creates pumpkin heads). More...
 
virtual void OnHitPvp (Item item, Player player, Player target, int damage, bool crit)
 Allows you to create special effects when a melee weapon hits a player. More...
 
virtual void OnMissingMana (Item item, Player player, int neededMana)
 Allows you to make stuff happen when a player doesn't have enough mana for an item they are trying to use. If the player has high enough mana after this hook runs, mana consumption will happen normally. Only runs once per item use. More...
 
virtual bool OnPickup (Item item, Player player)
 Allows you to make special things happen when the player picks up an item. Return false to stop the item from being added to the player's inventory; returns true by default. More...
 
virtual void OpenVanillaBag (string context, Player player, int arg)
 Allows you to make vanilla bags drop your own items in addition to the default items. This method will not be called if any other GlobalItem returns false for PreOpenVanillaBag. Context will either be "present", "bossBag", "crate", "lockBox", "herbBag", or "goodieBag". For boss bags and crates, arg will be set to the type of the item being opened. This method is also called for modded bossBags that are properly implemented. More...
 
virtual void PickAmmo (Item item, Player player, ref int type, ref float speed, ref int damage, ref float knockback)
 
virtual void PickAmmo (Item weapon, Item ammo, Player player, ref int type, ref float speed, ref int damage, ref float knockback)
 Allows you to modify the projectile created by a weapon based on the ammo it is using. More...
 
virtual void PostDrawInInventory (Item item, SpriteBatch spriteBatch, Vector2 position, Rectangle frame, Color drawColor, Color itemColor, Vector2 origin, float scale)
 Allows you to draw things in front of an item in the inventory. This method is called even if PreDrawInInventory returns false. More...
 
virtual void PostDrawInWorld (Item item, SpriteBatch spriteBatch, Color lightColor, Color alphaColor, float rotation, float scale, int whoAmI)
 Allows you to draw things in front of an item. This method is called even if PreDrawInWorld returns false. More...
 
virtual void PostDrawTooltip (Item item, ReadOnlyCollection< DrawableTooltipLine > lines)
 Allows you to do things after this item's tooltip is drawn. The lines contain draw information as this is ran after drawing the tooltip. More...
 
virtual void PostDrawTooltipLine (Item item, DrawableTooltipLine line)
 Allows you to do things after a tooltip line of this item is drawn. The line contains draw info. More...
 
virtual void PostReforge (Item item)
 This hook gets called immediately after an item gets reforged by the Goblin Tinkerer. Useful for modifying modded data based on the reforge result. More...
 
virtual void PostUpdate (Item item)
 Allows you to make things happen when an item is lying in the world. This will always be called, even when the item is being grabbed by a player. This hook should be used for adding light, or for increasing the age of less valuable items. More...
 
virtual bool PreDrawInInventory (Item item, SpriteBatch spriteBatch, Vector2 position, Rectangle frame, Color drawColor, Color itemColor, Vector2 origin, float scale)
 Allows you to draw things behind an item in the inventory. Return false to stop the game from drawing the item (useful if you're manually drawing the item). Returns true by default. More...
 
virtual bool PreDrawInWorld (Item item, SpriteBatch spriteBatch, Color lightColor, Color alphaColor, ref float rotation, ref float scale, int whoAmI)
 Allows you to draw things behind an item, or to modify the way an item is drawn in the world. Return false to stop the game from drawing the item (useful if you're manually drawing the item). Returns true by default. More...
 
virtual bool PreDrawTooltip (Item item, ReadOnlyCollection< TooltipLine > lines, ref int x, ref int y)
 Allows you to do things before this item's tooltip is drawn. More...
 
virtual bool PreDrawTooltipLine (Item item, DrawableTooltipLine line, ref int yOffset)
 Allows you to do things before a tooltip line of this item is drawn. The line contains draw info. More...
 
virtual ? bool PrefixChance (Item item, int pre, UnifiedRandom rand)
 To prevent putting the item in the tinkerer slot, return false when pre is -3. To prevent rolling of a prefix on spawn, return false when pre is -1. To force rolling of a prefix on spawn, return true when pre is -1. More...
 
virtual bool PreOpenVanillaBag (string context, Player player, int arg)
 Allows you to make vanilla bags drop your own items and stop the default items from being dropped. Return false to stop the default items from being dropped; returns true by default. Context will either be "present", "bossBag", "crate", "lockBox", "herbBag", or "goodieBag". For boss bags and crates, arg will be set to the type of the item being opened. This method is also called for modded bossBags that are properly implemented. More...
 
virtual void PreReforge (Item item)
 
virtual void PreUpdateVanitySet (Player player, string set)
 Allows you to create special effects (such as the necro armor's hurt noise) when the player wears the vanity set with the given name returned by IsVanitySet. This hook is called regardless of whether the player is frozen in any way. More...
 
virtual bool ReforgePrice (Item item, ref int reforgePrice, ref bool canApplyDiscount)
 Returns if the normal reforge pricing is applied. If true or false is returned and the price is altered, the price will equal the altered price. The passed reforge price equals the item.value. Vanilla pricing will apply 20% discount if applicable and then price the reforge at a third of that value. More...
 
virtual void RightClick (Item item, Player player)
 Allows you to make things happen when an item is right-clicked in the inventory. Useful for goodie bags. More...
 
virtual TagCompound Save (Item item)
 Allows you to save custom data for the given item. Only called when NeedsCustomSaving returns true. Returns false by default. More...
 
virtual void SetDefaults (Item item)
 Allows you to set the properties of any and every item that gets created. More...
 
virtual void SetMatch (int armorSlot, int type, bool male, ref int equipSlot, ref bool robes)
 Allows you to modify the equipment that the player appears to be wearing. More...
 
virtual bool Shoot (Item item, Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
 This is called before the weapon creates a projectile. You can use it to create special effects, such as changing the speed, changing the initial position, and/or firing multiple projectiles. Return false to stop the game from shooting the default projectile (do this if you manually spawn your own projectile). Returns true by default. More...
 
virtual void Update (Item item, ref float gravity, ref float maxFallSpeed)
 Allows you to customize an item's movement when lying in the world. Note that this will not be called if the item is currently being grabbed by a player. More...
 
virtual void UpdateAccessory (Item item, Player player, bool hideVisual)
 Allows you to give effects to accessories. The hideVisual parameter is whether the player has marked the accessory slot to be hidden from being drawn on the player. More...
 
virtual void UpdateArmorSet (Player player, string set)
 Allows you to give set bonuses to your armor set with the given name. The set name will be the same as returned by IsArmorSet. More...
 
virtual void UpdateEquip (Item item, Player player)
 Allows you to give effects to armors and accessories, such as increased damage. More...
 
virtual void UpdateInventory (Item item, Player player)
 Allows you to make things happen when an item is in the player's inventory (for example, how the cell phone makes information display). More...
 
virtual void UpdateVanitySet (Player player, string set)
 Allows you to create special effects (such as dust) when the player wears the vanity set with the given name returned by IsVanitySet. This hook will only be called if the player is not frozen in any way. More...
 
virtual bool UseItem (Item item, Player player)
 Allows you to make things happen when an item is used. Return true if using the item actually does stuff. Returns false by default. More...
 
virtual bool UseItemFrame (Item item, Player player)
 Allows you to modify the player's animation when an item is being used. Return true if you modify the player's animation. Returns false by default. More...
 
virtual void UseItemHitbox (Item item, Player player, ref Rectangle hitbox, ref bool noHitbox)
 Changes the hitbox of a melee weapon when it is used. More...
 
virtual void UseStyle (Item item, Player player)
 Allows you to modify the location and rotation of any item in its use animation. More...
 
virtual float UseTimeMultiplier (Item item, Player player)
 Allows you to change the effective useTime of an item. More...
 
virtual void VerticalWingSpeeds (Item item, Player player, ref float ascentWhenFalling, ref float ascentWhenRising, ref float maxCanAscendMultiplier, ref float maxAscentMultiplier, ref float constantAscend)
 Allows you to modify the speeds at which you rise and fall when wings are equipped. More...
 
virtual bool WingUpdate (int wings, Player player, bool inUse)
 Allows for Wings to do various things while in use. "inUse" is whether or not the jump button is currently pressed. Called when wings visually appear on the player. Use to animate wings, create dusts, invoke sounds, and create lights. False will keep everything the same. True, you need to handle all animations in your own code. More...
 

Properties

virtual bool CloneNewInstances [get]
 Whether instances of this GlobalItem are created through Clone or constructor (by default implementations of NewInstance and Clone(Item, Item)). Defaults to false (using default constructor). More...
 
virtual bool InstancePerEntity [get]
 Whether to create a new GlobalItem instance for every Item that exists. Useful for storing information on an item. Defaults to false. Return true if you need to store information (have non-static fields). More...
 
Mod mod [get, set]
 The mod to which this GlobalItem belongs. More...
 
string Name [get, set]
 The name of this GlobalItem instance. More...
 

Detailed Description

This class allows you to modify and use hooks for all items, including vanilla items. Create an instance of an overriding class then call Mod.AddGlobalItem to use this.

Definition at line 15 of file GlobalItem.cs.

Member Function Documentation

◆ AddRecipes()

virtual void Terraria.ModLoader.GlobalItem.AddRecipes ( )
virtual

This is essentially the same as Mod.AddRecipes or ModItem.AddRecipes. Use whichever method makes organizational sense for your mod.

Definition at line 834 of file GlobalItem.cs.

834 {
835 }

◆ AllowPrefix()

virtual bool Terraria.ModLoader.GlobalItem.AllowPrefix ( Item  item,
int  pre 
)
virtual

Force a re-roll of a prefix by returning false.

◆ AltFunctionUse()

virtual bool Terraria.ModLoader.GlobalItem.AltFunctionUse ( Item  item,
Player  player 
)
virtual

Allows you to make an item usable by right-clicking. Returns false by default. When the item is used by right-clicking, player.altFunctionUse will be set to 2.

Definition at line 414 of file GlobalItem.cs.

414 {
415 return false;
416 }

◆ AnglerChat()

virtual void Terraria.ModLoader.GlobalItem.AnglerChat ( int  type,
ref string  chat,
ref string  catchLocation 
)
virtual

Allows you to set what the Angler says when the Quest button is clicked in his chat. The chat parameter is his dialogue, and catchLocation should be set to "Caught at [location]" for the given type.

This method is not instanced.

Definition at line 828 of file GlobalItem.cs.

828 {
829 }

◆ ArmorArmGlowMask()

virtual void Terraria.ModLoader.GlobalItem.ArmorArmGlowMask ( int  slot,
Player  drawPlayer,
float  shadow,
ref int  glowMask,
ref Color  color 
)
virtual

Allows you to modify which glow mask and in what color is drawn on the player's arms. Note that this is only called for body armor.

This method is not instanced.

Definition at line 647 of file GlobalItem.cs.

647 {
648 }

◆ ArmorSetShadows()

virtual void Terraria.ModLoader.GlobalItem.ArmorSetShadows ( Player  player,
string  set 
)
virtual

Allows you to determine special visual effects a vanity has on the player without having to code them yourself.

This method is not instanced.

player.armorEffectDrawShadow = true;

Definition at line 502 of file GlobalItem.cs.

502 {
503 }

Referenced by Terraria.ModLoader.ItemLoader.ArmorSetShadows().

+ Here is the caller graph for this function:

◆ Autoload()

virtual bool Terraria.ModLoader.GlobalItem.Autoload ( ref string  name)
virtual

Allows you to automatically load a GlobalItem instead of using Mod.AddGlobalItem. Return true to allow autoloading; by default returns the mod's autoload property. Name is initialized to the overriding class name. Use this method to either force or stop an autoload or to control the internal name.

Definition at line 39 of file GlobalItem.cs.

39 {
40 return mod.Properties.Autoload;
41 }
Mod mod
The mod to which this GlobalItem belongs.
Definition: GlobalItem.cs:20
ModProperties Properties
Definition: Mod.cs:52
bool Autoload
Whether or not this mod will autoload content by default. Autoloading content means you do not need t...

References Terraria.ModLoader.ModProperties.Autoload, Terraria.ModLoader.GlobalItem.mod, and Terraria.ModLoader.Mod.Properties.

Referenced by Terraria.ModLoader.Mod.AutoloadGlobalItem().

+ Here is the caller graph for this function:

◆ CanBurnInLava()

virtual bool Terraria.ModLoader.GlobalItem.CanBurnInLava ( Item  item)
virtual

Returns whether or not this item burns when it is thrown into lava despite item.rare not being 0. Returns false by default.

Definition at line 684 of file GlobalItem.cs.

684 {
685 return false;
686 }

◆ CanEquipAccessory()

virtual bool Terraria.ModLoader.GlobalItem.CanEquipAccessory ( Item  item,
Player  player,
int  slot 
)
virtual

Allows you to disallow the player from equipping an accessory. Return false to disallow equipping the accessory. Returns true by default.

Parameters
itemThe item that is attepting to equip.
playerThe player.
slotThe inventory slot that the item is attempting to occupy.

Definition at line 792 of file GlobalItem.cs.

792 {
793 return true;
794 }

◆ CanHitNPC()

virtual ? bool Terraria.ModLoader.GlobalItem.CanHitNPC ( Item  item,
Player  player,
NPC  target 
)
virtual

Allows you to determine whether a melee weapon can hit the given NPC when swung. Return true to allow hitting the target, return false to block the weapon from hitting the target, and return null to use the vanilla code for whether the target can be hit. Returns null by default.

Definition at line 340 of file GlobalItem.cs.

340 {
341 return null;
342 }

◆ CanHitPvp()

virtual bool Terraria.ModLoader.GlobalItem.CanHitPvp ( Item  item,
Player  player,
Player  target 
)
virtual

Allows you to determine whether a melee weapon can hit the given opponent player when swung. Return false to block the weapon from hitting the target. Returns true by default.

Definition at line 359 of file GlobalItem.cs.

359 {
360 return true;
361 }

◆ CanPickup()

virtual bool Terraria.ModLoader.GlobalItem.CanPickup ( Item  item,
Player  player 
)
virtual

Allows you to determine whether or not the item can be picked up

Definition at line 710 of file GlobalItem.cs.

710 {
711 return true;
712 }

◆ CanRightClick()

virtual bool Terraria.ModLoader.GlobalItem.CanRightClick ( Item  item)
virtual

Returns whether or not an item does something when right-clicked in the inventory. Returns false by default.

Definition at line 523 of file GlobalItem.cs.

523 {
524 return false;
525 }

◆ CanUseItem()

virtual bool Terraria.ModLoader.GlobalItem.CanUseItem ( Item  item,
Player  player 
)
virtual

Returns whether or not any item can be used. Returns true by default. The inability to use a specific item overrides this, so use this to stop an item from being used.

Definition at line 126 of file GlobalItem.cs.

126 {
127 return true;
128 }

◆ CaughtFishStack()

virtual void Terraria.ModLoader.GlobalItem.CaughtFishStack ( int  type,
ref int  stack 
)
virtual

Allows you to modify how many of an item a player obtains when the player fishes that item.

Definition at line 809 of file GlobalItem.cs.

809 {
810 }

◆ ChoosePrefix()

virtual int Terraria.ModLoader.GlobalItem.ChoosePrefix ( Item  item,
UnifiedRandom  rand 
)
virtual

Allows you to manually choose what prefix an item will get.

Returns
The ID of the prefix to give the item, -1 to use default vanilla behavior

◆ Clone() [1/2]

virtual GlobalItem Terraria.ModLoader.GlobalItem.Clone ( )
virtual

Returns a clone of this GlobalItem. By default this will return a memberwise clone; you will want to override this if your GlobalItem contains object references. Only called if CloneNewInstances && InstancePerEntity

Referenced by Terraria.ModLoader.GlobalItem.NewInstance().

+ Here is the caller graph for this function:

◆ Clone() [2/2]

virtual GlobalItem Terraria.ModLoader.GlobalItem.Clone ( Item  item,
Item  itemClone 
)
virtual

Create a copy of this instanced GlobalItem. Called when an item is cloned. Defaults to NewInstance(item)

Parameters
itemThe item being cloned
itemCloneThe new item

◆ ConsumeAmmo()

virtual bool Terraria.ModLoader.GlobalItem.ConsumeAmmo ( Item  item,
Player  player 
)
virtual

Whether or not ammo will be consumed upon usage. Called both by the gun and by the ammo; if at least one returns false then the ammo will not be used. By default returns true. If false is returned, the OnConsumeAmmo hook is never called.

Definition at line 298 of file GlobalItem.cs.

298 {
299 return true;
300 }

◆ ConsumeItem()

virtual bool Terraria.ModLoader.GlobalItem.ConsumeItem ( Item  item,
Player  player 
)
virtual

If the item is consumable and this returns true, then the item will be consumed upon usage. Returns true by default. If false is returned, the OnConsumeItem hook is never called.

Definition at line 386 of file GlobalItem.cs.

386 {
387 return true;
388 }

◆ DrawArmorColor()

virtual void Terraria.ModLoader.GlobalItem.DrawArmorColor ( EquipType  type,
int  slot,
Player  drawPlayer,
float  shadow,
ref Color  color,
ref int  glowMask,
ref Color  glowMaskColor 
)
virtual

Allows you to modify the colors in which the player's armor and their surrounding accessories are drawn, in addition to which glow mask and in what color is drawn.

This method is not instanced.

Definition at line 638 of file GlobalItem.cs.

639 {
640 }

◆ DrawBody()

virtual bool Terraria.ModLoader.GlobalItem.DrawBody ( int  body)
virtual

Return false to hide the player's body when a body armor is worn. Returns true by default. "body" is the player's associated body equipment texture. This method is not instanced.

Definition at line 620 of file GlobalItem.cs.

620 {
621 return true;
622 }

◆ DrawHair()

virtual void Terraria.ModLoader.GlobalItem.DrawHair ( int  head,
ref bool  drawHair,
ref bool  drawAltHair 
)
virtual

Allows you to determine whether the player's hair or alt (hat) hair will be drawn when a head armor is worn. "head" is the player's associated head equipment texture. This method is not instanced.

Definition at line 603 of file GlobalItem.cs.

603 {
604 }

◆ DrawHands()

virtual void Terraria.ModLoader.GlobalItem.DrawHands ( int  body,
ref bool  drawHands,
ref bool  drawArms 
)
virtual

Allows you to determine whether the skin/shirt on the player's arms and hands are drawn when a body armor is worn. Note that if drawHands is false, the arms will not be drawn either. "body" is the player's associated body equipment texture. This method is not instanced.

Definition at line 595 of file GlobalItem.cs.

595 {
596 }

◆ DrawHead()

virtual bool Terraria.ModLoader.GlobalItem.DrawHead ( int  head)
virtual

Return false to hide the player's head when a head armor is worn. Returns true by default. "head" is the player's associated head equipment texture. This method is not instanced.

Definition at line 611 of file GlobalItem.cs.

611 {
612 return true;
613 }

◆ DrawLegs()

virtual bool Terraria.ModLoader.GlobalItem.DrawLegs ( int  legs,
int  shoes 
)
virtual

Return false to hide the player's legs when a leg armor or shoe accessory is worn. Returns true by default. "legs" and "shoes" are the player's associated legs and shoes equipment textures. This method is not instanced.

Definition at line 629 of file GlobalItem.cs.

629 {
630 return true;
631 }

◆ ExtractinatorUse()

virtual void Terraria.ModLoader.GlobalItem.ExtractinatorUse ( int  extractType,
ref int  resultType,
ref int  resultStack 
)
virtual

Allows you to modify what item, and in what quantity, is obtained when an item of the given type is fed into the Extractinator. An extractType of 0 represents the default extraction (Silt and Slush). By default the parameters will be set to the output of feeding Silt/Slush into the Extractinator.

This method is not instanced.

Definition at line 803 of file GlobalItem.cs.

803 {
804 }

◆ GetAlpha()

virtual ? Color Terraria.ModLoader.GlobalItem.GetAlpha ( Item  item,
Color  lightColor 
)
virtual

Allows you to determine the color and transparency in which an item is drawn. Return null to use the default color (normally light color). Returns null by default.

Definition at line 731 of file GlobalItem.cs.

731 {
732 return null;
733 }

◆ GetHealLife()

virtual void Terraria.ModLoader.GlobalItem.GetHealLife ( Item  item,
Player  player,
bool  quickHeal,
ref int  healValue 
)
virtual

Allows you to temporarily modify the amount of life a life healing item will heal for, based on player buffs, accessories, etc. This is only called for items with a healLife value.

Parameters
itemThe item being used.
playerThe player using the item.
quickHealWhether the item is being used through quick heal or not.
healValueThe amount of life being healed.

Definition at line 171 of file GlobalItem.cs.

171 {
172 }

◆ GetHealMana()

virtual void Terraria.ModLoader.GlobalItem.GetHealMana ( Item  item,
Player  player,
bool  quickHeal,
ref int  healValue 
)
virtual

Allows you to temporarily modify the amount of mana a mana healing item will heal for, based on player buffs, accessories, etc. This is only called for items with a healMana value.

Parameters
itemThe item being used.
playerThe player using the item.
quickHealWhether the item is being used through quick heal or not.
healValueThe amount of mana being healed.

Definition at line 181 of file GlobalItem.cs.

181 {
182 }

◆ GetWeaponCrit()

virtual void Terraria.ModLoader.GlobalItem.GetWeaponCrit ( Item  item,
Player  player,
ref int  crit 
)
virtual

Allows you to temporarily modify this weapon's crit chance based on player buffs, etc. Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. If you use a custom damage class, the crit value will equal item.crit Vanilla checks classes in this order: melee, ranged, magic, thrown, and summon cannot crit. So if you set both melee class and another class to true, only the melee crit will actually be used.

Parameters
itemThe item being used
playerThe player using the item
critThe critical strike chance

Definition at line 274 of file GlobalItem.cs.

274 {
275 }

◆ GetWeaponDamage()

virtual void Terraria.ModLoader.GlobalItem.GetWeaponDamage ( Item  item,
Player  player,
ref int  damage 
)
virtual

Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts). Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. Vanilla checks classes in this order: melee, ranged, magic, thrown, summon So if you set both melee class and another class to true, only the melee damage will actually be used.

Parameters
itemThe item being used
playerThe player using the item
damageThe damage

Definition at line 225 of file GlobalItem.cs.

225 {
226 }

◆ GetWeaponKnockback()

virtual void Terraria.ModLoader.GlobalItem.GetWeaponKnockback ( Item  item,
Player  player,
ref float  knockback 
)
virtual

Allows you to temporarily modify this weapon's knockback based on player buffs, etc. This allows you to customize knockback beyond the Player class's limited fields. Note that tModLoader follows vanilla principle of only allowing one effective damage class at a time. This means that if you want your own custom damage class, all vanilla damage classes must be set to false. Vanilla checks classes in this order: melee, ranged, magic, thrown, summon So if you set both melee class and another class to true, only the melee knockback will actually be used.

Parameters
itemThe item being used
playerThe player using the item
knockbackThe knockback

Definition at line 260 of file GlobalItem.cs.

260 {
261 }

◆ GrabRange()

virtual void Terraria.ModLoader.GlobalItem.GrabRange ( Item  item,
Player  player,
ref int  grabRange 
)
virtual

Allows you to modify how close an item must be to the player in order to move towards the player.

Definition at line 697 of file GlobalItem.cs.

697 {
698 }

◆ GrabStyle()

virtual bool Terraria.ModLoader.GlobalItem.GrabStyle ( Item  item,
Player  player 
)
virtual

Allows you to modify the way an item moves towards the player. Return false to allow the vanilla grab style to take place. Returns false by default.

Definition at line 703 of file GlobalItem.cs.

703 {
704 return false;
705 }

◆ HoldItem()

virtual void Terraria.ModLoader.GlobalItem.HoldItem ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when the player is holding an item (for example, torches make light and water candles increase spawn rate).

Definition at line 145 of file GlobalItem.cs.

145 {
146 }

◆ HoldItemFrame()

virtual bool Terraria.ModLoader.GlobalItem.HoldItemFrame ( Item  item,
Player  player 
)
virtual

Allows you to modify the player's animation when the player is holding an item. Return true if you modify the player's animation. Returns false by default.

Definition at line 407 of file GlobalItem.cs.

407 {
408 return false;
409 }

◆ HoldoutOffset()

virtual ? Vector2 Terraria.ModLoader.GlobalItem.HoldoutOffset ( int  type)
virtual

Allows you to determine the offset of an item's sprite when used by the player. This is only used for items with a useStyle of 5 that aren't staves. Return null to use the item's default holdout offset; returns null by default.

This method is not instanced.

return new Vector2(10, 0);

Definition at line 771 of file GlobalItem.cs.

771 {
772 return null;
773 }

◆ HoldoutOrigin()

virtual ? Vector2 Terraria.ModLoader.GlobalItem.HoldoutOrigin ( int  type)
virtual

Allows you to determine the point on an item's sprite that the player holds onto when using the item. The origin is from the bottom left corner of the sprite. This is only used for staves with a useStyle of 5. Return null to use the item's default holdout origin; returns null by default.

This method is not instanced.

Definition at line 782 of file GlobalItem.cs.

782 {
783 return null;
784 }

◆ HoldStyle()

virtual void Terraria.ModLoader.GlobalItem.HoldStyle ( Item  item,
Player  player 
)
virtual

Allows you to modify the location and rotation of the item the player is currently holding.

Definition at line 139 of file GlobalItem.cs.

139 {
140 }

◆ HorizontalWingSpeeds()

virtual void Terraria.ModLoader.GlobalItem.HorizontalWingSpeeds ( Item  item,
Player  player,
ref float  speed,
ref float  acceleration 
)
virtual

Allows you to modify the horizontal flight speed and acceleration of wings.

Definition at line 660 of file GlobalItem.cs.

660 {
661 }

◆ Instance()

GlobalItem Terraria.ModLoader.GlobalItem.Instance ( Item  item)

◆ IsAnglerQuestAvailable()

virtual bool Terraria.ModLoader.GlobalItem.IsAnglerQuestAvailable ( int  type)
virtual

Whether or not specific conditions have been satisfied for the Angler to be able to request the given item. (For example, Hardmode.) Returns true by default.

This method is not instanced.

Definition at line 818 of file GlobalItem.cs.

818 {
819 return true;
820 }

◆ IsArmorSet()

virtual string Terraria.ModLoader.GlobalItem.IsArmorSet ( Item  head,
Item  body,
Item  legs 
)
virtual

Allows you to determine whether the player is wearing an armor set, and return a name for this set. If there is no armor set, return the empty string. Returns the empty string by default.

This method is not instanced.

Definition at line 443 of file GlobalItem.cs.

443 {
444 return "";
445 }

Referenced by Terraria.ModLoader.GlobalItem.IsVanitySet(), and Terraria.ModLoader.ItemLoader.UpdateArmorSet().

+ Here is the caller graph for this function:

◆ IsVanitySet()

virtual string Terraria.ModLoader.GlobalItem.IsVanitySet ( int  head,
int  body,
int  legs 
)
virtual

Returns whether or not the head armor, body armor, and leg armor textures make up a set. This hook is used for the PreUpdateVanitySet, UpdateVanitySet, and ArmorSetShadow hooks, and will use items in the social slots if they exist. By default this will return the same value as the IsArmorSet hook, so you will not have to use this hook unless you want vanity effects to be entirely separate from armor sets.

This method is not instanced.

Definition at line 463 of file GlobalItem.cs.

463 {
464 Item headItem = new Item();
465 if (head >= 0) {
466 headItem.SetDefaults(Item.headType[head], true);
467 }
468 Item bodyItem = new Item();
469 if (body >= 0) {
470 bodyItem.SetDefaults(Item.bodyType[body], true);
471 }
472 Item legItem = new Item();
473 if (legs >= 0) {
474 legItem.SetDefaults(Item.legType[legs], true);
475 }
476 return IsArmorSet(headItem, bodyItem, legItem);
477 }
virtual string IsArmorSet(Item head, Item body, Item legs)
Allows you to determine whether the player is wearing an armor set, and return a name for this set....
Definition: GlobalItem.cs:443

References Terraria.ModLoader.GlobalItem.IsArmorSet(), and Terraria.ModLoader.Item.

Referenced by Terraria.ModLoader.ItemLoader.ArmorSetShadows(), Terraria.ModLoader.ItemLoader.PreUpdateVanitySet(), and Terraria.ModLoader.ItemLoader.UpdateVanitySet().

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

◆ ItemSpace()

virtual bool Terraria.ModLoader.GlobalItem.ItemSpace ( Item  item,
Player  player 
)
virtual

Return true to specify that the item can be picked up despite not having enough room in inventory. Useful for something like hearts or experience items. Use in conjunction with OnPickup to actually consume the item and handle it.

Definition at line 724 of file GlobalItem.cs.

724 {
725 return false;
726 }

◆ Load()

virtual void Terraria.ModLoader.GlobalItem.Load ( Item  item,
TagCompound  tag 
)
virtual

Allows you to load custom data that you have saved for the given item.

Definition at line 905 of file GlobalItem.cs.

905 {
906 }

◆ LoadLegacy()

virtual void Terraria.ModLoader.GlobalItem.LoadLegacy ( Item  item,
BinaryReader  reader 
)
virtual

Allows you to load pre-v0.9 custom data that you have saved for the given item.

Definition at line 911 of file GlobalItem.cs.

911 {
912 }

◆ MeleeEffects()

virtual void Terraria.ModLoader.GlobalItem.MeleeEffects ( Item  item,
Player  player,
Rectangle  hitbox 
)
virtual

Allows you to give melee weapons special effects, such as creating light or dust.

Definition at line 334 of file GlobalItem.cs.

334 {
335 }

◆ MeleeSpeedMultiplier()

virtual float Terraria.ModLoader.GlobalItem.MeleeSpeedMultiplier ( Item  item,
Player  player 
)
virtual

Allows you to change the effective useAnimation of an item.

Returns
The multiplier on the animation speed. 1f by default. Values greater than 1 increase the item speed.

Definition at line 160 of file GlobalItem.cs.

160 {
161 return 1f;
162 }

◆ ModifyHitNPC()

virtual void Terraria.ModLoader.GlobalItem.ModifyHitNPC ( Item  item,
Player  player,
NPC  target,
ref int  damage,
ref float  knockBack,
ref bool  crit 
)
virtual

Allows you to modify the damage, knockback, etc., that a melee weapon does to an NPC.

Definition at line 347 of file GlobalItem.cs.

347 {
348 }

◆ ModifyHitPvp()

virtual void Terraria.ModLoader.GlobalItem.ModifyHitPvp ( Item  item,
Player  player,
Player  target,
ref int  damage,
ref bool  crit 
)
virtual

Allows you to modify the damage, etc., that a melee weapon does to a player.

Definition at line 366 of file GlobalItem.cs.

366 {
367 }

◆ ModifyManaCost()

virtual void Terraria.ModLoader.GlobalItem.ModifyManaCost ( Item  item,
Player  player,
ref float  reduce,
ref float  mult 
)
virtual

Allows you to temporarily modify the amount of mana an item will consume on use, based on player buffs, accessories, etc. This is only called for items with a mana value.

Parameters
itemThe item being used.
playerThe player using the item.
reduceUsed for decreasingly stacking buffs (most common). Only ever use -= on this field.
multUse to directly multiply the item's effective mana cost. Good for debuffs, or things which should stack separately (eg meteor armor set bonus).

Definition at line 191 of file GlobalItem.cs.

191 {
192 }

◆ ModifyTooltips()

virtual void Terraria.ModLoader.GlobalItem.ModifyTooltips ( Item  item,
List< TooltipLine tooltips 
)
virtual

Allows you to modify all the tooltips that display for the given item. See here for information about TooltipLine.

Definition at line 885 of file GlobalItem.cs.

885 {
886 }

◆ ModifyWeaponDamage() [1/2]

virtual void Terraria.ModLoader.GlobalItem.ModifyWeaponDamage ( Item  item,
Player  player,
ref float  add,
ref float  mult 
)
virtual

Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts).

Parameters
itemThe item being used
playerThe player using the item
addUsed for additively stacking buffs (most common). Only ever use += on this field.
multUse to directly multiply the player's effective damage. Good for debuffs, or things which should stack separately (eg ammo type buffs)

Definition at line 236 of file GlobalItem.cs.

236 {
237 }

◆ ModifyWeaponDamage() [2/2]

virtual void Terraria.ModLoader.GlobalItem.ModifyWeaponDamage ( Item  item,
Player  player,
ref float  add,
ref float  mult,
ref float  flat 
)
virtual

Allows you to temporarily modify this weapon's damage based on player buffs, etc. This is useful for creating new classes of damage, or for making subclasses of damage (for example, Shroomite armor set boosts).

Parameters
itemThe item being used
playerThe player using the item
addUsed for additively stacking buffs (most common). Only ever use += on this field. Things with effects like "5% increased MyDamageClass damage" would use this: add += 0.05f
multUse to directly multiply the player's effective damage. Good for debuffs, or things which should stack separately (eg ammo type buffs)
flatThis is a flat damage bonus that will be added after add and mult are applied. It facilitates effects like "4 more damage from weapons"

Definition at line 247 of file GlobalItem.cs.

247 {
248 }

◆ NeedsSaving()

virtual bool Terraria.ModLoader.GlobalItem.NeedsSaving ( Item  item)
virtual

Whether or not the given item needs to save custom data. Returning false will save on the memory used in saving an item, but returning true is necessary in order to save data across all items or vanilla items. Returns false by default. Note that the return value of this hook must be deterministic (randomness is not allowed).

Definition at line 891 of file GlobalItem.cs.

891 {
892 return false;
893 }

◆ NetReceive()

virtual void Terraria.ModLoader.GlobalItem.NetReceive ( Item  item,
BinaryReader  reader 
)
virtual

Definition at line 923 of file GlobalItem.cs.

923 {
924 }

◆ NetSend()

virtual void Terraria.ModLoader.GlobalItem.NetSend ( Item  item,
BinaryWriter  writer 
)
virtual

Allows you to send custom data for the given item between client and server.

Definition at line 917 of file GlobalItem.cs.

917 {
918 }

◆ NewInstance()

virtual GlobalItem Terraria.ModLoader.GlobalItem.NewInstance ( Item  item)
virtual

Create a new instance of this GlobalItem for an Item instance. Called at the end of Item.SetDefaults. If CloneNewInstances is true, just calls Clone() Otherwise calls the default constructor and copies fields

Definition at line 79 of file GlobalItem.cs.

79 {
81 return Clone();
82
83 var copy = (GlobalItem)Activator.CreateInstance(GetType());
84 copy.mod = mod;
85 copy.Name = Name;
86 copy.index = index; //not necessary, but consistency
87 copy.instanceIndex = instanceIndex;//shouldn't be used, but someone might
88 return copy;
89 }
string Name
The name of this GlobalItem instance.
Definition: GlobalItem.cs:28
virtual bool CloneNewInstances
Whether instances of this GlobalItem are created through Clone or constructor (by default implementat...
Definition: GlobalItem.cs:56
virtual GlobalItem Clone()
Returns a clone of this GlobalItem. By default this will return a memberwise clone; you will want to ...

References Terraria.ModLoader.GlobalItem.Clone(), Terraria.ModLoader.GlobalItem.CloneNewInstances, Terraria.ModLoader.GlobalItem.mod, and Terraria.ModLoader.GlobalItem.Name.

+ Here is the call graph for this function:

◆ NewPreReforge()

virtual bool Terraria.ModLoader.GlobalItem.NewPreReforge ( Item  item)
virtual

This hook gets called when the player clicks on the reforge button and can afford the reforge. Returns whether the reforge will take place. If false is returned, the PostReforge hook is never called. Reforging preserves modded data on the item.

Definition at line 572 of file GlobalItem.cs.

572 {
573 return true;
574 }

Referenced by Terraria.ModLoader.GlobalItem.PreReforge().

+ Here is the caller graph for this function:

◆ OnConsumeAmmo()

virtual void Terraria.ModLoader.GlobalItem.OnConsumeAmmo ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when ammo is consumed. Called both by the gun and by the ammo. Called before the ammo stack is reduced.

Definition at line 306 of file GlobalItem.cs.

306 {
307 }

◆ OnConsumeItem()

virtual void Terraria.ModLoader.GlobalItem.OnConsumeItem ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when this item is consumed. Called before the item stack is reduced.

Definition at line 394 of file GlobalItem.cs.

394 {
395 }

◆ OnConsumeMana()

virtual void Terraria.ModLoader.GlobalItem.OnConsumeMana ( Item  item,
Player  player,
int  manaConsumed 
)
virtual

Allows you to make stuff happen when a player consumes mana on use of an item.

Parameters
itemThe item being used.
playerThe player using the item.
manaConsumedThe mana consumed from the player.

Definition at line 211 of file GlobalItem.cs.

211 {
212 }

◆ OnCraft()

virtual void Terraria.ModLoader.GlobalItem.OnCraft ( Item  item,
Recipe  recipe 
)
virtual

Allows you to make anything happen when the player crafts the given item using the given recipe.

Definition at line 840 of file GlobalItem.cs.

840 {
841 }

◆ OnHitNPC()

virtual void Terraria.ModLoader.GlobalItem.OnHitNPC ( Item  item,
Player  player,
NPC  target,
int  damage,
float  knockBack,
bool  crit 
)
virtual

Allows you to create special effects when a melee weapon hits an NPC (for example how the Pumpkin Sword creates pumpkin heads).

Definition at line 353 of file GlobalItem.cs.

353 {
354 }

◆ OnHitPvp()

virtual void Terraria.ModLoader.GlobalItem.OnHitPvp ( Item  item,
Player  player,
Player  target,
int  damage,
bool  crit 
)
virtual

Allows you to create special effects when a melee weapon hits a player.

Definition at line 372 of file GlobalItem.cs.

372 {
373 }

◆ OnMissingMana()

virtual void Terraria.ModLoader.GlobalItem.OnMissingMana ( Item  item,
Player  player,
int  neededMana 
)
virtual

Allows you to make stuff happen when a player doesn't have enough mana for an item they are trying to use. If the player has high enough mana after this hook runs, mana consumption will happen normally. Only runs once per item use.

Parameters
itemThe item being used.
playerThe player using the item.
neededManaThe mana needed to use the item.

Definition at line 202 of file GlobalItem.cs.

202 {
203 }

◆ OnPickup()

virtual bool Terraria.ModLoader.GlobalItem.OnPickup ( Item  item,
Player  player 
)
virtual

Allows you to make special things happen when the player picks up an item. Return false to stop the item from being added to the player's inventory; returns true by default.

Definition at line 717 of file GlobalItem.cs.

717 {
718 return true;
719 }

◆ OpenVanillaBag()

virtual void Terraria.ModLoader.GlobalItem.OpenVanillaBag ( string  context,
Player  player,
int  arg 
)
virtual

Allows you to make vanilla bags drop your own items in addition to the default items. This method will not be called if any other GlobalItem returns false for PreOpenVanillaBag. Context will either be "present", "bossBag", "crate", "lockBox", "herbBag", or "goodieBag". For boss bags and crates, arg will be set to the type of the item being opened. This method is also called for modded bossBags that are properly implemented.

This method is not instanced.

Definition at line 555 of file GlobalItem.cs.

555 {
556 }

◆ PickAmmo() [1/2]

virtual void Terraria.ModLoader.GlobalItem.PickAmmo ( Item  item,
Player  player,
ref int  type,
ref float  speed,
ref int  damage,
ref float  knockback 
)
virtual

Definition at line 291 of file GlobalItem.cs.

291 {
292 }

◆ PickAmmo() [2/2]

virtual void Terraria.ModLoader.GlobalItem.PickAmmo ( Item  weapon,
Item  ammo,
Player  player,
ref int  type,
ref float  speed,
ref int  damage,
ref float  knockback 
)
virtual

Allows you to modify the projectile created by a weapon based on the ammo it is using.

Parameters
weaponThe item that is using this ammo
ammoThe ammo item
playerThe player using the item
typeThe ID of the projectile shot
speedThe speed of the projectile shot
damageThe damage of the projectile shot
knockbackThe speed of the projectile shot

Definition at line 287 of file GlobalItem.cs.

287 {
288 }

◆ PostDrawInInventory()

virtual void Terraria.ModLoader.GlobalItem.PostDrawInInventory ( Item  item,
SpriteBatch  spriteBatch,
Vector2  position,
Rectangle  frame,
Color  drawColor,
Color  itemColor,
Vector2  origin,
float  scale 
)
virtual

Allows you to draw things in front of an item in the inventory. This method is called even if PreDrawInInventory returns false.

Definition at line 759 of file GlobalItem.cs.

760 {
761 }

◆ PostDrawInWorld()

virtual void Terraria.ModLoader.GlobalItem.PostDrawInWorld ( Item  item,
SpriteBatch  spriteBatch,
Color  lightColor,
Color  alphaColor,
float  rotation,
float  scale,
int  whoAmI 
)
virtual

Allows you to draw things in front of an item. This method is called even if PreDrawInWorld returns false.

Definition at line 745 of file GlobalItem.cs.

745 {
746 }

◆ PostDrawTooltip()

virtual void Terraria.ModLoader.GlobalItem.PostDrawTooltip ( Item  item,
ReadOnlyCollection< DrawableTooltipLine lines 
)
virtual

Allows you to do things after this item's tooltip is drawn. The lines contain draw information as this is ran after drawing the tooltip.

Parameters
itemThe item
linesThe tooltip lines for this item

Definition at line 860 of file GlobalItem.cs.

860 {
861 }

◆ PostDrawTooltipLine()

virtual void Terraria.ModLoader.GlobalItem.PostDrawTooltipLine ( Item  item,
DrawableTooltipLine  line 
)
virtual

Allows you to do things after a tooltip line of this item is drawn. The line contains draw info.

Parameters
itemThe item
lineThe line that was drawn

Definition at line 879 of file GlobalItem.cs.

879 {
880 }

◆ PostReforge()

virtual void Terraria.ModLoader.GlobalItem.PostReforge ( Item  item)
virtual

This hook gets called immediately after an item gets reforged by the Goblin Tinkerer. Useful for modifying modded data based on the reforge result.

Definition at line 586 of file GlobalItem.cs.

586 {
587 }

◆ PostUpdate()

virtual void Terraria.ModLoader.GlobalItem.PostUpdate ( Item  item)
virtual

Allows you to make things happen when an item is lying in the world. This will always be called, even when the item is being grabbed by a player. This hook should be used for adding light, or for increasing the age of less valuable items.

Definition at line 691 of file GlobalItem.cs.

691 {
692 }

◆ PreDrawInInventory()

virtual bool Terraria.ModLoader.GlobalItem.PreDrawInInventory ( Item  item,
SpriteBatch  spriteBatch,
Vector2  position,
Rectangle  frame,
Color  drawColor,
Color  itemColor,
Vector2  origin,
float  scale 
)
virtual

Allows you to draw things behind an item in the inventory. Return false to stop the game from drawing the item (useful if you're manually drawing the item). Returns true by default.

Definition at line 751 of file GlobalItem.cs.

752 {
753 return true;
754 }

◆ PreDrawInWorld()

virtual bool Terraria.ModLoader.GlobalItem.PreDrawInWorld ( Item  item,
SpriteBatch  spriteBatch,
Color  lightColor,
Color  alphaColor,
ref float  rotation,
ref float  scale,
int  whoAmI 
)
virtual

Allows you to draw things behind an item, or to modify the way an item is drawn in the world. Return false to stop the game from drawing the item (useful if you're manually drawing the item). Returns true by default.

Definition at line 738 of file GlobalItem.cs.

738 {
739 return true;
740 }

◆ PreDrawTooltip()

virtual bool Terraria.ModLoader.GlobalItem.PreDrawTooltip ( Item  item,
ReadOnlyCollection< TooltipLine lines,
ref int  x,
ref int  y 
)
virtual

Allows you to do things before this item's tooltip is drawn.

Parameters
itemThe item
linesThe tooltip lines for this item
xThe top X position for this tooltip. It is where the first line starts drawing
yThe top Y position for this tooltip. It is where the first line starts drawing
Returns
Whether or not to draw this tooltip

Definition at line 851 of file GlobalItem.cs.

851 {
852 return true;
853 }

◆ PreDrawTooltipLine()

virtual bool Terraria.ModLoader.GlobalItem.PreDrawTooltipLine ( Item  item,
DrawableTooltipLine  line,
ref int  yOffset 
)
virtual

Allows you to do things before a tooltip line of this item is drawn. The line contains draw info.

Parameters
itemThe item
lineThe line that would be drawn
yOffsetThe Y offset added for next tooltip lines
Returns
Whether or not to draw this tooltip line

Definition at line 870 of file GlobalItem.cs.

870 {
871 return true;
872 }

◆ PrefixChance()

virtual ? bool Terraria.ModLoader.GlobalItem.PrefixChance ( Item  item,
int  pre,
UnifiedRandom  rand 
)
virtual

To prevent putting the item in the tinkerer slot, return false when pre is -3. To prevent rolling of a prefix on spawn, return false when pre is -1. To force rolling of a prefix on spawn, return true when pre is -1.

To reduce the probability of a prefix on spawn (pre == -1) to X%, return false 100-4X % of the time. To increase the probability of a prefix on spawn (pre == -1) to X%, return true (4X-100)/3 % of the time.

To delete a prefix from an item when the item is loaded, return false when pre is the prefix you want to delete. Use AllowPrefix to prevent rolling of a certain prefix.

Parameters
preThe prefix being applied to the item, or the roll mode. -1 is when the item is naturally generated in a chest, crafted, purchased from an NPC, looted from a grab bag (excluding presents), or dropped by a slain enemy (if it's spawned with prefixGiven: -1). -2 is when the item is rolled in the tinkerer. -3 determines if the item can be placed in the tinkerer slot.
Returns

◆ PreOpenVanillaBag()

virtual bool Terraria.ModLoader.GlobalItem.PreOpenVanillaBag ( string  context,
Player  player,
int  arg 
)
virtual

Allows you to make vanilla bags drop your own items and stop the default items from being dropped. Return false to stop the default items from being dropped; returns true by default. Context will either be "present", "bossBag", "crate", "lockBox", "herbBag", or "goodieBag". For boss bags and crates, arg will be set to the type of the item being opened. This method is also called for modded bossBags that are properly implemented.

This method is not instanced.

Definition at line 542 of file GlobalItem.cs.

542 {
543 return true;
544 }

◆ PreReforge()

virtual void Terraria.ModLoader.GlobalItem.PreReforge ( Item  item)
virtual

Definition at line 578 of file GlobalItem.cs.

578 {
579 NewPreReforge(item);
580 }
virtual bool NewPreReforge(Item item)
This hook gets called when the player clicks on the reforge button and can afford the reforge....
Definition: GlobalItem.cs:572

References Terraria.ModLoader.GlobalItem.NewPreReforge().

+ Here is the call graph for this function:

◆ PreUpdateVanitySet()

virtual void Terraria.ModLoader.GlobalItem.PreUpdateVanitySet ( Player  player,
string  set 
)
virtual

Allows you to create special effects (such as the necro armor's hurt noise) when the player wears the vanity set with the given name returned by IsVanitySet. This hook is called regardless of whether the player is frozen in any way.

This method is not instanced.

Definition at line 485 of file GlobalItem.cs.

485 {
486 }

Referenced by Terraria.ModLoader.ItemLoader.PreUpdateVanitySet().

+ Here is the caller graph for this function:

◆ ReforgePrice()

virtual bool Terraria.ModLoader.GlobalItem.ReforgePrice ( Item  item,
ref int  reforgePrice,
ref bool  canApplyDiscount 
)
virtual

Returns if the normal reforge pricing is applied. If true or false is returned and the price is altered, the price will equal the altered price. The passed reforge price equals the item.value. Vanilla pricing will apply 20% discount if applicable and then price the reforge at a third of that value.

Definition at line 563 of file GlobalItem.cs.

563 {
564 return true;
565 }

◆ RightClick()

virtual void Terraria.ModLoader.GlobalItem.RightClick ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when an item is right-clicked in the inventory. Useful for goodie bags.

Definition at line 530 of file GlobalItem.cs.

530 {
531 }

◆ Save()

virtual TagCompound Terraria.ModLoader.GlobalItem.Save ( Item  item)
virtual

Allows you to save custom data for the given item. Only called when NeedsCustomSaving returns true. Returns false by default.

Definition at line 898 of file GlobalItem.cs.

898 {
899 return null;
900 }

◆ SetDefaults()

virtual void Terraria.ModLoader.GlobalItem.SetDefaults ( Item  item)
virtual

Allows you to set the properties of any and every item that gets created.

Definition at line 94 of file GlobalItem.cs.

94 {
95 }

◆ SetMatch()

virtual void Terraria.ModLoader.GlobalItem.SetMatch ( int  armorSlot,
int  type,
bool  male,
ref int  equipSlot,
ref bool  robes 
)
virtual

Allows you to modify the equipment that the player appears to be wearing.

Note that type and equipSlot are not the same as the item type of the armor the player will appear to be wearing. Worn equipment has a separate set of IDs. You can find the vanilla equipment IDs by looking at the headSlot, bodySlot, and legSlot fields for items, and modded equipment IDs by looking at EquipLoader.

This method is not instanced.

Parameters
armorSlothead armor (0), body armor (1) or leg armor (2).
typeThe equipment texture ID of the item that the player is wearing.
equipSlotThe altered equipment texture ID for the legs (armorSlot 1 and 2) or head (armorSlot 0)
robesSet to true if you modify equipSlot when armorSlot == 1 to set Player.wearsRobe, otherwise ignore it

Definition at line 517 of file GlobalItem.cs.

517 {
518 }

◆ Shoot()

virtual bool Terraria.ModLoader.GlobalItem.Shoot ( Item  item,
Player  player,
ref Vector2  position,
ref float  speedX,
ref float  speedY,
ref int  type,
ref int  damage,
ref float  knockBack 
)
virtual

This is called before the weapon creates a projectile. You can use it to create special effects, such as changing the speed, changing the initial position, and/or firing multiple projectiles. Return false to stop the game from shooting the default projectile (do this if you manually spawn your own projectile). Returns true by default.

Parameters
itemThe weapon item.
playerThe player.
positionThe shoot spawn position.
speedXThe speed x calculated from shootSpeed and mouse position.
speedYThe speed y calculated from shootSpeed and mouse position.
typeThe projectile type chosen by ammo and weapon.
damageThe projectile damage.
knockBackThe projectile knock back.
Returns

Definition at line 321 of file GlobalItem.cs.

321 {
322 return true;
323 }

◆ Update()

virtual void Terraria.ModLoader.GlobalItem.Update ( Item  item,
ref float  gravity,
ref float  maxFallSpeed 
)
virtual

Allows you to customize an item's movement when lying in the world. Note that this will not be called if the item is currently being grabbed by a player.

Definition at line 678 of file GlobalItem.cs.

678 {
679 }

◆ UpdateAccessory()

virtual void Terraria.ModLoader.GlobalItem.UpdateAccessory ( Item  item,
Player  player,
bool  hideVisual 
)
virtual

Allows you to give effects to accessories. The hideVisual parameter is whether the player has marked the accessory slot to be hidden from being drawn on the player.

Definition at line 433 of file GlobalItem.cs.

433 {
434 }

◆ UpdateArmorSet()

virtual void Terraria.ModLoader.GlobalItem.UpdateArmorSet ( Player  player,
string  set 
)
virtual

Allows you to give set bonuses to your armor set with the given name. The set name will be the same as returned by IsArmorSet.

This method is not instanced.

Definition at line 453 of file GlobalItem.cs.

453 {
454 }

Referenced by Terraria.ModLoader.ItemLoader.UpdateArmorSet().

+ Here is the caller graph for this function:

◆ UpdateEquip()

virtual void Terraria.ModLoader.GlobalItem.UpdateEquip ( Item  item,
Player  player 
)
virtual

Allows you to give effects to armors and accessories, such as increased damage.

Definition at line 427 of file GlobalItem.cs.

427 {
428 }

◆ UpdateInventory()

virtual void Terraria.ModLoader.GlobalItem.UpdateInventory ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when an item is in the player's inventory (for example, how the cell phone makes information display).

Definition at line 421 of file GlobalItem.cs.

421 {
422 }

◆ UpdateVanitySet()

virtual void Terraria.ModLoader.GlobalItem.UpdateVanitySet ( Player  player,
string  set 
)
virtual

Allows you to create special effects (such as dust) when the player wears the vanity set with the given name returned by IsVanitySet. This hook will only be called if the player is not frozen in any way.

This method is not instanced.

Definition at line 493 of file GlobalItem.cs.

493 {
494 }

Referenced by Terraria.ModLoader.ItemLoader.UpdateVanitySet().

+ Here is the caller graph for this function:

◆ UseItem()

virtual bool Terraria.ModLoader.GlobalItem.UseItem ( Item  item,
Player  player 
)
virtual

Allows you to make things happen when an item is used. Return true if using the item actually does stuff. Returns false by default.

Definition at line 378 of file GlobalItem.cs.

378 {
379 return false;
380 }

◆ UseItemFrame()

virtual bool Terraria.ModLoader.GlobalItem.UseItemFrame ( Item  item,
Player  player 
)
virtual

Allows you to modify the player's animation when an item is being used. Return true if you modify the player's animation. Returns false by default.

Definition at line 400 of file GlobalItem.cs.

400 {
401 return false;
402 }

◆ UseItemHitbox()

virtual void Terraria.ModLoader.GlobalItem.UseItemHitbox ( Item  item,
Player  player,
ref Rectangle  hitbox,
ref bool  noHitbox 
)
virtual

Changes the hitbox of a melee weapon when it is used.

Definition at line 328 of file GlobalItem.cs.

328 {
329 }

◆ UseStyle()

virtual void Terraria.ModLoader.GlobalItem.UseStyle ( Item  item,
Player  player 
)
virtual

Allows you to modify the location and rotation of any item in its use animation.

Definition at line 133 of file GlobalItem.cs.

133 {
134 }

◆ UseTimeMultiplier()

virtual float Terraria.ModLoader.GlobalItem.UseTimeMultiplier ( Item  item,
Player  player 
)
virtual

Allows you to change the effective useTime of an item.

Returns
The multiplier on the usage speed. 1f by default. Values greater than 1 increase the item speed.

Definition at line 152 of file GlobalItem.cs.

152 {
153 return 1f;
154 }

◆ VerticalWingSpeeds()

virtual void Terraria.ModLoader.GlobalItem.VerticalWingSpeeds ( Item  item,
Player  player,
ref float  ascentWhenFalling,
ref float  ascentWhenRising,
ref float  maxCanAscendMultiplier,
ref float  maxAscentMultiplier,
ref float  constantAscend 
)
virtual

Allows you to modify the speeds at which you rise and fall when wings are equipped.

Definition at line 653 of file GlobalItem.cs.

654 {
655 }

◆ WingUpdate()

virtual bool Terraria.ModLoader.GlobalItem.WingUpdate ( int  wings,
Player  player,
bool  inUse 
)
virtual

Allows for Wings to do various things while in use. "inUse" is whether or not the jump button is currently pressed. Called when wings visually appear on the player. Use to animate wings, create dusts, invoke sounds, and create lights. False will keep everything the same. True, you need to handle all animations in your own code.

This method is not instanced.

Definition at line 671 of file GlobalItem.cs.

671 {
672 return false;
673 }

Property Documentation

◆ CloneNewInstances

virtual bool Terraria.ModLoader.GlobalItem.CloneNewInstances
get

Whether instances of this GlobalItem are created through Clone or constructor (by default implementations of NewInstance and Clone(Item, Item)). Defaults to false (using default constructor).

Definition at line 56 of file GlobalItem.cs.

Referenced by Terraria.ModLoader.GlobalItem.NewInstance().

◆ InstancePerEntity

virtual bool Terraria.ModLoader.GlobalItem.InstancePerEntity
get

Whether to create a new GlobalItem instance for every Item that exists. Useful for storing information on an item. Defaults to false. Return true if you need to store information (have non-static fields).

Definition at line 48 of file GlobalItem.cs.

◆ mod

Mod Terraria.ModLoader.GlobalItem.mod
getset

The mod to which this GlobalItem belongs.

Definition at line 20 of file GlobalItem.cs.

20 {
21 get;
22 internal set;
23 }

Referenced by Terraria.ModLoader.GlobalItem.Autoload(), and Terraria.ModLoader.GlobalItem.NewInstance().

◆ Name

string Terraria.ModLoader.GlobalItem.Name
getset

The name of this GlobalItem instance.

Definition at line 28 of file GlobalItem.cs.

28 {
29 get;
30 internal set;
31 }

Referenced by Terraria.ModLoader.Mod.AutoloadGlobalItem(), and Terraria.ModLoader.GlobalItem.NewInstance().