@Override
public List<Object> transformMapChunkBulk(Object packet, ClientChunks clientChunks) {
List<Object> list = Lists.newArrayList();
try {
int[] xcoords = mapChunkBulkRef.getFieldValue("field_149266_a", packet, int[].class);
int[] zcoords = mapChunkBulkRef.getFieldValue("field_149264_b", packet, int[].class);
Object[] chunkMaps = mapChunkBulkRef.getFieldValue("field_179755_c", packet, Object[].class);
for (int i = 0; i < chunkMaps.length; i++) {
int x = xcoords[i];
int z = zcoords[i];
Object chunkMap = chunkMaps[i];
Object chunkPacket = mapChunkRef.newInstance();
mapChunkRef.setFieldValue("field_149284_a", chunkPacket, x);
mapChunkRef.setFieldValue("field_149282_b", chunkPacket, z);
mapChunkRef.setFieldValue("field_179758_c", chunkPacket, chunkMap);
mapChunkRef.setFieldValue("field_149279_g", chunkPacket, true);
clientChunks.getBulkChunks().add(ClientChunks.toLong(x, z));
list.add(chunkPacket);
}
} catch (Exception e) {
Via.getPlatform().getLogger().log(Level.WARNING, "Failed to transform chunks bulk", e);
}
return list;
}