TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ GetCommonTreeFoliageData()

static bool Terraria.WorldGen.GetCommonTreeFoliageData ( int i,
int j,
int xoffset,
ref int treeFrame,
ref int treeStyle,
out int floorY,
out int topTextureFrameWidth,
out int topTextureFrameHeight )
inlinestatic

Definition at line 57125 of file WorldGen.cs.

57126 {
57127 _ = Main.tile[i, j];
57128 int num = i + xoffset;
57131 floorY = j;
57132 int num2 = 0;
57133 int k = 0;
57134 while (k < 100)
57135 {
57136 floorY = j + k;
57137 Tile tile = Main.tile[num, floorY];
57138 if (tile == null)
57139 {
57140 return false;
57141 }
57142 switch (tile.type)
57143 {
57144 case 2:
57145 case 477:
57146 {
57147 int num3 = 0;
57148 num3 = ((num <= Main.treeX[0]) ? TreeTops.GetTreeStyle(0) : ((num <= Main.treeX[1]) ? TreeTops.GetTreeStyle(1) : ((num > Main.treeX[2]) ? TreeTops.GetTreeStyle(3) : TreeTops.GetTreeStyle(2))));
57149 switch (num3)
57150 {
57151 case 0:
57152 treeStyle = 0;
57153 break;
57154 case 5:
57155 treeStyle = 10;
57156 break;
57157 default:
57158 treeStyle = 5 + num3;
57159 break;
57160 }
57161 return true;
57162 }
57163 case 23:
57164 case 661:
57165 treeStyle = 1;
57166 return true;
57167 case 70:
57168 treeStyle = 14;
57169 return true;
57170 case 199:
57171 case 662:
57172 treeStyle = 5;
57173 return true;
57174 case 60:
57177 treeStyle = 2;
57178 num2 = TreeTops.GetTreeStyle(5);
57179 if (num2 == 1)
57180 {
57181 treeStyle = 11;
57183 }
57184 if ((double)floorY > Main.worldSurface)
57185 {
57186 treeStyle = 13;
57188 }
57189 return true;
57190 case 147:
57191 treeStyle = 4;
57192 num2 = TreeTops.GetTreeStyle(6);
57193 if (num2 == 0)
57194 {
57195 treeStyle = 12;
57196 if (i % 10 == 0)
57197 {
57198 treeStyle = 18;
57199 }
57200 }
57201 if (num2 == 2 || num2 == 3 || num2 == 32 || num2 == 4 || num2 == 42 || num2 == 5 || num2 == 7)
57202 {
57203 if (num2 % 2 == 0)
57204 {
57205 if (i < Main.maxTilesX / 2)
57206 {
57207 treeStyle = 16;
57208 }
57209 else
57210 {
57211 treeStyle = 17;
57212 }
57213 }
57214 else if (i > Main.maxTilesX / 2)
57215 {
57216 treeStyle = 16;
57217 }
57218 else
57219 {
57220 treeStyle = 17;
57221 }
57222 }
57223 return true;
57224 case 109:
57225 case 492:
57226 {
57228 int num4 = (treeStyle = GetHollowTreeFoliageStyle());
57229 if (num4 == 19)
57230 {
57232 }
57233 if (num4 == 20)
57234 {
57235 treeStyle = 20;
57236 if (i % 6 == 1)
57237 {
57238 treeFrame += 3;
57239 }
57240 else if (i % 6 == 2)
57241 {
57242 treeFrame += 6;
57243 }
57244 else if (i % 6 == 3)
57245 {
57246 treeFrame += 9;
57247 }
57248 else if (i % 6 == 4)
57249 {
57250 treeFrame += 12;
57251 }
57252 else if (i % 6 == 5)
57253 {
57254 treeFrame += 15;
57255 }
57256 }
57257 else if (i % 3 == 1)
57258 {
57259 treeFrame += 3;
57260 }
57261 else if (i % 3 == 2)
57262 {
57263 treeFrame += 6;
57264 }
57265 return true;
57266 }
57267 default:
57268 {
57269 ModTree tree = PlantLoader.Get<ModTree>(5, tile.type);
57270 if (tree != null)
57271 {
57273 treeStyle = tile.type + 100;
57274 return true;
57275 }
57276 k++;
57277 break;
57278 }
57279 }
57280 }
57281 return false;
57282 }
This class represents a type of modded tree. The tree will share a tile ID with the vanilla trees (5)...
Definition ModTree.cs:14
static TreeTopsInfo TreeTops
Definition WorldGen.cs:1416
static int GetHollowTreeFoliageStyle()

References Terraria.GameContent.TreeTopsInfo.GetTreeStyle(), Terraria.Main.maxTilesX, Terraria.Main.tile, Terraria.Main.treeX, Terraria.Tile.type, and Terraria.Main.worldSurface.

Referenced by Terraria.GameContent.Drawing.TileDrawing.DrawTrees(), and Terraria.GameContent.Drawing.TileDrawing.MakeExtraPreparations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: