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

This is a TML provided Tile Entity that acts extremely similar to vanilla's pylon TEs by default. If you plan to make a pylon tile in any capacity, you must extend this TE at least once. More...

Inherits ModTileEntity, and IPylonTileEntity.

Public Member Functions

override int Hook_AfterPlacement (int i, int j, int type, int style, int direction, int alternate)
 This method does not get called by tModLoader, and is only included for you convenience so you do not have to cast the result of Mod.GetTileEntity. More...
 
override bool IsTileValidForEntity (int x, int y)
 Whether or not this tile entity is allowed to survive at the given coordinates. You should check whether the tile is active, as well as the tile's type and frame. More...
 
new void Kill (int x, int y)
 
override void NetPlaceEntityAttempt (int x, int y)
 
new int Place (int i, int j)
 
int PlacementPreviewHook_CheckIfCanPlace (int x, int y, int type, int style=0, int direction=1, int alternate=0)
 
override string ToString ()
 
bool TryGetModPylon (out ModPylon modPylon)
 
- Public Member Functions inherited from ModTileEntity
int Find (int i, int j)
 Returns the entity ID of this kind of tile entity at the given coordinates for you.
 
sealed override TileEntity GenerateInstance ()
 
virtual int Hook_AfterPlacement (int i, int j, int type, int style, int direction, int alternate)
 This method does not get called by tModLoader, and is only included for you convenience so you do not have to cast the result of Mod.GetTileEntity. 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 override bool IsTileValidForEntity (int x, int y)
 Whether or not this tile entity is allowed to survive at the given coordinates. You should check whether the tile is active, as well as the tile's type and frame. More...
 
void Kill (int i, int j)
 A helper method that removes this kind of tile entity from the given coordinates for you.
 
virtual void Load ()
 
virtual void Load (Mod mod)
 Called when loading the type. More...
 
override void NetPlaceEntityAttempt (int i, int j)
 You should never use this. It is only included here for completion's sake. More...
 
override void NetReceive (BinaryReader reader)
 Receives custom data sent in the NetSend hook.
Called while receiving tile data (!lightReceive) and when MessageID.TileEntitySharing is received (lightReceive).
Only called on the client. More...
 
override void NetSend (BinaryWriter writer)
 Allows you to send custom data for this tile entity between client and server, which will be handled in NetReceive.
Called while sending tile data (!lightSend) and when MessageID.TileEntitySharing is sent (lightSend).
Only called on the server. More...
 
virtual void OnKill ()
 This method only gets called in the Kill method. If you plan to use that, you can put code here to make things happen when it is called.
 
virtual void OnNetPlace ()
 Code that should be run when this tile entity is placed by means of server-syncing. Called on Server only.
 
int Place (int i, int j)
 A helper method that places this kind of tile entity in the given coordinates for you.
 
virtual void PostGlobalUpdate ()
 Code that should be run after all tile entities in the world update.
 
virtual void PreGlobalUpdate ()
 Code that should be run before all tile entities in the world update.
 
sealed override void ReadExtraData (BinaryReader reader, bool networkSend)
 Should never be called on ModTileEntity. Replaced by NetReceive and Load Would make the base method internal if not for patch size More...
 
sealed override void RegisterTileEntityID (int assignedID)
 
virtual void Unload ()
 Called during unloading when needed. More...
 
sealed override void WriteExtraData (BinaryWriter writer, bool networkSend)
 Should never be called on ModTileEntity. Replaced by NetSend and Save. Would make the base method internal if not for patch size More...
 
- Public Member Functions inherited from TileEntity
virtual TileEntity GenerateInstance ()
 
virtual string GetItemGamepadInstructions (int slot=0)
 
virtual bool IsTileValidForEntity (int x, int y)
 
virtual void LoadData (TagCompound tag)
 Allows you to load custom data that you have saved for this tile entity.
Try to write defensive loading code that won't crash if something's missing. More...
 
virtual void NetPlaceEntityAttempt (int x, int y)
 
virtual void NetReceive (BinaryReader reader)
 Receives custom data sent in the NetSend hook.
Called while receiving tile data (!lightReceive) and when MessageID.TileEntitySharing is received (lightReceive).
Only called on the client. More...
 
virtual void NetSend (BinaryWriter writer)
 Allows you to send custom data for this tile entity between client and server, which will be handled in NetReceive.
Called while sending tile data (!lightSend) and when MessageID.TileEntitySharing is sent (lightSend).
Only called on the server. More...
 
virtual void OnInventoryDraw (Player player, SpriteBatch spriteBatch)
 
virtual void OnPlayerUpdate (Player player)
 
