public static Item PutItemInNearbyChest(Item item, Vector2 position)
{
if (Main.netMode == 1)
return item;
for (int i = 0; i < 1000; ++i)
{
bool flag1 = false;
bool flag2 = false;
if (Main.chest[i] != null && !IsPlayerInChest(i) && !isLocked(Main.chest[i].x, Main.chest[i].y) && (new Vector2((Main.chest[i].x * 16 + 16), (Main.chest[i].y * 16 + 16)) - position).Length() < 200.0)
{
for (int index = 0; index < Main.chest[i].item.Length; ++index)
{
if (Main.chest[i].item[index].itemId > 0 && Main.chest[i].item[index].stack > 0)
{
if (item.IsTheSameAs(Main.chest[i].item[index]))
{
flag1 = true;
int num = Main.chest[i].item[index].maxStack - Main.chest[i].item[index].stack;
if (num > 0)
{
if (num > item.stack)
num = item.stack;
item.stack -= num;
Main.chest[i].item[index].stack += num;
if (item.stack <= 0)
{
item.SetDefaults(0, false);
return item;
}
}
}
}
else
flag2 = true;
}
if (flag1 && flag2 && item.stack > 0)
{
for (int index = 0; index < Main.chest[i].item.Length; ++index)
{
if (Main.chest[i].item[index].itemId == 0 || Main.chest[i].item[index].stack == 0)
{
Main.chest[i].item[index] = item.Clone();
item.SetDefaults(0, false);
return item;
}
}
}
}
}
return item;
}