tModLoader v2024.11
A mod to make and play Terraria mods
ModBiome Class Reference

This class represents a biome added by a mod. It exists to centralize various biome related hooks, handling a lot of biome boilerplate, such as netcode.
To check if a player is in the biome, use Player.InModBiome<T>.
Unlike ModSceneEffect, this defaults Music to 0 and Priority to SceneEffectPriority.BiomeLow. More...

Inherits ModSceneEffect, IShoppingBiome, and ILocalizedModType.

Public Member Functions

virtual bool IsBiomeActive (Player player)
 Return true if the player is in the biome. More...
 
sealed override bool IsSceneEffectActive (Player player)
 IsSceneEffectActive is auto-forwarded to read the result of IsBiomeActive. Do not need to implement when creating your ModBiome. More...
 
virtual void OnEnter (Player player)
 Override this hook to make things happen when the player enters the biome.
 
virtual void OnInBiome (Player player)
 Override this hook to make things happen when the player is in the biome.
 
virtual void OnLeave (Player player)
 Override this hook to make things happen when the player leaves the biome.
 
override void SetStaticDefaults ()
 This is where you can set values for DisplayName. More...
 
sealed override void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
- Public Member Functions inherited from ModSceneEffect
virtual float GetWeight (Player player)
 Is invoked when two or more modded SceneEffect layers are active within the same Priority group to attempt to determine which one should take precedence, if it matters. It's uncommon to have the need to assign a weight - you'd have to specifically believe that you don't need higher SceneEffectPriority, but do need to be the active SceneEffect within the priority you designated. Analogously, if SceneEffect were competing in a wrestling match, this would be how likely the SceneEffect should win within its weight class. Is intentionally bounded at a max of 100% (1) to reduce complexity. Defaults to 50% (0.5). Typical calculations may include: 1) how many tiles are present as a percentage of target amount; 2) how far away you are from the cause of the SceneEffect
 
virtual bool IsSceneEffectActive (Player player)
 Return true to make the SceneEffect apply its effects (as long as its priority and weight allow that). More...
 
virtual void MapBackgroundColor (ref Color color)
 Uses to customize the draw color of the map background (MapBackground) drawn on the fullscreen map. MapBackgroundFullbright can be used for typical effects, but this method can be used if further customization is needed. More...
 
virtual void SpecialVisuals (Player player, bool isActive)
 Allows you to create special visual effects in the area around the player. For example, the Blood Moon's red filter on the screen or the Slime Rain's falling slime in the background. You must create classes that override ScreenShaderData or CustomSky, add them in a Load hook, then call Player.ManageSpecialBiomeVisuals. See the ExampleMod if you do not have access to the source code.
This runs even if IsSceneEffectActive returns false. Check isActive for the active status.
 
- 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...
 
bool IsInBiome (Player player)
 

Protected Member Functions

sealed override void Register ()
 If you make a new ModType, seal this override. More...
 
- Protected Member Functions inherited from ModSceneEffect
override 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 ? Color BackgroundColor [get]
 The color of the bestiary background.
 
virtual string BackgroundPath [get]
 The path to the background texture that will appear for this biome behind NPC's in the bestiary. Defaults to adding "_Background" onto the usual namespace+classname derived texture path.
 
virtual string BestiaryIcon [get]
 The path to the 30x30 texture that will appear for this biome in the bestiary. Defaults to adding "_Icon" onto the usual namespace+classname derived texture path.
Vanilla icons use a drop shadow at 40 percent opacity and the texture will be offset 1 pixel left and up from centered in the bestiary filter grid.
 
virtual int BiomeCampfireItemType [get]
 The campfire item type that will be placed when under the effect of biome torches
 
virtual int BiomeTorchItemType [get]
 The torch item type that will be placed when under the effect of biome torches
 
virtual LocalizedText DisplayName [get]
 The display name for this biome in the bestiary.
 
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...
 
GameContent.Bestiary.ModBiomeBestiaryInfoElement ModBiomeBestiaryInfoElement [get, set]
 
override int Music [get]
 Defaults to 0. If custom music is not implemented for this biome, set this to -1.
 
override SceneEffectPriority Priority [get]
 Defaults to SceneEffectPriority.BiomeLow.
 
- Properties inherited from ModSceneEffect
virtual string MapBackground [get]
 The path to the texture that will display behind the map. Should be 115x65.
 
virtual bool MapBackgroundFullbright [get]
 If true, the map background (MapBackground) will be forced to be drawn at full brightness (White). For example, the background map of the Mushroom biome draws at full brightness even when above ground. By default, this returns false, indicating that the sky color should be used if above surface level and full brightness otherwise. Use MapBackgroundColor(ref Color) instead to fully customize the map background draw color.
 
virtual int Music [get]
 Defaults to -1. More...
 
virtual SceneEffectPriority Priority [get]
 Defaults to SceneEffectPriority.None. More...
 
virtual ModSurfaceBackgroundStyle SurfaceBackgroundStyle [get]
 The ModSurfaceBackgroundStyle that will draw its background when the player is on the surface.
 
virtual CaptureBiome.TileColorStyle TileColorStyle [get]
 Used to apply secondary color shading for the capture camera. For example, darkening the background with the GlowingMushroom style.
 
int Type [get, set]
 
virtual ModUndergroundBackgroundStyle UndergroundBackgroundStyle [get]
 The ModUndergroundBackgroundStyle that will draw its background when the player is underground.
 
virtual ModWaterStyle WaterStyle [get]
 The ModWaterStyle that will apply to water.
 
- 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 IShoppingBiome
string NameKey [get]
 
- 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 represents a biome added by a mod. It exists to centralize various biome related hooks, handling a lot of biome boilerplate, such as netcode.
To check if a player is in the biome, use Player.InModBiome<T>.
Unlike ModSceneEffect, this defaults Music to 0 and Priority to SceneEffectPriority.BiomeLow.

Member Function Documentation

◆ IsBiomeActive()

virtual bool ModBiome.IsBiomeActive ( Player  player)
virtual

Return true if the player is in the biome.

Returns

◆ IsSceneEffectActive()

sealed override bool ModBiome.IsSceneEffectActive ( Player  player)
virtual

IsSceneEffectActive is auto-forwarded to read the result of IsBiomeActive. Do not need to implement when creating your ModBiome.

Reimplemented from ModSceneEffect.

◆ Register()

sealed override void ModBiome.Register ( )
protectedvirtual

If you make a new ModType, seal this override.

Implements ModType< TEntity >.

◆ SetStaticDefaults()

override void ModBiome.SetStaticDefaults ( )
virtual

This is where you can set values for DisplayName.

Reimplemented from ModType< TEntity >.

◆ SetupContent()

sealed override void ModBiome.SetupContent ( )
virtual

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

Reimplemented from ModType< TEntity >.

Property Documentation

◆ LocalizationCategory

virtual string ModBiome.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.