{
objList.add(new UUID(buffer.readLong(), buffer.readLong()));
}
else if (clazz.equals(Vector3.class))
{
objList.add(new Vector3(buffer.readDouble(), buffer.readDouble(), buffer.readDouble()));
}
else if (clazz.equals(FlagData.class))
{
int width = buffer.readInt();
int height = buffer.readInt();
FlagData flagData = new FlagData(width, height);
for (int i = 0; i < width; i++)
{
for (int j = 0; j < height; j++)
{
flagData.setColorAt(i, j, new Vector3(buffer.readByte() + 128, buffer.readByte() + 128, buffer.readByte() + 128));
}
}
objList.add(flagData);
}
else if (clazz.equals(Integer[].class))
{
int size = buffer.readInt();
for (int i = 0; i < size; i++)
{
objList.add(buffer.readInt());
}
}
else if (clazz.equals(String[].class))
{
int size = buffer.readInt();
for (int i = 0; i < size; i++)
{
objList.add(ByteBufUtils.readUTF8String(buffer));
}
}
else if (clazz.equals(Footprint[].class))
{
int size = buffer.readInt();
for (int i = 0; i < size; i++)
{
objList.add(new Footprint(buffer.readInt(), new Vector3(buffer.readFloat(), buffer.readFloat(), buffer.readFloat()), buffer.readFloat(), buffer.readShort()));
}
}
}
return objList;