Wenn Sie wissen wollen, wie, ob ein bestimmten Spielernamen zu überprüfen, ist der Name eines Premium-Minecraft-Kontos, würde ich Folgendes tun:
Sie müssen die Mojang API verbinden und eine Anfrage machen sich entwickelnden der Name des Spielers. Die Mojang-API gibt keinen Inhalt zurück, wenn kein Spieler unter diesem Namen gefunden wird. Die URL lautet wie folgt:
URL url = new URL("https://api.mojang.com/users/profiles/minecraft/" + username);
wo username
der Benutzername des Spielers ist. (in Ihrem Fall p.getName()
) Achten Sie auch darauf, diese Aussage mit einem try- und catch-Block zu umgeben, um eine mögliche MalformedURLException
zu behandeln.
Jetzt wollen wir überprüfen, ob der Inhalt dieser Seite leer ist oder nicht. Sie können den Inhalt mit einem BufferedReader
auslesen. Sie können das tun, wie folgt:
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
URL.openStream()
ein IOException
wirft. Dies ist am besten, um diesen ganzen Block mit einem try catch Block zu umgeben, der IOException
fängt, da MalformedURLException
IOException
verlängert.
Nun zu überprüfen, ob dieser Leser leer ist oder nicht, gibt es nicht wirklich eine Methode, dies zu tun, aber ich würde das tut dies wie
boolean empty = reader.lines().count() == 0;
dieses Boolesche true
ist, wenn der Leser leer ist, und es ist false
wenn es nicht ist.
Schließlich ist es wichtig, diese Leser zu schließen, können Sie das tun, indem Sie reader.close();
Lesen Sie die [Hilfe/on-Thema] vor der Veröffentlichung. – Kayaman
Setzen Sie Ihren Server auf 'online-mode = true'. Dann einfach 'zurück wahr;'. Alles andere fördert schlechtes Benehmen, bricht mehrere Verträge und wird generell nicht empfohlen. – Pokechu22