diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/selector/SelectorUtils.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/selector/SelectorUtils.java index 5a2db6c0..218b09da 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/selector/SelectorUtils.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/selector/SelectorUtils.java @@ -303,7 +303,25 @@ final class SelectorUtils { final CommandContext commandContext, final String input ) { - return this.wrappedBrigadierParser.suggestions(commandContext, input); + final Object commandSourceStack = commandContext.get(WrappedBrigadierParser.COMMAND_CONTEXT_BRIGADIER_NATIVE_SENDER); + final @Nullable Field bypassField = + CraftBukkitReflection.findField(commandSourceStack.getClass(), "bypassSelectorPermissions"); + try { + boolean prev = false; + try { + if (bypassField != null) { + prev = bypassField.getBoolean(commandSourceStack); + bypassField.setBoolean(commandSourceStack, true); + } + return this.wrappedBrigadierParser.suggestions(commandContext, input); + } finally { + if (bypassField != null) { + bypassField.setBoolean(commandSourceStack, prev); + } + } + } catch (final ReflectiveOperationException ex) { + throw new RuntimeException(ex); + } } }