From 60d3ea6b91e4c7571ede9231d24e7bc02373c546 Mon Sep 17 00:00:00 2001 From: Drex Date: Thu, 9 Jan 2025 01:32:19 +0100 Subject: [PATCH] Allow console source bypass with player context Console bypass wont be logged in verbose --- .../listeners/FabricPermissionsApiListener.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/fabric/src/main/java/me/lucko/luckperms/fabric/listeners/FabricPermissionsApiListener.java b/fabric/src/main/java/me/lucko/luckperms/fabric/listeners/FabricPermissionsApiListener.java index 1710b0cf3..4f1c6290a 100644 --- a/fabric/src/main/java/me/lucko/luckperms/fabric/listeners/FabricPermissionsApiListener.java +++ b/fabric/src/main/java/me/lucko/luckperms/fabric/listeners/FabricPermissionsApiListener.java @@ -71,6 +71,10 @@ public class FabricPermissionsApiListener { private @NonNull TriState onPermissionCheck(CommandSource source, String permission) { if (source instanceof ServerCommandSource) { + Sender sender = this.plugin.getSenderFactory().wrap((ServerCommandSource) source); + if (sender.isConsole()) { + return TriState.TRUE; + } Entity entity = ((ServerCommandSource) source).getEntity(); if (entity instanceof ServerPlayerEntity) { return playerPermissionCheck((ServerPlayerEntity) entity, permission); @@ -116,19 +120,15 @@ public class FabricPermissionsApiListener { } private TriState otherPermissionCheck(CommandSource source, String permission) { - Tristate result = Tristate.UNDEFINED; if (source instanceof ServerCommandSource) { - Sender sender = this.plugin.getSenderFactory().wrap((ServerCommandSource) source); - if (sender.isConsole()) { - result = Tristate.TRUE; - } - VerboseCheckTarget target = VerboseCheckTarget.internal(sender.getName()); + String name = ((ServerCommandSource) source).getName(); + VerboseCheckTarget target = VerboseCheckTarget.internal(name); - this.plugin.getVerboseHandler().offerPermissionCheckEvent(CheckOrigin.PLATFORM_API_HAS_PERMISSION, target, QueryOptionsImpl.DEFAULT_CONTEXTUAL, permission, TristateResult.forMonitoredResult(result)); + this.plugin.getVerboseHandler().offerPermissionCheckEvent(CheckOrigin.PLATFORM_API_HAS_PERMISSION, target, QueryOptionsImpl.DEFAULT_CONTEXTUAL, permission, TristateResult.UNDEFINED); this.plugin.getPermissionRegistry().offer(permission); } - return fabricTristate(result); + return TriState.DEFAULT; } private Optional playerGetOption(ServerPlayerEntity player, String key) {