Send brigadier permissions to bukkit command manager
This commit is contained in:
parent
e8a1a9a6cf
commit
d3ed876df6
5 changed files with 29 additions and 6 deletions
|
|
@ -221,6 +221,15 @@ public class BukkitCommandManager<C> extends CommandManager<C> {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the backwards command sender plugin
|
||||
*
|
||||
* @return The backwards command sender mapper
|
||||
*/
|
||||
@Nonnull
|
||||
public final Function<C, CommandSender> getBackwardsCommandSenderMapper() {
|
||||
return this.backwardsCommandSenderMapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reasons to explain why Brigadier failed to initialize
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import javax.annotation.Nonnull;
|
|||
@SuppressWarnings("ALL")
|
||||
class CloudCommodoreManager<C> extends BukkitPluginRegistrationHandler<C> {
|
||||
|
||||
private final BukkitCommandManager<C> commandManager;
|
||||
private final CloudBrigadierManager brigadierManager;
|
||||
private final Commodore commodore;
|
||||
|
||||
|
|
@ -45,6 +46,7 @@ class CloudCommodoreManager<C> extends BukkitPluginRegistrationHandler<C> {
|
|||
throw new BukkitCommandManager.BrigadierFailureException(BukkitCommandManager
|
||||
.BrigadierFailureReason.COMMODORE_NOT_PRESENT);
|
||||
}
|
||||
this.commandManager = commandManager;
|
||||
this.commodore = CommodoreProvider.getCommodore(commandManager.getOwningPlugin());
|
||||
this.brigadierManager = new CloudBrigadierManager<>(commandManager, () ->
|
||||
new CommandContext<>(commandManager.getCommandSenderMapper().apply(Bukkit.getConsoleSender())));
|
||||
|
|
@ -58,6 +60,7 @@ class CloudCommodoreManager<C> extends BukkitPluginRegistrationHandler<C> {
|
|||
final LiteralCommandNode<?> literalCommandNode = this.brigadierManager
|
||||
.createLiteralCommandNode(label, command, (o, p) -> true, cmd);
|
||||
this.commodore.register(bukkitCommand, literalCommandNode, p ->
|
||||
p.hasPermission(command.getCommandPermission().toString()));
|
||||
this.commandManager.hasPermission(commandManager.getCommandSenderMapper().apply(p),
|
||||
command.getCommandPermission()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue