Muting chat

Discussion in 'Plugin Development' started by mrpoopy345, Sep 26, 2014.

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

    mrpoopy345

    I am making a plugin that mutes chat to everyone but people with certain permissions. All the commands work fine, except the plugin doesn't actually work. People can speak if the chat is muted or not. Any help?
    Code:
    Code:
    package me.mrpoopy345.bukkitplugin;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.plugin.java.JavaPlugin;
     
     
    public class main extends JavaPlugin implements Listener {
        private boolean chatDisabled = false;
          public static Bukkit plugin;
         
          public void onEnable()
          {
            getLogger();
            getServer().getPluginManager().registerEvents(this, this);
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "Gamma MuteChat Enabled!");
          }
         
          public void onDisable()
          {
            getLogger();
            Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "Gamma MuteChat Disabled!");
          }
         
          public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] arg)
          {
              Player p = (Player) sender;
              if (sender.hasPermission("gamma.muteall")) {
              if (cmd.getName().equalsIgnoreCase("mutechat"))
              {
               
                this.chatDisabled = true;
                Bukkit.getServer().broadcastMessage(ChatColor.AQUA + "" + ChatColor.BOLD + "GammaUniverse> "+ ChatColor.GOLD + "" + ChatColor.BOLD + "Chat has been muted by: " + ChatColor.YELLOW + "" + ChatColor.BOLD + p);
              }
              else if (cmd.getName().equalsIgnoreCase("unmutechat"))
              {
                this.chatDisabled = false;
                Bukkit.getServer().broadcastMessage(ChatColor.AQUA + "" + ChatColor.BOLD + "GammaUniverse> "+ ChatColor.GOLD + "" + ChatColor.BOLD + "Chat has been unmuted by: " + ChatColor.YELLOW + "" + ChatColor.BOLD + p);
              }
            }
            return false;
          }
         
          public void onChat(AsyncPlayerChatEvent e)
          {
            Player p = e.getPlayer();
            if ((this.chatDisabled) &&
              (!p.hasPermission("gamma.bypassmute")))
            {
              e.setCancelled(true);
              p.sendMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "CHAT IS CURRENTLY MUTED!");
            }
          }
        }
     
  2. Offline

    macboinc

    Add Event Handler annotation above AsyncChatEvent.

    Put the permission inside the command, not outside
     
    adventuretc likes this.
Thread Status:
Not open for further replies.

Share This Page