kirosnn
  • đź‘‹Accueil
  • dAPi
    • đź’ˇPrĂ©sentation
    • đź““YAML
    • đź““Scoreboard
    • đź““Placeholders
    • đź““Commandes | Sous-commandes
    • đź““Base64
    • đź““GUIS
Powered by GitBook
On this page
  • Gestion des scoreboards
  • Introduction
  • Comment crĂ©er et gĂ©rer un scoreboard ?
  • Mise Ă  jour automatique des scoreboards
  • Exemple complet
  • MĂ©thodes disponibles

Was this helpful?

  1. dAPi

Scoreboard

Documentation pour l'API (Scoreboard).


Gestion des scoreboards

Introduction

Le système de scoreboard permet d'afficher des informations dynamiques et personnalisées sur l'interface des joueurs. Grâce à la modularité de dAPI, vous pouvez facilement :

  • CrĂ©er et personnaliser des scoreboards.

  • Mettre Ă  jour automatiquement les scoreboards.

  • GĂ©rer les scoreboards des joueurs.


Comment créer et gérer un scoreboard ?

Importations nécessaires

Dans votre classe principale ou une autre classe appropriée, commencez par importer les classes suivantes :

import fr.kirosnn.dAPI.scoreboard.ScoreboardManager;
import fr.kirosnn.dAPI.scoreboard.ScoreboardUpdater;

Initialisation du ScoreboardManager

Créez une instance de ScoreboardManager pour gérer les scoreboards des joueurs :

private ScoreboardManager scoreboardManager;

@Override
public void onEnable() {
    this.scoreboardManager = new ScoreboardManager();
}

Création d'un scoreboard

Voici comment créer un scoreboard pour un joueur connecté :

Player player = Bukkit.getPlayer("nom_du_joueur");
if (player != null) {
    scoreboardManager.setScoreboard(player, "&6Mon Scoreboard");
}

Le paramètre &6Mon Scoreboard définit le titre du scoreboard. Les codes de couleur & sont automatiquement traduits.


Ajout de contenu au scoreboard

Pour ajouter des lignes au scoreboard d’un joueur, récupérez son instance PlayerScoreboard et utilisez les méthodes suivantes :

PlayerScoreboard playerScoreboard = scoreboardManager.getPlayerScoreboard(player);
if (playerScoreboard != null) {
    playerScoreboard.setLines(Arrays.asList(
        "&aBienvenue, " + player.getName(),
        "&bKills : 5",
        "&cTemps de jeu : 10min"
    ));
    playerScoreboard.update();
}

Suppression d’un scoreboard

Pour retirer un scoreboard d’un joueur spécifique :

scoreboardManager.removeScoreboard(player);

Pour supprimer tous les scoreboards :

scoreboardManager.clearAll();

Mise Ă  jour automatique des scoreboards

Pour activer la mise Ă  jour automatique des scoreboards, utilisez la classe ScoreboardUpdater :

Initialisation du ScoreboardUpdater

Ajoutez cette instance dans votre classe principale :

private ScoreboardUpdater scoreboardUpdater;

@Override
public void onEnable() {
    this.scoreboardUpdater = new ScoreboardUpdater(this, scoreboardManager);
    scoreboardUpdater.start(100L); // Mise Ă  jour toutes les 5 secondes
}

ArrĂŞt de la mise Ă  jour automatique

À la désactivation du plugin, arrêtez la mise à jour automatique :

@Override
public void onDisable() {
    scoreboardUpdater.stop();
    scoreboardManager.clearAll();
}

Exemple complet

Voici un exemple complet d’utilisation de la gestion des scoreboards dans votre plugin :

import fr.kirosnn.dAPI.scoreboard.ScoreboardManager;
import fr.kirosnn.dAPI.scoreboard.ScoreboardUpdater;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.Arrays;

public class dAPI extends JavaPlugin {

    private ScoreboardManager scoreboardManager;
    private ScoreboardUpdater scoreboardUpdater;

    @Override
    public void onEnable() {
        scoreboardManager = new ScoreboardManager();
        scoreboardUpdater = new ScoreboardUpdater(this, scoreboardManager);

        // Mise Ă  jour des scoreboards des joueurs
        Bukkit.getScheduler().runTaskLater(this, () -> {
            for (Player player : Bukkit.getOnlinePlayers()) {
                scoreboardManager.setScoreboard(player, "&6Mon Scoreboard");
                scoreboardManager.getPlayerScoreboard(player).setLines(Arrays.asList(
                    "&aBon jeu, " + player.getName(),
                    "&bKills : %playerkill%", // Les placeholders ne sont pas utilisable de base. Vous devez ajouter vous mĂŞme le support.
                    "&cTemps de jeu : %playtime_player%"
                ));
            }
        }, 20L);

        // Lancement de la mise Ă  jour automatique
        scoreboardUpdater.start(100L);
    }

    @Override
    public void onDisable() {
        scoreboardUpdater.stop();
        scoreboardManager.clearAll();
    }
}

Méthodes disponibles

ScoreboardManager

Méthode
Description

setScoreboard(Player, String)

Crée ou met à jour un scoreboard pour un joueur.

removeScoreboard(Player)

Supprime le scoreboard d’un joueur.

clearAll()

Supprime tous les scoreboards.

PlayerScoreboard

Méthode
Description

setTitle(String)

Définit le titre du scoreboard.

setLines(List<String>)

Définit les lignes du scoreboard.

addLine(String)

Ajoute une ligne au scoreboard.

clear()

Efface toutes les lignes du scoreboard.

ScoreboardUpdater

Méthode
Description

start(long)

Lance la mise Ă  jour automatique des scoreboards.

stop()

ArrĂŞte la mise Ă  jour automatique.


Avec ceci, j'espère que vos Scoreboard seront + simple et optimisé ✨.

PreviousYAMLNextPlaceholders

Last updated 4 months ago

Was this helpful?

đź““