summaryrefslogtreecommitdiff
path: root/com/redstoner/bungee/joinmessages/JoinMessages.java
blob: 21a4c66736a731d2e4c222348392f828bbb0ea3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.redstoner.bungee.joinmessages;

import java.util.List;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ServerConnectEvent;
import net.md_5.bungee.api.event.ServerDisconnectEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.api.plugin.PluginManager;
import net.md_5.bungee.event.EventHandler;

public class JoinMessages
  extends Plugin
  implements Listener
{
  private String loginString = "&a&l+ &7%s";
  private String logoutString = "&c&l- &7%s";
  
  public void onEnable()
  {
    getProxy().registerChannel("JoinMessage");
    getProxy().getPluginManager().registerCommand(this, new CommandGoto());
    getProxy().getPluginManager().registerListener(this, this);
  }
  
  @EventHandler
  public void onServerConnect(ServerConnectEvent e)
  {
    ServerInfo target = e.getTarget();
    ProxiedPlayer jp = e.getPlayer();
    if (CommandGoto.justSwitched.contains(jp)) {
      return;
    }
    String joinMessage = ChatColor.translateAlternateColorCodes('&', String.format(this.loginString, new Object[] { jp.getName() }));
    for (ProxiedPlayer p : target.getPlayers()) {
      p.sendMessage(joinMessage);
    }
    jp.sendMessage(joinMessage);
  }
  
  @EventHandler
  public void onServerDisconnect(ServerDisconnectEvent e)
  {
    ServerInfo target = e.getTarget();
    ProxiedPlayer jp = e.getPlayer();
    if (CommandGoto.justSwitched.contains(jp))
    {
      CommandGoto.justSwitched.remove(jp);
      return;
    }
    String leaveMessage = ChatColor.translateAlternateColorCodes('&', String.format(this.logoutString, new Object[] { jp.getName() }));
    for (ProxiedPlayer p : target.getPlayers()) {
      p.sendMessage(leaveMessage);
    }
  }
}