SteamWar/BauSystem2.0
Archiviert
12
0

Update Permission #220

Zusammengeführt
YoyoNow hat 35 Commits von PermissionUpdate nach master 2024-02-17 08:53:31 +01:00 zusammengeführt
Nur Änderungen aus Commit 1a6c0de502 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -36,27 +36,21 @@ import java.util.function.Predicate;
@AllArgsConstructor
public enum Permission {
WORLD(BauweltMember::isWorld),
WORLDEDIT(BauweltMember::isWorldEdit),
MEMBER(bauweltMember -> true),
OWNER(bauweltMember -> false);
OWNER(bauweltMember -> {
return bauweltMember.getBauweltID() == BauServer.getInstance().getOwnerID();
}),
SUPERVISOR(bauweltMember -> {
return OWNER.permissionPredicate.test(bauweltMember); // TODO: Needs to be changed later on
}),
BUILD(bauweltMember -> {
return bauweltMember.isWorld() || bauweltMember.isWorldEdit() || SUPERVISOR.permissionPredicate.test(bauweltMember);
});
private final Predicate<BauweltMember> permissionPredicate;
public boolean hasPermission(Player member) {
if (member.getUniqueId().equals(BauServer.getInstance().getOwner())) {
return true;
}
BauweltMember bauMember = BauweltMember.getBauMember(BauServer.getInstance().getOwner(), member.getUniqueId());
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Die Spectator-Permissions fallen etwas aus dem Muster, da es sich hier um die einzigen negativen Permissions handelt. Das macht auch die Permissonchecks unten sehr merkwürdig. Man sollte alle Anwendungen davon auf !BUILD ändern.

Die Spectator-Permissions fallen etwas aus dem Muster, da es sich hier um die einzigen negativen Permissions handelt. Das macht auch die Permissonchecks unten sehr merkwürdig. Man sollte alle Anwendungen davon auf `!BUILD` ändern.
if (bauMember == null) {
return false;
}
if (bauMember == null) return false;
return permissionPredicate.test(bauMember);
}
YoyoNow markierte diese Unterhaltung als gelöst
Review

Wird das überhaupt noch benötigt? Jeder auf dem Server ist ja mindestens Member.

Wird das überhaupt noch benötigt? Jeder auf dem Server ist ja mindestens Member.
public static boolean hasPermission(Player member, Permission permission) {
return permission.hasPermission(member);
}
}