Ejemplo n.º 1
0
  protected Package makePackage(String[] tokens) {
    String[] pkgInfo = tokens[0].split(":");
    if (2 > pkgInfo.length) {
      System.out.println("Invalid Package: " + tokens[0]);
      return null;
    }

    String pkgName = pkgInfo[0];
    if (pkgName.equalsIgnoreCase("list")
        || pkgName.equalsIgnoreCase("reload")
        || pkgName.equalsIgnoreCase("cooling")) {
      System.out.println("Invalid Package name: " + pkgName);
      return null;
    }

    Package pkg;
    int cooldown;

    try {
      cooldown = Integer.parseInt(pkgInfo[1]);
    } catch (NumberFormatException ex) {
      cooldown = 0;
    }

    pkg = new Package(pkgName, cooldown);

    String[] itemInfo;
    int quantity;
    Material item;
    for (int i = 1; i < tokens.length; i++) {
      itemInfo = tokens[i].split(":");
      if (2 > itemInfo.length) {
        continue;
      }

      try {
        quantity = Integer.parseInt(itemInfo[1]);
      } catch (NumberFormatException ex) {
        quantity = 1;
      }

      item = Material.getMaterial(itemInfo[0]);
      if (item != null) {
        pkg.addItem(item, quantity);
      } else {
        System.out.println("Invalid package item: " + itemInfo[0]);
      }
    }

    if (0 >= pkg.getNumItems()) {
      System.out.println("Package has no valid items: " + pkg.getName());
      return null;
    }

    return pkg;
  }