gistfile1.java
· 1.5 KiB · Java
Raw
package me.blha303;
import java.io.IOException;
import com.dwarfscraft.config.BungeeConfig;
import com.google.common.eventbus.Subscribe;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.api.plugin.Plugin;
public class CrossServerChat extends Plugin implements Listener {
BungeeConfig config;
@Override
public void onEnable() {
String defaultmsg = "&7<&2%s&8-&2%s&7> &f%s";
ProxyServer.getInstance().getPluginManager().registerListener(this);
try {
config = new BungeeConfig(this, "%s is replaced with (in order) server name, player display name, message. Make sure you have three %s's.");
if (config.isNew()) {
config.set("string", defaultmsg);
}
} catch (IOException e) {
System.out.println("Could not create CrossServerChat config. Maybe you're out of disk space.");
}
}
@Subscribe
public void onChat(ChatEvent e) {
String m = e.getMessage();
String msg = ChatColor.translateAlternateColorCodes('&', config.getString("string"));
if (e.getSender() instanceof ProxiedPlayer) {
ProxiedPlayer pl = (ProxiedPlayer) e.getSender();
for (ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
if (p.getServer() == pl.getServer()) {
return;
} else {
p.sendMessage(String.format(msg, pl.getServer().getInfo().getName(), pl.getDisplayName(), m));
}
}
}
}
}
| 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 | } |
| 50 |