package openmods.network.targets; import cpw.mods.fml.common.network.handshake.NetworkDispatcher; import cpw.mods.fml.relauncher.Side; import java.util.Collection; import net.minecraft.entity.player.EntityPlayerMP; import openmods.Log; import openmods.network.IPacketTargetSelector; import openmods.utils.NetUtils; public class SelectMultiplePlayers implements IPacketTargetSelector<Collection<EntityPlayerMP>> { public static final IPacketTargetSelector<Collection<EntityPlayerMP>> INSTANCE = new SelectMultiplePlayers(); @Override public boolean isAllowedOnSide(Side side) { return side == Side.SERVER; } @Override public void listDispatchers(Collection<EntityPlayerMP> players, Collection<NetworkDispatcher> result) { for (EntityPlayerMP player : players) { NetworkDispatcher dispatcher = NetUtils.getPlayerDispatcher(player); if (dispatcher != null) result.add(dispatcher); else Log.info("Trying to send message to disconnected player %s", player); } } @Override @SuppressWarnings("unchecked") public Collection<EntityPlayerMP> castArg(Object arg) { return (Collection<EntityPlayerMP>)arg; } }