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

◆ Check6x3()

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

Definition at line 41638 of file WorldGen.cs.

41639 {
41640 if (destroyObject)
41641 {
41642 return;
41643 }
41644 bool flag = false;
41645 int num = i;
41646 int num2 = j;
41647 num += Main.tile[i, j].frameX / 18 * -1;
41648 num2 += Main.tile[i, j].frameY / 18 * -1;
41649 for (int k = num; k < num + 6; k++)
41650 {
41651 for (int l = num2; l < num2 + 3; l++)
41652 {
41653 int num3 = (k - num) * 18;
41654 if (Main.tile[k, l] == null)
41655 {
41656 Main.tile[k, l] = new Tile();
41657 }
41658 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)
41659 {
41660 flag = true;
41661 }
41662 }
41663 if (Main.tile[k, num2 + 3] == null)
41664 {
41665 Main.tile[k, num2 + 3] = new Tile();
41666 }
41667 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))
41668 {
41669 flag = true;
41670 }
41671 }
41672 if (!flag)
41673 {
41674 return;
41675 }
41676 destroyObject = true;
41677 for (int m = num; m < num + 6; m++)
41678 {
41679 for (int n = num2; n < num2 + 3; n++)
41680 {
41681 if (Main.tile[m, n].type == type && Main.tile[m, n].active())
41682 {
41683 KillTile(m, n);
41684 }
41685 }
41686 }
41687 if (type == 275)
41688 {
41689 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2162);
41690 }
41691 if (type == 413)
41692 {
41693 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3565);
41694 }
41695 if (type == 414)
41696 {
41697 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3566);
41698 }
41699 if (type == 276)
41700 {
41701 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2163);
41702 }
41703 if (type == 277)
41704 {
41705 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2164);
41706 }
41707 if (type == 278)
41708 {
41709 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2165);
41710 }
41711 if (type == 279)
41712 {
41713 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2166);
41714 }
41715 if (type == 280)
41716 {
41717 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2167);
41718 }
41719 if (type == 281)
41720 {
41721 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2168);
41722 }
41723 if (type == 296)
41724 {
41725 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2186);
41726 }
41727 if (type == 297)
41728 {
41729 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2187);
41730 }
41731 if (type == 309)
41732 {
41733 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2206);
41734 }
41735 if (type == 358)
41736 {
41737 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3070);
41738 }
41739 if (type == 359)
41740 {
41741 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3071);
41742 }
41743 if (type == 542)
41744 {
41745 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4396);
41746 }
41747 if (type == 550)
41748 {
41749 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4461);
41750 }
41751 if (type == 551)
41752 {
41753 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4462);
41754 }
41755 if (type == 553)
41756 {
41757 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4473);
41758 }
41759 if (type == 554)
41760 {
41761 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4474);
41762 }
41763 if (type == 558)
41764 {
41765 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4481);
41766 }
41767 if (type == 559)
41768 {
41769 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4483);
41770 }
41771 if (type == 599)
41772 {
41773 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4882);
41774 }
41775 if (type == 600)
41776 {
41777 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4883);
41778 }
41779 if (type == 601)
41780 {
41781 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4884);
41782 }
41783 if (type == 602)
41784 {
41785 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4885);
41786 }
41787 if (type == 603)
41788 {
41789 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4886);
41790 }
41791 if (type == 604)
41792 {
41793 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4887);
41794 }
41795 if (type == 605)
41796 {
41797 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4888);
41798 }
41799 if (type == 606)
41800 {
41801 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4889);
41802 }
41803 if (type == 607)
41804 {
41805 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4890);
41806 }
41807 if (type == 608)
41808 {
41809 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4891);
41810 }
41811 if (type == 609)
41812 {
41813 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4892);
41814 }
41815 if (type == 610)
41816 {
41817 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4893);
41818 }
41819 if (type == 611)
41820 {
41821 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4894);
41822 }
41823 if (type == 612)
41824 {
41825 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4895);
41826 }
41827 if (type == 632)
41828 {
41829 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5213);
41830 }
41831 if (type == 640)
41832 {
41833 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5301);
41834 }
41835 if (type == 643)
41836 {
41837 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5314);
41838 }
41839 if (type == 644)
41840 {
41841 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5315);
41842 }
41843 if (type == 645)
41844 {
41845 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5316);
41846 }
41847 destroyObject = false;
41848 for (int num4 = num - 1; num4 < num + 7; num4++)
41849 {
41850 for (int num5 = num2 - 1; num5 < num2 + 4; num5++)
41851 {
41853 }
41854 }
41855 }
static bool destroyObject
Definition WorldGen.cs:1020
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.Item.NewItem(), Terraria.DataStructures.Tile, Terraria.Main.tile, Terraria.Main.tileSolidTop, and System.type.