Я хотел определить пинг игрока.Все отлично работало в версии 1.8.8, но если я использую код на 1.12.2, я получаю нелогичные результаты.Я получаю пинг 200 или около того обратно на мой локальный хост, хотя у меня есть 0 пинг на сервере 1.8er.Это также ясно, потому что Localhost ...
Я проверил это на своем корневом сервере и на моем localhost.Я гуглил, но нашел только учебники для версии 1.8
package de.n1ck145.ping.main;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin{
private String prefix;
private String message;
private ConsoleCommandSender console;
@Override
public void onEnable() {
console = Bukkit.getConsoleSender();
getConfig().options().copyDefaults(true);
saveConfig();
prefix = getConfig().getString("prefix");
prefix = ChatColor.translateAlternateColorCodes('&', prefix);
message = getConfig().getString("pingMessage");
message = ChatColor.translateAlternateColorCodes('&', message);
console.sendMessage(prefix + "§aPlugin ready!");
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(command.getName().equalsIgnoreCase("ping")) {
if(!(sender instanceof Player)) {
sender.sendMessage(prefix + "§cYou must be a player!");
return false;
}
if(sender.hasPermission("cmd.ping")) {
sender.sendMessage(message.replace("%ping%", getPing((Player) sender) + ""));
}else
sender.sendMessage(prefix + "§cYou don't have permission to do this!");
}
return true;
}
private int getPing(Player p) {
return ((CraftPlayer) p).getHandle().ping;
}
}