Fixing the recipients for HeroChat integration.
This commit is contained in:
		@@ -1,13 +1,18 @@
 | 
				
			|||||||
package com.massivecraft.factions.integration.herochat;
 | 
					package com.massivecraft.factions.integration.herochat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.EnumSet;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.bukkit.ChatColor;
 | 
					import org.bukkit.ChatColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.massivecraft.factions.Conf;
 | 
					import com.massivecraft.factions.Conf;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.struct.Rel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class AlliesChannel extends FactionsChannelAbstract
 | 
					public class AlliesChannel extends FactionsChannelAbstract
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						public static final Set<Rel> targetRelations = EnumSet.of(Rel.MEMBER, Rel.ALLY);
 | 
				
			||||||
 | 
						@Override public Set<Rel> getTargetRelations() { return targetRelations; }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	@Override public String getName() { return Conf.herochatAlliesName; }
 | 
						@Override public String getName() { return Conf.herochatAlliesName; }
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override public String getNick() { return Conf.herochatAlliesNick; }
 | 
						@Override public String getNick() { return Conf.herochatAlliesNick; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,19 @@
 | 
				
			|||||||
package com.massivecraft.factions.integration.herochat;
 | 
					package com.massivecraft.factions.integration.herochat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.EnumSet;
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.bukkit.ChatColor;
 | 
					import org.bukkit.ChatColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.massivecraft.factions.Conf;
 | 
					import com.massivecraft.factions.Conf;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.struct.Rel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class FactionChannel extends FactionsChannelAbstract
 | 
					public class FactionChannel extends FactionsChannelAbstract
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						public static final Set<Rel> targetRelations = EnumSet.of(Rel.MEMBER);
 | 
				
			||||||
 | 
						@Override public Set<Rel> getTargetRelations() { return targetRelations; }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	@Override public String getName() { return Conf.herochatFactionName; }
 | 
						@Override public String getName() { return Conf.herochatFactionName; }
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override public String getNick() { return Conf.herochatFactionNick; }
 | 
						@Override public String getNick() { return Conf.herochatFactionNick; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,5 @@
 | 
				
			|||||||
package com.massivecraft.factions.integration.herochat;
 | 
					package com.massivecraft.factions.integration.herochat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Arrays;
 | 
					 | 
				
			||||||
import java.util.Collections;
 | 
					import java.util.Collections;
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.Iterator;
 | 
					import java.util.Iterator;
 | 
				
			||||||
@@ -23,6 +22,10 @@ import com.dthielke.herochat.Herochat;
 | 
				
			|||||||
import com.dthielke.herochat.MessageFormatSupplier;
 | 
					import com.dthielke.herochat.MessageFormatSupplier;
 | 
				
			||||||
import com.dthielke.herochat.MessageNotFoundException;
 | 
					import com.dthielke.herochat.MessageNotFoundException;
 | 
				
			||||||
import com.dthielke.herochat.util.Messaging;
 | 
					import com.dthielke.herochat.util.Messaging;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.FPlayer;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.FPlayers;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.Faction;
 | 
				
			||||||
 | 
					import com.massivecraft.factions.struct.Rel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public abstract class FactionsChannelAbstract implements Channel
 | 
					public abstract class FactionsChannelAbstract implements Channel
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -35,6 +38,8 @@ public abstract class FactionsChannelAbstract implements Channel
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public boolean addMember(Chatter chatter, boolean announce, boolean flagUpdate)
 | 
						public boolean addMember(Chatter chatter, boolean announce, boolean flagUpdate)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -201,6 +206,29 @@ public abstract class FactionsChannelAbstract implements Channel
 | 
				
			|||||||
		return this.getMutes().contains(name.toLowerCase());
 | 
							return this.getMutes().contains(name.toLowerCase());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public abstract Set<Rel> getTargetRelations();
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public Set<Player> getRecipients(Player sender)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							Set<Player> ret = new HashSet<Player>();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							FPlayer fpsender = FPlayers.i.get(sender);
 | 
				
			||||||
 | 
							Faction faction = fpsender.getFaction();		
 | 
				
			||||||
 | 
							ret.addAll(faction.getOnlinePlayers());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (FPlayer fplayer : FPlayers.i.getOnline())
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if(this.getTargetRelations().contains(faction.getRelationTo(fplayer)))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									ret.add(fplayer.getPlayer());
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return ret;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void processChat(ChannelChatEvent event)
 | 
						public void processChat(ChannelChatEvent event)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -209,7 +237,7 @@ public abstract class FactionsChannelAbstract implements Channel
 | 
				
			|||||||
		String format = applyFormat(event.getFormat(), event.getBukkitFormat(), player);
 | 
							String format = applyFormat(event.getFormat(), event.getBukkitFormat(), player);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Chatter sender = Herochat.getChatterManager().getChatter(player);
 | 
							Chatter sender = Herochat.getChatterManager().getChatter(player);
 | 
				
			||||||
		Set<Player> recipients = new HashSet<Player>(Arrays.asList(Bukkit.getOnlinePlayers()));
 | 
							Set<Player> recipients = this.getRecipients(player);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		trimRecipients(recipients, sender);
 | 
							trimRecipients(recipients, sender);
 | 
				
			||||||
		String msg = String.format(format, player.getDisplayName(), event.getMessage());
 | 
							String msg = String.format(format, player.getDisplayName(), event.getMessage());
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user