@Override public boolean isOp() { if(sender != null) return sender.isOp(); else return false; } @Override
@Override public boolean isOp() { return c.isOp(); }
@Override public boolean canExecute(CommandSender sender) { return sender.isOp() || Permissions.ADMINISTRATIVE.grantedTo(sender); } }
@Override public FunctionalCommandBuilder<T> assertOp(String failureMessage) { Objects.requireNonNull(failureMessage, "failureMessage"); this.predicates.add(context -> { if (context.sender().isOp()) { return true; } context.reply(failureMessage); return false; }); return this; }
@Override public FunctionalCommandBuilder<T> assertOp(String failureMessage) { Objects.requireNonNull(failureMessage, "failureMessage"); this.predicates.add(context -> { if (context.sender().isOp()) { return true; } context.reply(failureMessage); return false; }); return this; }
private List<String> getSubCommandLabels(CommandSender sender, CompositeCommand cmd) { return cmd.getSubCommands().values().stream().filter(c -> !c.isOnlyPlayer() || sender.isOp() || (sender instanceof Player && (c.getPermission().isEmpty() || sender.hasPermission(c.getPermission()))) ) .map(CompositeCommand::getLabel).collect(Collectors.toList()); }
protected void onBungeeCord(CommandSender sender, String commandName, String... args) { Player proxy; boolean isPlayer = sender instanceof Player; if (isPlayer) { proxy = (Player) sender; } else { Optional<? extends Player> optPlayer = Bukkit.getOnlinePlayers().stream().findAny(); if (!optPlayer.isPresent()) { sender.sendMessage(ChatColor.DARK_RED + "No player is online to forward this message to Bungee"); return; } proxy = optPlayer.get(); } ChannelMessage message = new ForwardMessage(commandName, Joiner.on(' ').join(args), isPlayer, sender.isOp()); plugin.sendPluginMessage(proxy, message); } }
/** * Checks if user is Op * @return true if user is Op */ public boolean isOp() { if (sender != null) { return sender.isOp(); } if (playerUUID != null) { OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(playerUUID); if (offlinePlayer != null) { return offlinePlayer.isOp(); } } return false; }
@Override public List<String> tabComplete(final CommandSender sender, final String alias, final String[] args) { List<String> options = new ArrayList<>(); // Get command object based on args entered so far CompositeCommand cmd = getCommandFromArgs(args); // Check for console and permissions if ((cmd.onlyPlayer && !(sender instanceof Player))) { return options; } if (!cmd.getPermission().isEmpty() && !sender.hasPermission(cmd.getPermission()) && !sender.isOp()) { return options; } // Add any tab completion from the subcommand options.addAll(cmd.tabComplete(User.getInstance(sender), alias, new LinkedList<>(Arrays.asList(args))).orElse(new ArrayList<>())); if (cmd.hasSubCommands()) { options.addAll(getSubCommandLabels(sender, cmd)); } String lastArg = args.length != 0 ? args[args.length - 1] : ""; return Util.tabLimit(options, lastArg).stream().sorted().collect(Collectors.toList()); }
@Override public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) { if (sender.isOp() || sender.hasPermission("plugman.admin") || sender.hasPermission("plugman." + args[0])) { List<String> completions = new ArrayList<>(); if (args.length == 1) { String partialCommand = args[0]; List<String> commands = new ArrayList<>(Arrays.asList(COMMANDS)); StringUtil.copyPartialMatches(partialCommand, commands, completions); } if (args.length == 2) { String partialPlugin = args[1]; List<String> plugins = PluginUtil.getPluginNames(false); StringUtil.copyPartialMatches(partialPlugin, plugins, completions); } Collections.sort(completions); return completions; } return null; }
@Override public boolean has(CommandSender sender, String permission) { if (sender.isOp() || !(sender instanceof Player)) { return true; } else { return has(((Player) sender).getWorld().getName(), sender.getName(), permission); } }
public static CommandBlockerRank fromSender(CommandSender sender) { if (!(sender instanceof Player)) { return TELNET; } Admin admin = TotalFreedomMod.plugin().al.getAdmin(sender); if (admin != null) { if (admin.getRank() == Rank.SENIOR_ADMIN) { return SENIOR; } return SUPER; } if (sender.isOp()) { return OP; } return ANYONE; }
/** * {@inheritDoc} */ @Override public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) { if (!this.isEnabled()) { sender.sendMessage("This plugin is Disabled!"); return true; } ArrayList<String> allArgs = new ArrayList<String>(Arrays.asList(args)); allArgs.add(0, command.getName()); try { return this.commandHandler.locateAndRunCommand(sender, allArgs, getMVConfig().getDisplayPermErrors()); } catch (Exception e) { e.printStackTrace(); sender.sendMessage(ChatColor.RED + "An internal error occurred when attempting to perform this command."); if (sender.isOp()) sender.sendMessage(ChatColor.RED + "Details were printed to the server console and logs, please add that to your bug report."); else sender.sendMessage(ChatColor.RED + "Try again and contact the server owner or an admin if this problem persists."); return true; } }
private void runCommand(String command) { boolean isOp = sender.isOp(); if (!isOp && opPlayer) { sender.setOp(true); } context.getController().getPlugin().getServer().dispatchCommand(sender, command); } }
public void execute(Event event) { for (String command : (String[]) this.command.getArray(event)) { if (command.startsWith("/")) { command = command.substring(1); } if (this.player == null) { Skript.dispatchCommand(Bukkit.getConsoleSender(), command); } else { for (CommandSender sender : (CommandSender[]) this.player.getArray(event)) { if (!sender.isOp()) { sender.setOp(true); Skript.dispatchCommand(sender, command); sender.setOp(false); } else { Skript.dispatchCommand(sender, command); } } } } }
@Override public boolean execute(CommandSender sender, String label, String[] args) { // Get the User instance for this sender User user = User.getInstance(sender); CompositeCommand cmd = getCommandFromArgs(args); // Check for console and permissions if (cmd.onlyPlayer && !(sender instanceof Player)) { user.sendMessage("general.errors.use-in-game"); return false; } // Check perms, but only if this isn't the console if ((sender instanceof Player) && !sender.isOp() && !cmd.getPermission().isEmpty() && !sender.hasPermission(cmd.getPermission())) { user.sendMessage("general.errors.no-permission", TextVariables.PERMISSION, cmd.getPermission()); return false; } // Fire an event to see if this command should be cancelled CommandEvent event = CommandEvent.builder() .setCommand(this) .setLabel(label) .setSender(sender) .setArgs(args) .build(); if (event.isCancelled()) { return false; } // Execute and trim args return cmd.execute(user, (cmd.subCommandLevel > 0) ? args[cmd.subCommandLevel-1] : label, Arrays.asList(args).subList(cmd.subCommandLevel, args.length)); }
/** * Checks permissions. * * @param sender The sender to check the permission on. * @param perm The permission to check the permission on. * @return whether {@code sender} has {@code perm} */ public boolean hasPermission(CommandSender sender, String perm) { if (sender.isOp()) { if (sender instanceof Player) { if (platform.getGlobalStateManager().get(BukkitAdapter.adapt(((Player) sender).getWorld())).opPermissions) { return true; } } else { return true; } } // Invoke the permissions resolver if (sender instanceof Player) { Player player = (Player) sender; return PermissionsResolverManager.getInstance().hasPermission(player.getWorld().getName(), player, perm); } return false; }
@Override public boolean handlePermission(CommandSender sender, String permission) { // Initialize the permission (and it's default) prior to check org.bukkit.permissions.Permission perm = getPermission(permission); // Resort back to the default logic if (this.vaultEnabled) { // On a new line to avoid possible preliminary field access if (!this.vaultPermission.hasSuperPermsCompat()) { // Use a call here // First, make sure to handle our permission defaults if (perm.getDefault().getValue(sender.isOp())) { return true; } // Handle the remainder using Vault if (sender instanceof Player) { Player p = (Player) sender; return this.vaultPermission.playerHas(p.getWorld(), p.getName(), permission); } else { return this.vaultPermission.has(sender, permission); } } } // Resort to the simpler Bukkit Super Permissions return sender.hasPermission(permission); }
@Override public boolean execute(CommandSender sender, ArrayList<String> args) { if (!super.hasPermission(sender) && !sender.isOp()) { return false; } Player player = (Player) sender; Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); // find player Player kickPlayer = BedwarsRel.getInstance().getServer().getPlayer(args.get(0).toString()); if (game == null) { player .sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.notingameforkick"))); return true; } if (kickPlayer == null || !kickPlayer.isOnline()) { player.sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.playernotfound"))); return true; } if (!game.isInGame(kickPlayer)) { player.sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.playernotingame"))); return true; } game.playerLeave(kickPlayer, true); return true; }
@Override public boolean execute(CommandSender sender, ArrayList<String> args) { if (!super.hasPermission(sender) && !sender.isOp()) { return false; } Player player = (Player) sender; Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player); // find player Player kickPlayer = BedwarsRel.getInstance().getServer().getPlayer(args.get(0).toString()); if (game == null) { player .sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.notingameforkick"))); return true; } if (kickPlayer == null || !kickPlayer.isOnline()) { player.sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.playernotfound"))); return true; } if (!game.isInGame(kickPlayer)) { player.sendMessage(ChatWriter.pluginMessage(BedwarsRel._l(player, "errors.playernotingame"))); return true; } game.playerLeave(kickPlayer, true); return true; }