tModLoader v2024.09
A mod to make and play Terraria mods
ModBuff Class Reference

This class serves as a place for you to define a new buff and how that buff behaves. More...

Inherits ModTexturedType, and ILocalizedModType.

Public Member Functions

virtual void ModifyBuffText (ref string buffName, ref string tip, ref int rare)
 Allows you to modify the name and tooltip that displays when the mouse hovers over the buff icon, as well as the color the buff's name is drawn in.
 
virtual void PostDraw (SpriteBatch spriteBatch, int buffIndex, BuffDrawParams drawParams)
 Allows you to draw things after the buff has been drawn. skipped is true if you or another mod has skipped drawing the buff (possibly hiding it or in favor of new visuals). More...
 
virtual bool PreDraw (SpriteBatch spriteBatch, int buffIndex, ref BuffDrawParams drawParams)
 Allows you to draw things before the default draw code is ran. Return false to prevent drawing the buff. Returns true by default. More...
 
virtual bool ReApply (NPC npc, int time, int buffIndex)
 Allows to you make special things happen when adding this buff to an NPC when the NPC already has this buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time.
 
virtual bool ReApply (Player player, int time, int buffIndex)
 Allows to you make special things happen when adding this buff to a player when the player already has this buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time.
 
virtual bool RightClick (int buffIndex)
 Allows you to make things happen when the buff icon is right-clicked. Return false to prevent the buff from being cancelled. More...
 
override void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed.
This is where all buff related assignments go.
For example:

More...
 
sealed override void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Update (NPC npc, ref int buffIndex)
 Allows you to make this buff give certain effects to the given NPC. If you remove the buff from the NPC, make sure to decrement the buffIndex parameter by 1.
 
virtual void Update (Player player, ref int buffIndex)
 Allows you to make this buff give certain effects to the given player. If you remove the buff from the player, make sure the decrement the buffIndex parameter by 1. More...
 
- Public Member Functions inherited from ModType< TEntity, TModType >
virtual TModType Clone (TEntity newEntity)
 Create a copy of this instanced global. Called when an entity is cloned. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop Mod.AddContent from actually adding this content. Useful for items that can be disabled by a config. More...
 
virtual void Load ()
 Allows you to perform one-time loading tasks. Beware that mod content has not finished loading here, things like ModContent lookup tables or ID Sets are not fully populated. More...
 
virtual TModType NewInstance (TEntity entity)
 Create a new instance of this ModType for a specific entity More...
 
string PrettyPrintName ()
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed. More...
 
virtual void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Unload ()
 Allows you to safely unload things you added in Load. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Whether or not this type should be loaded when it's told to. Returning false disables Mod.AddContent from actually loading this type. More...
 
abstract void Load (Mod mod)
 Called when loading the type. More...
 
abstract void Unload ()
 Called during unloading when needed. More...
 
- Public Member Functions inherited from ModType< TEntity >
virtual TModType Clone (TEntity newEntity)
 Create a copy of this instanced global. Called when an entity is cloned. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop Mod.AddContent from actually adding this content. Useful for items that can be disabled by a config. More...
 
virtual void Load ()
 Allows you to perform one-time loading tasks. Beware that mod content has not finished loading here, things like ModContent lookup tables or ID Sets are not fully populated. More...
 
virtual TModType NewInstance (TEntity entity)
 Create a new instance of this ModType for a specific entity More...
 
string PrettyPrintName ()
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed. More...
 
virtual void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Unload ()
 Allows you to safely unload things you added in Load. More...
 

Protected Member Functions

override sealed void Register ()
 If you make a new ModType, seal this override. More...
 
- Protected Member Functions inherited from ModType< TEntity, TModType >
abstract TEntity CreateTemplateEntity ()
 
virtual void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
override void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
abstract void Register ()
 If you make a new ModType, seal this override. More...
 
virtual void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties More...
 
- Protected Member Functions inherited from ModType< TEntity >
abstract TEntity CreateTemplateEntity ()
 
