tModLoader v2024.09
A mod to make and play Terraria mods
|
Tile Entities are Entities tightly coupled with tiles, allowing the possibility of tiles to exhibit cool behavior. TileEntity.Update is called in SP and on Server, not on Clients. More...
Inherits TileEntity, IModType, and ILoadable.
Inherited by TEModdedPylon, and UnloadedTileEntity.
Public Member Functions | |
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 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) |
Static Public Attributes | |
static readonly int | NumVanilla |
Static Public Attributes inherited from TileEntity | |
static Dictionary< int, TileEntity > | ByID = new Dictionary<int, TileEntity>() |
Maps ID to TileEntity instances. | |
static Dictionary< Point16, TileEntity > | ByPosition = 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 | |
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... | |
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 |
Events inherited from TileEntity | |
static Action | _UpdateEnd |
static Action | _UpdateStart |
Tile Entities are Entities tightly coupled with tiles, allowing the possibility of tiles to exhibit cool behavior. TileEntity.Update is called in SP and on Server, not on Clients.
|
virtual |
Reimplemented from TileEntity.
|
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 in TEModdedPylon.
|
virtual |
Whether or not this type should be loaded when it's told to. Returning false disables Mod.AddContent from actually loading this type.
mod | The mod instance trying to add this content |
Implements ILoadable.
|
pure 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.
Reimplemented from TileEntity.
Implemented in UnloadedTileEntity, and TEModdedPylon.
|
virtual |
Called when loading the type.
mod | The mod instance associated with this type. |
Implements ILoadable.
|
virtual |
You should never use this. It is only included here for completion's sake.
Reimplemented from TileEntity.
|
virtual |
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.
reader | The reader. |
Reimplemented from TileEntity.
|
virtual |
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.
writer | The writer. |
Reimplemented from TileEntity.
|
virtual |
Should never be called on ModTileEntity. Replaced by NetReceive and Load Would make the base method internal if not for patch size
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Called during unloading when needed.
Implements ILoadable.
|
virtual |
Should never be called on ModTileEntity. Replaced by NetSend and Save. Would make the base method internal if not for patch size
Reimplemented from TileEntity.
|
static |
|
get |
=> $"{Mod.Name}/{Name}"
Implements IModType.
|
getset |
The mod that added this ModTileEntity.
Implements IModType.
|
get |
The internal name of this ModTileEntity.
Implements IModType.