Halfway through adding in universe support

This commit is contained in:
Olof Larsson
2013-04-22 12:26:13 +02:00
parent de703d3461
commit 9fc75b1fcf
25 changed files with 593 additions and 270 deletions

View File

@ -1,7 +1,6 @@
package com.massivecraft.factions.integration;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
@ -14,7 +13,6 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.entity.Player;
import com.massivecraft.factions.entity.FPlayer;
import com.massivecraft.factions.entity.FPlayerColl;
import com.massivecraft.factions.entity.Faction;
import com.massivecraft.factions.util.HealthBarUtil;
import com.massivecraft.mcore.ps.PS;
@ -252,17 +250,16 @@ public class SpoutFeatures
{
if ( ! isEnabled()) return;
Collection<FPlayer> players = FPlayerColl.get().getAllOnline();
for (FPlayer player : players)
for (Player player : Bukkit.getOnlinePlayers())
{
FPlayer fplayer = FPlayer.get(player);
if (chunk == null)
{
mainListener.updateTerritoryDisplay(player, false);
mainListener.updateTerritoryDisplay(fplayer, false);
}
else if (player.getCurrentChunk().equals(chunk))
else if (fplayer.getCurrentChunk().equals(chunk))
{
mainListener.updateTerritoryDisplay(player, true);
mainListener.updateTerritoryDisplay(fplayer, true);
}
}
}
@ -281,12 +278,13 @@ public class SpoutFeatures
chunk = chunk.getChunk(true);
Collection<FPlayer> players = FPlayerColl.get().getAllOnline();
for (FPlayer player : players)
for (Player player : Bukkit.getOnlinePlayers())
{
if (chunk == null || player.getCurrentChunk().equals(chunk))
mainListener.updateAccessInfo(player);
FPlayer fplayer = FPlayer.get(player);
if (chunk == null || fplayer.getCurrentChunk().equals(chunk))
{
mainListener.updateAccessInfo(fplayer);
}
}
}

View File

@ -11,9 +11,8 @@ import org.bukkit.event.Listener;
import com.massivecraft.factions.ConfServer;
import com.massivecraft.factions.Factions;
import com.massivecraft.factions.TerritoryAccess;
import com.massivecraft.factions.entity.BoardColl;
import com.massivecraft.factions.entity.BoardColls;
import com.massivecraft.factions.entity.FPlayer;
import com.massivecraft.factions.entity.FPlayerColl;
import com.massivecraft.factions.entity.Faction;
import com.massivecraft.mcore.ps.PS;
@ -29,7 +28,7 @@ public class SpoutMainListener implements Listener
@EventHandler(priority = EventPriority.NORMAL)
public void onSpoutCraftEnable(SpoutCraftEnableEvent event)
{
final FPlayer me = FPlayerColl.get().get(event.getPlayer());
final FPlayer me = FPlayer.get(event.getPlayer());
SpoutFeatures.updateTitle(me, null);
SpoutFeatures.updateTitle(null, me);
@ -90,7 +89,7 @@ public class SpoutMainListener implements Listener
private void doLabels(FPlayer player, SpoutPlayer sPlayer, boolean notify)
{
PS here = player.getCurrentChunk();
Faction factionHere = BoardColl.get().getFactionAt(here);
Faction factionHere = BoardColls.get().getFactionAt(here);
String tag = factionHere.getColorTo(player).toString() + factionHere.getTag();
// ----------------------
@ -181,7 +180,7 @@ public class SpoutMainListener implements Listener
}
String msg = "";
TerritoryAccess access = BoardColl.get().getTerritoryAccessAt(here);
TerritoryAccess access = BoardColls.get().getTerritoryAccessAt(here);
if ( ! access.isDefault())
{

View File

@ -11,7 +11,7 @@ import com.massivecraft.factions.entity.MConf;
public class FactionChannel extends FactionsChannelAbstract
{
public static final Set<Rel> targetRelations = EnumSet.of(Rel.MEMBER);
public static final Set<Rel> targetRelations = EnumSet.of(Rel.MEMBER, Rel.RECRUIT);
@Override public Set<Rel> getTargetRelations() { return targetRelations; }
@Override public String getName() { return MConf.get().herochatFactionName; }

View File

@ -24,7 +24,6 @@ import com.dthielke.herochat.MessageNotFoundException;
import com.dthielke.herochat.util.Messaging;
import com.massivecraft.factions.Rel;
import com.massivecraft.factions.entity.FPlayer;
import com.massivecraft.factions.entity.FPlayerColl;
import com.massivecraft.factions.entity.Faction;
public abstract class FactionsChannelAbstract implements Channel
@ -206,30 +205,27 @@ public abstract class FactionsChannelAbstract implements Channel
return this.getMutes().contains(name.toLowerCase());
}
public abstract Set<Rel> getTargetRelations();
// TODO: When I add in universes I will need to separate the channel per universe.
public Set<Player> getRecipients(Player sender)
{
Set<Player> ret = new HashSet<Player>();
FPlayer fpsender = FPlayerColl.get().get(sender);
Faction faction = fpsender.getFaction();
ret.addAll(faction.getOnlinePlayers());
FPlayer fpsender = FPlayer.get(sender);
Faction faction = fpsender.getFaction();
String universe = fpsender.getUniverse();
for (FPlayer fplayer : FPlayerColl.get().getAllOnline())
for (Player player : Bukkit.getOnlinePlayers())
{
if(this.getTargetRelations().contains(faction.getRelationTo(fplayer)))
{
ret.add(fplayer.getPlayer());
}
FPlayer frecipient = FPlayer.get(player);
if (!frecipient.getUniverse().equals(universe)) continue;
if (!this.getTargetRelations().contains(faction.getRelationTo(frecipient))) continue;
ret.add(player);
}
return ret;
}
@Override
public void processChat(ChannelChatEvent event)
{