![]() |
tModLoader v2025.03
A mod to make and play Terraria mods
|
Inherits TileEntity.
Public Types | |
enum | LogicCheckType { None , Day , Night , PlayerAbove , Water , Lava , Honey , Liquid } |
Public Member Functions | |
void | ChangeState (bool onState, bool TripWire) |
void | FigureCheckState () |
override TileEntity | GenerateInstance () |
override bool | IsTileValidForEntity (int x, int y) |
override void | NetPlaceEntityAttempt (int x, int y) |
override void | ReadExtraData (BinaryReader reader, bool networkSend) |
override void | RegisterTileEntityID (int assignedID) |
override string | ToString () |
override void | Update () |
Allows logic to execute every game update for this placed Tile Entity. Called on each placed Tile Entity. This hook is not called for multiplayer clients. The ID.MessageID.TileEntitySharing network message will need be used to keep clients in sync if necessary. More... | |
override void | WriteExtraData (BinaryWriter writer, bool networkSend) |
![]() | |
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). Note that this is called on a new instance that will replace the existing instance at the Position, if any. ID is not necessarily assigned yet when this is called. 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 () |
Allows logic to execute every game update for this placed Tile Entity. Called on each placed Tile Entity. This hook is not called for multiplayer clients. The ID.MessageID.TileEntitySharing network message will need be used to keep clients in sync if necessary. More... | |
virtual void | WriteExtraData (BinaryWriter writer, bool networkSend) |
Static Public Member Functions | |
static LogicCheckType | FigureCheckType (int x, int y, out bool on) |
static int | Find (int x, int y) |
static void | GetFrame (int x, int y, LogicCheckType type, bool on) |
static bool | GetState (int x, int y, LogicCheckType type, TELogicSensor instance=null) |
static int | Hook_AfterPlacement (int x, int y, int type=423, int style=0, int direction=1, int alternate=0) |
static void | Kill (int x, int y) |
static void | NetPlaceEntity (int x, int y) |
static int | Place (int x, int y) |
static bool | SanityCheck (int x, int y) |
static bool | ValidTile (int x, int y) |
![]() | |
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 bool | TryGet< T > (int i, int j, out T entity) |
Attempts to retrieve the TileEntity at the given coordinates of the specified Type (T ). Works with any provided coordinate belonging to the multitile. Note that this method assumes the TileEntity is placed in the top left corner of the multitile. More... | |
static bool | TryGet< T > (Point16 point, out T entity) |
static void | UpdateEnd () |
static void | UpdateStart () |
static void | Write (BinaryWriter writer, TileEntity ent, bool networkSend=false, bool lightSend=false) |
Public Attributes | |
int | CountedData |
LogicCheckType | logicCheck |
bool | On |
![]() | |
int | ID |
A unique ID for each TileEntity instance in the world. This ID is consistent in multiplayer. | |
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 |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
static Action | _UpdateEnd |
static Action | _UpdateStart |
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.
|
virtual |
Allows logic to execute every game update for this placed Tile Entity. Called on each placed Tile Entity. This hook is not called for multiplayer clients. The ID.MessageID.TileEntitySharing network message will need be used to keep clients in sync if necessary.
Reimplemented from TileEntity.
|
virtual |
Reimplemented from TileEntity.