tModLoader v2024.03
A mod to make and play Terraria mods
ModTree Class Referenceabstract

This class represents a type of modded tree. The tree will share a tile ID with the vanilla trees (5), so that the trees can freely convert between each other if the soil below is converted. This class encapsulates several functions that distinguish each type of tree from each other. More...

Inherits ITree.

Public Member Functions

virtual bool CanDropAcorn ()
 Whether or not this tree can drop acorns. Returns true by default. More...
 
virtual int CreateDust ()
 Return the type of dust created when this tree is destroyed. Returns 7 by default. More...
 
abstract int DropWood ()
 The ID of the item that is dropped in bulk when this tree is destroyed. More...
 
abstract Asset< Texture2D > GetBranchTextures ()
 Return the texture containing the possible tree branches that can be drawn next to this tree. The framing was determined under <cref>SetTreeFoliageSettings</cref>
 
abstract Asset< Texture2D > GetTexture ()
 
abstract Asset< Texture2D > GetTopTextures ()
 Return the texture containing the possible tree tops that can be drawn above this tree. The framing was determined under <cref>SetTreeFoliageSettings</cref>
 
virtual int SaplingGrowthType (ref int style)
 Defines the sapling that can eventually grow into a tree. The type of the sapling should be returned here. Returns 20 and style 0 by default. The style parameter will determine which sapling is chosen if multiple sapling types share the same ID; even if you only have a single sapling in an ID, you must still set this to 0. More...
 
abstract void SetStaticDefaults ()
 
abstract void SetTreeFoliageSettings (Tile tile, ref int xoffset, ref int treeFrame, ref int floorY, ref int topTextureFrameWidth, ref int topTextureFrameHeight)
 
virtual bool Shake (int x, int y, ref bool createLeaves)
 Executed on tree shake, return false to skip vanilla tree shake drops.
The x and y coordinates correspond to the top of the tree, where items usually spawn. More...
 
virtual int TreeLeaf ()
 Return the type of gore created when the tree grow, being shook and falling leaves on windy days, returns -1 by default More...
 
bool Shake (int x, int y, ref bool createLeaves)
 
int TreeLeaf ()
 
- Public Member Functions inherited from IPlant
abstract Asset< Texture2D > GetTexture ()
 
void ILoadable. Load (Mod mod)
 Called when loading the type. More...
 
abstract void SetStaticDefaults ()
 
void ILoadable. Unload ()
 Called during unloading when needed. More...
 
- Public Member Functions inherited from ILoadable
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 Attributes

const int VanillaStyleCount = 7
 
const int VanillaTopTextureCount = 100
 

Properties

virtual TreeTypes CountsAsTreeType [get]
 Used mostly for vanilla tree shake loot tables More...
 
int[] GrowsOnTileId [get, set]
 
int PlantTileId [get]
 The tree will share a tile ID with the vanilla trees (5), so that the trees can freely convert between each other if the soil below is converted. More...
 
abstract TreePaintingSettings TreeShaderSettings [get]
 
int VanillaCount [get]
 
- Properties inherited from ITree
TreeTypes CountsAsTreeType [get]
 
- Properties inherited from IPlant
int[] GrowsOnTileId [get, set]
 
int PlantTileId [get]
 
int VanillaCount [get]
 

Detailed Description

This class represents a type of modded tree. The tree will share a tile ID with the vanilla trees (5), so that the trees can freely convert between each other if the soil below is converted. This class encapsulates several functions that distinguish each type of tree from each other.

Member Function Documentation

◆ CanDropAcorn()

virtual bool ModTree.CanDropAcorn ( )
virtual

Whether or not this tree can drop acorns. Returns true by default.

Returns

◆ CreateDust()

virtual int ModTree.CreateDust ( )
virtual

Return the type of dust created when this tree is destroyed. Returns 7 by default.

Returns

◆ DropWood()

abstract int ModTree.DropWood ( )
pure virtual

The ID of the item that is dropped in bulk when this tree is destroyed.

Returns

◆ GetTexture()

abstract Asset< Texture2D > ModTree.GetTexture ( )
pure virtual

Implements IPlant.

◆ SaplingGrowthType()

virtual int ModTree.SaplingGrowthType ( ref int  style)
virtual

Defines the sapling that can eventually grow into a tree. The type of the sapling should be returned here. Returns 20 and style 0 by default. The style parameter will determine which sapling is chosen if multiple sapling types share the same ID; even if you only have a single sapling in an ID, you must still set this to 0.

Parameters
style
Returns

◆ SetStaticDefaults()

abstract void ModTree.SetStaticDefaults ( )
pure virtual

Implements IPlant.

◆ Shake()

virtual bool ModTree.Shake ( int  x,
int  y,
ref bool  createLeaves 
)
virtual

Executed on tree shake, return false to skip vanilla tree shake drops.
The x and y coordinates correspond to the top of the tree, where items usually spawn.

Returns

Implements ITree.

◆ TreeLeaf()

virtual int ModTree.TreeLeaf ( )
virtual

Return the type of gore created when the tree grow, being shook and falling leaves on windy days, returns -1 by default

Returns

Implements ITree.

Property Documentation

◆ CountsAsTreeType

virtual TreeTypes ModTree.CountsAsTreeType
get

Used mostly for vanilla tree shake loot tables

Implements ITree.

◆ GrowsOnTileId

int [] ModTree.GrowsOnTileId
getset

Implements IPlant.

◆ PlantTileId

int ModTree.PlantTileId
get

The tree will share a tile ID with the vanilla trees (5), so that the trees can freely convert between each other if the soil below is converted.

Implements IPlant.

◆ VanillaCount

int ModTree.VanillaCount
get

Implements IPlant.