Add and implement handlers for each individual permissions plugin, instead of doing everything in the PermissionsManager - see #314

This commit is contained in:
EbonJaguar
2016-06-01 14:00:27 -04:00
parent 0977558924
commit e99d9414b8
9 changed files with 580 additions and 340 deletions
@@ -0,0 +1,67 @@
package fr.xephi.authme.permission.handlers;
import fr.xephi.authme.permission.PermissionNode;
import fr.xephi.authme.permission.PermissionsSystemType;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.entity.Player;
import java.util.Arrays;
import java.util.List;
public class VaultHandler implements PermissionHandler {
private Permission vaultProvider;
public VaultHandler(Permission vaultProvider) {
this.vaultProvider = vaultProvider;
}
@Override
public boolean addToGroup(Player player, String group) {
return vaultProvider.playerAddGroup(player, group);
}
@Override
public boolean hasGroupSupport() {
return vaultProvider.hasGroupSupport();
}
@Override
public boolean hasPermission(Player player, PermissionNode node, boolean def) {
return vaultProvider.has(player, node.getNode());
}
@Override
public boolean isInGroup(Player player, String group) {
return vaultProvider.playerInGroup(player, group);
}
@Override
public boolean removeFromGroup(Player player, String group) {
return vaultProvider.playerRemoveGroup(player, group);
}
@Override
public boolean setGroup(Player player, String group) {
for (String groupName : getGroups(player)) {
removeFromGroup(player, groupName);
}
return vaultProvider.playerAddGroup(player, group);
}
@Override
public List<String> getGroups(Player player) {
return Arrays.asList(vaultProvider.getPlayerGroups(player));
}
@Override
public String getPrimaryGroup(Player player) {
return vaultProvider.getPrimaryGroup(player);
}
@Override
public PermissionsSystemType getPermissionSystem() {
return PermissionsSystemType.VAULT;
}
}