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?
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));