BungeeMain / src / main / java / com / lifeknight / relaymcbungeemain / commands / amenities / PingCommand.java
PingCommand.java
Raw
package com.lifeknight.relaymcbungeemain.commands.amenities;

import com.lifeknight.relaymcbungeemain.player.SmartPlayer;
import com.lifeknight.relayutils.basic.Text;
import com.lifeknight.relayutils.utilities.ComponentBuilder;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.api.plugin.TabExecutor;

import java.util.ArrayList;

public class PingCommand extends Command implements TabExecutor {
    public PingCommand() {
        super("ping", null);
    }

    @Override
    public void execute(CommandSender sender, String[] args) {
        if (!(sender instanceof ProxiedPlayer)) return;

        SmartPlayer smartPlayer = SmartPlayer.getSmartPlayer((ProxiedPlayer) sender);

        if (args.length > 0) {
            SmartPlayer smartPlayer1 = SmartPlayer.getSmartPlayerOrNick(args[0]);
            if (smartPlayer1 != null) {
                smartPlayer.sendMessage(new ComponentBuilder(smartPlayer1.getComponentFormattedName()).color(ChatColor.GREEN).append(" ping: ").color(ChatColor.YELLOW).append("%d ms", smartPlayer1.getProxiedPlayer().getPing()));
            } else {
                smartPlayer.noPlayerFound(args[0]);
            }
        } else {

        smartPlayer.sendSuccessMessage("Your ping is %s%dms%s.", ChatColor.YELLOW, smartPlayer.getProxiedPlayer().getPing(), ChatColor.GREEN);
        }
    }

    @Override
    public Iterable<String> onTabComplete(CommandSender commandSender, String[] strings) {
        if (SmartPlayer.isPlayer(commandSender)) {
            if (strings.length == 1) {
                return Text.returnStartingEntries(SmartPlayer.getSmartPlayer(commandSender).getNamesOfPlayersOnServer(), strings[0], true);
            }
        }

        return new ArrayList<>();
    }
}