• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Miencraft Toplist mit Config Programmieren

ToDiYT

Minecrafter
Registriert
10 März 2019
Beiträge
6
Diamanten
50
Hey, ich Programmiere zurzeit ein FFA Plugin. Ich weiß aber nicht wie ich eine Toplist mit einer Config Programmiere. Kann mir da wer helfen?
 
Zuletzt bearbeitet:

CubBossa

Schafhirte
Registriert
17 Juli 2015
Beiträge
122
Diamanten
112
Minecraft
CubBossa
Hallo.
Ich hab das jetzt so verstanden, dass die Spielerdaten in einer Yml liegen. Ich bin kein Profi, aber für mich liegt nahe, die Spielerdaten beim Hochfahren aus der yml zu laden und das Spielerprofil beispielsweise als Objekt in einer Liste oder Map anzulegen.

zb ein FFAPlayer(UUID uuid, int kills, int deaths, int roundsPlayed) und den entsprechenden Klassenvariablen.
vllt noch eine getScore() methode, die aus kills, deaths und roundsPlayed eben einen Wert errechnet, der dafür steht, wie gut ein Spieler nun ist.

Map<UUID, FFAPlayer> playerProfilesByUuid = new ConcurrentHashMap<>();
//Beim Hochfahren des Plugins alle Spielerprofile aus der yml laden und in Map speichern

//Beim Abfragen der Top10:
List<FFAPlayer> playerProfiles = new ArrayList<>(playerProfilesByUuid.values());
Collections.sort(playerProfiles, Comparator.comparing(FFAPlayer::getScore()));

Das macht aber meine ich nur Sinn, solange alle FFA Runden immer auf dem gleichen Server laufen werden. Wenn es auf einem Minispielserver läuft, der sich nach der Runde resettet und einer von vielen Servern in einem Netzwerk ist, würde man die Daten ja in eine Datenbank legen, die für alle Server gilt. Wenn man zum Beispiel eine MySQL Datenbank nutzt, addiert man jeden Kill asynchron in die Datenbank und kann sich dann mit einem Statement die Top10 Spieler aus der Datenbank holen.
 
Oben