diff --git a/bootstrap/mod/neoforge/src/main/java/org/geysermc/geyser/platform/neoforge/PermissionUtils.java b/bootstrap/mod/neoforge/src/main/java/org/geysermc/geyser/platform/neoforge/PermissionUtils.java index 6ed5bc608..3e2cfffbd 100644 --- a/bootstrap/mod/neoforge/src/main/java/org/geysermc/geyser/platform/neoforge/PermissionUtils.java +++ b/bootstrap/mod/neoforge/src/main/java/org/geysermc/geyser/platform/neoforge/PermissionUtils.java @@ -25,6 +25,9 @@ package org.geysermc.geyser.platform.neoforge; +import net.minecraft.server.permissions.Permission; +import net.minecraft.server.permissions.PermissionCheck; +import net.minecraft.server.permissions.Permissions; import net.neoforged.neoforge.server.permission.events.PermissionGatherEvent; import net.neoforged.neoforge.server.permission.nodes.PermissionNode; import net.neoforged.neoforge.server.permission.nodes.PermissionTypes; @@ -71,7 +74,12 @@ public class PermissionUtils { case FALSE -> false; case NOT_SET -> { if (player != null) { - yield player.createCommandSourceStack().hasPermission(Objects.requireNonNull(player.level()).getServer().operatorUserPermissionLevel()); + yield player.createCommandSourceStack().permissions().hasPermission( + new Permission.HasCommandLevel( + Objects.requireNonNull(player.level()) + .getServer().operatorUserPermissions().level() + ) + ); } yield false; // NeoForge javadocs say player is null in the case of an offline player. }