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

◆ PlaceSmallPile()

static bool Terraria.WorldGen.PlaceSmallPile ( int i,
int j,
int X,
int Y,
ushort type = 185 )
inlinestatic

Definition at line 37851 of file WorldGen.cs.

37852 {
37853 short frameY = (short)(Y * 18);
37854 short frameX = (short)(X * 18);
37855 if (Main.tile[i, j] == null)
37856 {
37857 Main.tile[i, j] = new Tile();
37858 }
37859 if (Main.tile[i + 1, j] == null)
37860 {
37861 Main.tile[i + 1, j] = new Tile();
37862 }
37863 if (Main.tile[i, j + 1] == null)
37864 {
37865 Main.tile[i, j + 1] = new Tile();
37866 }
37867 if (Main.tile[i + 1, j + 1] == null)
37868 {
37869 Main.tile[i + 1, j + 1] = new Tile();
37870 }
37871 if (Main.tile[i, j].lava())
37872 {
37873 return false;
37874 }
37875 if (Y == 1)
37876 {
37877 frameX = (short)(X * 36);
37878 bool flag = false;
37879 if (SolidTile2(i, j + 1) && SolidTile2(i + 1, j + 1) && !Main.tile[i, j].active() && !Main.tile[i + 1, j].active())
37880 {
37881 flag = true;
37882 }
37883 if (flag)
37884 {
37885 Main.tile[i, j].active(active: true);
37886 Main.tile[i, j].frameY = frameY;
37887 Main.tile[i, j].frameX = frameX;
37888 Main.tile[i, j].type = type;
37889 Main.tile[i + 1, j].active(active: true);
37890 Main.tile[i + 1, j].frameY = frameY;
37891 Main.tile[i + 1, j].frameX = (short)(frameX + 18);
37892 Main.tile[i + 1, j].type = type;
37893 return true;
37894 }
37895 }
37896 else if (SolidTile2(i, j + 1) && !Main.tile[i, j].active())
37897 {
37898 Main.tile[i, j].active(active: true);
37899 Main.tile[i, j].frameY = frameY;
37900 Main.tile[i, j].frameX = frameX;
37901 Main.tile[i, j].type = type;
37902 return true;
37903 }
37904 return false;
37905 }
static bool SolidTile2(Tile testTile)

References Terraria.DataStructures.Tile, Terraria.Main.tile, System.type, System.X, and System.Y.

Referenced by Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.FillRooms(), Terraria.WorldGen.Spread.Spider(), and Terraria.WorldGen.StonePatch().