How to make message if player use the command witout args?

Discussion in 'Plugin Development' started by makcoh2018, Jun 27, 2021.

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

    makcoh2018

    How to make message if player use the command witout args?
    How to check will have args in entered command?

    Code:
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player p = (Player) sender;
            Player g = Bukkit.getPlayerExact(args[0]);
     
  2. Offline

    timtower Administrator Administrator Moderator

    @makcoh2018 Check args.length before doing anything.
     
  3. Offline

    makcoh2018

    If i use this code:

    if(args.length == 0) - it's doesn't work i have error if you only /command

    If i use this:

    if(args.length =< 1) -I have error if enter only (/command) but if i enter (/command g) or (/command 6) evetring work.

    I need if i enter (/command) i get message and retuen true
     
  4. Offline

    timtower Administrator Administrator Moderator

    Yes it does work, using it all the time.
    If it isn't then post your full code.
     
  5. Offline

    makcoh2018

    Code:
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player p = (Player) sender;
            Player g = Bukkit.getPlayerExact(args[0]);
            //if(args.hashCode() == 0){
            //    p.sendMessage(ChatColor.RED + "ERROR. Enter /command nick");
            //    return true;
            //}
            if (cmd.getName().equalsIgnoreCase("uplevel")) {
                if (getLevel(g) >= main.instance.getConfig().getInt("MaxLevel")) {
                    p.sendMessage(ChatColor.YELLOW + "Player is MaxLevel!");
    
                    return true;
                }
                main.instance.getConfig().getInt("levels." + getNextLevel(g) + ".blocks");
                levels.put(g.getName(), Integer.valueOf(getLevel(g) + 1));
                p.sendMessage(ChatColor.GREEN + "New level " + ChatColor.GOLD + levels.get(g.getName()));
                g.sendMessage(ChatColor.GREEN + "Игрок: " + p.getName() + " up your level  " + ChatColor.GOLD + levels.get(g.getName()));
                p.setMaxHealth((18 + getLevel(g) * 2));
                g.setLevel(levels.get(g.getName()));
                updateScoreboard(g);
                return true;
            }
     
  6. Offline

    timtower Administrator Administrator Moderator

  7. Offline

    makcoh2018

    ops , i'm so sorry, replace hashCode() on length
     
  8. Offline

    timtower Administrator Administrator Moderator

    Need to check the length before using args[0]
     
  9. Offline

    makcoh2018

    How to make this?
     
  10. Offline

    timtower Administrator Administrator Moderator

    Put the length check before you use args
     
Thread Status:
Not open for further replies.

Share This Page