Steven Smith revised this gist . 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