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

This is the superclass for ModTile and ModWall, combining common code More...

Inherits Terraria.ModLoader.ModTexturedType.

Inherited by Terraria.ModLoader.ModTile, and Terraria.ModLoader.ModWall.

Public Member Functions

virtual bool CanExplode (int i, int j)
 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)
 Allows you to stop this tile/wall from being placed at the given coordinates. Return false to stop the tile/wall from being placed. Returns true by default. More...
 
virtual bool CreateDust (int i, int j, ref int type)
 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 type parameter) from being created. Returns true by default. More...
 
ModTranslation CreateMapEntryName (string key=null)
 Creates a ModTranslation object that you can use in AddMapEntry. More...
 
virtual ushort GetMapOption (int i, int j)
 Allows you to choose which minimap entry the tile/wall at the given coordinates will use. 0 is the first entry added by AddMapEntry, 1 is the second entry, etc. Returns 0 by default. More...
 
virtual bool KillSound (int i, int j)
 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, ref float r, ref float g, ref float b)
 Allows you to determine how much light this tile/wall 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, 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, 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, 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. More...
 
virtual bool PreDraw (int i, int j, 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 normally. Returns true by default. More...
 
virtual void RandomUpdate (int i, int j)
 Called whenever the world randomly decides to update this tile/wall in a given tick. Useful for things such as growing or spreading. More...
 
override void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed.
This is where you would set the properties of this tile/wall. Many properties are stored as arrays throughout Terraria's code.
For example:

  • Main.tileSolid[Type] = true;
  • Main.tileSolidTop[Type] = true;
  • Main.tileBrick[Type] = true;
  • Main.tileBlockLight[Type] = true;
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 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...
 

Properties

int DustType [get, set]
 The default type of dust made when this tile/wall is hit. Defaults to 0. More...
 
int ItemDrop [get, set]
 The default type of item dropped when this tile/wall is killed. Defaults to 0, which means no item. More...
 
int SoundStyle = 1 [get, set]
 The default style of sound made when this tile/wall is hit. Defaults to 1. More...
 
int SoundType [get, set]
 The default type of sound made when this tile/wall is hit. Defaults to 0. More...
 
ushort Type [get, set]
 The internal ID of this type of tile/wall. More...
 
ushort VanillaFallbackOnModDeletion = 0 [get, set]
 The vanilla ID of what should replace the instance when a user unloads and subsequently deletes data from your mod in their save file. Defaults to 0. More...
 
- Properties inherited from Terraria.ModLoader.ModTexturedType
virtual string Texture [get]
 The file name of this type's texture file in the mod loader's file space. 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Terraria.ModLoader.ModType
abstract void Register ()
 If you make a new ModType, seal this override. More...
 

Detailed Description

This is the superclass for ModTile and ModWall, combining common code

Member Function Documentation

◆ CanExplode()

virtual bool Terraria.ModLoader.ModBlockType.CanExplode ( int  i,
int  j 
)
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
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ CanPlace()

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

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

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ CreateDust()

virtual bool Terraria.ModLoader.ModBlockType.CreateDust ( int  i,
int  j,
ref int  type 
)
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 type parameter) from being created. Returns true by default.

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ CreateMapEntryName()

ModTranslation Terraria.ModLoader.ModBlockType.CreateMapEntryName ( string  key = null)

Creates a ModTranslation object that you can use in AddMapEntry.

Parameters
keyThe key for the ModTranslation. The full key will be MapObject.ModName.key
Returns

◆ GetMapOption()

virtual ushort Terraria.ModLoader.ModBlockType.GetMapOption ( int  i,
int  j 
)
virtual

Allows you to choose which minimap entry the tile/wall at the given coordinates will use. 0 is the first entry added by AddMapEntry, 1 is the second entry, etc. Returns 0 by default.

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ KillSound()

virtual bool Terraria.ModLoader.ModBlockType.KillSound ( int  i,
int  j 
)
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
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ ModifyLight()

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

Allows you to determine how much light this tile/wall 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
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ NumDust()

virtual void Terraria.ModLoader.ModBlockType.NumDust ( int  i,
int  j,
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
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ PlaceInWorld()

virtual void Terraria.ModLoader.ModBlockType.PlaceInWorld ( int  i,
int  j,
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
itemThe item used to place this tile/wall.

◆ PostDraw()

virtual void Terraria.ModLoader.ModBlockType.PostDraw ( int  i,
int  j,
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.

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ PreDraw()

virtual bool Terraria.ModLoader.ModBlockType.PreDraw ( int  i,
int  j,
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 normally. Returns true by default.

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ RandomUpdate()

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

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

Parameters
iThe x position in tile coordinates.
jThe y position in tile coordinates.

◆ SetStaticDefaults()

override void Terraria.ModLoader.ModBlockType.SetStaticDefaults ( )
virtual

Allows you to modify the properties after initial loading has completed.
This is where you would set the properties of this tile/wall. Many properties are stored as arrays throughout Terraria's code.
For example:

  • Main.tileSolid[Type] = true;
  • Main.tileSolidTop[Type] = true;
  • Main.tileBrick[Type] = true;
  • Main.tileBlockLight[Type] = true;

Reimplemented from Terraria.ModLoader.ModType.

Property Documentation

◆ DustType

int Terraria.ModLoader.ModBlockType.DustType
getset

The default type of dust made when this tile/wall is hit. Defaults to 0.

◆ ItemDrop

int Terraria.ModLoader.ModBlockType.ItemDrop
getset

The default type of item dropped when this tile/wall is killed. Defaults to 0, which means no item.

◆ SoundStyle

int Terraria.ModLoader.ModBlockType.SoundStyle = 1
getset

The default style of sound made when this tile/wall is hit. Defaults to 1.

◆ SoundType

int Terraria.ModLoader.ModBlockType.SoundType
getset

The default type of sound made when this tile/wall is hit. Defaults to 0.

◆ Type

ushort Terraria.ModLoader.ModBlockType.Type
getset

The internal ID of this type of tile/wall.

◆ VanillaFallbackOnModDeletion

ushort Terraria.ModLoader.ModBlockType.VanillaFallbackOnModDeletion = 0
getset

The vanilla ID of what should replace the instance when a user unloads and subsequently deletes data from your mod in their save file. Defaults to 0.