Last active 1449871744

Steven Smith revised this gist 1360360039. Go to revision

1 file changed, 49 insertions

gistfile1.java(file created)

@@ -0,0 +1,49 @@
1 + package me.blha303;
2 +
3 + import java.io.IOException;
4 +
5 + import com.dwarfscraft.config.BungeeConfig;
6 + import com.google.common.eventbus.Subscribe;
7 +
8 + import net.md_5.bungee.api.ChatColor;
9 + import net.md_5.bungee.api.ProxyServer;
10 + import net.md_5.bungee.api.connection.ProxiedPlayer;
11 + import net.md_5.bungee.api.event.ChatEvent;
12 + import net.md_5.bungee.api.plugin.Listener;
13 + import net.md_5.bungee.api.plugin.Plugin;
14 +
15 + public class CrossServerChat extends Plugin implements Listener {
16 +
17 + BungeeConfig config;
18 +
19 + @Override
20 + public void onEnable() {
21 + String defaultmsg = "&7<&2%s&8-&2%s&7> &f%s";
22 + ProxyServer.getInstance().getPluginManager().registerListener(this);
23 + try {
24 + config = new BungeeConfig(this, "%s is replaced with (in order) server name, player display name, message. Make sure you have three %s's.");
25 + if (config.isNew()) {
26 + config.set("string", defaultmsg);
27 + }
28 + } catch (IOException e) {
29 + System.out.println("Could not create CrossServerChat config. Maybe you're out of disk space.");
30 + }
31 + }
32 +
33 + @Subscribe
34 + public void onChat(ChatEvent e) {
35 + String m = e.getMessage();
36 + String msg = ChatColor.translateAlternateColorCodes('&', config.getString("string"));
37 + if (e.getSender() instanceof ProxiedPlayer) {
38 + ProxiedPlayer pl = (ProxiedPlayer) e.getSender();
39 + for (ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
40 + if (p.getServer() == pl.getServer()) {
41 + return;
42 + } else {
43 + p.sendMessage(String.format(msg, pl.getServer().getInfo().getName(), pl.getDisplayName(), m));
44 + }
45 + }
46 + }
47 + }
48 +
49 + }
Newer Older