| 
 Main类 
 复制代码package com.ejiamc.ayou.BungeePing;
import java.io.File;
import java.io.IOException;
import java.nio.file.CopyOption;
import java.nio.file.Files;
import java.util.ArrayList;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.config.Configuration;
import net.md_5.bungee.config.ConfigurationProvider;
import net.md_5.bungee.config.YamlConfiguration;
public class Main extends Plugin
{
        public static Plugin plugin;
        public static Configuration config;
        public static String prefix;
        
        public void onEnable(){
                plugin = this;
                loadConfig();
                getProxy().getPluginManager().registerCommand(this, new PingCommands(this));
                getLogger().info("延迟查询已加载 By:Ayou QQ:2298946728");
        }
        
        public  static Plugin getInstance(){
                return plugin; 
        }
        
        public static String replaceMsg(String msg){
                return ChatColor.translateAlternateColorCodes('&', msg);
        }
        public static String Msg(String msg){
                return ChatColor.translateAlternateColorCodes('&', prefix+msg);
        }
        
          public void loadConfig() {
                    if (!getDataFolder().exists()) getDataFolder().mkdir();
                    File file = new File(getDataFolder(), "config.yml");
                    try
                    {
                      if (!file.exists()) Files.copy(getResourceAsStream("config.yml"), file.toPath(), new CopyOption[0]);
                      config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(new File(getDataFolder(), "config.yml"));
                    }
                    catch (IOException e)
                    {
                      e.printStackTrace();
                    }
                    prefix = replaceMsg(config.getString("Prefix"));
                  }
}
 PingCommand类: 
 复制代码package com.ejiamc.ayou.BungeePing;
import java.util.ArrayList;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command
import net.md_5.bungee.command.ConsoleCommandSender;
public class PingCommands extends Command
{
        private Main plugin;
        public PingCommands(Main plugin) {
                super("ping", null, new String[0]);
                this.setPlugin(plugin);
        }
    
        @Override
        public void execute(CommandSender sender, String[] args) {
                if (args.length == 1) {
                        if (args[0].equalsIgnoreCase("reload")) {
                                if (sender.hasPermission("bungeeping.reload") || sender instanceof ConsoleCommandSender) {
                                        this.plugin.loadConfig();
                                        sender.sendMessage(new TextComponent(Main.Msg("&b配置文件已重载!")));
                                        return;
                                }
                        }
                }
                int ping;
                if (args.length == 0 ) {
                        if (sender instanceof ProxiedPlayer) {
                                ProxiedPlayer player = (ProxiedPlayer)sender;
                                ping = player.getPing();
                                player.sendMessage(new TextComponent(Main.Msg(Main.config.getString("Message.Player").replace("%ping%", String.valueOf(ping).replace("%player%", player.getName())))));
                                return;
                        }
                }
                if (args.length == 1) {
                        ProxiedPlayer pingplayer = BungeeCord.getInstance().getPlayer(args[0]);
                        if (pingplayer == null) {
                                sender.sendMessage(new TextComponent(Main.Msg(Main.config.getString("Message.None"))));
                                return;
                        }
                        ping = pingplayer.getPing();
                        sender.sendMessage(new TextComponent(Main.Msg(Main.config.getString("Message.PingPlayer").replace("%pingplayer%", pingplayer.getName()).replace("%ping%", String.valueOf(ping)))));
                        return;
                }
        }
        public Main getPlugin() {
                return plugin;
        }
        public void setPlugin(Main plugin) {
                this.plugin = plugin;
        }
}
 |