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; }