ServerPlugin Skins sowie Namen ändern(ohne TagAPI o.a.)

Dieses Thema im Forum "Programmierung" wurde erstellt von Yellowphoenix18, 17. Januar 2015.

  1. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hallo,ich bin heute wieder mal auf der Suche nach einem "CodeSchnipsel". Denn ich habe mich heute mal an ein NickSystem gesetzt. Ich ahbe es mittlerweile schonmal Chat sowie Tab-mäßig hibekommen mit p.getDisplayName(), aber mein Problem ist,dass der Name noch über dem Kopf angezeigt wird und ich eigentlich auch den Skin ändern wollte. Ich habe daher nun auch mehere Videos(leider veraltet) angesehen,diese funktionierten dann aber nciht,da man nichtmehr ep.name machen kann,sonder nurnoch ep.listName oder ep.displayName,welche beide nichtmehr funktionieren.Daher meine Frage an euch,wie kann ich das Problem lösen?

    Link zum Video:

    mfg YellowPhoenix18
     
    #1
  2. [Dev] iTzSasukeHDxLP
    Offline

    [Dev] iTzSasukeHDxLP Ehem. Teammitglied

    Registriert seit:
    5. Januar 2014
    Beiträge:
    938
    Hey,

    die TagAPI(http://dev.bukkit.org/bukkit-plugins/tag/) bietet ein Event, mit dem du Nametags, sobald sie gesendet werden modifizieren kannst. Anonsten ist das was du vor hast nur (mehr oder weniger) schwer, zB über packets umzusetzen. Einen Code habe ich dazu gerade nicht.

    Mfg
    Sasuke
     
    #2
  3. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Das ist mir bewusst,aber um ServerLeistung zu sparen und um das ganze etwas einfacher für meine Plugins zu gestalten,möchte ich es selbst schreiben.
     
    #3
  4. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Einfacher für die Plugins ist es doch, wenn du eine API benutzt. Und das mit der Serverleistung ist auch verschwindend gering.
     
    #4
  5. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Ja,ist mir schon klar,aber mir geht es darum möglichst wenig offizielle Plugins zu nutzen. A: Es könnte Schadcode enthalten und B: Es wird vlt. zu spät geupdatet. Daher bin ich was eigene Sachen angeht auf der sicheren Seite.

    EDIT: Es wäre nett,wenn nur zu dem angefragten Thema,also Nicks ändern ohne TAGAPI vernünftige Antworten kommen und nicht wie ich es mit TAGAPI mache.
     
    #5
  6. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Schau dir halt den Source von TagAPI an. Ist das zu viel verlangt oder was? Sollen das immer die Anderen machen oder was?
     
    #6
  7. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Habe ich schon reingeschaut,aber es ist nichts zu finden,zumindest nicht annähernd ein zusammengesetztes Ding ;(, sonst würde ich nicht hier fargen,denn decompilen eines Plugins ist keine große Sache.Ich habe auch andere Plugins decompilt um dort etwas zu finden,aber diese SourceCodes waren dann leider veraltet.
     
    #7
  8. DerDr4g0n
    Offline

    DerDr4g0n

    Registriert seit:
    17. Oktober 2014
    Beiträge:
    15
    Ort:
    Planet Erde.
    Ich würde statt es selber zu schreiben einfach TagAPI oder ProtocolLib nutzen.
     
    #8
    MiCrJonas gefällt das.
  9. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Dankeschön,aber wie ich schon einmal sagte ist es mir wichtig es selbst zu schreiben.
     
    #9
  10. DerDr4g0n
    Offline

    DerDr4g0n

    Registriert seit:
    17. Oktober 2014
    Beiträge:
    15
    Ort:
    Planet Erde.
    Dann müsstest du für alle Spieler ein bestimmtes Packet senden, über die Player Connection für denn Spieler der einen Nick-Namen hat. Es könnt auch noch sein das du Reflections nutzen musst.

    Hier mal eine Packet-Liste: https://docs.google.com/spreadsheet...aU1RZUswZ2dqUFRpTTkyUEk1dXc&usp=sharing#gid=0

    //EDIT:
    Packet Senden:
    ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);

    Die Packets die du benötigst müssten diese hier sein:
    - PacketPlayOutEntityDestroy
    - PacketPlayOutNamedEntitySpawn
     
    #10
  11. _Baum_
    Offline

    _Baum_

    Registriert seit:
    4. August 2013
    Beiträge:
    66
    Minecraft:
    PlueschAffe
    Hallo @Yellowphoenix18,

    ich kenne dein Problem, ich wollte vor etwa einem halben Jahr ähnliches anstellen und habe mich etwas umgesehen.
    Und mein Resultat lautete: TagAPI benutzen. Das Ding ist nicht umsonst ca. 80 KB groß (und damit größer als alles, was ich bis jetzt geschrieben habe). Das Ändern des Namens eines Spieler erfordert deutlich mehr als die Zeile "Spieler.setName("Frederick")" (Siehe Post von @DerDr4g0n ).

    Sofern du nicht vorhast, die nächsten zwei Jahre vor deinem Code zu sitzen oder rein zufällig ein Programmier-Wunderkind bist, bleibt dir wohl nichts anderes übrig, als dir TagAPI zu krallen oder dein Projekt einzustellen.

    Solltest du nur die Farbe der Namen ändern wollen, kannst du aber auch die Scoreboards von Bukkit benutzen.

    //Edit
    Hier noch ein kleiner Edit bezüglich der Skins: So wie ich das verstanden habe werden Skins ab der 1.8 mit Hilfe der UUID anstatt des Namens identifiziert, somit ist beim Ändern des Namens keine Skin-Änderung mehr dabei.

    MfG
    _Baum_
     
    #11
    DerDr4g0n gefällt das.
  12. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Ja,dazu gibt es auch eine Klasse in einem anderen Forum,aber leider halt für 1.8 und nicht für 1.8 ProtocolHack ;(

    @_Baum_ : 80KB??-Das sind ca. 6Stunden,denn mein SG(3Stunden) hat 40KB....
    Desweiteren bin ich nicht mit TAGAPI zufrieden,da es meiner Meinung nach wiedereinmal Features hat,die ich nicht brauche.
     
    #12
  13. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    #13
  14. Yellowphoenix18
    Online

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Naja,genau dieser Code,der dort gezeigt wird ist der gesuchte Code.Deswegen schreibe ich dies hier ;)
     
    #14