ServerPlugin Hilfe beim Nick Plugin

Dieses Thema im Forum "Programmierung" wurde erstellt von MetixCode, 27. Oktober 2016.

  1. MetixCode
    Offline

    MetixCode

    Registriert seit:
    6. Oktober 2015
    Beiträge:
    34
    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!
     
    #1
  2. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    #2
    KeVoZ_ gefällt das.
  3. United-Mine
    Offline

    United-Mine

    Registriert seit:
    3. November 2016
    Beiträge:
    2
    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
     
    #3
    leReturn01 gefällt das.
  4. United-Mine
    Offline

    United-Mine

    Registriert seit:
    3. November 2016
    Beiträge:
    2
    Zumindest hat es bei mir geklappt. Mit GameProfile wäre es klar besser.
     
    #4
  5. KeVoZ_
    Offline

    KeVoZ_

    Registriert seit:
    9. Mai 2015
    Beiträge:
    62
    Minecraft:
    Curverneur
    Bitte nicht über eine HashMap!!
    Solltest du einen Server-Reload, oder Restart machen, ist doch alles wieder weg? - Das ist doch nicht der Sinn der Sache...

    Speichere die einzelnen Strings in einer Config ab... Ist anschließend ganz einfach zum setzen und entfernen.
     
    #5
  6. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Dir ist klar, dass man HashMaps auch serialisieren kann? Wtf. Das ist üblich.
     
    #6
  7. PrimitiverTyp
    Offline

    PrimitiverTyp

    Registriert seit:
    7. November 2016
    Beiträge:
    9
    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 (Text):
    1.  /*class : CameProfile.class*/
    2.  
    3.  private final String name;
    4.   private final PropertyMap properties = new PropertyMap();
    5.   private boolean legacy;
    6.  
    7.   public GameProfile(UUID paramUUID, String paramString)
    8.    [...]
    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ß!
     
    #7