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

◆ Check6x3()

static void Terraria.WorldGen.Check6x3 ( int i,
int j,
int type )
inlinestatic

Definition at line 43883 of file WorldGen.cs.

43884 {
43885 if (destroyObject)
43886 {
43887 return;
43888 }
43889 bool flag = false;
43890 int num = i;
43891 int num2 = j;
43892 num += Main.tile[i, j].frameX / 18 * -1;
43893 num2 += Main.tile[i, j].frameY / 18 * -1;
43894 for (int k = num; k < num + 6; k++)
43895 {
43896 for (int l = num2; l < num2 + 3; l++)
43897 {
43898 int num3 = (k - num) * 18;
43899 if (Main.tile[k, l] == null)
43900 {
43901 Main.tile[k, l] = default(Tile);
43902 }
43903 if (!Main.tile[k, l].active() || Main.tile[k, l].type != type || Main.tile[k, l].frameX != num3 || Main.tile[k, l].frameY != (l - num2) * 18)
43904 {
43905 flag = true;
43906 }
43907 }
43908 if (Main.tile[k, num2 + 3] == null)
43909 {
43910 Main.tile[k, num2 + 3] = default(Tile);
43911 }
43912 if (!SolidTileAllowBottomSlope(k, num2 + 3) && (!Main.tile[k, num2 + 3].nactive() || !Main.tileSolidTop[Main.tile[k, num2 + 3].type] || Main.tile[k, num2 + 3].frameY != 0))
43913 {
43914 flag = true;
43915 }
43916 }
43917 if (!flag)
43918 {
43919 return;
43920 }
43921 destroyObject = true;
43922 bool drop = TileLoader.Drop(i, j, type);
43923 for (int m = num; m < num + 6; m++)
43924 {
43925 for (int n = num2; n < num2 + 3; n++)
43926 {
43927 if (Main.tile[m, n].type == type && Main.tile[m, n].active())
43928 {
43929 KillTile(m, n);
43930 }
43931 }
43932 }
43933 using (new Item.DisableNewItemMethod(!drop))
43934 {
43935 if (type == 275)
43936 {
43937 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2162);
43938 }
43939 if (type == 413)
43940 {
43941 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3565);
43942 }
43943 if (type == 414)
43944 {
43945 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3566);
43946 }
43947 if (type == 276)
43948 {
43949 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2163);
43950 }
43951 if (type == 277)
43952 {
43953 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2164);
43954 }
43955 if (type == 278)
43956 {
43957 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2165);
43958 }
43959 if (type == 279)
43960 {
43961 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2166);
43962 }
43963 if (type == 280)
43964 {
43965 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2167);
43966 }
43967 if (type == 281)
43968 {
43969 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2168);
43970 }
43971 if (type == 296)
43972 {
43973 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2186);
43974 }
43975 if (type == 297)
43976 {
43977 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2187);
43978 }
43979 if (type == 309)
43980 {
43981 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2206);
43982 }
43983 if (type == 358)
43984 {
43985 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3070);
43986 }
43987 if (type == 359)
43988 {
43989 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3071);
43990 }
43991 if (type == 542)
43992 {
43993 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4396);
43994 }
43995 if (type == 550)
43996 {
43997 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4461);
43998 }
43999 if (type == 551)
44000 {
44001 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4462);
44002 }
44003 if (type == 553)
44004 {
44005 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4473);
44006 }
44007 if (type == 554)
44008 {
44009 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4474);
44010 }
44011 if (type == 558)
44012 {
44013 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4481);
44014 }
44015 if (type == 559)
44016 {
44017 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4483);
44018 }
44019 if (type == 599)
44020 {
44021 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4882);
44022 }
44023 if (type == 600)
44024 {
44025 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4883);
44026 }
44027 if (type == 601)
44028 {
44029 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4884);
44030 }
44031 if (type == 602)
44032 {
44033 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4885);
44034 }
44035 if (type == 603)
44036 {
44037 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4886);
44038 }
44039 if (type == 604)
44040 {
44041 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4887);
44042 }
44043 if (type == 605)
44044 {
44045 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4888);
44046 }
44047 if (type == 606)
44048 {
44049 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4889);
44050 }
44051 if (type == 607)
44052 {
44053 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4890);
44054 }
44055 if (type == 608)
44056 {
44057 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4891);
44058 }
44059 if (type == 609)
44060 {
44061 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4892);
44062 }
44063 if (type == 610)
44064 {
44065 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4893);
44066 }
44067 if (type == 611)
44068 {
44069 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4894);
44070 }
44071 if (type == 612)
44072 {
44073 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4895);
44074 }
44075 if (type == 632)
44076 {
44077 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5213);
44078 }
44079 if (type == 640)
44080 {
44081 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5301);
44082 }
44083 if (type == 643)
44084 {
44085 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5314);
44086 }
44087 if (type == 644)
44088 {
44089 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5315);
44090 }
44091 if (type == 645)
44092 {
44093 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5316);
44094 }
44095 destroyObject = false;
44096 for (int num4 = num - 1; num4 < num + 7; num4++)
44097 {
44098 for (int num5 = num2 - 1; num5 < num2 + 4; num5++)
44099 {
44101 }
44102 }
44103 }
44104 }
static bool Drop(int i, int j, int type, bool includeLargeObjectDrops=true)
This serves as the central class from which tile-related functions are supported and carried out.
Definition TileLoader.cs:23
static bool destroyObject
Definition WorldGen.cs:1258
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static bool SolidTileAllowBottomSlope(int i, int j)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.ModLoader.TileLoader.Drop(), Terraria.Item.NewItem(), Terraria.Main.tile, and Terraria.Main.tileSolidTop.

+ Here is the call graph for this function: