Workaround for ultraperms api returning null

This commit is contained in:
ajgeiss0702
2021-08-07 13:50:25 -07:00
parent e1323c70c3
commit 8c528a86a8
3 changed files with 13 additions and 7 deletions
@@ -2,7 +2,7 @@ package us.ajg0702.queue.logic.permissions;
import us.ajg0702.queue.api.players.AdaptedPlayer;
import us.ajg0702.queue.common.QueueMain;
import us.ajg0702.queue.logic.permissions.hooks.BuiltIn;
import us.ajg0702.queue.logic.permissions.hooks.BuiltInHook;
import us.ajg0702.queue.logic.permissions.hooks.LuckPermsHook;
import us.ajg0702.queue.logic.permissions.hooks.UltraPermissionsHook;
@@ -15,7 +15,7 @@ public class PermissionGetter {
private final QueueMain main;
public PermissionGetter(QueueMain main) {
hooks = Arrays.asList(
new BuiltIn(main),
new BuiltInHook(main),
new LuckPermsHook(main),
new UltraPermissionsHook(main)
);
@@ -7,10 +7,10 @@ import us.ajg0702.queue.logic.permissions.PermissionHook;
import java.util.ArrayList;
import java.util.List;
public class BuiltIn implements PermissionHook {
public class BuiltInHook implements PermissionHook {
private final QueueMain main;
public BuiltIn(QueueMain main) {
public BuiltInHook(QueueMain main) {
this.main = main;
}
@@ -11,7 +11,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@SuppressWarnings("SimplifyOptionalCallChains")
public class UltraPermissionsHook implements PermissionHook {
private final QueueMain main;
@@ -26,14 +25,21 @@ public class UltraPermissionsHook implements PermissionHook {
@Override
public boolean canUse() {
return main.getPlatformMethods().hasPlugin("UltraPermissions");
if(!main.getPlatformMethods().hasPlugin("UltraPermissions") ) return false;
if(UltraPermissions.getAPI() == null) {
main.getLogger().warn("UltraPermissions getApi() method returned null! Unable to hook into it.");
return false;
}
return true;
}
@Override
public List<String> getPermissions(AdaptedPlayer player) {
UltraPermissionsAPI ultraPermissionsAPI = UltraPermissions.getAPI();
Optional<User> userOptional = ultraPermissionsAPI.getUsers().uuid(player.getUniqueId());
Optional<User> userOptional = ultraPermissionsAPI
.getUsers()
.uuid(player.getUniqueId());
if(!userOptional.isPresent()) return new ArrayList<>();
User user = userOptional.get();