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

Prefix System

Volgarth

Minecrafter
Registriert
25 Januar 2020
Beiträge
8
Diamanten
300
Hallo Leute!

Ich möchte sehr gerne ein eigenes Prefix System programmieren, da ich nicht mehr von anderen Plugins "abhängig" sein möchte.
Vorab: Ich bin kein Profi was das Programmieren angeht!

Ich habe mir schon einige Videos zu dem Thema auf YouTube angesehen, doch es hat noch nie richtig funktioniert.
Des öfteren hatte ich schon Probleme mit dem Scoreboard, da ich ebenso selbst ein Scoreboard Plugin programmiert habe, welches sich klassisch auf der rechten Seite befindet.
Ich musste also dann das Scoreboard Plugin rausnehmen, dann funktionierte es.
Wenn ich das dann gemacht habe, habe ich das Problem, dass der Rangname sowie der Strich zwischen Rangname und Spielername in der auswählten Farbe sind, jedoch ist der Spielername beim Displayname sowie bei der Tablist und im Chat weiß - für den Chat muss ich dann natürlich noch einen Listener verwenden denke ich, dann würde dies funktionieren, nur für Displayname und Tablist habe ich überhaupt keine Idee.

Kann mir vielleicht jemand von euch hierbei ein bisschen weiterhelfen?
Wie gesagt, ich bin kein Profi und mir ist auch bewusst, dass ich Google verwenden könnte, jedoch möchte ich es auch gerne auf diesem Wege versuchen, da ich mit YouTube bis jetzt noch nicht schlau geworden bin.

Vielen Dank im voraus!

Mit freundlichen Grüßen,
Volgarth
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Guten Abend,

ich habe jetzt keine Ahnung, was dein derzeitiges Problem ist. Wo genau benötigst du Hilfe? Beim Entwurf, der Umsetzung oder bei was? Bei spezifischen Fragen wie
Wenn ich das dann gemacht habe, habe ich das Problem, dass der Rangname sowie der Strich zwischen Rangname und Spielername in der auswählten Farbe sind, jedoch ist der Spielername beim Displayname sowie bei der Tablist und im Chat weiß
wäre es hilfreich, wenn du deinen Code postest.

Generell also etwas mehr Infos geben, was du machen willst, was dein derzeitiger Stand ist, welches Problem du hast und erst dann kann dir gezielt geholfen werden.

Freundliche Grüße
BloodSKreaper
 

Volgarth

Minecrafter
Registriert
25 Januar 2020
Beiträge
8
Diamanten
300
Guten Abend,

erstmal danke für deine Antwort.

Also ich will ein Prefix System programmieren, sprich Prefixe für Ränge wie Admin, Moderator, Builder und Spieler z.B. erstellen und damit will ich erreichen, dass diese in der Tablist, als Displayname und im Chat dann genau so angezeigt werden.

Das Problem ist wie gesagt das mein "normales" Scoreboard, welches klassisch auf der rechten Seite zu finden ist, nicht zusammen mit dem Prefix System funktioniert, sprich, das Prefix System funktioniert dann gar nicht, wird zwar geladen aber es bleibt alles so, wie es in Minecraft standardmäßig ist - also weiß.

Wenn ich nun das Scoreboard Plugin runter nehme dann funktioniert das Prefix Plugin.
Jedoch nur teilweise - es wird eben nur der Rang sowie der Trennstrich zwischen Rang und Spielername in Farbe angezeigt, der Spielername, welcher in der Rangfarbe sein sollte, wird in weiß angezeigt.

Code befindet sich anbei, habe mir wie gesagt mehrere Videos angesehen und in allen Videos wird das genau so gemacht und es gibt nur einen Unterschied, bei denen funktioniert es und bei mir nicht.

Mein jetziger Stand ist der, dass es eben nicht so funktioniert, wie ich es mir erhoffe. Ich habe vieles versucht, nur komme nun nicht mehr weiter.

Generell benötige ich etwas Hilfe bei der Umsetzung und so, weil ich wie gesagt kein Profi bin aber doch halt so ein Prefix Plugin selbst schreiben will.

Mit freundlichen Grüßen,

Volgarth
 

Anhänge

  • Screenshot_1.png
    Screenshot_1.png
    72,4 KB · Aufrufe: 324

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Guten Abend,

so kannst du das nicht machen. Du ersetzt ja das Scoreboard der Spieler mit einem neuen Scoreboard, auch wenn du damit nur die Prefixe verwaltest. Du kannst versuchen, ob es funktioniert, wenn du "getNewScoreboard()" mit "getMainScoreboard()" ersetzt.
Bitte den Code das nächste Mal als Code und nicht einfügen, damit das ganze übersichtlicher bleibt und man diesen eventuell auch kopieren und testen kann.

Freundliche Grüße
BloodSKreaper
 

zTrouble

Redstoneengineer
Registriert
8 September 2019
Beiträge
30
Diamanten
250
Ich würde es so machen, dass ich beim joinen den Prefix setze falls der Spieler noch keinen hat, das ganze sieht dann so aus:
Java:
package intobuild.rangsystem;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;

public class Prefix implements Listener  {
    Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
    Team team = null;

    @EventHandler

    public void onPlayerJoinEvent(PlayerJoinEvent e) {
        Player p = e.getPlayer();

        RangAPI.setRang(p, "Admin");

        if (RangAPI.getRang(p).equalsIgnoreCase("Admin")) {

            if(board.getTeam(p.getName()) == null) {
                team = board.registerNewTeam(p.getName());

            } else {
                team = board.getTeam(p.getName());
            }

            team.setPrefix("§8[§c§lA§8]");
            team.addPlayer(p);

        } else {
            if(board.getTeam(p.getName()) == null) {
                team = board.registerNewTeam(p.getName());

            } else {
                team = board.getTeam(p.getName());
            }

            team.setPrefix("§a");
            team.addPlayer(p);
        }




    }


}

Ich erstelle beim joinen also für jeden Spieler der in keinem Team ist eins, füge diesem Team dann einen Prefix hinzu und schon funktioniert es. In meinem Code Beispiel sind jetzt natürlich noch ein paar Sachen welche du nicht hast/brauchst wie z.B das Abfragen in meinem Rangsystem, allerdings dient mein Code block auch nur als Beispiel das du dir vorstellen kannst wie es funktioniert.
 
Oben