我想确定玩家的ping。一切在1.8.8版本中都运行良好,但是如果我在1.12.2上使用代码,则会得到不合逻辑的结果。我在本地主机上收到200左右的ping,即使在1.8er服务器上为0 ping。这也很清楚,因为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;
}
}
答案 0 :(得分:0)
通常,为了获得玩家的认可,就是这样。之后,我不知道ping get是否正确。因此,在插头文档中搜索1.12.2,我会找到答案。 (并且按照约定进行工作,我们不对命令进行编程,而在主类中则不进行其他编程)