私はMine Craft Javaサーバープラグインを作成しています。許可を得ているか、配列に含まれているすべてのプレーヤーにメッセージを送信します。リスト。私はループ設定をしていますが、プレイヤーがオンラインになっているのと同じくらい何回もメッセージを送信しているようです。これを防ぐ/修正するにはどうすればよいですか?前もって感謝します! :)Bukkit(Java)オンラインで何度もメッセージが送信されています
public void checkStart() {
HashSet<Player> listToSet = new HashSet<Player>(this.plugin.pInGame);
ArrayList<Player> pInGameNoDup = new ArrayList<Player>(listToSet);
//^changing the ArrayList to a Hashset then back to Arraylist to avoid duplicates (maybe this is the issue?)
int sizeCheck = pInGameNoDup.size();
if (sizeCheck >= 2) {
for (Player p : Bukkit.getOnlinePlayers()) {
if (pInGameNoDup.contains(p) || p.isOp()) {
p.sendMessage(label + "The Game of DeathTag has begun! Now chosing who will be it...");
randomIt();
p.sendMessage(label + this.plugin.it.getName() + " has been randomly chosen to be it!");
}
}
} else {
for (Player p : Bukkit.getOnlinePlayers()) {
if (p.hasPermission("tag.join") || p.isOp()) {
p.sendMessage(label + "Not Enough People have joined, the game will not start");
setDefault();
}
}
}
}
私が最初に変更ループは、しかし、私は2番目のループがすべてのオンラインプレーヤーを通過するように誰もがゲームが開始されていないことを見ることができます – Squiddie
'のBukkit.getOnlinePlayers 'をループしている –