- Move permission check inside PurgeTask to perform it with OfflinePlayer objects instead of lowercase names - Move purge members into child "purge" package - Unify online and offline default permission behavior in DefaultPermission
63 lines
1.5 KiB
Java
63 lines
1.5 KiB
Java
package fr.xephi.authme.permission;
|
|
|
|
import org.bukkit.permissions.ServerOperator;
|
|
|
|
/**
|
|
* The default permission to fall back to if there is no support for permission nodes.
|
|
*/
|
|
public enum DefaultPermission {
|
|
|
|
/** No one has permission. */
|
|
NOT_ALLOWED("No permission") {
|
|
@Override
|
|
public boolean evaluate(ServerOperator sender) {
|
|
return false;
|
|
}
|
|
},
|
|
|
|
/** Only players with OP status have permission. */
|
|
OP_ONLY("OP's only") {
|
|
@Override
|
|
public boolean evaluate(ServerOperator sender) {
|
|
return sender != null && sender.isOp();
|
|
}
|
|
},
|
|
|
|
/** Everyone is granted permission. */
|
|
ALLOWED("Everyone allowed") {
|
|
@Override
|
|
public boolean evaluate(ServerOperator sender) {
|
|
return true;
|
|
}
|
|
};
|
|
|
|
/** Textual representation of the default permission. */
|
|
private final String title;
|
|
|
|
/**
|
|
* Constructor.
|
|
* @param title The textual representation
|
|
*/
|
|
DefaultPermission(String title) {
|
|
this.title = title;
|
|
}
|
|
|
|
/**
|
|
* Evaluates whether permission is granted to the sender or not.
|
|
*
|
|
* @param sender the sender to process
|
|
* @return true if the sender has permission, false otherwise
|
|
*/
|
|
public abstract boolean evaluate(ServerOperator sender);
|
|
|
|
/**
|
|
* Return the textual representation.
|
|
*
|
|
* @return the textual representation
|
|
*/
|
|
public String getTitle() {
|
|
return title;
|
|
}
|
|
|
|
}
|