{
int m = MAX_UUIDS_PER_PACKET;
int n = ids.size() / m; // Number of full requests to make
int i = 0;
UUIDNameRequestPacket request;
for (int j = 0; j < n; j++)
{
request = new UUIDNameRequestPacket();
request.UUIDNameBlock = new UUIDNameRequestPacket.UUIDNameBlockBlock[m];
for (; i < (j + 1) * m; i++)
{
request.UUIDNameBlock[i % m] = new UUIDNameRequestPacket.UUIDNameBlockBlock();
request.UUIDNameBlock[i % m].ID = ids.get(i);
}
Client.network.SendPacket(request);
}
// Get any remaining names after left after the full requests
if (ids.size() > n * m)
{
request = new UUIDNameRequestPacket();
request.UUIDNameBlock = new UUIDNameRequestPacket.UUIDNameBlockBlock[ids.size() - n * m];
for (; i < ids.size(); i++)
{
request.UUIDNameBlock[i % m] = new UUIDNameRequestPacket.UUIDNameBlockBlock();