package me.gtacraft.plugins.gangs.listeners; import me.gtacraft.plugins.gangs.GTAGangs; import me.gtacraft.plugins.gangs.Gang; import me.gtacraft.plugins.gangs.GangManager; import me.gtacraft.plugins.gangs.GangMember; import me.gtacraft.plugins.gangs.util.Formatting; import me.gtacraft.plugins.gangs.util.MessageType; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.player.AsyncPlayerChatEvent; /** * Created by Connor on 6/29/14. Designed for the GTA-Factions project. */ public class GTAVoiceListener extends IListener { @EventHandler(priority = EventPriority.LOWEST) public void onPlayerChat(AsyncPlayerChatEvent event) { GangMember member = GangMember.fromPlayer(event.getPlayer()); if (!(event.getMessage().startsWith("@")) && !member.isGangChat()) { if (member.getGang() != null) { event.setFormat(ChatColor.translateAlternateColorCodes('&', GTAGangs.CHAT_FORMAT.replace("%GANG%", member.getRole().getPrefix()+member.getGang().getName()))+event.getFormat()); } return; } event.setCancelled(true); Gang gang = member.getGang(); if (gang == null) { event.getPlayer().sendMessage(Formatting.formatMessage(MessageType.ERROR.getPattern() .replace("%m%", "You cannot use group chat if you are not in a gang!"))); return; } String message = event.getMessage(); if (event.getMessage().startsWith("@") && !member.isGangChat()) { message = message.substring(1); } String format = Formatting.formatMessage(MessageType.GROUP_CHAT.getPattern() .replace("%r%", member.getRole().toString()) .replace("%p%", event.getPlayer().getName()) .replace("%m%", message)); for (GangMember online : gang.getOnlineMembers()) { online.getWrapped().getPlayer().sendMessage(format); } } }