aboutsummaryrefslogtreecommitdiff
path: root/spark-fabric/src/main/java/me/lucko/spark
diff options
context:
space:
mode:
Diffstat (limited to 'spark-fabric/src/main/java/me/lucko/spark')
-rw-r--r--spark-fabric/src/main/java/me/lucko/spark/fabric/plugin/FabricServerSparkPlugin.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/spark-fabric/src/main/java/me/lucko/spark/fabric/plugin/FabricServerSparkPlugin.java b/spark-fabric/src/main/java/me/lucko/spark/fabric/plugin/FabricServerSparkPlugin.java
index c528e5b..1606d57 100644
--- a/spark-fabric/src/main/java/me/lucko/spark/fabric/plugin/FabricServerSparkPlugin.java
+++ b/spark-fabric/src/main/java/me/lucko/spark/fabric/plugin/FabricServerSparkPlugin.java
@@ -119,8 +119,15 @@ public class FabricServerSparkPlugin extends FabricSparkPlugin implements Comman
@Override
public boolean hasPermission(CommandOutput sender, String permission) {
- if (sender instanceof PlayerEntity) {
- return Permissions.check(((PlayerEntity) sender), permission, 4);
+ if (sender instanceof PlayerEntity player) {
+ return Permissions.getPermissionValue(player, permission).orElseGet(() -> {
+ MinecraftServer server = player.getServer();
+ if (server != null && server.isHost(player.getGameProfile())) {
+ return true;
+ }
+
+ return player.hasPermissionLevel(4);
+ });
} else {
return true;
}