@Override
 public ItemStack getPickBlock(
     MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) {
   TileEntity tileEntity = world.getTileEntity(target.blockX, target.blockY, target.blockZ);
   if (tileEntity instanceof TileIndustrialCokeOven) {
     TileIndustrialCokeOven industrialCokeOven = (TileIndustrialCokeOven) tileEntity;
     if (industrialCokeOven.getReplaced() != null) {
       return industrialCokeOven.getReplaced().copy();
     }
   }
   return new ItemStack(IIBlocks.steelDecoration);
 }
 @Override
 public boolean onBlockActivated(
     World world,
     int x,
     int y,
     int z,
     EntityPlayer player,
     int side,
     float hitX,
     float hitY,
     float hitZ) {
   if (!world.isRemote) {
     TileEntity tileEntity = world.getTileEntity(x, y, z);
     if (tileEntity instanceof TileIndustrialCokeOven) {
       TileIndustrialCokeOven cokeOven = (TileIndustrialCokeOven) tileEntity;
       if (cokeOven.formed) {
         int[] off = cokeOven.getOffset();
         FMLNetworkHandler.openGui(
             player, ImmersiveIntegration.instance, 0, world, x - off[0], y - off[1], z - off[2]);
       }
     }
   }
   return world.getBlockMetadata(x, y, z) > 0;
 }