Search code examples
javapluginsminecraft

Get all Arguments | Minecraft Spigot plugin


Heyy! How can I get all args from a sender? I want to code a little execute a command from a player plugin. Here is the code:

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class runitcmd implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (sender.hasPermission("penguplayercommands.use")){
            if (args.length > 0) {
                String pName = args[0];
                Player p = Bukkit.getPlayer(pName);
                p.performCommand(args[1]+++allother);
            }
        }else {
            sender.sendMessage("§b[PenguCraft] §aYour rank is not allowed to do this.");
        }

        return false;
    }
}

at p.performCommand(args[1]+++allother); it should do all args after the first one. Can anyone help me?


Solution

  • You can do something like that :

    StringJoiner sj = new StringJoiner(" "); // object that you manage all args
    for(int i = 1; i < args.length; i++) // for all arg between 0 and max arg length
       sj.add(args[i]); // add arg
    p.performCommand(sj.toString()); // here is your final command
    

    Update:

    There is a quicky way, String.join that should be use like that:

    p.performCommand(String.join(" ", args));