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

Hilfe beim Nick Plugin

MetixCode

Redstoneengineer
Registriert
6 Oktober 2015
Beiträge
34
Alter
25
Diamanten
300
Minecraft
leMetix
Hey,
ich programmiere gerade ein Nick Plugin, jedoch bräuchte ich ein wenig Hilfe beim Nick-Command, denn ich will ein Nick Plugin wo man sich mit /nick nickt und mit /nick wieder entnickt. Falls einer von euch mir da behilflich sein könnte, wie ich das ganze mache, dann wäre ich dem echt dankbar!
 

United-Mine

Minecrafter
Registriert
3 November 2016
Beiträge
9
Alter
29
Diamanten
300
Du fragst über eine HashMap ab ob der Spieler genickt ist (boolean).

Und kleiner Tipp: Setze den PlayerListName als sein nick und setze ihn in ein Scoreboard Team damit der Nickname auch über sein Kopf angezeigt wird. Wenn du sein Skin ändern willst musst du ins GameProfile.

Wenn du willst könnte ich dir die Grundlage von allem machen oder zeigen.

LG
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
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"
Code:
 /*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ß!
 
Oben