private void buildStructure(LocalPosition position) {
    Integer[][][] resultStructure = blueprint.getResultStructure();
    HashMap<Integer, BlueprintBlock> blockLookup = blueprint.getBlockLookup();

    TileEntity managerTileEntity = buildManagerBlock(position);

    for (int x = 0; x < blueprint.xSize; x++) {
      for (int y = 0; y < blueprint.ySize; y++) {
        for (int z = 0; z < blueprint.zSize; z++) {
          if (isManagerBlock(x, y, z)) continue;
          int structureId = resultStructure[y][x][z];
          setBlock(x, y, z, position, structureId, blockLookup, managerTileEntity);
        }
      }
    }
  }