Bir tepkime testi için bir oyuncunun tam pingini bilmek zorundayım. Bunun için Eylemciler kullanın: ping tek yön olup olmadığını bilmekTek yön veya geri ping işlemi
public int pingPlayer(Player p) {
try {
String bukkitversion = Bukkit.getServer().getClass().getPackage().getName().substring(23);
Class<?> craftPlayer = Class.forName("org.bukkit.craftbukkit." + bukkitversion + ".entity.CraftPlayer");
Object handle = craftPlayer.getMethod("getHandle").invoke(p);
Integer ping = (Integer) handle.getClass().getDeclaredField("ping").get(handle);
return ping.intValue();
} catch (ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | NoSuchFieldException e) {
return -1;
}
}
Ama şimdi yok [Sunucu -> Oyuncu] veya iki yol [Sunucu -> Oyuncu -> Sunucu]
Bir şey biliyor mu, tam olarak bu nasıl çalışır?
Pingler gidiş-dönüş o Bukkit aynı olduğunu – Michael
Tabii nelerdir? –
@NicolaUetz ping nasıl çalışır. Bu yolculuk sürdüğü zamanı sayar (Bu gibi bir şey bana XD alıntılama). Ayrıca sadece int ping = ((CraftPlayer) p) .getHandle(). PlayerConnection.player.ping; 'Burada yansıma gereği yoktur. – Lightspeed360