Code:java @Override public boolean onCommand(CommandSender cs, Command cmd, String arg, String[] args){ if(cs instanceof Player){ Player p = (Player)cs; if(args.length == 1) { if(p.hasPermission("OpenTools.Kick")){ Player ps = Bukkit.getPlayerExact(args[0]); if(ps != null){ for(String sk : ConfigContent.kickMsg) { sk = sk.replaceAll("%kickedname%", ps.getName()); sk = sk.replaceAll("%admin%", p.getName()); sk = sk.replaceAll("%reason%", ConfigContent.kickDefaultMsg); sk = Utils.fixColors(sk); ps.kickPlayer(sk); } }else { p.sendMessage(Utils.msg("&4Ten gracz jest offline!")); } }else { p.sendMessage(Utils.msg("Nie masz praw do tej komendy &6(OpenTools.Kick)&c!")); return true; } }else { p.sendMessage(Utils.msg("&4!")); } }else { cs.sendMessage(Utils.msg("&4Uzycie tej komendy moze byc mozliwe tylko przez gracza!")); return true; } return false; } Config: Code: Messages: Option: enableNewUserMsg: true NewUser: "&cWitamy nowego gracza &6%nickname% &cna serwerze!" KickUser: - "Zostales wyrzucony!" - "Przez: &c%admin%!" - "Powod: %reason%!" KickUserDefaultMsg: "domyslny powod." Someone knows why it kicks only with 1st msg? I want to send this three msgs, but it only returns "Zostales wyrzucony!", when i test it on sendMessage i get three messages ;c
Well, your problem is that you're looping through the string list and kicking them. So it will go get the first string -> kick, get second string -> kick, get last string -> kick. And that's not going to work. Try PHP: String kickString = "";for(String sk : ConfigContent.kickMsg) { sk = sk.replaceAll("%kickedname%", ps.getName()); sk = sk.replaceAll("%admin%", p.getName()); sk = sk.replaceAll("%reason%", ConfigContent.kickDefaultMsg); sk = Utils.fixColors(sk); kickString += sk + "\n"; }ps.kickPlayer(kickString); (might not work, also you might want to use a StringBuilder)