virtual bool OverrideItemSlotHover (Item[] inv, int context=0, int slot=0)
 
virtual bool OverrideItemSlotLeftClick (Item[] inv, int context=0, int slot=0)
 
virtual void ReadExtraData (BinaryReader reader, bool networkSend)
 
virtual void RegisterTileEntityID (int assignedID)
 
virtual void SaveData (TagCompound tag)
 Allows you to save custom data for this tile entity.

NOTE: The provided tag is always empty by default, and is provided as an argument only for the sake of convenience and optimization.
NOTE: Try to only save data that isn't default values. More...
 
virtual bool TryGetItemGamepadOverrideInstructions (Item[] inv, int context, int slot, out string instruction)
 
virtual void Update ()
 
virtual void WriteExtraData (BinaryWriter writer, bool networkSend)
 
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...
 

Static Public Member Functions

static bool GetModPylonFromCoords (int x, int y, out ModPylon modPylon)
 
- Static Public Member Functions inherited from ModTileEntity
static ModTileEntity ConstructFromBase (ModTileEntity tileEntity)
 Returns a new ModTileEntity with the same class, mod, name, and type as the parameter. It is very rare that you should have to use this.
 
static ModTileEntity ConstructFromType (int type)
 Returns a new ModTileEntity with the same class, mod, name, and type as the ModTileEntity with the given type. It is very rare that you should have to use this.
 
static int CountInWorld ()
 Returns the number of modded tile entities that exist in the world currently being played.
 
- Static Public Member Functions inherited from TileEntity
static int AssignNewID ()
 
static void BasicOpenCloseInteraction (Player player, int x, int y, int id)
 
static void Clear ()
 
static void InitializeAll ()
 
static bool IsOccupied (int id, out int interactingPlayer)
 
static void PlaceEntityNet (int x, int y, int type)
 
static TileEntity Read (BinaryReader reader, bool networkSend=false, bool lightSend=false)
 
static void SetInteractionAnchor (Player player, int x, int y, int id)
 
static void UpdateEnd ()
 
static void UpdateStart ()
 
static void Write (BinaryWriter writer, TileEntity ent, bool networkSend=false, bool lightSend=false)
 

Additional Inherited Members

- Public Attributes inherited from TileEntity
int ID
 A unique ID for each TileEntity instance in the world.
 
Point16 Position
 The tile coordinate location of this TileEntity. Will typically be the top left corner of the corresponding multitile, but not necessarily.
 
byte type
 
- Static Public Attributes inherited from ModTileEntity
static readonly int NumVanilla
 
- Static Public Attributes inherited from TileEntity
static Dictionary< int, TileEntityByID = new Dictionary<int, TileEntity>()
 Maps ID to TileEntity instances.
 
static Dictionary< Point16, TileEntityByPosition = new Dictionary<Point16, TileEntity>()
 Maps tile coordinate locations to the TileEntity at that location.
 
static object EntityCreationLock = new object()
 
static TileEntitiesManager manager
 
const int MaxEntitiesPerChunk = 1000
 
static int TileEntitiesNextID
 
- Properties inherited from ModTileEntity
string FullName [get]
 => $"{Mod.Name}/{Name}" More...
 
Mod Mod [get, set]
 The mod that added this ModTileEntity. More...
 
virtual string Name [get]
 The internal name of this ModTileEntity. More...
 
int Type [get, set]
 The numeric type used to identify this kind of tile entity.
 
- 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...
 
- Events inherited from TileEntity
static Action _UpdateEnd
 
static Action _UpdateStart
 

Detailed Description

This is a TML provided Tile Entity that acts extremely similar to vanilla's pylon TEs by default. If you plan to make a pylon tile in any capacity, you must extend this TE at least once.

Member Function Documentation

◆ Hook_AfterPlacement()

override int TEModdedPylon.Hook_AfterPlacement ( int  i,
int  j,
int  type,
int  style,
int  direction,
int  alternate 
)
virtual

This method does not get called by tModLoader, and is only included for you convenience so you do not have to cast the result of Mod.GetTileEntity.

Reimplemented from ModTileEntity.

◆ IsTileValidForEntity()

override bool TEModdedPylon.IsTileValidForEntity ( int  x,
int  y 
)
virtual

Whether or not this tile entity is allowed to survive at the given coordinates. You should check whether the tile is active, as well as the tile's type and frame.

Implements ModTileEntity.

◆ NetPlaceEntityAttempt()

override void TEModdedPylon.NetPlaceEntityAttempt ( int  x,
int  y 
)
virtual

Reimplemented from TileEntity.