if (this.region.contains(coords[0] + x, coords[1] + y, coords[2] + z)) { // only restore, if within the region
Block block = this.world.getBlockAt(coords[0] + x, coords[1] + y, coords[2] + z);
// load chunk if needed
Chunk here = block.getChunk();
if (!here.isLoaded()) here.load();
//if (blockData[x][y][z].getTypeId() != block.getTypeId() || blockData[x][y][z].getData() != block.getData()) {
// System.out.println(block);
block.setTypeIdAndData(blockData[x][y][z].getTypeId(), blockData[x][y][z].getData(), false);
//}