Classement de MegaBlock Survivors
MegaBlock Survivors enregistre chaque partie terminée non trichée dans un classement persistant stocké dans plugins/MegaBlockSurvivors/leaderboard.yml. Les parties trichées (tout match où /mbs cheat a été utilisé) sont explicitement exclues.
Catégories
Chaque entrée porte une étiquette de mode de jeu et une étiquette de difficulté, de sorte que le classement est réparti en 6 compartiments indépendants :
| Mode | Difficulté |
|---|---|
| Challenge | Facile |
| Challenge | Moyen |
| Challenge | Difficile |
| Endless | Facile |
| Endless | Moyen |
| Endless | Difficile |
Les compartiments sont classés indépendamment, et chaque compartiment contient jusqu'à 100 entrées sur disque. Les 10 premières sont présentées aux joueurs.
Règles de classement
| Mode | Tri principal | Départage |
|---|---|---|
| Challenge | Temps de complétion le plus rapide (croissant) | Les entrées les plus récentes gagnent en cas d'égalité |
| Endless | Vague la plus haute atteinte (décroissant) | Temps de survie (le plus long l'emporte), puis horodatage |
Cette répartition est logique car le mode Challenge a une fin fixe (le boss final), donc « le temps de complétion le plus rapide » est la mesure de compétence évidente. Endless n'a pas de fin, donc « la vague la plus haute atteinte » est la mesure pertinente.
Hologramme en jeu
Un seul hologramme TextDisplay est invoqué dans le monde de lobby mbs_spawn (aux coordonnées du monde ~4.5, 67, -14.5). L'hologramme est ancré par le bas -- le bord inférieur du texte reste toujours à la coordonnée Y de l'ancre, de sorte que l'ajout de nouvelles sections fait grandir l'affichage vers le haut plutôt que vers le bas à travers le sol.
L'hologramme affiche jusqu'à six sections (Challenge x {Facile, Moyen, Difficile} suivi de Endless x {Facile, Moyen, Difficile}). Les sections sans aucune entrée sont silencieusement omises, de sorte qu'un serveur tout neuf n'affiche pas six compartiments vides. Si tous les compartiments sont vides, une seule ligne « no highscores yet » est affichée à la place.
L'hologramme est réinvoqué automatiquement :
- À l'activation / au rechargement du plugin.
- Après chaque nouvelle entrée de classement enregistrée.
- Lorsque le chunk d'ancrage dans
mbs_spawnse recharge (Paper supprime les entités d'affichage non persistantes au déchargement des chunks, donc l'écouteur réinvoque l'hologramme à chaque retour du chunk du lobby).
Si mbs_spawn n'existe pas sur disque, l'hologramme est silencieusement omis et un WARN est journalisé.
Affichage en chat par partie
Lorsqu'une partie non trichée se termine, le joueur voit le top 10 du compartiment de sa partie sous forme de bloc dans le chat. La propre ligne du joueur est mise en surbrillance (> #N). Si le rang du joueur est en dehors du top 10, une ligne de points de suspension est affichée, suivie de sa ligne de rang réelle.
Les victoires trichées affichent à la place un message « Leaderboard not updated (cheating detected) ».
Schéma d'entrée
Chaque entrée suit :
| Champ | Description |
|---|---|
playerName | Le nom d'affichage Bukkit à la fin de la partie. |
playerUUID | L'UUID du joueur. |
timeSeconds | Durée totale de la partie en secondes. |
kills | Total des éliminations hors-boss. |
level | Niveau final du joueur. |
highestWave | Vague la plus haute atteinte. Statistique principale pour Endless. |
gameMode | CHALLENGE ou ENDLESS. |
difficulty | EASY, MEDIUM ou HARD. |
timestamp | Millisecondes Epoch au moment de la fin de la partie. |
Les entrées antérieures à cette répartition sont automatiquement étiquetées Challenge / Medium à la lecture, afin que les anciens classements continuent à s'afficher.
Réinitialiser le classement
Il n'existe pas de commande en jeu pour vider le classement. Pour le réinitialiser, arrêtez le serveur et supprimez plugins/MegaBlockSurvivors/leaderboard.yml.