Mit GameProfile wäre es klar besser.
Es geht jetzt zwar etwas neben die Spur aber es ist doch nennenswert.
Ein Nametag ist aus drei Teilen aufgebaut:
[Team Präfix] [Name] [Team Suffix]
Verändern lassen sich über ein Scoreboard Team entsprechend die Felder Präfix und Suffix. Zu beachten ist aber, dass jeder Abschnitt eine maximale Länge von 16 Zeichen haben darf (inklusive Farbcodes). Um dies zu gewährleisten sind für die Dekorationen des Namens ausschließlich Abschnitt eins und drei zu nutzen um einen möglichen Spieler mit 16 Zeichen im Namen am Geschehen teilnehmen lassen zu können. Somit bleibt für ein Nick Plugin nur noch das zweite Feld, sprich der Name an sich. Diesen kann man wie schon richtig gesagt über das GameProfile ändern. Hierzu das Feld "name"
/*class : CameProfile.class*/
private final String name;
private final PropertyMap properties = new PropertyMap();
private boolean legacy;
public GameProfile(UUID paramUUID, String paramString)
[...]
quick and dirty austauschen und das neue Profile mit Packets an restliche Spieler senden. Falls man jetzt noch den Nametag seinen Vorstellungen nach dekorieren will, muss man bei einem Scoreboard Team nun nicht mehr den Spieler Namen, sondern den Nicknamen angeben, da ein ScoreboardTeam seine Mitglieder an dem Namen, anstatt der heute üblichen UUID, identifiziert.
Lange Rede, kurzer Sinn:
Für ein so kompliziertes Projekt wie ein Nick Plugin sind sehr viel Wissen und Praxis essentiell. Wenn es bei einer simplen Konstruktion scheitert, weil Spigot leider nicht standardgemäß eine #isNicked() Methode in das Player Objekt einbaut, sollte man langsam an die Sache ran gehen und sich Schritt für Schritt hocharbeiten.
Vielleicht unterschätze ich dich aber auch nur... wer weiß.
Viel Erfolg und besten Gruß!