![]() |
tModLoader v2025.05
A mod to make and play Terraria mods
|
This class represents a DrawLayer for the player. Drawing should be done by adding Terraria.DataStructures.DrawData objects to drawInfo.DrawDataCache in the Draw method. More...
Inherits ModType< TEntity, TModType >.
Classes | |
class | AfterParent |
Places this layer immediately after (over) the provided parent layer. The visibility and draw order of the layer is also bound to the parent layer, if the parent layer is moved or hidden, this layer will also be moved or hidden. More... | |
class | BeforeParent |
Places this layer immediately before (under) the provided parent layer. The visibility and draw order of the layer is also bound to the parent layer, if the parent layer is moved or hidden, this layer will also be moved or hidden. More... | |
class | Between |
Places this layer between the two provided layers. This layer will draw over layer1 and under layer2. null can be used to indicate that the exact position of the layer doesn't matter aside from being before/after the other non-null argument. For example new Between(PlayerDrawLayers.HairBack, null) would place the layer anywhere after HairBack , while new Between(null, PlayerDrawLayers.HairBack) would be anywhere before HairBack . For ordering before or after all vanilla layers, the helper properties PlayerDrawLayers.BeforeFirstVanillaLayer and PlayerDrawLayers.AfterLastVanillaLayer can be used directly. The layer parameters used must have fixed positions, meaning that layers registered using either Multiple, BeforeParent, or AfterParent are not valid. For vanilla layers, this includes PlayerDrawLayers.FrontAccFront and PlayerDrawLayers.HeldItem. If ordering in relation to these layers, consider either using AfterParent or BeforeParent to draw at whatever positions that layer is actually drawn, or referencing a different layer for ordering instead. More... | |
class | Multiple |
Places this layer into multiple Positions. Use this as a helper for layers that need to move around in the draw order rather than making multiple PlayerDrawLayer 'slots' manually. An example of this can be seen in PlayerDrawLayers.tML.cs. Note how the conditions for FrontAccFront and HeldItem are mutually exclusive, ensuring that the layer will only be drawn once for a given player. More... | |
class | Position |
A PlayerDrawLayer's position in the player rendering draw order. When a player is drawn, each "layer" is drawn from back to front. More... | |
class | Transformation |
Public Member Functions | |
void | DrawWithTransformationAndChildren (ref PlayerDrawSet drawInfo) |
abstract Position | GetDefaultPosition () |
Returns the layer's default position in regards to other layers. Make use of BeforeParent, AfterParent, Between, or Multiple to indicate the position. Use other layers as arguments, usually vanilla layers contained in the PlayerDrawLayers. PlayerDrawLayers.BeforeFirstVanillaLayer and PlayerDrawLayers.AfterLastVanillaLayer are also possible values. | |
virtual bool | GetDefaultVisibility (PlayerDrawSet drawInfo) |
Returns the layer's default visibility. This is usually called as a layer is queued for drawing, but modders can call it too for information. More... | |
void | Hide () |
sealed override void | SetupContent () |
If you make a new ModType, seal this override, and call SetStaticDefaults in it. More... | |
override string | ToString () |
![]() | |
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... | |
Protected Member Functions | |
abstract void | Draw (ref PlayerDrawSet drawInfo) |
Draws this layer. This will be called multiple times a frame if a player afterimage is being drawn. If this layer shouldn't draw with each afterimage, check More... | |
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 | |
IReadOnlyList< PlayerDrawLayer > | ChildrenAfter [get] |
IReadOnlyList< PlayerDrawLayer > | ChildrenBefore [get] |
virtual bool | IsHeadLayer [get] |
Returns whether or not this layer should be rendered for the minimap icon. | |
virtual Transformation | Transform [get] |
bool | Visible = true [get] |
![]() | |
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... | |
This class represents a DrawLayer for the player. Drawing should be done by adding Terraria.DataStructures.DrawData objects to drawInfo.DrawDataCache in the Draw method.
|
protectedpure virtual |
Draws this layer. This will be called multiple times a frame if a player afterimage is being drawn. If this layer shouldn't draw with each afterimage, check
if(drawinfo.shadow == 0f)
to only draw for the original player image.
|
virtual |
Returns the layer's default visibility. This is usually called as a layer is queued for drawing, but modders can call it too for information.
|
protectedvirtual |
If you make a new ModType, seal this override.
Implements ModType< TEntity >.
|
virtual |
If you make a new ModType, seal this override, and call SetStaticDefaults in it.
Reimplemented from ModType< TEntity >.