@EventHandler(ignoreCancelled = true) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (commandRegistration.dispatch(event.getPlayer(), event.getMessage().substring(1))) { event.setCancelled(true); } }
/** * Called when a player attempts to use a command * * @param event Relevant event details */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { String[] split = event.getMessage().split(" "); if (split.length > 0) { split[0] = split[0].substring(1); split = plugin.getWorldEdit().getPlatformManager().getCommandManager().commandDetection(split); } final String newMessage = "/" + StringUtil.joinString(split, " "); if (!newMessage.equals(event.getMessage())) { event.setMessage(newMessage); plugin.getServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { if (!event.getMessage().isEmpty()) { plugin.getServer().dispatchCommand(event.getPlayer(), event.getMessage().substring(1)); } event.setCancelled(true); } } }
try { PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(this, text); if (!EventFactory.getInstance().callEvent(event).isCancelled()) { server.dispatchCommand(this, event.getMessage().substring(1));
@EventHandler(priority = EventPriority.MONITOR) public void onCommand(PlayerCommandPreprocessEvent event) { String label = event.getMessage(); String[] components = label.split(" "); if (components[0].equalsIgnoreCase("/tp")) { Player sender = event.getPlayer(); // Here you go } }
@EventHandler(ignoreCancelled = true) public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { Player player = event.getPlayer(); if (plugin.getTrackerKeeper().getZeroRoomOccupants().contains(player.getUniqueId())) { event.setCancelled(true); TARDISMessage.send(player, "NOT_IN_ZERO"); return; String command = event.getMessage().toLowerCase(Locale.ENGLISH); if (plugin.getTrackerKeeper().getTelepaths().containsKey(uuid)) { if (command.contains("tardis ") || command.contains("tardistravel ") || command.contains("ttravel ")) { event.setPlayer(timelord); TARDISMessage.send(player, "TELEPATHIC_RUN", command); } else {
public static boolean dispatchCommand(CommandSender sender, String command) { try { if ((sender instanceof Player)) { PlayerCommandPreprocessEvent e = new PlayerCommandPreprocessEvent((Player) sender, "/" + command); Bukkit.getPluginManager().callEvent(e); if (e.isCancelled() || Strings.isBlank(e.getMessage()) || !e.getMessage().startsWith("/")) { return false; } return Bukkit.dispatchCommand(e.getPlayer(), e.getMessage().substring(1)); } else { ServerCommandEvent e = new ServerCommandEvent(sender, command); Bukkit.getPluginManager().callEvent(e); if (e.isCancelled() || Strings.isBlank(e.getCommand())) { return false; } return Bukkit.dispatchCommand(e.getSender(), e.getCommand()); } } catch (Exception e) { e.printStackTrace(); } return false; } }
//Somewhere else private HashMap<String, String> variableMap = new HashMap<String, String>(); public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) { if (command.getName().equalsIgnoreCase("set")) { if (args.length == 2) { //With this approach, the first argument is the name, the second the value variableMap.put(args[0], args[1]); sender.sendMessage(ChatColor.GREEN + "Variable " + args[0] + " now has value " + args[1] + "."); } } return false; } @EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { String[] args = event.getMessage().split(" "); //Get the message and split it to get the arguments String newMessage = args[0]; //In this example I preserve the original command, so I'm not changing the first argument for (int i = 1; i < args.length; i++) { if (args[i].toLowerCase().startsWith("var:")) { //If it starts with "var:", case insensitive... String[] parts = args[i].split(":"); if (parts.length == 2 && variableMap.containsKey(parts[1])) { //If it has two parts, and the variable map contains the name of that variable newMessage += " " + variableMap.get(parts[1]); //Add the variable name and not the original argument continue; } } newMessage += " " + args[i]; //If the argument is not a variable or it is wrongly formatted, add the original argument to the combined string } event.setMessage(newMessage); //Set the new command message or contents }
@Override public String getCommand() { return pcpe.getMessage(); }
/** * Drops the ball on command. * * @param event event */ @EventHandler public void onPlayerCommandEvent(PlayerCommandPreprocessEvent event) { this.dropBall(event.getPlayer()); }
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerCommand(PlayerCommandPreprocessEvent event) { boolean hasIgnorePermission = event.getPlayer().hasPermission(Permissions.IGNORE_COMMAND_USE.getPermission()); if (event.isCancelled() || hasIgnorePermission) { return; } try { actOnCommandEvent(event); } catch (Exception e) { errorHandler.log(L.ERROR, this.getClass(), e); } }
@Override public void cancel() { pcpe.setMessage("/commandhelper null"); pcpe.setCancelled(true); isCancelled = true; }
@Override public void setCommand(String val) { pcpe.setMessage(val); }
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerCommand(PlayerCommandPreprocessEvent event) { event(event); boolean isAfkCommand = event.getMessage().substring(1).toLowerCase().startsWith("afk"); if (isAfkCommand) { UUID uuid = event.getPlayer().getUniqueId(); AFK_TRACKER.usedAfkCommand(uuid, System.currentTimeMillis()); } }
/** * Handle "ugly" aliasing /skillname commands, since setAliases doesn't work. * * @param event The event to watch */ @EventHandler(priority = EventPriority.LOWEST) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (!Config.getInstance().getLocale().equalsIgnoreCase("en_US")) { String message = event.getMessage(); String command = message.substring(1).split(" ")[0]; String lowerCaseCommand = command.toLowerCase(); // Do these ACTUALLY have to be lower case to work properly? for (PrimarySkillType skill : PrimarySkillType.values()) { String skillName = skill.toString().toLowerCase(); String localizedName = skill.getName().toLowerCase(); if (lowerCaseCommand.equals(localizedName)) { event.setMessage(message.replace(command, skillName)); break; } if (lowerCaseCommand.equals(skillName)) { break; } } } }
private void actOnCommandEvent(PlayerCommandPreprocessEvent event) { String commandName = event.getMessage().substring(1).split(" ")[0].toLowerCase(); boolean logUnknownCommands = config.isTrue(DataGatheringSettings.LOG_UNKNOWN_COMMANDS); boolean combineCommandAliases = config.isTrue(DataGatheringSettings.COMBINE_COMMAND_ALIASES); if (!logUnknownCommands || combineCommandAliases) { Command command = getBukkitCommand(commandName); if (command == null) { if (!logUnknownCommands) { return; } } else if (combineCommandAliases) { commandName = command.getName(); } } processing.submit(processors.commandProcessor(commandName)); }
@EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { update(event.getPlayer()); }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void playerHandler(PlayerCommandPreprocessEvent event) { if (!checkCooldown(event.getPlayer(), event.getMessage().substring(1)) || !checkWarmup(event.getPlayer(), event.getMessage().substring(1))) { event.setCancelled(true); } }
@EventHandler(priority = EventPriority.LOWEST) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if(event.isCancelled()) { return; } if(interpreterMode.contains(event.getPlayer().getName())) { MCPlayer p = new BukkitMCPlayer(event.getPlayer()); textLine(p, event.getMessage()); event.setCancelled(true); } }
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (plugin.al.isAdmin(event.getPlayer())) { return; } for (Player player : server.getOnlinePlayers()) { if (plugin.al.isAdmin(player) && plugin.pl.getPlayer(player).cmdspyEnabled()) { FUtil.playerMsg(player, event.getPlayer().getName() + ": " + event.getMessage()); } } }
@EventHandler(priority = EventPriority.HIGHEST) public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { // Blocked commands if (isCommandBlocked(event.getMessage(), event.getPlayer(), true)) { // CommandBlocker handles messages and broadcasts event.setCancelled(true); } }