Skip to content

Commit 6be25ca

Browse files
committed
fix enable without luckperms
1 parent d31a091 commit 6be25ca

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

shared/src/main/java/me/xginko/aef/utils/permissions/LuckPermsPermissionHandler.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package me.xginko.aef.utils.permissions;
22

3-
import me.xginko.aef.utils.Crafty;
43
import me.xginko.aef.utils.enums.TriState;
54
import net.luckperms.api.LuckPerms;
65
import net.luckperms.api.model.user.User;
76
import net.luckperms.api.node.Node;
7+
import net.luckperms.api.util.Tristate;
88
import org.bukkit.entity.Player;
99
import org.bukkit.permissions.Permissible;
1010
import org.bukkit.plugin.java.JavaPlugin;
@@ -19,23 +19,16 @@ public final class LuckPermsPermissionHandler implements PermissionHandler {
1919
bukkitPermissionHandler = new BukkitPermissionHandler(plugin); // We use this one only for non-players
2020
}
2121

22-
public static boolean isSupported(JavaPlugin plugin) {
23-
Class<?> luckPermsApi = Crafty.findClass("net.luckperms.api.LuckPerms");
24-
return luckPermsApi != null && plugin.getServer().getServicesManager().getRegistration(luckPermsApi) != null;
25-
}
26-
2722
@Override
2823
public TriState permissionValue(Permissible permissible, String permission) {
2924
if (permissible instanceof Player) {
30-
switch (luckPerms.getPlayerAdapter(Player.class).getUser((Player) permissible).getCachedData().getPermissionData()
31-
.checkPermission(permission)) {
32-
case TRUE:
33-
return TriState.TRUE;
34-
case FALSE:
35-
return TriState.FALSE;
36-
default:
37-
return TriState.UNDEFINED;
38-
}
25+
Tristate permState = luckPerms.getPlayerAdapter(Player.class).getUser((Player) permissible)
26+
.getCachedData().getPermissionData().checkPermission(permission);
27+
if (permState == Tristate.TRUE)
28+
return TriState.TRUE;
29+
if (permState == Tristate.FALSE)
30+
return TriState.FALSE;
31+
return TriState.UNDEFINED;
3932
} else {
4033
return bukkitPermissionHandler.permissionValue(permissible, permission);
4134
}

shared/src/main/java/me/xginko/aef/utils/permissions/PermissionHandler.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.xginko.aef.utils.permissions;
22

3+
import me.xginko.aef.utils.Crafty;
34
import me.xginko.aef.utils.enums.TriState;
45
import me.xginko.aef.utils.models.Disableable;
56
import org.bukkit.permissions.Permissible;
@@ -8,7 +9,14 @@
89
public interface PermissionHandler extends Disableable {
910

1011
static PermissionHandler create(JavaPlugin plugin) {
11-
return LuckPermsPermissionHandler.isSupported(plugin) ? new LuckPermsPermissionHandler(plugin) : new BukkitPermissionHandler(plugin);
12+
if (Crafty.hasClass("net.luckperms.api.model.user.User")
13+
&& Crafty.hasClass("net.luckperms.api.node.Node")
14+
&& Crafty.hasClass("net.luckperms.api.util.Tristate")
15+
&& Crafty.hasClass("net.luckperms.api.LuckPerms")) {
16+
return new LuckPermsPermissionHandler(plugin);
17+
}
18+
19+
return new BukkitPermissionHandler(plugin);
1220
}
1321

1422
default void disable() {}

0 commit comments

Comments
 (0)