ScoreboardY-api
PluginLicenseRef-All-Rights-Reserved

ScoreboardY-api

This is a very simple scoreboard api. I will provide docs in the future

294
Downloads
0
Followers
1 years ago
Updated
📦
1
Versions

📖About ScoreboardY-api

ScoreboardY API

This is an API NOT A PLUGIN

This is how u use it:

Creating a scoreboard:

  • make a class for youre scoreboard (eg. MainBoard)
  • implement CreateAbleScoreboard
  • your done!

Exmple:

package de.nms.scoreboardY;

import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.Criteria;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;

public class TestScoreBoard implements CreateAbleScoreboard{
    private Scoreboard scoreboard;
    private Boolean created;
    static TestScoreBoard testScoreBoard = new TestScoreBoard();

    @Override
    public @NotNull Component displayName() {
        return Component.text("DISPLAY");
    }

    @Override
    public Scoreboard create() {
        scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
        scoreboard.registerNewObjective("main", Criteria.AIR, displayName());
        scoreboard.getObjective("main").setAutoUpdateDisplay(true);
        Score mod = scoreboard.getObjective("main").getScore("line");
        mod.customName(Component.text("custom"));
        created  = true;
        return scoreboard;
    }

    @Override
    public void show(Player player) {
        if (created){
            player.setScoreboard(scoreboard);
        }else{
            player.sendRichMessage("<red>Some developer tried to show u a scoreboard that wasnt created yet!");
            player.sendRichMessage("<yellow>For more info try to ask the developer or owner for a log!");
        }
    }

    public void showEveryone(){
        Bukkit.getOnlinePlayers().forEach(this::show);
    }

    public static TestScoreBoard instance(){
        return testScoreBoard;
    }
}