package tv.mineinthebox.essentials.events.chat; import java.util.Iterator; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerChatEvent; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.interfaces.EventTemplate; import tv.mineinthebox.essentials.interfaces.XPlayer; @SuppressWarnings("deprecation") public class SilenceChatEvent extends EventTemplate implements Listener { public SilenceChatEvent(xEssentials pl) { super(pl, "Sillence"); } @EventHandler(priority = EventPriority.LOW) public void onChat(PlayerChatEvent e) { if(pl.getConfiguration().isChatSillenced()) { sendMessage(e.getPlayer(), ChatColor.GREEN + "all chat activity has been halted!, please wait a few minuts."); e.setCancelled(true); } else { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(e.getPlayer().getName()); if(xp.isSilenced()) { sendMessage(e.getPlayer(), ChatColor.GREEN + "you have silenced your chat, so you cannot chat unless you unmute your self with /silence"); e.setCancelled(true); return; } //credits to feildmaster his silence source Iterator<Player> it = e.getRecipients().iterator(); for(Player p = (it.hasNext() ? it.next() : null); it.hasNext(); p=it.next()) { XPlayer xp2 = pl.getManagers().getPlayerManager().getPlayer(p.getName()); if(xp2.isSilenced()) { it.remove(); } } } } }