virtual void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
override void InitTemplateInstance ()
 Create dummy objects for instanced mod-types
 
abstract void Register ()
 If you make a new ModType, seal this override. More...
 
virtual void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties More...
 

Properties

virtual LocalizedText Description [get]
 The translations of this buff's description.
 
virtual LocalizedText DisplayName [get]
 The translations of this buff's display name.
 
virtual string LocalizationCategory [get]
 The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this. More...
 
int Type [get, set]
 The buff id of this buff.
 
- Properties inherited from ModTexturedType
virtual string Texture [get]
 The file name of this type's texture file in the mod loader's file space.
 
- Properties inherited from ModType< TEntity, TModType >
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via Clone(TEntity) or via the default constructor Defaults to false (default constructor).
 
TEntity Entity [get, set]
 
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
virtual bool IsCloneable [get]
 Whether or not this type is cloneable. Cloning is supported if
all reference typed fields in each sub-class which doesn't override Clone are marked with [CloneByReference]
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from IModType
string FullName [get]
 => $"{Mod.Name}/{Name}" More...
 
Mod Mod [get]
 The mod this belongs to. More...
 
string Name [get]
 The internal name of this instance. More...
 
- Properties inherited from ModType< TEntity >
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via Clone(TEntity) or via the default constructor Defaults to false (default constructor).
 
TEntity Entity [get, set]
 
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
virtual bool IsCloneable [get]
 Whether or not this type is cloneable. Cloning is supported if
all reference typed fields in each sub-class which doesn't override Clone are marked with [CloneByReference]
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from ILocalizedModType
abstract string LocalizationCategory [get]
 The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this. More...
 

Detailed Description

This class serves as a place for you to define a new buff and how that buff behaves.

Member Function Documentation

◆ PostDraw()

virtual void ModBuff.PostDraw ( SpriteBatch  spriteBatch,
int  buffIndex,
BuffDrawParams  drawParams 
)
virtual

Allows you to draw things after the buff has been drawn. skipped is true if you or another mod has skipped drawing the buff (possibly hiding it or in favor of new visuals).

Parameters
spriteBatchThe spriteBatch that is drawn on
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
drawParamsThe draw parameters for the buff

◆ PreDraw()

virtual bool ModBuff.PreDraw ( SpriteBatch  spriteBatch,
int  buffIndex,
ref BuffDrawParams  drawParams 
)
virtual

Allows you to draw things before the default draw code is ran. Return false to prevent drawing the buff. Returns true by default.

Parameters
spriteBatchThe spriteBatch that is drawn on
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
drawParamsThe draw parameters for the buff
Returns
true for allowing drawing, false for preventing drawing

◆ Register()

override sealed void ModBuff.Register ( )
protectedvirtual

If you make a new ModType, seal this override.

Implements ModType< TEntity >.

◆ RightClick()

virtual bool ModBuff.RightClick ( int  buffIndex)
virtual

Allows you to make things happen when the buff icon is right-clicked. Return false to prevent the buff from being cancelled.

Parameters
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
Returns
true for allowing the buff to be cancelled, false to prevent the buff from being cancelled

◆ SetStaticDefaults()

override void ModBuff.SetStaticDefaults ( )
virtual

Allows you to modify the properties after initial loading has completed.
This is where all buff related assignments go.
For example:

Reimplemented from ModType< TEntity >.

◆ SetupContent()

sealed override void ModBuff.SetupContent ( )
virtual

If you make a new ModType, seal this override, and call SetStaticDefaults in it.

Reimplemented from ModType< TEntity >.

◆ Update()

virtual void ModBuff.Update ( Player  player,
ref int  buffIndex 
)
virtual

Allows you to make this buff give certain effects to the given player. If you remove the buff from the player, make sure the decrement the buffIndex parameter by 1.

Parameters
playerThe player to update this buff on.
buffIndexThe index in Player.buffType and Player.buffType of this buff. For use with Player.DelBuff(int).

Property Documentation

◆ LocalizationCategory

virtual string ModBuff.LocalizationCategory
get

The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this.

Implements ILocalizedModType.