tModLoader  0.12 Alpha
A mod to make and play Terraria mods
Terraria.ModLoader.GlobalBlockType Class Reference

This is the superclass for GlobalTile and GlobalWall, combining common code More...

Inherits Terraria.ModLoader.ModType.

Inherited by Terraria.ModLoader.GlobalTile, and Terraria.ModLoader.GlobalWall.

Public Member Functions

virtual bool CanExplode (int i, int j, int type)
 Whether or not the tile/wall at the given coordinates can be killed by an explosion (ie. bombs). Returns true by default; return false to stop an explosion from destroying it. More...
 
virtual bool CanPlace (int i, int j, int type)
 Allows you to stop a tile/wall from being placed at the given coordinates. Return false to block the tile/wall from being placed. Returns true by default. More...
 
virtual bool CreateDust (int i, int j, int type, ref int dustType)
 Allows you to modify the default type of dust created when the tile/wall at the given coordinates is hit. Return false to stop the default dust (the dustType parameter) from being created. Returns true by default. More...
 
virtual bool KillSound (int i, int j, int type)
 Allows you to customize which sound you want to play when the tile/wall at the given coordinates is hit. Return false to stop the game from playing its default sound for the tile/wall. Returns true by default. More...
 
virtual void ModifyLight (int i, int j, int type, ref float r, ref float g, ref float b)
 Allows you to determine how much light the block emits. If it is a tile, make sure you set Main.tileLighted[Type] to true in SetDefaults for this to work. If it is a wall, it can also let you light up the block in front of this wall. More...
 
virtual void NumDust (int i, int j, int type, bool fail, ref int num)
 Allows you to change how many dust particles are created when the tile/wall at the given coordinates is hit. More...
 
virtual void PlaceInWorld (int i, int j, int type, Item item)
 Allows you to do something when this tile/wall is placed. Called on the local Client and Single Player. More...
 
virtual void PostDraw (int i, int j, int type, SpriteBatch spriteBatch)
 Allows you to draw things in front of the tile/wall at the given coordinates. This can also be used to do things such as creating dust. Called on active tiles. See also ModSystem.PostDrawTiles. More...
 
virtual bool PreDraw (int i, int j, int type, SpriteBatch spriteBatch)
 Allows you to draw things behind the tile/wall at the given coordinates. Return false to stop the game from drawing the tile/wall normally. Returns true by default. More...
 
virtual void RandomUpdate (int i, int j, int type)
 Called for every tile/wall the world randomly decides to update in a given tick. Useful for things such as growing or spreading. More...
 
virtual void SetDefaults ()
 Allows you to modify the properties of any tile/wall in the game. Most properties are stored as arrays throughout the Terraria code. More...
 
- Public Member Functions inherited from Terraria.ModLoader.ModType
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 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Terraria.ModLoader.ModType
abstract void Register ()
 If you make a new ModType, seal this override. More...
 
- Properties inherited from Terraria.ModLoader.ModType
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from Terraria.ModLoader.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...
 

Detailed Description

This is the superclass for GlobalTile and GlobalWall, combining common code

Member Function Documentation

◆ CanExplode()

virtual bool Terraria.ModLoader.GlobalBlockType.CanExplode ( int  i,
int  j,
int  type 
)
virtual

Whether or not the tile/wall at the given coordinates can be killed by an explosion (ie. bombs). Returns true by default; return false to stop an explosion from destroying it.

Parameters
i
j
type
Returns

◆ CanPlace()

virtual bool Terraria.ModLoader.GlobalBlockType.CanPlace ( int  i,
int  j,
int  type 
)
virtual

Allows you to stop a tile/wall from being placed at the given coordinates. Return false to block the tile/wall from being placed. Returns true by default.

Parameters
i
j
type
Returns

◆ CreateDust()

virtual bool Terraria.ModLoader.GlobalBlockType.CreateDust ( int  i,
int  j,
int  type,
ref int  dustType 
)
virtual

Allows you to modify the default type of dust created when the tile/wall at the given coordinates is hit. Return false to stop the default dust (the dustType parameter) from being created. Returns true by default.

Parameters
i
j
type
dustType
Returns

◆ KillSound()

virtual bool Terraria.ModLoader.GlobalBlockType.KillSound ( int  i,
int  j,
int  type 
)
virtual

Allows you to customize which sound you want to play when the tile/wall at the given coordinates is hit. Return false to stop the game from playing its default sound for the tile/wall. Returns true by default.

Parameters
i
j
type
Returns

◆ ModifyLight()

virtual void Terraria.ModLoader.GlobalBlockType.ModifyLight ( int  i,
int  j,
int  type,
ref float  r,
ref float  g,
ref float  b 
)
virtual

Allows you to determine how much light the block emits. If it is a tile, make sure you set Main.tileLighted[Type] to true in SetDefaults for this to work. If it is a wall, it can also let you light up the block in front of this wall.

Parameters
i
j
type
r
g
b

◆ NumDust()

virtual void Terraria.ModLoader.GlobalBlockType.NumDust ( int  i,
int  j,
int  type,
bool  fail,
ref int  num 
)
virtual

Allows you to change how many dust particles are created when the tile/wall at the given coordinates is hit.

Parameters
i
j
type
fail
num

◆ PlaceInWorld()

virtual void Terraria.ModLoader.GlobalBlockType.PlaceInWorld ( int  i,
int  j,
int  type,
Item  item 
)
virtual

Allows you to do something when this tile/wall is placed. Called on the local Client and Single Player.

Parameters
iThe x position in tile coordinates. Equal to Player.tileTargetX
jThe y position in tile coordinates. Equal to Player.tileTargetY
type
itemThe item used to place this tile/wall.

◆ PostDraw()

virtual void Terraria.ModLoader.GlobalBlockType.PostDraw ( int  i,
int  j,
int  type,
SpriteBatch  spriteBatch 
)
virtual

Allows you to draw things in front of the tile/wall at the given coordinates. This can also be used to do things such as creating dust. Called on active tiles. See also ModSystem.PostDrawTiles.

Parameters
i
j
type
spriteBatch

◆ PreDraw()

virtual bool Terraria.ModLoader.GlobalBlockType.PreDraw ( int  i,
int  j,
int  type,
SpriteBatch  spriteBatch 
)
virtual

Allows you to draw things behind the tile/wall at the given coordinates. Return false to stop the game from drawing the tile/wall normally. Returns true by default.

Parameters
i
j
type
spriteBatch
Returns

◆ RandomUpdate()

virtual void Terraria.ModLoader.GlobalBlockType.RandomUpdate ( int  i,
int  j,
int  type 
)
virtual

Called for every tile/wall the world randomly decides to update in a given tick. Useful for things such as growing or spreading.

Parameters
i
j
type

◆ SetDefaults()

virtual void Terraria.ModLoader.GlobalBlockType.SetDefaults ( )
virtual

Allows you to modify the properties of any tile/wall in the game. Most properties are stored as arrays throughout the Terraria code.