• 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!

Scoreboard im Plugin umbauen

FurubaFox

Minecrafter
Registriert
16 September 2022
Beiträge
3
Diamanten
201
Minecraft
FurubaFox
Hallo zusammen,

Ich habe mir überlegt mein altes Lobby Plugin umzubauen was sich gut eignet zu lernen. Soweit klappt alles super im Zusammenhang mit der Config usw.

Jetzt bin ich dabei das ScoreBoard in die Config einzubauen und frage mich wie ich es hinbekomme das so aussehen zu lassen:

Config Beispiel:
Scoreboad:
    title: "Test Scoreboard"
      lines:
      - '&6Online:'
      - '* &eOnline&7: &f%online%'
      - '* &eCurrent World&7: &f%worldonline%'
      - '* &eStaff&7: &f%staffonline%'
      - ' '
      - '&6Server Info:'
      - '* &bTPS&7: %tps%'
      - '* &bUptime&7: &f%server_uptime%'
      - '* &bMemory&7: &f%memory-used%&7/&4%memory-max%'

Ich habe den Titel schon über die Config hinbekommen.
Der Rest ist im Plugin derzeit so:
Mein Code:
package de.craftcityhd.main.utils;
import de.craftcityhd.main.Main;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;

    public class ScoreboardMethod {

        private Main plugin;

        public ScoreboardMethod(Main plugin) {
            this.plugin = plugin;
        }

        public static void setScoreboard(Player p) {
            Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
            Objective obj = sb.registerNewObjective("111", "222");

            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            obj.setDisplayName(Main.getPlugin().getConfig().getString("ScoreBoard.Title").replaceAll("&", "§"));

            obj.getScore("§4 ").setScore(12);
            obj.getScore("§7Dein Rang:").setScore(11);
            if(p.hasPermission("prefix.owner"))
                obj.getScore("§7 > §4Owner").setScore(10);
            else if(p.hasPermission("prefix.dev"))
                obj.getScore("§7 > §bDeveloper").setScore(10);
            else
                obj.getScore("§7 > Spieler").setScore(10);
            obj.getScore("§7 ").setScore(9);
            obj.getScore("§7Online:").setScore(8);
            obj.getScore("§7 > §e" + Bukkit.getOnlinePlayers().size() + "§7/§e" + Bukkit.getMaxPlayers()).setScore(7);
            obj.getScore("§1 ").setScore(6);
            obj.getScore("§7Coins:").setScore(5);
            obj.getScore("§7 > §bIn Arbeit").setScore(4);
            obj.getScore("§f ").setScore(3);
            obj.getScore("§7Discord").setScore(2);
            obj.getScore("§b/Discord im Chat").setScore(1);
            obj.getScore("§8 ").setScore(0);

            p.setScoreboard(sb);
        }
    }

Ich würde gern auch den Rang anzeigen lassen von Luckperms als Placeholder. Damit spare ich mir dann die ganze liste der Ränge. Allgemein habe ich es schwer das mit diesen Teams zu verstehen. ^^ Hatte auch leider im Lernprozess eine lange pause aus zeitlichen gründen und begebe mich nun wieder ans Programmieren. Tatsächlich klappt es nun besser wo man den Kopf wieder frei hat.
 

ErythroCraft

Minecrafter
Registriert
10 Juli 2018
Beiträge
2
Diamanten
300
Minecraft
Hinterix
Hallo.

Wenn du PAPI "PlacholderAPI" verwendest sollte die Placeholder von LuckPerms nach der istallation der LP-eCloud normalerweise funktionieren.

How to install the LuckPerms expansion CMD und Manuell.

Dabei kommt es darauf an, wie du die Levels in LP aufgebaut hast.
obj.getScore("§7 > %PLACEHOLDER%").setScore();

Alternative kannst du auch die PAPI und die LP-API in dein Plugin integrieren.
 
Oben