Disabling Command And Args

Discussion in 'Plugin Development' started by redytedy, Jul 13, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    redytedy

    So I want to disable /say and /broadcast. Here is my code:
    Code:
    @EventHandler
    public void event3PreCommand(PlayerCommandPreprocessEvent event)
    {
    String message = event.getMessage();
    Player player = event.getPlayer();
    List<String> overridenCommands = new ArrayList<String>();
    overridenCommands.add("/bc");
    overridenCommands.add("/broadcast");
    overridenCommands.add("/say");
    if (overridenCommands.contains(message))
    {
    event.setCancelled(true);
    player.sendMessage(ChatColor.WHITE+"Say And Broadcast Have Been Disabled!" );
    return;
    }
     
    }
    
    The problem is people can easily get around it with /broadcast <stuff here>. only /broadcast is disabled.
     
  2. Offline

    soulofw0lf

    Code:
      @EventHandler
        public void onCommand(PlayerCommandPreprocessEvent event){
            Player p = event.getPlayer();
            String s = event.getMessage();
            String[] args = s.split(" ");
            String cmdAlias = args[0].replaceAll("/", "");
            if (cmdAlias.equalsIgnoreCase("bc")){ event.setCancelled(true);
    //rest of code following if format
     
  3. Offline

    chenr1

    The Way I do It is,
    Code:
      public boolean PlayerCommandPreprocessEvent(CommandSender sender, Command cmd, String label, String[] args){
           
            if(cmd.getName().contains("ban")){ //Notice How i did contains and also notice how it returns false.
                return false;
            }
            return false;
           
        }
    Also Recall that I did Contains and how it returns false. So if the contain has /ban anywhere in it it will return false.
     
Thread Status:
Not open for further replies.

Share This Page