diff options
Diffstat (limited to 'EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java')
-rw-r--r-- | EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java new file mode 100644 index 000000000..4880aead7 --- /dev/null +++ b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java @@ -0,0 +1,58 @@ +package net.ess3.xmpp; + +import net.ess3.api.IEssentials; +import net.ess3.api.IUser; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerChatEvent; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; + + +class EssentialsXMPPPlayerListener implements Listener +{ + private final transient IEssentials ess; + + EssentialsXMPPPlayerListener(final IEssentials ess) + { + super(); + this.ess = ess; + } + + @EventHandler(priority= EventPriority.MONITOR) + public void onPlayerJoin(final PlayerJoinEvent event) + { + final IUser user = ess.getUser(event.getPlayer()); + sendMessageToSpyUsers("Player " + user.getDisplayName() + " joined the game"); + } + + @EventHandler(priority= EventPriority.MONITOR) + public void onPlayerChat(final PlayerChatEvent event) + { + final IUser user = ess.getUser(event.getPlayer()); + sendMessageToSpyUsers(String.format(event.getFormat(), user.getDisplayName(), event.getMessage())); + } + + @EventHandler(priority= EventPriority.MONITOR) + public void onPlayerQuit(final PlayerQuitEvent event) + { + final IUser user = ess.getUser(event.getPlayer()); + sendMessageToSpyUsers("Player " + user.getDisplayName() + " left the game"); + } + + private void sendMessageToSpyUsers(final String message) + { + try + { + for (String address : EssentialsXMPP.getInstance().getSpyUsers()) + { + EssentialsXMPP.getInstance().sendMessage(address, message); + } + } + catch (Exception ex) + { + // Ignore exceptions + } + } +} |