Heyho MCSEU-Community 
Ich wollte ein Report-Plugin für einen Server schreiben auf den man mit einen ClickEvent in GM3 gesetzt wird und zu den reporteten Spieler tp't wird.
Nun ist der Bug dass die Report Nachricht mehrmals gesendet wird.
Ich weis dass es an den "for(Player all : Bukkit.getServer().getOnlinePlayers()){..." liegt, nur weiss ich nicht wie ich das fixen kann.
Code:
Danke für jegliche Hilfe.
Grüße
Ich wollte ein Report-Plugin für einen Server schreiben auf den man mit einen ClickEvent in GM3 gesetzt wird und zu den reporteten Spieler tp't wird.
Nun ist der Bug dass die Report Nachricht mehrmals gesendet wird.
Ich weis dass es an den "for(Player all : Bukkit.getServer().getOnlinePlayers()){..." liegt, nur weiss ich nicht wie ich das fixen kann.
Code:
Code:
package me.alphaavo.hemdreport;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ClickEvent.Action;
import net.md_5.bungee.api.chat.TextComponent;
public class HemdReport extends JavaPlugin {
@Override
public void onEnable() {
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
if (cmd.getName().equalsIgnoreCase("report")) {
if (args.length < 2) {
p.sendMessage("§7[§4HemdReport§7] §c/report <Name> <Grund>");
return true;
}
Player t = Bukkit.getServer().getPlayer(args[0]);
String reason = "";
for (int i = 1; i < args.length; i++) {
reason += args[i] + " ";
}
if (t == null) {
p.sendMessage("§7[§4HemdReport§7] §cDieser Spieler ist nicht online!");
return true;
} else {
for (Player all : Bukkit.getServer().getOnlinePlayers()) {
if (all.hasPermission("hemdreport.getreports")) {
report(p, t, all, reason);
}
}
return true;
}
}
if (cmd.getName().equalsIgnoreCase("completereport")) {
if (p.hasPermission("hemdreport.getreports")) {
if (args.length != 1) {
p.sendMessage("§c/completereport <Name>");
return true;
}
Player t = Bukkit.getServer().getPlayer(args[0]);
if (t == null) {
p.sendMessage("§cDieser Spieler ist nicht (mehr) online!");
return true;
} else {
getServer().dispatchCommand(getServer().getConsoleSender(), "gamemode 3 " + p.getName());
getServer().dispatchCommand(getServer().getConsoleSender(),
"tp " + p.getName() + " " + t.getName());
return true;
}
}
}
return true;
}
public void report(Player p, Player t, Player all, String reason) {
Bukkit.getServer().broadcastMessage("§6§m-------§c HemdMann §6§m-------");
Bukkit.getServer().broadcastMessage("§2Spieler: §c" + t.getName());
Bukkit.getServer().broadcastMessage("§2Reporter: §a" + p.getName());
Bukkit.getServer().broadcastMessage("§4Grund: §c" + reason);
TextComponent click = new TextComponent(" §4§lKlicke hier ");
click.setClickEvent(new ClickEvent(Action.RUN_COMMAND, "/completereport " + t.getName()));
TextComponent msg = new TextComponent("§c-->");
TextComponent msg2 = new TextComponent("§c<--");
msg.addExtra(click);
msg.addExtra(msg2);
all.spigot().sendMessage(msg);
Bukkit.getServer().broadcastMessage("§6§m-------§c HemdMann §6§m-------");
}
}
Danke für jegliche Hilfe.
Grüße