mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-05-04 04:08:06 +00:00

We'll use the VaultAPI if it's there for group checks. This will also allow us to default to Player#hasPermission from Bukkit instead of going through each permission plugin.
51 lines
1.4 KiB
Java
51 lines
1.4 KiB
Java
package com.earth2me.essentials.perm;
|
|
|
|
import com.earth2me.essentials.Essentials;
|
|
import net.milkbowl.vault.permission.Permission;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
public class VaultHandler extends SuperpermsHandler {
|
|
|
|
private Essentials plugin;
|
|
private static Permission perms = null;
|
|
|
|
public VaultHandler(Essentials plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
public boolean setupPermissions() {
|
|
try {
|
|
Class.forName("net.milkbowl.vault.permission.Permission");
|
|
} catch (ClassNotFoundException e) {
|
|
return false;
|
|
}
|
|
|
|
RegisteredServiceProvider<Permission> rsp = plugin.getServer().getServicesManager().getRegistration(Permission.class);
|
|
perms = rsp.getProvider();
|
|
return perms != null;
|
|
}
|
|
|
|
@Override
|
|
public String getGroup(final Player base) {
|
|
return perms.getPrimaryGroup(base);
|
|
}
|
|
|
|
@Override
|
|
public List<String> getGroups(final Player base) {
|
|
return Arrays.asList(perms.getPlayerGroups(base));
|
|
}
|
|
|
|
@Override
|
|
public boolean inGroup(final Player base, final String group) {
|
|
return perms.playerInGroup(base, group);
|
|
}
|
|
|
|
@Override
|
|
public boolean hasPermission(final Player base, String node) {
|
|
return base.hasPermission(node);
|
|
}
|
|
}
|