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

◆ CheckMB()

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

Definition at line 42526 of file WorldGen.cs.

42527 {
42528 if (destroyObject)
42529 {
42530 return;
42531 }
42532 bool flag = false;
42533 int num = i;
42534 int num2 = j;
42535 int num3 = 0;
42536 int num4;
42537 for (num4 = Main.tile[i, j].frameY / 18; num4 >= 2; num4 -= 2)
42538 {
42539 num3++;
42540 }
42541 int num5 = Main.tile[i, j].frameX / 18;
42542 int num6 = 0;
42543 if (num5 >= 2)
42544 {
42545 num5 -= 2;
42546 num6++;
42547 }
42548 num = i - num5;
42549 num2 = j - num4;
42550 for (int k = num; k < num + 2; k++)
42551 {
42552 for (int l = num2; l < num2 + 2; l++)
42553 {
42554 if (Main.tile[k, l] == null)
42555 {
42556 Main.tile[k, l] = new Tile();
42557 }
42558 if (!Main.tile[k, l].active() || Main.tile[k, l].type != type || Main.tile[k, l].frameX != (k - num) * 18 + num6 * 36 || Main.tile[k, l].frameY != (l - num2) * 18 + num3 * 36)
42559 {
42560 flag = true;
42561 }
42562 }
42563 if (!Main.tile[k, num2 + 2].nactive())
42564 {
42565 flag = true;
42566 }
42567 else if (!Main.tileSolid[Main.tile[k, num2 + 2].type] && !Main.tileTable[Main.tile[k, num2 + 2].type])
42568 {
42569 flag = true;
42570 }
42571 }
42572 if (!flag)
42573 {
42574 return;
42575 }
42576 destroyObject = true;
42577 for (int m = num; m < num + 2; m++)
42578 {
42579 for (int n = num2; n < num2 + 3; n++)
42580 {
42581 if (Main.tile[m, n].type == type && Main.tile[m, n].active())
42582 {
42583 KillTile(m, n);
42584 }
42585 }
42586 }
42587 if (type == 35)
42588 {
42589 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1813);
42590 }
42591 else if (num3 == 28)
42592 {
42593 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1963);
42594 }
42595 else if (num3 == 29)
42596 {
42597 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1964);
42598 }
42599 else if (num3 == 30)
42600 {
42601 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1965);
42602 }
42603 else if (num3 == 31)
42604 {
42605 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2742);
42606 }
42607 else if (num3 == 32)
42608 {
42609 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3044);
42610 }
42611 else if (num3 == 33)
42612 {
42613 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3235);
42614 }
42615 else if (num3 == 34)
42616 {
42617 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3236);
42618 }
42619 else if (num3 == 35)
42620 {
42621 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3237);
42622 }
42623 else if (num3 == 36)
42624 {
42625 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3370);
42626 }
42627 else if (num3 == 37)
42628 {
42629 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3371);
42630 }
42631 else if (num3 == 38)
42632 {
42633 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3796);
42634 }
42635 else if (num3 == 39)
42636 {
42637 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3869);
42638 }
42639 else if (num3 == 43)
42640 {
42641 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4077);
42642 }
42643 else if (num3 == 41)
42644 {
42645 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4078);
42646 }
42647 else if (num3 == 42)
42648 {
42649 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4079);
42650 }
42651 else if (num3 == 44)
42652 {
42653 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4080);
42654 }
42655 else if (num3 == 45)
42656 {
42657 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4081);
42658 }
42659 else if (num3 == 40)
42660 {
42661 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4082);
42662 }
42663 else if (num3 == 46)
42664 {
42665 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4237);
42666 }
42667 else if (num3 == 47)
42668 {
42669 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4356);
42670 }
42671 else if (num3 == 48)
42672 {
42673 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4357);
42674 }
42675 else if (num3 == 49)
42676 {
42677 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4358);
42678 }
42679 else if (num3 == 50)
42680 {
42681 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4421);
42682 }
42683 else if (num3 == 51)
42684 {
42685 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4606);
42686 }
42687 else if (num3 == 52)
42688 {
42689 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4979);
42690 }
42691 else if (num3 == 53)
42692 {
42693 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4985);
42694 }
42695 else if (num3 == 54)
42696 {
42697 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4990);
42698 }
42699 else if (num3 == 55)
42700 {
42701 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4991);
42702 }
42703 else if (num3 == 56)
42704 {
42705 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4992);
42706 }
42707 else if (num3 == 57)
42708 {
42709 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5006);
42710 }
42711 else if (num3 == 58)
42712 {
42713 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5014);
42714 }
42715 else if (num3 == 59)
42716 {
42717 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5015);
42718 }
42719 else if (num3 == 60)
42720 {
42721 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5016);
42722 }
42723 else if (num3 == 61)
42724 {
42725 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5017);
42726 }
42727 else if (num3 == 62)
42728 {
42729 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5018);
42730 }
42731 else if (num3 == 63)
42732 {
42733 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5019);
42734 }
42735 else if (num3 == 64)
42736 {
42737 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5020);
42738 }
42739 else if (num3 == 65)
42740 {
42741 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5021);
42742 }
42743 else if (num3 == 66)
42744 {
42745 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5022);
42746 }
42747 else if (num3 == 67)
42748 {
42749 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5023);
42750 }
42751 else if (num3 == 68)
42752 {
42753 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5024);
42754 }
42755 else if (num3 == 69)
42756 {
42757 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5025);
42758 }
42759 else if (num3 == 70)
42760 {
42761 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5026);
42762 }
42763 else if (num3 == 71)
42764 {
42765 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5027);
42766 }
42767 else if (num3 == 72)
42768 {
42769 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5028);
42770 }
42771 else if (num3 == 73)
42772 {
42773 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5029);
42774 }
42775 else if (num3 == 74)
42776 {
42777 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5030);
42778 }
42779 else if (num3 == 75)
42780 {
42781 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5031);
42782 }
42783 else if (num3 == 76)
42784 {
42785 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5032);
42786 }
42787 else if (num3 == 77)
42788 {
42789 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5033);
42790 }
42791 else if (num3 == 78)
42792 {
42793 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5034);
42794 }
42795 else if (num3 == 79)
42796 {
42797 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5035);
42798 }
42799 else if (num3 == 80)
42800 {
42801 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5036);
42802 }
42803 else if (num3 == 81)
42804 {
42805 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5037);
42806 }
42807 else if (num3 == 82)
42808 {
42809 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5038);
42810 }
42811 else if (num3 == 83)
42812 {
42813 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5039);
42814 }
42815 else if (num3 == 84)
42816 {
42817 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5040);
42818 }
42819 else if (num3 == 85)
42820 {
42821 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5044);
42822 }
42823 else if (num3 == 86)
42824 {
42825 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5112);
42826 }
42827 else if (num3 == 87)
42828 {
42829 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5362);
42830 }
42831 else if (num3 >= 13)
42832 {
42833 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1596 + num3 - 13);
42834 }
42835 else
42836 {
42837 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 562 + num3);
42838 }
42839 for (int num7 = num - 1; num7 < num + 3; num7++)
42840 {
42841 for (int num8 = num2 - 1; num8 < num2 + 3; num8++)
42842 {
42844 }
42845 }
42846 destroyObject = false;
42847 }
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 IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.Item.NewItem(), Terraria.DataStructures.Tile, Terraria.Main.tile, Terraria.Main.tileSolid, Terraria.Main.tileTable, and System.type.