Solved Problem | Check If Argument == Integer

Discussion in 'Plugin Development' started by KyllianGamer, May 21, 2018.

Thread Status:
Not open for further replies.
  1. Offline

    KyllianGamer

    Hello! I just started with Java Bukkit coding. Im making my very first real plugin. But i have one problem...

    So i say that the player can give a number of amount items they want but if they give a String it is giving an error ofcoarse... How do i fix that i can check its an Integer?


    Code:
    public class Commands extends CommandExecute implements Listener, CommandExecutor {
     
        public String prefix = "§7[§6Simple Grenades§7] ";
     
     
        public String cmd1 = "simplegrenades";
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
         
         
            if(sender instanceof Player) {
             
             
                Player player = (Player) sender;
             
                if (cmd.getName().equalsIgnoreCase(cmd1)) {
                    if (args.length == 0) {
                        player.sendMessage(prefix + "§cCorrect use: §7/sg [basic] [amount]");
                        return true;
                    }
                    else {
                        if (args[0].equalsIgnoreCase("basic")) {
                            if (args.length == 1) {
                                ItemStack item = new ItemStack(Material.FIREWORK_CHARGE, 1);
                                ItemMeta meta = item.getItemMeta();
                                ArrayList<String> lore = new ArrayList<String>();
                                lore.add("§cPower: §8[§71§8]");
                                meta.setLore(lore);
                                meta.setDisplayName("§aBasic Grenade");
                                item.setItemMeta(meta);
                                player.getInventory().addItem(item);
                            }
                            if (args.length == 2) { 
                                ItemStack item = new ItemStack(Material.FIREWORK_CHARGE, Integer.parseInt(args[1]));
                                ItemMeta meta = item.getItemMeta();
                                ArrayList<String> lore = new ArrayList<String>();
                                lore.add("§cPower: §8[§71§8]");
                                meta.setLore(lore);
                                meta.setDisplayName("§aBasic Grenade");
                                item.setItemMeta(meta);
                                player.getInventory().addItem(item);
                             
                            }
                     
                        }
                        else {
                            player.sendMessage(prefix + "§cCorrect use: §7/sg [basic] [amount]");
                            return true;
                    }
                         
                    }
                }
             
            }
            return true;
        }
    
    }
    
     
    Last edited: May 21, 2018
  2. Offline

    KarimAKL

    @KyllianGamer
    Code:Java
    1.  
    2. if (args.length == 1) {
    3. try {
    4. Integer.parseInt(args[0]);
    5. Integer amount = Integer.valueOf(args[0]);
    6. //Do something
    7. } catch (NumberFormatException e) {
    8. sender.sendMessage("Argument 1 needs to be a number! Usage: /cmd1 [amount]");
    9. return true;
    10. }
    11. }
    12.  

    This is what i currently use and it works for me.
     
  3. Offline

    KyllianGamer

    Thank you so much! It works perfectly! You are my angel :O I am already asking it like the hole day at a discord server and nobody was help me. Thank you so much!
     
  4. Offline

    KarimAKL

    @KyllianGamer Hehe, np. :p Glad i could help. :) Could you please change the title prefix to solved now?
     
  5. Offline

    KyllianGamer

    Euh how? xD

    NVM found it :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 21, 2018
  6. Offline

    KarimAKL

Thread Status:
Not open for further replies.

Share This Page