• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

all Online Players Permission test

McPlayHD

Minecrafter
Registriert
13 August 2013
Beiträge
6
Diamanten
0
Minecraft
McPlayHD
Hallo zusammen.
Ich bin ein Plugin am programmieren und hab ein Problem.
An einem Ort soll getestet werden, ob alle Spieler, die momentan Online sind eine bestimmte Permission haben.
Wisst ihr wie das geht also:
Code:
if (allPlayers.havePermission("test.test")) {
   p.sendMessage("Ja alle Spieler sind cool");
}
 

¯\_(ツ)_/¯

Minecrafter
Registriert
16 Mai 2014
Beiträge
25
Alter
26
Diamanten
300
hi versuch das mal
Code:
public static boolean allHavePerm(String perm) {
    boolean no = false;
    Player[] onlinePlayers = Bukkit.getOnlinePlayers();
    for (Player p : onlinePlayers) {
        if (!p.hasPermission(perm)) {
            no = true;
        }
    }
    return !no;
}
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Code:
public static boolean allHavePerm(String perm) {
    boolean no = false;
    Player[] onlinePlayers = Bukkit.getOnlinePlayers();
    for (Player p : onlinePlayers) {
        if (!p.hasPermission(perm)) {
            no = true;
        }
    }
    return !no;
}

Wofür so umständlich?

Allein schon geht das so schneller, performanter und effektiver:

Code:
public static boolean allHavePerm(String perm) {
    for (Player p : Bukkit.getOnlinePlayers()) {
        if (!p.hasPermission(perm)) {
            return true;
        }
    }
    return false;
}

Dies ist i.m.O. besser:

Code:
public boolean checkPermissions(String perm) {
  for(Player p:Bukkit.getOnlinePlayers()) {
    Preconditions.checkArgument(p.hasPermission(perm), "Player %s lacks Permission", p.getName);
  }
}

Das ganze wirft dann eine IllegalArgumentException, wenn ein Spieler die Berechtigung nicht hat.
 
Oben