![]() |
tModLoader v2025.03
A mod to make and play Terraria mods
|
This class is used to facilitate easily drawing icons and other things over the map. Pylons and spawn/bed icons are examples of vanilla map layers. Use ModSystem.PreDrawMapIconOverlay(System.Collections.Generic.IReadOnlyList<IMapLayer>, MapOverlayDrawContext) to selectively hide vanilla layers if needed. More...
Inherits ModType< TEntity, TModType >, and IMapLayer.
Classes | |
class | After |
class | Before |
Public Member Functions | |
abstract void | Draw (ref MapOverlayDrawContext context, ref string text) |
This method is called when this MapLayer is to be drawn. Map layers are drawn after the map itself is drawn. Use MapOverlayDrawContext.Draw(Microsoft.Xna.Framework.Graphics.Texture2D, Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.Color, DataStructures.SpriteFrame, float, float, Terraria.UI.Alignment) as described in ExampleMod and in vanilla examples for full compatibility and simplicity of code. context : Contains the scaling and positional data of the map being drawn. You should use the MapOverlayDrawContext.Draw method for all drawing. text : The mouse hover text. Assign a value typically if the user is hovering over something you draw. Note that MapLayers are drawn on the fullscreen map, overlay map, and minimap. Use Main.mapFullscreen and Main.mapStyle to limit drawing to specific map modes if appropriate. More... | |
virtual Position | GetDefaultPosition () |
Returns the map layer's default position in regard to vanilla's map layer ordering. Make use of e.g. Before/After, and provide a map layer. You can also use BeforeFirstVanillaLayer or AfterLastVanillaLayer to put your layer at the start/end of the vanilla layer order. NOTE: The position must specify a vanilla IMapLayer otherwise an exception will be thrown. Use GetModdedConstraints to order modded layers. By default, this hook positions this map layer after all vanilla layers. | |
virtual IEnumerable< Position > | GetModdedConstraints () |
Modded layers are placed between vanilla layers via GetDefaultPosition and, by default, are sorted in load order. This hook allows you to sort this map layer before/after other modded layers that were placed between the same two vanilla layers. Example: More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
void | Draw (ref MapOverlayDrawContext context, ref string text) |
void | Hide () |
Protected Member Functions | |
sealed override void | Register () |
If you make a new ModType, seal this override. More... | |
![]() | |
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... | |
![]() | |
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 | |
static Position | AfterLastVanillaLayer [get] |
static Position | BeforeFirstVanillaLayer [get] |
bool | Visible = true [get, set] |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
static IMapLayer | Pings = new PingMapLayer() [get] |
static IMapLayer | Pylons = new TeleportPylonsMapLayer() [get] |
static IMapLayer | Spawn = new SpawnMapLayer() [get] |
bool | Visible [get, set] |
This class is used to facilitate easily drawing icons and other things over the map. Pylons and spawn/bed icons are examples of vanilla map layers. Use ModSystem.PreDrawMapIconOverlay(System.Collections.Generic.IReadOnlyList<IMapLayer>, MapOverlayDrawContext) to selectively hide vanilla layers if needed.
|
pure virtual |
This method is called when this MapLayer is to be drawn. Map layers are drawn after the map itself is drawn. Use MapOverlayDrawContext.Draw(Microsoft.Xna.Framework.Graphics.Texture2D, Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.Color, DataStructures.SpriteFrame, float, float, Terraria.UI.Alignment) as described in ExampleMod and in vanilla examples for full compatibility and simplicity of code. context : Contains the scaling and positional data of the map being drawn. You should use the MapOverlayDrawContext.Draw method for all drawing. text : The mouse hover text. Assign a value typically if the user is hovering over something you draw. Note that MapLayers are drawn on the fullscreen map, overlay map, and minimap. Use Main.mapFullscreen and Main.mapStyle to limit drawing to specific map modes if appropriate.
context | Contains the scaling and positional data of the map being drawn. You should use the MapOverlayDrawContext.Draw method for all drawing |
text | The mouse hover text. Assign a value typically if the user is hovering over something you draw |
Implements IMapLayer.
|
virtual |
Modded layers are placed between vanilla layers via GetDefaultPosition and, by default, are sorted in load order.
This hook allows you to sort this map layer before/after other modded layers that were placed between the same two vanilla layers.
Example:
yield return new After(ModContent.GetInstance<ExampleMapLayer>());
By default, this hook returns null
, which indicates that this map layer has no modded ordering constraints.
|
protectedvirtual |
If you make a new ModType, seal this override.
Implements ModType< TEntity >.
|
getset |
Implements IMapLayer.