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

◆ CountNearBlocksTypes()

static int Terraria.WorldGen.CountNearBlocksTypes ( int i,
int j,
int radius,
int cap = 0,
params int[] tiletypes )
inlinestatic

Definition at line 60071 of file WorldGen.cs.

60072 {
60073 if (tiletypes.Length == 0)
60074 {
60075 return 0;
60076 }
60077 int value = i - radius;
60078 int value2 = i + radius;
60079 int value3 = j - radius;
60080 int value4 = j + radius;
60081 int num = Utils.Clamp(value, 0, Main.maxTilesX - 1);
60082 value2 = Utils.Clamp(value2, 0, Main.maxTilesX - 1);
60083 value3 = Utils.Clamp(value3, 0, Main.maxTilesY - 1);
60084 value4 = Utils.Clamp(value4, 0, Main.maxTilesY - 1);
60085 int num2 = 0;
60086 for (int k = num; k <= value2; k++)
60087 {
60088 for (int l = value3; l <= value4; l++)
60089 {
60090 if (!Main.tile[k, l].active())
60091 {
60092 continue;
60093 }
60094 for (int m = 0; m < tiletypes.Length; m++)
60095 {
60096 if (tiletypes[m] == Main.tile[k, l].type)
60097 {
60098 num2++;
60099 if (cap <= 0 || num2 < cap)
60100 {
60101 break;
60102 }
60103 return num2;
60104 }
60105 }
60106 }
60107 }
60108 return num2;
60109 }

References Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Main.tile, and System.value.