public static void managerInstallerMenu() throws IOException {
    Utility.cleanScreen();
    System.out.println(Utility.softwareName);
    System.out.println(Utility.setTitle("&c", BaseLang.translate("pm.title.managerInstaller")));
    System.out.println("1- " + BaseLang.translate("pm.managerInstaller.newbie"));
    System.out.println(
        "2- " + BaseLang.translate("pm.managerInstaller.download") + " PocketMine-MP");
    System.out.println(
        "3- " + BaseLang.translate("pm.managerInstaller.install") + " PocketMine-MP");
    System.out.println("4- " + BaseLang.translate("pm.managerInstaller.downloadPHP"));
    System.out.println("5- " + BaseLang.translate("pm.managerInstaller.installPHP"));
    System.out.println("6- " + BaseLang.translate("pm.standard.back"));
    int inst = Utility.readInt(BaseLang.translate("pm.choice.ask") + ": ", null);

    if (inst == 1) NewbieSetup.setupMenu();

    if (inst == 2) Downloader.downloaderMenu();

    if (inst == 3) Installator.installatorMenu();

    if (inst == 4) Downloader.downloadPHP();

    if (inst == 5) Installator.installPHP(null);

    if (inst == 6) PMMS.mainMenu();

    managerInstallerMenu();
  }
 public static void command(String[] args) {
   try {
     if (args.length > 1) {
       if (args[1].equalsIgnoreCase("commander")) {
         APIManager.setCommandsMode(true);
         System.out.println(UtilityColor.GREEN + BaseLang.translate("pm.cmdSetStart.commander"));
       } else if (args[1].equalsIgnoreCase("menu")) {
         APIManager.setCommandsMode(false);
         System.out.println(UtilityColor.GREEN + BaseLang.translate("pm.cmdSetStart.menu"));
       }
     } else System.out.println(BaseLang.translate("pm.cmdMode.tooFew"));
   } catch (ArrayIndexOutOfBoundsException e) {
     System.out.println(BaseLang.translate("pm.cmdMode.tooFewMuch"));
   }
 }
  /**
   * @param downloadPath where the user usually download files
   * @param file name of file
   * @param type version name of PocketMine-MP (STABLE, BETA, DEV, SOFT)
   */
  @Deprecated
  public static void moveDownloadedFiles(String downloadPath, String file, String type) {
    File destFolder = new File("Utils" + File.separator + file);
    File downloadFile = new File(downloadPath + File.separator + file);

    if (UtilityServersAPI.checkServersFile("Path", "downloadPath", -1)) {
      try {
        Files.copy(downloadFile.toPath(), destFolder.toPath(), StandardCopyOption.REPLACE_EXISTING);
      } catch (IOException e) {
        System.out.println(UtilityColor.RED + BaseLang.translate("pm.errors.fileNotFound"));
      }
      if (type != null)
        destFolder.renameTo(
            new File("Utils" + File.separator + "PocketMine-MP_" + type.toUpperCase() + ".phar"));

    } else System.out.println(UtilityColor.RED + BaseLang.translate("pm.errors.noDownloadPath"));
  }
  /**
   * When you download a file, you can rename it and add a suffix for recognize it.
   *
   * @param file
   * @param type
   */
  public static void renameDownloadedFile(String file, String type) {
    File fileFolder = new File("Utils" + File.separator + file);

    if (fileFolder.exists()) {
      if (type != null)
        fileFolder.renameTo(
            new File("Utils" + File.separator + "PocketMine-MP_" + type.toUpperCase() + ".phar"));
    } else System.out.println(UtilityColor.RED + BaseLang.translate("pm.errors.noDownloadPath"));
  }