package io.github.aquerr.eaglefactions.common.listeners.faction; import io.github.aquerr.eaglefactions.api.EagleFactions; import io.github.aquerr.eaglefactions.api.entities.Faction; import io.github.aquerr.eaglefactions.api.events.FactionJoinEvent; import io.github.aquerr.eaglefactions.common.PluginInfo; import io.github.aquerr.eaglefactions.common.listeners.AbstractListener; import org.spongepowered.api.entity.living.player.Player; import org.spongepowered.api.event.Listener; import org.spongepowered.api.event.Order; import org.spongepowered.api.event.filter.IsCancelled; import org.spongepowered.api.event.filter.cause.Root; import org.spongepowered.api.text.Text; import org.spongepowered.api.text.format.TextColors; import org.spongepowered.api.util.Tristate; import java.util.List; public class FactionJoinListener extends AbstractListener { public FactionJoinListener(final EagleFactions plugin) { super(plugin); } @Listener(order = Order.POST) @IsCancelled(value = Tristate.FALSE) public void onFactionJoin(final FactionJoinEvent event, @Root final Player player) { //Notify other faction members about someone joining the faction. final Faction faction = event.getFaction(); final List<Player> factionPlayers = super.getPlugin().getFactionLogic().getOnlinePlayers(faction); for (final Player factionPlayer : factionPlayers) { if (factionPlayer.getName().equals(player.getName())) continue; factionPlayer.sendMessage(Text.of(PluginInfo.PLUGIN_PREFIX, TextColors.GOLD, player.getName(), TextColors.AQUA, " joined your faction.")); } } }